We are seeing a runtime error, RTS227, when running a few of our batch jobs. The error names SYSOUT in its message text; EXTERNAL data definition is inconsistent (Symbol `_sysout') but we cannot find why this is happening.
Normally, this error points to a mismatch between two programs where one program uses a SYSOUT of LRECL=121 and another uses a different LRECL (such as 132). The mainframe dialect default is 121. But an invalid LE370 Runtime Option can also cause this error to be generated pointing to SYSOUT. As a test, one can use ES_LE370_SUPPORT=Y and point MFLECONFIG to an options configuration file containing some LE370 options. For example, if SLL31(ON) is used instead of ALL31(ON) then the Micro Focus runtime will default to 121 for SYSOUT and our LE370 emulation, so if any program uses a length greater than 121 for SYSOUT, then a RTS227 error will be issued. There are indications of an invalid parameter because error message 'CEE3611I The run-time option SLL31 was an invalid run-time option.' is issued when SYSOUT is routed to a catalogued dataset or if it is sent the JES Spool with a DD SYSOUT=* in use, but there is not a clear connection that this invalid parm is the cause of the RTS227.
The following example illustrates a test environment where this error can be seen:
ES_LE370_SUPPORT=Y
MFLECONFIG=c:\\users\\group5568\\leopts.cfg
The leopts.cfg file contains:
SLL31(ON)
HEAP(128K,64K,ANYWHERE,KEEP,8K,4K)
#MFDS
#EnterpriseDeveloper
