Problem:
When using the directive OUTDD(file n) where n is a value less than 95, for example 80, and when using DISPLAY string UPON SYSOUT, the contents of string are split into several lines, where each line length is much less than the value of n and keeps varying (decreasing).
Resolution:
This issue has been fixed with the latest fixpack for Server Express 4.0 SP1.
There is also a workaround:
OUTDD($SYSOUT 95 L A)
or OUTDD($SYSOUT) - the default values are 132 L A.
If you really need the lines split at 94 or less (80 for example), generate the file so no line is split by defining the record length to the maximum value that can be found, and it should be very easy to write a little program that splits them to 80:
...
fd sysoutfile.
01 sysoutline pic x(maxlinelength).
fd sysout80file.
01 sysout80line pic x(80)
...
01 pos pic 9(4) comp-x.
...
open sysoutfile sysout80file
read sysoutline
perform until endfile
move sysoutline (1:80) to sysout80line
write sysout80line
move 80 to pos
perform until pos >= maxlinelength
or sysoutline(pos:) = spaces
move sysoutline(pos:)
to sysout80line
write sysout80line
add 80 to pos
end-perform
read sysoutline
end-perform
close sysoutfile sysout80file
stop run.