Longpela Expertise logo
Longpela Expertise Consulting
Longpela Expertise
Home | Contact Us | Site Map
FAQ


LongEx Mainframe Quarterly - May 2026
 

management: z/OS Secrets

IBM's mainframe documentation has always been world class: detailed, correct, and easily obtained.

However, there are things that IBM doesn't document, but are commonly known or used in the industry. There are others that are documented, but this documentation can be hard to find. You could think of these as mainframe secrets. Let's look at some of these, starting with the undocumented secrets.

1. IEFBR14

Everyone working with z/OS knows about IEFBR14: the program that doesn't do anything. Rather, we can use IEFBR14 when we want to allocate or delete a dataset in a step, but not do anything else. For example, the following JCL will delete a dataset if it exists:

//STEP1  EXEC  PGM=IEFBR14
//DD1    DD    DISP=(MOD,DELETE),SPACE=(TRK,(1)),DSN=MY.DSET.TO.DELETE

However, you won't see IEFBR14 documented anywhere. You may see some manuals with JCL that use it, but nothing that explains what it does and why it is used.

2. Control Blocks

z/OS and other products save information in areas of storage (memory) called control blocks. Even better, IBM provides documentation for some of these control blocks. For example, the format of the ASCB control block, together with how to find it is in the z/OS documentation.

But you won't find general information about control blocks and whey they're used, although veteran assembler programmers use them at will. Beginners must rely on independent sources like this Longpela Expertise article.

3. Re-entrant Programming

IBM documentation shows that you can instruct COBOL, PL/I and C/C++ to create re-entrant code. It will also tell you that CICS threadsafe, and many exits (like IEFACTRT) must be re-entrant. But what does re-entrant mean? This you won't find in IBM documentation, or many books on assembler. Longpela Expertise has an article about re-entrant programming, and some learning institutions like ProTech and Interskill include details about re-entrant HLASM programming.

4. Undocumented Commands

IBM products sometimes have undocumented commands: commands that are not officially supported, but those in the know understand can be useful. Here are a couple:

D LLA,STATISTICS

Provides statistics about every library in LLA. Here's an example:

D LLA,STATISTICS                                         
CSV620I 15.04.09 LLA STATS DISPLAY 869                   
TOTAL DASD FETCHES: 2549  TOTAL VLF RETRIEVES: 8138      
60 LIBRARY ENTRIES FOLLOW                                
LIBRARY: CSQ911.SCSQAUTH                                 
  MEMBERS:               3059                            
  MEMBERS FETCHED:          0  MEMBERS IN VLF:          0
  DASD FETCHES:             0  VLF RETRIEVES:           0
LIBRARY: BLZ700.SBLZLOAD                                 
  MEMBERS:                 79                            
  MEMBERS FETCHED:          0  MEMBERS IN VLF:          0
  DASD FETCHES:             0  VLF RETRIEVES:           0
LIBRARY: TCPIP.SEZALOAD                                  
  MEMBERS:                302                            
  MEMBERS FETCHED:         37  MEMBERS IN VLF:         35
  DASD FETCHES:             0  VLF RETRIEVES:         649

Although not documented in the z/OS documentation, it is mentioned in the IBM Redbook "Partitioned Data Set Extended Usage Guide" (SG24-6106), and is not just for PDSEs, but works for PDS libraries as well.

IND$FILE

Ever used your 3270 emulator to transfer a file between your PC and the z/OS session where you logged onto TSO? Here's an example from Jolly Giant's QWS3270:

These features use the TSO command IND$FILE. This is part of the base z/OS feature "3270 PC File Transfer Program" (IBM product ID 5665-311). However, you won't find any documentation for this product, or the IND$FILE program called within TSO to perform the transfer. You won't even see documentation instructing you to ensure your TSO session is ready to receive a long TSO command.

IPCS Commands

In 2025, Ed Jaffe presented at Share Cleveland, showing some of the undocumented IPCS commands that are available.

Let's leave the undocumented, and look at things that are documented, if you look hard enough.

5. Hiperbatch

Ever heard of Hiperbatch? This extends access methods like QSAM and VSAM to keep data in memory for multiple batch programs and jobs using the z/OS Data Lookaside Facility (DLF). But here's the thing: there's no documentation about Hiperbatch in the current z/OS documentation. This documentation states that Hiperbatch is an option, and has some information about the PARMLIB COFDLFxx member, how to start DLF, and IPCS commands. But nothing about Hiperbatch and how to use it. For that, you need to go back to past documents like the IBM Programming:Hiperbatch guide of 1994.

Batchpipes is in a similar state. This is a separate product allowing a second batch job to access data written to a dataset by a first batch jobs while it is happening: similar to the z/OS UNIX pipes. z/OS documentation mentions it as an option for batch jobs but provides no other information. For that, you need to go back to the OS390 2.1 Batchpipes User Guide and Reference, published in 2000.

6. 3270 Data Stream Format

We all use 3270 screens, usually from a TN3270 emulator. These emulators send and receive 3270 data streams. Products like CICS and IMS provide features to send and receive 3270 data streams, so you don't need to know the details. If you do, these products will point you to a manual called the 3270 Data Stream Programmer's Reference (GA23-0059). Other IBM products working with 3270 do the same. The problem is that you won't find this 1988 era manual on the IBM website. We only found it on Bitsavers.

7. Codepages

Many don't realise that there is more than one EBCDIC. Traditional z/OS people will use the US-based 37 codepage. Those using z/OS UNIX may be more interested in 1047. And those from the Europe may prefer 1140: the same as 37 but with the Euro symbol. Finding the mapping (which character relates to which number) for the 'common' codepages like 37 and 1047 are easy. Others are harder to find. Longpela Expertise shows the values of some of these codepages, and Tachyon software also provides a list. But you won't find current information from IBM about these mappings, or anywhere else for that matter.

Conclusion

The IBM mainframe is very complex, with many things added over the decades. IBM and other vendors have a hard time supporting everything and understandably discontinue support for some products of features. But it's interesting that some basic z/OS or mainframe features are no longer well documented, if they are documented at all.


David Stephens



LongEx Quarterly is a quarterly eZine produced by Longpela Expertise. It provides Mainframe articles for management and technical experts. It is published every November, February, May and August.

The opinions in this article are solely those of the author, and do not necessarily represent the opinions of any other person or organisation. All trademarks, trade names, service marks and logos referenced in these articles belong to their respective companies.

Although Longpela Expertise may be paid by organisations reprinting our articles, all articles are independent. Longpela Expertise has not been paid money by any vendor or company to write any articles appearing in our e-zine.

Inside This Month

Printer Friendly Version

Read Previous Articles


Longpela Expertise understand z/OS. We can help administer your systems, train your staff, and provide locum Systems Programmers for short periods. Contact us to get your own z/OS administration expert.
© Copyright 2026 Longpela Expertise  |  ABN 55 072 652 147
Legal Disclaimer | Privacy Policy Australia
Website Design: Hecate Jay