Monday, June 2, 2008

What are the PA keys for?

If you're used to dealing with PCs and you suddenly find yourself working with a mainframe, there is a lot you have to get used to. Hitting the [ctrl] key instead of [enter] is a big one. Another is getting used to the fact that historically, the mainframe terminal keyboard had keys that aren't included on your AT-style PC keyboard. So what are those keys and what are they for?

Well, to start, let's talk a bit about what you're really doing when you log into a mainframe. When you log in, regardless of what terminal program you're using, you are emulating an IBM 3270 terminal. Here's a pic:


This machine was sometimes called a "dumb" terminal because it didn't have any computational power on it's own. Its purpose was to provide an interface between the mainframe and the user. So, let's take a look at that keyboard layout:


Looks a bit different, huh? Most of these keys you're already familiar with. Let's start on the right:

PF1-PF12, are Program Function keys. They are identical to the "F-keys" on your PC keyboard.

The "PA" keys are Program Attention keys, and are defined by whatever program you are running. For example, under TSO, PA1 will interrupt a command, and PA2 will redisplay the current screen. Under SDSF, PA1/2 will both redisplay the screen contents.

DUP places the DUP Field symbol on the screen and the cursor moves to the first position of the next unprotected field. Handling of the symbol is dependant on the application program.

INS MD Queries the session's operator information area to determine if the keyboard is in InsertMode mode.

CLEAR, or "CLR", sets all buffer locations to nulls and all character attributes to X'00'. The cursor moves to the top left corner of the screen.

ERASE INPUT erases the contents of all input fields in the screen and moves the cursor to the beginning of the first unprotected field. If the screen has no unprotected field, the cursor moves to the top left corner; no data is erased. If the screen is unformatted, this function clears the screen and moves the cursor to the top left corner.

ERASE EOF erases all characters (the characters are replaced with NULL) from the cursor position to the end of the field while the cursor is in an unprotected field. The cursor does not move. On an unformatted screen, this function erases all characters from the cursor position to the end of the screen.

TEST RQ sends a test request to the host system.



Well, that's about it. I hope that helps :-)