Microsoft KB Archive/810785

= How COMTI handles string data that is passed to and from a mainframe computer in SNA Server 4.0 and in Host Integration Server 2000 =

Article ID: 810785

Article Last Modified on 11/19/2004

-

APPLIES TO


 * Microsoft SNA Server 4.0 Service Pack 4
 * Microsoft Host Integration Server 2000 Standard Edition
 * Microsoft Host Integration Server 2000 Service Pack 1

-





INTRODUCTION
When COM Transaction Integrator (COMTI) sends string data to a mainframe computer or receives string data back from a mainframe computer, the data is formatted differently. How the data is formatted differently depends on the settings for each string parameter that is configured in COMTI Component Builder. Additionally, there are some differences between the way that COMTI handles strings in Microsoft SNA Server 4.0 and the way that COMTI handles strings in Microsoft Host Integration Server 2000.



MORE INFORMATION
When you use COMTI Component Builder, there are configuration options for string delimiting and for error handling. You can see these options on the COBOL tab of the properties for a string parameter.

You can select either of the following options:
 * The &quot;Truncate&quot; option for string delimiting
 * The &quot;Error&quot; option for error handling

The &quot;Error&quot; option is the default selection.

You can use the &quot;Truncate&quot; option to specify the length of a string that a client passes in a program. When you set the &quot;Truncate&quot; option, the string is truncated at the length that you set and then passed to the mainframe computer. You may receive an error message that states that the string is too long. When the string is truncated and then passed to the mainframe computer, the COMTI runtime sends an error message to the client program. No error message is sent to the mainframe computer.

String delimiting selections are padded with spaces or are null terminated.

&quot;Padded with spaces&quot; is the default selection. The option that you select determines how the string data is passed to the mainframe computer for input parameters. Additionally, the option that you select determines how the data is interpreted when that data is returned from the mainframe computer for output parameters. The following tables show how the data is interpreted for a standard installation of SNA Server 4.0 and for a standard installation of Host Integration Server 2000.

Note The articles that are mentioned in the &quot;References&quot; section include registry entries that change the way that strings are handled.

b = a space
 * 1) = a Null (x00)

(unless the option is checked to 'initialize buffer with hexadecimal value') Input string parameter handling:
 * = a random character from memory

Data sent to host Data          --- received      Pad with spaces                     Null terminated from       -- client       SNA 4    Host Integration Server    SNA 4       HIS -  -    -              -  - XXYYZZbbb   XXYYZZbbb    XXYYZZbbb              XXYYZZbbb  XXYYZZbbb XXYYZZ###  XXYYZZbbb    XXYYZZ##b              XXYYZZ#**  XXYYZZ##* XX##ZZ###  XXbbbbbbb    XX##ZZ##b              XX#******  XX##***** XXbbZZ###  XXbbZZbbb    XXbbZZ##b              XXbbZZ#**  XXbbZZ##*
 * 1)   bbbbbbbbb    b#######b              #********  ##*******

Output string parameter handling:

Data sent to client Data          --- received      Pad with spaces                    Null terminated from     -- host       SNA 4    Host Integration Server     SNA 4       HIS -  -    -              -  - XXYYZZbbb   XXYYZZ       XXYYZZ                 XXYYZZbbb  XXYYZZbbb XXYYZZ###  XXYYZZ###    XXYYZZ###              XXYYZZ     XXYYZZ XX##ZZ###  XX##ZZ###    XX##ZZ###              XX##ZZ     XX XXbbZZ###   XXbbZZ###    XXbbZZ###              XXbbZZ     XXbbZZ
 * 1)   0 bytes      #########              0 bytes    0 bytes

