SOSI - Shift-Out/Shift-In Codes for Double-Byte Character Set

This Natural profile parameter is relevant for Asian countries which use double-byte character sets (DBCS).

If the profile parameter CP is set to a multi-byte code page (MBCS), the logical shift-in and shift-out characters will be supplied with the code page and therefore SOSI will be ignored.

Possible settings See Positional Subparameters below.
Default setting none  
Dynamic specification yes  
Specification within session no  

The following topics are covered below:


SOSI Parameter Syntax

The parameter syntax of SOSI is as follows:

SOSI=(logical-shift-out,[physical-shift-out],logical-shift-in, [physical-shift-in],[SO/SI-display-length])

A shift-out code is used to indicate the point at which the code of character representation is shifted out of normal (single-byte) mode into double-byte mode.

A shift-in code is used to indicate the point at which the code of character representation is shifted from double-byte mode back into normal (single-byte) mode.

Positional Subparameters

The positional subparameters are described below:

Subparameter Explanation
logical-shift-out The logical shift-out character must be a single character. Specify the hexadecimal representation of the logical shift-out character.

Usually, the value 0E is used for IBM hardware and the value 28 is used for Fujitsu hardware.

physical-shift-out The value of the physical shift-out character must be chosen depending on the screen hardware that is used.

The length of the physical shift-out character may be one or two bytes. Specify the hexadecimal representation of the physical shift-out character.

The default value is the logical shift-out character.

logical-shift-in The logical shift-in character must be a single character. Specify the hexadecimal representation of the logical shift-in character.

Usually, the value 0F is used for IBM hardware and the value 29 is used for Fujitsu hardware.

physical-shift-in The value of the physical shift-in character must be chosen depending on the screen hardware that is used.

The length of the physical shift-in character may be one or two bytes. Specify the hexadecimal representation of the physical shift-in character.

The default value is the logical shift-in character.

SO/SI-display-length The number of bytes occupied on the screen by the physical shift-out/shift-in characters.

Possible values are 0 and 1. The default value is 1.

For IBM hardware, the value 1 must be used. For Fujitsu hardware, the value 0 must be used.

Conversion of Logical Shift-Out/Shift-In Characters

Logical shift-out/shift-in characters are converted into the corresponding physical shift-out/shift-in characters before data is transferred to the screen.

Physical shift-out/shift-in characters are converted into the corresponding logical shift-out/shift-in characters before data entered on the screen is transferred to the Natural application.

Automatic Adaptation of Translation Tables

If code page support is disabled (that is, the profile parameter CP is set to CP=OFF), the entries for the logical shift-out/shift-in characters are updated in the translation tables provided by the following macros and profile parameters:

Table Macro Profile Parameter
Standard (primary) output translation table NTTAB TAB
Alternative (secondary) output translation table NTTAB1 TAB1
Secondary input translation table used when the session parameter PM is set to C. NTTAB2 TAB2
SYS* output translation table NTTABL TABL

If the characters into which the logical shift-out/shift-in characters are to be translated still have their default value (? = X’6F’) in the respective translation table at Natural startup (that is, they have not been modified by one of the macros or profile parameters mentioned above), they will be updated so that logical shift-out/shift-in characters will not be not translated for input and output.

For detailed information on the translation tables, see Translation Tables in the Operations documentation.

Compatibility of SOSI Profile Parameter with SO and SI Profile Parameters of Previous Natural Versions

The subparameter logical-shift-out corresponds to the profile parameter SO and the subparameter logical-shift-in corresponds to the profile parameter SI that were available with previous Natural versions.

Specifying SOSI=(xx,xx,yy,yy,1) is equivalent to specifying SO=xx,SI=yy.

SOSI Parameter Examples

For IBM hardware, you should use SOSI=(0E,0E,0F,0F,1), which is equivalent to SOSI=(0E,,0F,,1).

For Fujitsu hardware, you should use SOSI=(28,28,29,29,0), which is equivalent to SOSI=(28,,29,,0).

To execute an application that has been created for IBM hardware (with the parameter setting SOSI=(0E,0E,0F,0F,1) applied) on Fujitsu hardware without changing the application, use SOSI=(0E,4028,0F,2940,1).