Exceptional Cases

When you use Substation ES, you might encounter and should be aware of some exceptional cases. The exceptional cases are described as follows.

Rounding

In Substation ES Transformer, if you are doing an outbound conversion from Float to Integer with less than six implied decimals and the value is large enough, the outbound conversion always loses 1 at the last digit. This is a known IBM rounding problem.

For example, if the input value is -327.67, it is -.32766992E 03 in the buffer. After conversion to I32 with two implied decimals, the value becomes -32766.

Nonmatching Subjects

For an inbound process, if Substation ES Transformer cannot find a matched invoked subject, the requesting messages are ignored.

You (outside z/OS) can check through the daemon HTTP interface on the subjects to which Substation ES is currently listening. Alternatively, if you use z/OS, you can check the current Substation ES listening subjects in the Substation ES parameters log file TIBLPARM.

Buffer Size

Substation ES Transformer provides one buffer definition for multiple conversion rules. Therefore, the automatic calculation of the maximum buffer size ignores the fields at the end of the buffer that did not map to the message fields.

STRING Data in Buffer Fields

When using the STRING data type for a buffer field, you must add one extra byte at the end for the STRING null terminator in the buffer-field definition. Otherwise, truncation occurs and the last character of the STRING data is lost.

Substation ES Trigger Queue Name

After selecting a queue name for triggers and using it for Substation ES CICS Interfaces, you cannot change that name dynamically or by recycling Substation ES. Instead, you must define the new queue name to CICS, change the name in the member that contains the Substation ES CICS SIP, and recycle Substation ES and the CICS regions.

Dynamic Change EMS Message Selector

To dynamically change EMS Message Selector of an active recipe service, you must first use the Substation ES console command UNLOAD on the recipe service, and then follow with the REFRESH command to load the new copy of the service.