I've been scouring the device and control unit commands for "IDRC compression ratio", and have found nothing whatsoever. I am going to have to try this solution I think.
I'm a bit worried though, because I'm not yet sure how this solution will actually tell me that I am within the minimum guaranteed length on a 3490/3490E. For example, with 3480's, our tape duplication service says that if I write 8139 blocks of 24576 each, they guarantee it will fit on any 3480 they are writing to. If I'm counting block ID, I presume this would be "physically written block", and not my IDRC compressed block? In other words, say I wrote 300MB of horribly compressed data, and 800MB of greatly compressed data to the exact same tape: Block ID would still progress to the exact same block id #, then decrease? I'll start hunting down the block ID value in the 3490 commands today. I think I'm going to have to issue my own EXCPs though. It doesn't appear that I get any useful information (yet) from the UCB. David Logan -----Original Message----- From: Russell Witt [mailto:[EMAIL PROTECTED] Sent: Friday, January 18, 2008 7:14 AM To: 'IBM Mainframe Discussion List' Cc: 'David Logan'; [EMAIL PROTECTED] Subject: RE: How to find "current tape length" programatically David, For the older 3480/3490 with IDRC, it is much harder. With 3490/E, it is much easier to determine by looking at the block-id. The logical block-ID increases as the physical blocks of data are written out; and then decreases as the second set of tracks are written coming back to the load-point (with a bit on to indicate that it is on the "returning" set of tracks). As the block-ID approaches zero with this bit on; you are getting closer and closer to the load-point (physical-end-of-tape). Remember, you have one set of tracks going out and one set of tracks coming back. For 3590 and above it is even easier. There is another value that can be obtained that contains a 1-byte x'yy' value. The "yy" is the fraction of the tape that has been used with 256 as the factor. So, if this 1-byte value is 128; then the tape is 128/256 full, or one-half full. And this is the PHYSICAL measure of how full the tape is. This value can be obtained from the device as well, though it is not in the sense information (can't remember if it is device characteristics or media characteristics); but it is available as well. In both cases, you must do "something" (read blockid, read device characteristics) to get the information back. Counting blocks of data written won't help at all with IDRC of course. Russell Witt CA Level-2 Support Manager -----Original Message----- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] Behalf Of David Logan Sent: Friday, January 18, 2008 8:03 AM To: [email protected] Subject: How to find "current tape length" programatically If I was to a tape, is there a way to programmatically know when I am nearing, or have hit, the end of the "guaranteed" tape length? I forget if it's 3480 or 3490E tape that guarantees 1100 feet, but if I were writing to a tape, is there a way to find out that I was still under this value? Our tape duplication service does a tape-to-tape hardware copy, so we cannot have multi-file tapes, so we cannot simply write to EOT and switch to the next tape. We need a way to write EOT within the minimum tape length specification. In particular, I am questioning whether or not I will ever be able to find out if I am still within my minimum specification when I am using IDRC compression. Admittedly, I know very little about what the actual tape looks like when I use compression. Maybe there is a better way to stay within the minimum tape length than to find out how much tape I have written. Any ideas? On either knowing tape length, or my root problem, knowing when to stop writing compressed data to stay within the specification? Thanks! David Logan ---------------------------------------------------------------------- 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

