Considerations for Using PC/3270 Sessions

This chapter contains hints and tips for using PC/3270 sessions. Supplementary information other than the items described in this book may be included in the Readme HTML file in the Personal Communications directory.

TN3270E Contention Resolution

Using the TN3270E function negotiation mechanism, Personal Communications negotiates with servers to enable the CONTENTION-RESOLUTION function described in the IETF TN3270E Functional Extensions Internet-Draft document. As with any other such negotiation, the server might accept or reject this function.

The CONTENTION-RESOLUTION function is supported only for display sessions. The SNA Sense code function described in the IETF document is not supported.

Personal Communications negotiation for this function is enabled by default. It can be disabled by adding the following keyword to the .WS profile.

[Telnet3270]
TN3270EContentionResolution=N

Host-Session Window Operations

Cursor Color

By default, PC/3270 draws the underline cursor in white. If the background color of the current field is white, the color of the underline cursor automatically switches to black. PC/3270 draws the block and half-block cursors in the same color as the current field, reversing the background and forground colors. This behavior is identical to a 327x terminal.

If you want to change the default cursor color assignment, modify the pcswin.ini file and add the CursorColor value to the Session stanza, as follows:

[Session]
CursorColor=<red_value> <green_value> <blue_value>

Here, <red_value>, <green_value>, and <blue_value> are integers from 0 to 255 that specify the color intensity for each color primitive respectively. The color values range from 0 0 0 for black to 255 255 255 for white. PC/3270 then draws the underline cursor and the block cursors in this new color, mixing this new color with the existing screen colors using an XORed (exclusive or) operation. The value 0 0 0 (black) is not recommended because XORing 0 0 0 with any existing color results in the existing color, which makes the cursor invisible.

If you select a blinking cursor, it will always be drawn white, mixing the white with the existing screen colors using an XORed operation. You cannot change the cursor color when it is blinking.

Note:
Cursor blinking is disabled by default in Windows Terminal Services sessions and under virtualization environments such as Citrix XenDesktop and Citrix XenApp. Refer to the appropriate vendor documentation to enable cursor blinking.

Releasing Insert Mode with Attention Keys

As on a non-programmable terminal, you can release insert mode when you press an Attention key. If you want this to happen, add this parameter to the [Keyboard] section of the workstation profile (*.WS):

[Keyboard]
ResetInsertByAttn=Y

Scroll Bar

If you choose Font from the Appearance menu in the host session window and choose Fixed Size from the Select Display Font window, the entire operator information area might not appear on the screen. If you specify With Scroll Bar, the OIA will not scroll. The session window size is restricted to be smaller than the screen size.

Scroll-Lock Key

When the Scroll Lock keyboard indicator is turned on, the cursor movement keys and the Page Up and Page Down keys are used to scroll windows only when you specify With Scroll-Bar in the Window Setup window. If you specify Without Scroll-Bar, you cannot use the Scroll Lock key, because the entire screen is displayed. For example, cursor-movement keys do nothing in Scroll Lock mode.

3270-Session Screen-Size Control

Although you can specify the screen size of the 3270 session in the PC/3270 configuration, the final screen size is determined by the host according to the SNA BIND negotiation.

Sometimes, you might want to use a particular screen size when it is difficult to have the host VTAM® table changed. The following method will satisfy your requirement; however, because it violates SNA rules, some applications that refer to the VTAM table only might not work.

Modify your workstation profile (.WS) to insert the following line into the [LU] section:

[LU]
InfScreenSize=Y

Personal Communications processes byte 24 of the host BIND image correctly and according to the SNA architecture. Byte 24 is the last 2 bytes of PSERVIC=X'028000000000000000000300' (03 in this case) in the log mode.

If byte 24 is X'03', the default screen size is 24 x 80 and the alternate is what you configured with PC/3270.

If byte 24 is X'00' or X'02', the default and alternate screen sizes are 24 x 80.

If byte 24 is X'7E' or X'7F', bytes 20-23 in the BIND control the default and alternate screen sizes.

If you have X'03' in the BIND image, you can customize whatever screen size you want. The host will query Personal Communications and use the alternate screen size.

The following table shows the details of the BIND image processing:

Byte in BIND by Host Result (screen size)
24 20 21 22 23 Default Alternate
00 -- -- -- -- 24×80 24×80
02 -- -- -- -- 24×80 24×80
03 -- -- -- -- 24×80 R×C
7E Rd Cd -- -- Rd×Cd Rd×Cd
7F Rd Cd Ra Ca Rd×Cd Ra×Ca

The terms are as follows:

R×C
Screen Size defined by PC/3270 configuration

(R,C) = (24,80) , (32,80) , (43,80) , (27,132) or (62,160)

Rd
Rows in the default screen size mode
Cd
Columns in the default screen size mode

(Rd,Cd) = (24,80) , (32,80) , (43,80) or (27,132)

Rd*Cd <= R*C

Ra
Rows in the alternate screen size mode
Ca
Columns in the alternate screen size mode

(Ra,Ca) = (24,80) , (32,80) , (43,80) or (27,132)

Ra*Ca <= R*C

PC/3270 supports Query Replies. Make sure that the Query Reply of Implicit Partition returns the final screen size upon receipt of the BIND command.

Customizing a Display Translation Table

PC/3270 displays the host EBCDIC character using the workstation (ANSI) graphic symbol so that the character defined by the zSeries EBCDIC host code page is displayed correctly using the same graphic symbol defined by ANSI. However, you might need your original translation, because your host or workstation application is not designed to use the standard translation.

You can use your original translation table if you refer to the following procedure as an example. Note that the data integrity caused by the user-defined table is your responsibility.

The following procedure is an example of how to remap left and right brackets.

  1. Terminate all running 3270 sessions
  2. Modify the PC/3270 workstation profile (*.WS).
    [Translation]
    IBMDefaultView=N
    DefaultView=C:\Personal Communications\PRIVATE\BRACKET.XLT
  3. Create the display translation table file (.XLT). In this example, the following BRACKET.XLT file is created in the Personal Communications private subdirectory.
    [Profile]
    id=XLT
    Description=User-defined Display Translation Table
     
    [Option]
    Replace=Y
     
    [SB Xlate]
    ; EBCDIC=ANSI
    ; The next line displays EBCDIC X'AD' as
    ; an ANSI X'5B' (left bracket)
    AD=5B
    ; The next line displays EBCDIC X'BD' as
    ; an ANSI X'5D' (right bracket)
    BD=5D
  4. Create your own keyboard layout (.KMP) if you need to enter your new left and right brackets graphic symbols:
    [Keyboard]
    KEY27=ansi dd
    KEY28=ansi a8
    The information on the right should be lowercase characters. PC/3270 translates ANSI X'dd' into EBCDIC X'ad'. It is displayed as [ by the table created in step 3.
  5. Click on the PC/3270 icon corresponding to the modified workstation profile.

Support for Long File Names

Like Windows, Personal Communications supports long file names. You can give any name (up to 255 characters) to a file; you are not limited to eight characters with a three-character extension. You can use spaces in the file name, but not the symbols /, \, :, *, ?, ", <, >, or |. In addition, the tilde (~) character should not be used in CMS or MVS host file names.

File Transfer Function

Host File Name and Reserved Words

You should not use the following words as a VM file name or file type, as a MVS data set name, or as a CICS® file name, because they are reserved for use as option commands:

Changing the Packet Size When Import/Export Is Idle

When import/export is idle, select Preferences -> Transfer from the Edit menu. When you change the packet size on the Setup window, end import/export, and then rerun it.

Wait Option for Multiple File Transfer

If multiple file transfers do not succeed, insert the following statement into the [Transfer] section of your .WS file:

[Transfer]
wait=1000

This parameter causes a 1000 msec (1 sec) delay between file transfers. If this does not help, you might need to increase the value again.

NOTRUNC and BLANK Options (SBCS Only)

If you want to add trailing blanks (spaces) to fill the logical record length for each record when downloading a text file, use the following options in the Additional Options edit field of the Transfer-Type Definition window.

Setting the VTAM PSERVIC Statement

File transfer problems can occur if extended attribute support has not been set on in the VTAM PSERVIC statement. For extended attribute support, set on the high order bit in PSERVIC byte1 (zero byte origin) as follows: x'xx80xxxxxx...'.

Entry assist feature in 3270 display session

The Entry Assist (DOC mode) features enable easier editing of text documents. The Entry Assist features are available only for 3270 display sessions.

Enabling DOC mode

Enabling DOC mode The Entry Assist features can be enabled by adding the keyword Docmode=Y to the .WS session profile. Set Docmode=N to disable Entry Assist.

When Entry Assist is enabled, the DOC indicator is displayed in positions 67, 68, and 69 of the Operator Information Area (OIA). Also, all the pasting functions on the Paste tab are ignored (see Pasting in DOC mode).

You can assign the mode toggle to a keyboard key or button in the Popup Keypad. The default key assignment for DOC mode is Alt+F1.

Word wrap

You can enable this function by adding the keyword DocmodeWordWrap=Y to the .WS session profile. When DOC mode is enabled, this function is enabled by default. When word wrap is enabled, the Word Wrap indicator is displayed in position 71 in the OIA.

When word wrap is enabled, a word that is being typed at the right margin is moved in its entirety to the first unprotected field in the next row, assuming that the unprotected field has enough left side blank space (spaces and nulls) to contain the word. The vacated area on the previous row is filled with spaces. See the following examples.

When word wrap is disabled:

Look in the diction
ary, please.

When word wrap is enabled:

Look in the
dictionary, please.

If the unprotected field does not have sufficient blank space at the left, then the word is not moved (same as when word wrap is disabled).

Start Column and End Column

You can set these values using the keywords DocmodeStartColumn=<value> and DocmodeEndColumn=<value> in the .WS profile. These settings control the left and right margins while the session is in DOC mode. For example, you can set the left margin to 10 and the right margin to 60. If insert mode is on, the following conditions apply:

If insert mode is off, the following conditions apply:

When insert mode is enabled, the ^ character is displayed at position 52 in the OIA.

New Line key

If you press the key (default is Enter key) for New Line, the cursor skips to the first unprotected character position in the next row (or in a subsequent row if necessary) that lies within the margins.

Tab stops

You can set tab stops values with the keyword DocmodeTabStops=<column1,column2,...> in the .WS profile. You can set the tab stops by specifying the number of the columns that you want for the tab stops, separated by commas (for example, 5,10,15,20,25).

When tab stops are set, pressing the Tab key causes the cursor to skip to one of the following, whichever comes first:

The following conditions apply when using tab stops:

Nulls in an unprotected field straddling a margin

When the tab key causes the cursor to skip to the left margin of the next line, and an unprotected field straddles the left margin, nulls that lie outside the left margin in the unprotected field are converted to spaces. However, when the tab key causes the cursor to skip to the next line, and an unprotected field straddles the right margin of the preceding line, nulls that lie outside the right margin in the unprotected field are not converted to spaces.

Enable audible End of Line signal

You can enable this function by adding the keyword DocmodeEndofLineSignal=Y to the .WS profile. The function enables an audible signal when the cursor enters the column set for the End of Line signal column.

End of Line signal column

You can enable this function by adding the keyword DocmodeEndofLineSignalColumn=<value> to the .WS profile. You can set the column value at which you want the End of Line signal to be sounded. You could type in a value that would cause the audible signal to occur when the cursor approached the right margin. For example, if the right margin is 70, you might set the End of Line signal column to 65.

Pasting in DOC mode

When DOC mode is enabled, all pasting functions on the Paste tab are ignored and pasting is done according to the following rules.

If the cursor is within the margins:

If the cursor is outside the right margin:

If the cursor is outside the left margin:

Graphic Functions

This section provides information, restrictions, and considerations for graphic functions.

Graphics Protocols

Personal Communications allows you to use host graphics applications, such as GDDM® and others. Two types of graphics are supported:

Two protocols are supported for vector graphics:

See Configuring Graphics in the online helps for a description of these protocols and to learn how to configure your sessions for graphics.

The following functions are supported:

Vector Graphics

Vector graphics are computer graphics in which display images are generated from display commands and coordinate data. Personal Communications provides vector graphics support for the OS/2-Link (advanced) or the 3179G or GOCA (native) protocols. Choose the protocol that is appropriate for your host applications.

Advanced Protocol

Use the advanced protocol when you have GDDM Version 2 Release 3 or later and are using any of the following operating systems:

Note:
The advanced protocol is not supported by the CICS pseudo-conversational mode with versions of GDDM earlier than Version 3, and not by IMS/VS at all. It is, however, supported by the CICS pseudo-conversational mode with GDDM Version 3 Release 1 or later.

The advanced protocol is equivalent to that used by OS/2-Link, so it supports the same subsystems. However, no download of code from the host system is required for Personal Communications because all the OS/2-Link graphics modules are integrated into the program.

Native Protocol

Choose the native protocol when you intend to use older GDDM versions or non-GDDM host-graphics applications, such as those originally intended for use on 3270 nonprogrammable terminals as the 3179G, 3192G or 3472G. The native protocol also allows IMS/VS users to display GDDM graphics.

Programmed Symbols

Raster graphics are displayed with programmed symbols, which are downloaded to your workstation. Personal Communications supports up to six sets (PSA through PSF) of triple-plane and multiple-color programmed symbols.

Use programmed symbols as the graphics type when you intend to use host graphics applications originally written for the 3279G terminal.

Graphics applications use one or both of these methods to display graphical screens. Personal Communications allows you to enable or disable support for vector graphics and programmed symbols. Choose the type of support that our host applications require.

Note:
If you use the OS2-Link (advanced) protocol under the GDDM program, do not choose programmed symbols. Also, do not choose programmed symbols when you use the OS2-Link protocol with other applications.
Enabling Programmed Symbol Sets

PC/3270 provides up to six sets of triple-plane programmed symbols, depending on the type of graphics support that you choose. By default:

You can change the number of programmed-symbol sets and triple or single planes available for each programmed-symbol set by editing the [3270] section of the workstation profile:

PSSPlanes=xxxxxx

Each x represents a number (0, 1, or 3) that indicates how many planes are to be available for each set; the first column indicates the number of planes for PSA, the second column for PSB, and so on. For example, to enable six triple-plane programmed symbol sets, enter the following:

PSSPlanes=333333

To enable two single-plane and two triple-plane sets, enter the following:

PSSPlanes=113300

How to Handle Errors Caused by Insufficient Memory

Graphic execution module PCSGRP.DLL uses a large amount of global memory for graphic drawing or printing. When the workstation has insufficient installed memory, results might not be correct. For example, an area might not be clearly shaded.

In this case, increase the amount of installed workstation memory by at least 1 MB. For host graphic printing, add 1 more megabyte.

Memory might have to be further extended depending on the host graphic application and printer driver used.

Drawing-Buffer Size

The drawing-buffer size varies depending on the contents set for Redraw of a graphic function.

To set Redraw, click Preferences -> Appearance -> Display Setup from the Edit menu in the session window. Select Graphics from Category.

Selecting Host from the optional items of Redraw requires no buffer.

If you select Retained, the graphic execution module stores all redrawing data into a buffer. Such a buffer is called a retained buffer. The buffer size varies depending on the complexity of the graphic data from an application program. For example, a simple table has a buffer size of 10 KB to 20 KB, while a complicated graphic image has a buffer size of 200 KB to 300 KB.

When you select Bitmap to set Redraw, the buffer size will be the same as the sum of the retained buffer size and compatible bit map size:

(Height) x (Width) x (Number of planes) x (Bits/Pixel) / 8 bytes

For example, when you select a 7x12 font for a VGA 16-Color Display Model 2 (24x80), the bitmap size is:

(7x80) x (12x24) x 1 x 4 / 8 = 80 KB

When you select a 12x20 font for an IBM® PS/55 High-Resolution 256-Color Display Model 2, the bitmap size is:

(12x80) x (20x24) x 1 x 8 / 8 = 460 KB

Using Bitmaps for Drawing

The graphic execution module uses a bit map compatible with the display unit to draw an area instruction in overpaint mode. An image instruction requires one plane bit map.

(Buffer for area) = (Area width) x (Area height) x (Number of planes) x (Bits/Pixel) / 8
(Image buffer) = (Image width) x (Image height) / 8

Print Buffer Size

The retained buffer must be used for printing. The retained buffer is the same size as that used for redrawing. This is also applied when you specified Bit Map for Redraw on the Display Setup window.

If graphic printing is called in Bitmap mode, the graphic printing module generates a bitmap compatible with the connected printer, draws an image on the bitmap, and transfers the bit image to the printer.

This operation is generally performed quickly. When memory is frequently swapped, the process slows down in proportion to the number of swap operations. If a large bit map is not allocated, the graphic printing module prints a graphic image normally using only the retained buffer.

Example:

Proprinter (240x144 DPI) character size:
Bitmap size = (240x8) x (144x11) x 1 x 1 / 8 = 380 KB

Example:

EPSON (ESC/P) (360x180 DPI color) character size:
Bitmap size = (360x8.5) x (180x11) x 3 x 1 / 8 = 2.3 MB
Note:
With some printers, different printing results might be obtained in bitmap mode and non-bitmap mode. If the desired results are not obtained, change the current bitmap mode. For example, specify non-bitmap mode to print in bitmap mode.

Edit-Copy Buffer

An editing operation causes the graphic execution module to copy a bit map and DIBitmap to the clipboard. The bit map is compatible with the display; DIBitmap is a 4-bit/pixel bit map.

Printer Fonts

The printer driver can handle two font sets, the device font and GDI font. The device font is a hardware font built into the printer. The GDI fonts are System (without brackets) or other software fonts for Windows.

When you select a font set for graphic printing from the Printer Control window, use the GDI fonts for the following reasons:

Plotter

Because a plotter does not support a raster, the following restrictions are imposed on drawing. Use a plotter for figures and tables that have mainly lines.

Hole in Screen Caused by Clearing a Graphic Character

When a character overlaps a graphic image, the graphic image is cleared at the position where the character is to be displayed. When you enter a null character or space having the transparent attribute at the position where a graphic image is displayed, the graphic image in that character cell is not cleared.

If you select Host or Retained to set Redraw on the Display Setup window, when characters in a graphic image are cleared, a hole appears in the graphic area. This is because these two modes do not have a bitmap image, and partial redrawing cannot be performed on the screen.

If you select Bitmap mode as Redraw Graphics, you can find no hole on the graphic region by the application that overrides any alphanumeric characters (as well as NULL and SPACE) on the graphic image.

To restore the screen, perform either of the following actions:

Note:
When you change the setting of Redraw in the Display Setup window, the set contents are valid from the next drawing.

Miscellaneous Restrictions for Graphic Functions

If advanced protocol is selected, graphic functions cannot be used in the IMS/VS and CICS pseudo-conversational mode with versions of GDDM earlier than Version 3.

Considerations for Graphics Functions

Native-Graphics Datastream

If the host sends an Object Structured Field (Object Picture, Object Data, Object Control) with a zero value in the length field, Personal Communications rejects it and displays PROG754.

Printout to LPT1

When you use a host application that prints to your PC's LPT1, you must first select the printer in the Printer Setup dialog of the File menu.

Print Job Control Using SNA Timeout

PC/3270 treats the data packet, which begins with an SNA Begin Bracket (BB) and ends with an SNA End Bracket (EB), as one job, and spools it to the Windows print manager. However, some applications might not use SNA BB and EB appropriately, and an unexpected page eject can occur. This section describes two timeout controls that you can customize.

Concatenation of Multiple Print Jobs

When a new print job comes from the host before the timer specified by the workstation profile expires, the job is concatenated to the previous one, and they are regarded as one job. You can change the timer value by specifying the following parameter in the [printers] section of the workstation profile (*.WS):

[printers]
ConcatenateTime=nn
Note:
The variable nn is as follows; its unit is one second:
0
No concatenation of print jobs
1 - 32767
Concatenation of print jobs by this timeout value

When a non-SNA attachment is used, the timer should not be specified in the workstation profile.

Termination of a Print Job

If an end of a print job (SNA End of Bracket) does not come from the host before the timer specified by the workstation profile has expired, the job is automatically terminated. You can change the timer value by specifying the following parameter in the [printers] section of the workstation profile (*.WS):

[printers]
TerminateTime=nn
Note:
The variable nn is as follows; its unit is one second:
0
No automatic termination of a print job
1 - 32767
Automatic termination of a print job by this timeout value

When a non-SNA attachment is used, the timer should not be specified in the workstation profile.

SCS TRN Command (LU 1)

You can change the operation of the SCS TRN command by adding a parameter to the [printers] section of the workstation profile (*.WS):

ATRN=Y
Transfers data that is controlled by the SCS TRN command to the printer driver without conversion. This parameter is the default for SBCS. In the cases below, this parameter is assumed to be ATRN=N.

When you use a printer driver for which the PASSTHRU function is incomplete, sense code X'1003' is returned to the host system for the SCS TRN command.

This is the default value.

ATRN=N
Converts data that is controlled by the SCS TRN command and transfers the result to the printer driver. This parameter is the default for DBCS.
Note:
The SCS TRN command (LU 1) is available in PDT mode only.

SCS SPD/SLD Command (LU 1)

If the selected font cannot be used with the values specified for CPI or LPI, this command temporarily switches to a valid font.

Ignoring Blank Pages

If you cannot print a blank page correctly, check for the following things:

Printing Reverse-Display Characters with GDI Fonts

Some printer drivers that do not support reverse-display character printing print reverse-display characters as spaces. To avoid this, add the REVERSE=N line to the [printers] section of the workstation profile (*.WS).

CPI/LPI of Device Fonts

If the printer driver cannot use the device font for the specified CPI or LPI, data can be printed with other CPI or LPI values.

Printing Reverse-Display Characters with Device Fonts

Most printer drivers do not support reverse-display-character printing with device fonts.

PCSERR999 Error Messages

Message PCSERR999 - Personal Communications internal error: module-name - xxx might appear when there is insufficient memory. Because the print job remains in the print manager, you should delete it.

Printable Area

Characters might not be printed over a large enough area, depending on the printer driver used. When using a printer driver that allows you to set the margins, specify the minimum margins to maximize the printable area.

SVF Control Code

If the maximum print line (MPL) is less than the paper size in the SVF control code, a page feed is performed when the printing position reaches MPL.

PDT Mode

Printing in PDT mode is restricted as follows:

SDDLU Considerations

PC/3270 supports the self-defining dependent logical units (SDDLU) function of ACF/VTAM Version 3 Release 4.1 (MVS) or Version 3 Release 4 (VM). SDDLU provides the ability to dynamically create dependent LUs on predefined PUs and to reconfigure dependent LUs without interruption to any other user on the network and without intervention by system programming or operations staff.

PC/3270 SDDLU is supported for all connections except DFT (coaxial connection).

PC/3270 network stations support SDDLU by:

PSID Definitions

PC/3270 defines the default PSID for each LU type. Generally, the PSID contains such things as the machine type and the model number. Table 16 describes the machine type and model number definitions for each LU type that is supported by PC/3270.

Table 16. Machine Types and Model Numbers for Supported LU Types
Machine Type Model Number LU Type Screen/Buffer Size
3270 002 Display Model 2 screen 24 rows by 80 columns
3270 003 Display Model 3 screen 32 rows by 80 columns
3270 004 Display Model 4 screen 43 rows by 80 columns
3270 005 Display Model 5 screen 27 rows by 132 columns
3270 DS2* Printer 3270 data stream 24 rows by 80 columns
3270 DS3* Printer 3270 data stream 32 rows by 80 columns
3270 DS4* Printer 3270 data stream 43 rows by 80 columns
3270 DS5* Printer 3270 data stream 27 rows by 132 columns
3270 00A Display 48 rows by 80 columns
3270 00B Display 62 rows by 160 columns
3270 00C Display 24 rows by 132 columns

* PC/3270 assumes that the 3270 data stream is the default printer-session type. If you use the SNA Character String (SCS) data stream, you must use a different designation for the PSID, such as 3270SCS. You must define this yourself, as shown in the next example.

Assigning User-Defined PSIDs

You can replace the default PSID values with your own definitions or define new PSIDs, by preparing a PSID definition file or by changing the Windows workstation profile. The PSIDs you use must be defined to VTAM.

Add a statement such as the following one to the [LU] definition in the workstation profile. This example supersedes the default PSID with LUA0001.

PSID = LUA0001