Skip to main content

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.

      

Old KB# 7266