X PROG 752: Invalid buffer address
X PROG 752 means the host sent a Set Buffer Address, Repeat to Address or Erase Unprotected to Address order with an address outside the terminal's screen. The usual reason is that the application thinks the screen is bigger than it is.
Other names for this code
Also written as PROG 752, PROG752, X PROG 752, 3270 PROG 752, program check 752, PROG 752 invalid address, TN3270 PROG 752, 3270 screen size error.
What it means
A 3270 screen is a buffer of character positions numbered from zero. A 24 by 80 screen has 1,920 positions, numbered 0 to 1919. A 27 by 132 screen has 3,564. The host places data on the screen with orders that carry a buffer address. Set Buffer Address (SBA) moves the write position. Repeat to Address (RA) fills up to an address with one character. Erase Unprotected to Address (EUA) clears input fields up to an address.
If any of those addresses is beyond the last position of the screen in use, the terminal can't follow it. It rejects the write, shows X PROG 752 and locks the keyboard.
Addresses are coded in a compact form. The common 12-bit form can reach position 4095, and a 14-bit form exists for larger screens. A wrong form, or a byte pair that has been damaged, also decodes to a position that isn't on the screen.
Common causes
- The application formats screens for a larger model than the session. A map built for 27 by 132 (Model 5) or 43 by 80 (Model 4) sent to a 24 by 80 (Model 2) session is the classic case.
- The terminal definition on the host says the terminal has an alternate screen size it doesn't really have, so the application uses Erase/Write Alternate and addresses beyond the default size.
- The emulator session was changed to a smaller model, but the host still has the old size from an earlier sign-on or a fixed definition.
- A program that builds the data stream by hand computed a row or column wrong, for example counting rows from 1 instead of 0, or forgot to encode the address.
How to find the problem
- Check the model or screen size set in the emulator session. Compare it with what the application expects. Many applications state the screen size they need.
- Ask the CICS team to look at the terminal's definition (TYPETERM DEFSCREEN and ALTSCREEN, or what autoinstall chose). In IMS, check the device type and size the MFS formats were built for. In TSO and ISPF, check what screen size the session reports.
- Take a data stream trace and find the SBA (X'11'), RA (X'3C') and EUA (X'12') orders. Decode the two address bytes that follow each one and see which one points past the end of the screen.
- Note whether the failing write uses Erase/Write or Erase/Write Alternate. Erase/Write Alternate switches to the alternate size, so its addresses are checked against that size.
How to fix it
- For the user, press Reset, then Clear. If the error repeats, change the emulator session to the screen model the application needs, or ask which model to use.
- Make the host definition match the emulator. In CICS, set DEFSCREEN and ALTSCREEN on the TYPETERM to the real sizes, and check which autoinstall model and logmode the session uses.
- Programmers should compute addresses from the actual screen width and height, with rows and columns counted from zero, and use the 14-bit address form for positions above 4095.
- If the application needs a large screen, check the size at the start and give the user a clear message instead of sending a screen that can't fit.
Read this error in WND Terminal
For a visible X PROG 752 message, Explain this screen can help interpret the screen under IT’s configured AI policy. It does not establish the cause of a rejected host data stream. Preserve the exact status and follow the diagnostic steps in this article.
Try the WND Terminal sample with fictional data · 3270 emulator features and installation · 5250 emulator for IBM i
IBM documentation
IBM Personal Communications documentation. Use the documentation for your installed release.
This link opens the relevant IBM reference library or lookup instructions. Match the complete code and your installed product release; it is not a code-specific review.
Related codes
Questions
Why do I get PROG 752 on one screen but not others?
That screen uses positions beyond the size of your session, usually rows or columns past 24 by 80. Other screens fit, so they work.
Will changing the emulator model fix PROG 752?
Often it will, if the application was written for a larger model. Disconnect and reconnect the session after the change so the host sees the new size.
Does PROG 752 mean my data was lost?
The screen the host tried to send was rejected, so you didn't see it. Anything you entered before that was already sent, so check whether it was processed.