Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Activating compatibility and Unicode mode

&pagelevel(3)&pagelevel

If EDT is started in interactive or batch mode with /START-EDT then compatibility mode is initially activated. It is possible to start EDT directly in Unicode mode by issuing the command /START-EDTU (see also section “Starting EDT”). If EDT is started via one of the subroutine interfaces then the rules summarized in the table below apply.

An automatic change from compatibility to Unicode mode occurs during the EDT initialization phase if

  • EDT was called in interactive mode and a Unicode character set has been defined for the terminal with/MODIFY-TERMINAL-OPTIONS,

  • EDT was called in a procedure or a batch operation and the character set of the file assigned to SYSDTA (or of the library element) is a Unicode or ISO character set,

  • EDT finds an EDT start procedure which is coded in a Unicode or ISO character set.

A subsequent change from compatibility to Unicode mode is possible if

  • the @MODE or @CODENAME statement with the corresponding operands is applied to empty work files,

A change from Unicode mode to compatibility mode occurs if

  • a @MODE statement with the corresponding operands is applied to empty work files;

For further details, and in particular for the description of the operands and their default values, see the description of the @MODE statement.

Since it is only possible to change between Unicode and compatibility mode if all the work files are empty no data loss or corruption is possible in files when the mode is changed. The change is therefore global in nature and no confirmation query is issued.

In F mode, the currently set operating mode is clear from the layout of the status display in the statement line (see section “F mode”). In addition, both in Unicode mode and compatibility mode, the current operating mode is output when @STATUS=ALL is issued (this information is also available in L mode).
Finally, the @IF statement can be used in procedures to determine the current operating mode.

Because a change of operating mode is only possible when the work files are empty, it is not possible to exchange data between the operating modes in this way. In addition, all the other global data such as the contents of variables or parameter settings specified with @PAR are not taken over in the other mode and are therefore lost.
Instead, EDT acts as if the switch were made between different instances of the program which do not know anything about one another.

Consequently, the changeover is equivalent to exiting EDT in one mode and then restarting it in the other mode. The following steps are performed:

  • In the old mode, the string variables #S00 to #S20 are exported to the corresponding S variables SYSEDT-S00 to SYSEDT-S20 and are then reinitialized in the new mode provided that the S variables exist and are of type STRING.

  • The EDT start procedure is executed in the new mode (provided that the prerequisites for this are fulfilled in accordance with section “EDT start procedure”).

  • In addition, all the EDT parameter settings are reset to their initial values, i.e. even if the user changes several times between compatibility and Unicode mode, EDT does not remember any previous settings.