Terminal screen error

X PROG 751: Invalid character set in an order

X PROG 751 means the host sent a Start Field Extended, Modify Field or Set Attribute order that named a character set the terminal doesn't support. The terminal rejected the data stream and locked the keyboard.

Other names for this code

Also written as PROG 751, PROG751, X PROG 751, 3270 PROG 751, program check 751, PROG 751 invalid character set, TN3270 PROG 751.

What it means

A 3270 data stream can set extended attributes for a field or for single characters. Three orders do this. Start Field Extended (SFE) starts a field and gives it attributes. Modify Field (MF) changes the attributes of a field that already exists. Set Attribute (SA) sets an attribute for the characters that follow. Each attribute is a pair of bytes, a type and a value. One of the types is the character set.

The character set value tells the terminal which set of symbols to draw. The default set is always there. Others are optional. Examples include the APL and text set, a double-byte set for languages such as Japanese, and programmed symbol sets that the host loads into the terminal. If the value names a set the terminal doesn't have, or a set that was never loaded, the terminal can't draw the data. It rejects the write, shows X PROG 751 and locks the keyboard.

Common causes

  • The application uses the APL or text character set, or a double-byte set, and the emulator session isn't set up for it.
  • The application refers to a programmed symbol set it expects to have loaded earlier, but the load didn't happen in this session, for example after a reconnect.
  • The application was written for a terminal model with more features and doesn't check what the current terminal supports.
  • A program building SFE, MF or SA orders by hand put a wrong value in the character set position, or got the attribute pairs out of step.

How to find the problem

  1. Write down the screen and transaction. A PROG 751 that happens on one screen only points to a field on that screen.
  2. Take a data stream trace and look for SFE (X'29'), MF (X'2C') and SA (X'28') orders. The character set attribute type is X'43'. Check the value that follows it.
  3. Compare that value with what the terminal reported in its Query Reply. A terminal lists the character sets it supports there, and a session that never sent a query can't be relied on to have more than the default set.
  4. Check the emulator session settings for APL, DBCS or code page options. A host code page set for one language and a session set for another can also lead the application to ask for a set the session lacks.

How to fix it

  • For the user, press Reset, then Clear, and try again. If the screen needs a special character set, ask whoever manages your emulator to enable it for your session.
  • Programmers should send a Read Partition Query when the session starts and only use the character sets listed in the reply.
  • If the application uses programmed symbols, load them (Load Programmed Symbols) before any screen that uses them, and again after a reconnect.
  • In CICS, check whether the terminal definition (TYPETERM) claims programmed symbols or DBCS support that the emulator doesn't actually have. BMS will use those features if the definition says they exist.
  • If the value in the trace is plainly wrong, fix the code that builds the attribute pairs.

Read this error in WND Terminal

For a visible X PROG 751 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.

Report a correction to WND Software.

Questions

Is PROG 751 a code page problem?

Not exactly. A wrong code page shows the wrong characters but doesn't lock the keyboard. PROG 751 means the data stream asked for a whole character set the terminal doesn't have.

What is the difference between PROG 751 and PROG 753?

Both can involve a bad character set value. IBM lists 751 for a character set problem in SFE, MF or SA, and 753 covers a wider group of bad values, including attribute values and data on a read command.

Can I fix PROG 751 myself?

Only if the emulator session is missing an option the application needs, such as APL or DBCS support. Otherwise it needs a change in the application or its terminal definition.