FIX: Session Integrator returns a "The screen is unformatted, no field exists" exception when it processes an invalid 3270 control code in a Microsoft Host Integration Server environment

Article translations Article translations
Article ID: 2509870 - View products that this article applies to.
Expand all | Collapse all

On This Page

Symptoms

In a Microsoft Host Integration Server 2009 or 2010 environment, you have a screen scraping application that uses Session Integrator to communicate with an IBM mainframe application. In this case, if any of the mainframe application screens contain invalid 3270 control codes, Session Integrator returns the following exception to the calling application when Session Integrator processes an invalid 3270 control code:
Microsoft.HostIntegration.SNA.Session.SessionException: The screen is unformatted, no field exists.
at Microsoft.HostIntegration.SNA.Session.SessionException.EvaluateHR(Int32 hr)
at Microsoft.HostIntegration.SNA.Session.SessionDisplay.InternalGetFields(String searchText, ScreenFieldAttributeData attributes)
at Microsoft.HostIntegration.SNA.Session.SessionDisplay.GetFields()

Cause

This behavior is by design. Session Integrator returns an IBM sense code X’1003’ (Function Not Supported) error to the mainframe application when Session Integrator encounters an invalid 3270 Control Code. Additionally, Session Integrator returns the following exception to the calling application when this scenario occurs:
The screen is unformatted, no field exists.

Resolution

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Cumulative update information

Microsoft Host Integration Server 2010
The fix that resolves this issue is included in cumulative update package 6 for Host Integration Server 2010. For more information about how to obtain the cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2783797 Cumulative update package 7 for Host Integration Server 2010
Microsoft Host Integration Server 2009
The fix that resolves this issue is included in cumulative update package 1 for Host Integration Server 2009. For more information about how to obtain the cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2587090 Cumulative update package 1 for Host Integration Server 2009

Prerequisites

You must have Microsoft Host Integration Server 2009 or 2010 installed to apply this hotfix.

Restart information

You do not have to restart the computer after you apply this hotfix.

Replacement information

This hotfix does not replace a previously released hotfix.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Microsoft Host Integration Server 2009, 32-bit Edition
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Microsoft.hostintegration.sna.session.dll8.0.3806.2120,72001-Apr-201123:10x86
Siproxy.dll8.0.3806.2434,00001-Apr-201123:10x86
Microsoft Host Integration Server 2009, 64-bit Edition
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Microsoft.hostintegration.sna.session.dll8.0.3806.2120,72001-Apr-201123:10x86
Siproxy.dll8.0.3806.2434,00001-Apr-201123:10x86
Microsoft.hostintegration.sna.session.dll8.0.3806.2120,72001-Apr-201123:13x86
Siproxy.dll8.0.3806.2593,23201-Apr-201123:13x64
Note Because of file dependencies, the most recent fix that contains these files may also contain additional files.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More information

After you apply this hotfix, Session Integrator passes invalid 3270 Control Codes to the calling application by using a new configuration property. If you want to enable the passing of invalid 3270 control codes, you have to change the Session Integrator application as follows:
  • If the Session Integrator application uses SessionConnectDisplay, add the following property:
    SessionConnectDisplay.InvalidCharacterSupport = InvalidCharacterAction.Allow;
  • If the Session Integrator application uses a connection string, change the connection string to include the INVALIDCHARACTERSUPPORT property as shown in the following example:
    m_Handler.Connect("TRANSPORT=TN3270;TN3270SERVER=address;TN3270Port=port;DeviceType=IBM-3278-2;SECURITY=TLS1;CERTIFICATECHECK=VERIFIED; INVALIDCHARACTERSUPPORT=ALLOW”);
If this feature is enabled, Session Integrator passes the invalid 3270 control codes to SNANLS (SNA National Language Support) for conversion. If the mainframe application screen sends EBCDIC characters C100C201C3, SNANLS will convert these characters to A00B01C. In this case, SNANLS has no character mappings for EBCDIC characters 00 and 01, and these characters are passed through with the same values. The Session Integrator application can then decide how to handle the characters that are passed through.

After you apply this hotfix, Session Integrator’s default behavior is not changed. If one of the methods that is described here is not used to enable the passing of invalid 3270 control codes, Session Integration continues to return a "The screen is unformatted, no field exists" exception.

The following are the 3270 control codes (values are in EBCDIC) that Session Integrator considers invalid, based on the 3270 Data Stream that IBM defines:
  • 01-04
  • 06-07
  • 09-0B
  • 0E-10
  • 14
  • 16-18
  • 1A-1B
  • 1F-27
  • 2A-2B
  • 2D-3B
  • 3D-3E
Note Control codes X’0E’ and X’0F’ are Shift-Out and Shift-In control codes that are used to shift between double-byte character set (DBCS) and single-byte character set (SBCS) characters in a data stream.

For more information about the 3270 data stream, visit the following IBM website:
3270 Data Stream Programmer's Reference
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.

Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.

Properties

Article ID: 2509870 - Last Review: May 30, 2013 - Revision: 2.0
Applies to
  • Microsoft Host Integration Server 2009
Keywords: 
kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew kbbug KB2509870

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com