Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Interface formats and operating modes

&pagelevel(4)&pagelevel

A new format is available for the IEDTGLE interface.

There are therefore two formats:

  • V16 format: identical to the IEDTGLE interface in EDT V16.6B

  • V17 format: new format with extensions for Unicode

When generating the control blocks for the IEDTGLE interface, the user can choose the required version (see section “Generation and structure of the control blocks”).

Basically, the following applies:

  • The IEDTGLE interface (V16 format) is only supported in full by compatibility mode

  • The IEDTGLE interface (V17 format) is only supported in full by Unicode mode

To make it possible to develop applications which use the IEDTGLE interface and can run with both compatibility and Unicode mode, there is a new connection module which converts the interfaces. This means that an application which works with the EDT V16.6B IEDTGLE interface can also run unconverted in EDT V17.0A Unicode mode provided that it only uses functions that are also supported by Unicode mode.

If EDT is not already running or if EDT is running but all the work files are empty then the appropriate operating mode is activated when the IEDTCMD interface is called: compatibility mode for V16 format, Unicode mode for V17 format. This mechanism is deactivated as soon as the operating mode is switched explicitly using the @MODE or @CODENAME statement. Any subsequent mode changes must then always be performed explicitly. Equally, an implicit mode change never occurs from within a user routine. Otherwise the return from the user routine to EDT would be unsuccessful.

It should be noted that implicit changes to the operating mode by changing the interface version are only possible via the IEDTCMD interface. Since EDT is in an non-initialized state after such a change, all the function calls which require EDT to be initialized would lead to errors.

In general, it is advisable always to work with the same interface format (V17 format or V16 format) in a program and make any changes of operating mode explicitly (via a @MODE statement).

If EDT is already running and it is not possible to change mode or if mode change is not performed due to a prior explicit change (see above) the interface format is converted.

  • A call of the IEDTGLE interface in V16 format is converted to V17 format if EDT is running in Unicode mode.

  • A call of the IEDTGLE interface in V17 format is converted to V16 format if EDT is running in compatibility mode.

This conversion is only possible if the employed function is supported by the currently active EDT operating mode. For example, the V16 format of the AMCB cannot be converted into V17 format if Locate mode is required. In this case, the return code EAMPAERR/EAMPA08 is returned.

If the IEDTGLE interface is used in V16 format then:

  • Locate mode cannot be converted.

  • When the global status is read (IEDTGET function with pseudo work file ‘G’), the field for the globally specified character set which is omitted in V17 format is only set to a value other than ‘blank if the same character set is specified in all the non-empty work files.

In the case of the IEDTGLE interface in V17 format, the subset that can be converted into V16 format is defined (compatible V17 format). This is specified in the description in each case.

The full scope of the V17 format (extended V17 format) can only be used with Unicode mode.

To ensure that extensions are not used unintentionally, it is possible to specify at the V17 format interface that only the compatible format may be used (by setting the EGLCOMP flag). In this case, the use of the functions of the extended format is rejected with a return code (also in Unicode mode).

Using the extended format (EGLCOMP flag not set) also prevents the automatic conversion of the V17 format into the V16 format even in cases where this is possible. However, it should be noted that the flag is a conversion flag and not a switchover flag. This means that even in the case of a compatible format, there may be a switchover to Unicode mode if this is possible.

V16 format is identical to the format of the IEDTGLE interface in EDT V16.6B Consequently, an application which uses the compatible V17 format can also run with EDT V16.6B if it includes the EDT V17.0A connection module IEDTGLE.

The overview indicates the possible combinations:

EDT V17 not
present

EDT V17 present,
switchover
permitted and call
via IEDTCMD

EDT V17 present,
compatibility mode
active, switchover
prohibited

EDT V17 present,
Unicode mode
active, switchover
prohibited

Call via
IEDTGLE V16
interface

As previously

Set compatibility
mode

No special action
necessary

Convert to V17 – if
not possible: error

Call via
IEDTGLE V17
interface
(compatible format)

Convert to V16
interface

Set Unicode mode

Convert to V16
interface

No special action
necessary

Call via
IEDTGLE V17
interface (extended
format)

Error

Set Unicode mode

Error

No special action
necessary

Call via
L mode interface

As previously

Set compatibility
mode

No special action
necessary

Error