Extracting Compression Statistics from DCOLLECT

High Level Assembler(HLASM) for MVS & VM & VSE

Extracting Compression Statistics from DCOLLECT

Postby JimStout » Wed Apr 27, 2022 6:46 pm

Hi Folks! This is a follow-on to an earlier question. This one has me puzzled.

I'm trying to extract compression statistics from a DCOLLECT but the fields and values are contradicting each other. I'm looking at the D-Records in the DCOLLECT.

When I look at DCDFLAG3 X'04' says that the values in DCDCTYPE (+385) are valid. There are four options for DCDCTYPE:
X'00' = Not Compressed
X'01' = Generic Compression
X'02" = Tailored Compression
x'03' = ZEDC

So far so good but when I look at DCDUSIZ (+264) and DCDCUDSZ (+272) these fields contain 8 byte values for the User Data Bytes (DCDUSIZ) and the Compressed Dataset Size (DCDUDSX). There is also a DCDEXFLG (+280) when bit X'80' is on, these size fields are invalid.

I have many DCOLLECTs from many different sites. When I find datasets that contain both User Data Bytes and Compressed Data Bytes with the flag indicating they are valid, the COMPTYPE field shows Not Compressed. Additionally, when I look at datasets that have compression indicated in DCDTYPE and DCDFLAG3, there are zeros in the DCDUSIZ and DCDCUDSZ fields. I would expect the DCDUSIZ and DCDCUDSZ fields to always contain values if compression is being done. Here are my questions:

Is DCDCTYPE valid and to be trusted? It's fairly new.

Are DCDUSIZ and DCDCUSZ only used for software compression and not ZEDC? If the dataset is compressed, regardless of the mechanism, shouldn't these fields contain data?

Does anyone have the full description of DCDEXFLG? The only bit setting I can find is the X'80' bit that says the DCDUSIZ and DCDCUSZ fields are invalid. Surely there are other meanings because I can see other bits set.
Posts: 7
Joined: Fri Dec 16, 2016 8:41 pm
Has thanked: 0 time
Been thanked: 0 time

Return to Assembler