We are looking for a way to filter on storage from the history CTRANLOG.
We just had a SOS in our production CICS region and we are attempting to determine which transaction caused the condition.
When a CICS short on storage condition occurs, SYSVIEW will create several items documenting the event.
The transactions that wait due to the SOS event will contain exception wait time. This is displayed in the "EXWTime" column on CTRANLOG. The "Xct" will also be greater than 0, The "Xct" fields can be specified as a filter.
Potentially a more useful method would be to use the XLOG CICS command.
This will display the exception log associated with the currently targeted CICS region.
Several records will be created. Look for records similar to the following:
Jobname Name Resourc1
SYSVC720 SOSEVENT EDSA
SYSVC720 STORAGE ECDSA
SYSVC720 SOSEVENT EDSA
SYSVC720 CICSTRAN TSOS
The record with "STORAGE ECDSA" is an exception record indicating an SOS occurred. By selecting the record, you will see the information for the transaction that waited.
Transactions that waited are not always responsible for the SOS, however.
Using the CTRANLOG command, you can look at the fields: CDSA UDSA SDSA ECDSA EUDSA ESDSA GCDSA GUDSA to determine if any look exceptionally large.
Remember that if your DSA (Dynamic Storage Area) is very full, it might not take much to get into a SOS condition.
For more information see the CICS Short on Storage Event Monitoring section of the manual, or the use the SYSVIEW command TOPICS and do a Find on SOS.