SQL/MP Report Writer Guide

Customizing a Report
HP NonStop SQL/MP Report Writer Guide527213-001
4-59
Printing Double-Byte Characters
This subsection describes how to avoid splitting double-byte characters during the
following operations:
Wrapping or folding text to a new line
Truncating text using display descriptors
Overlapping text when tabbing backwards
Truncating subtotal labels
Wrapping or Folding Text With Double-Byte Characters
Folding relates to the length defined within the right and left margins (as specified by
the LEFT_MARGIN and RIGHT_MARGIN layout options). If the length of a logical
report line does not fit within the margins, the logical report line is folded to the next
line.
Wrapping can occur when the right margin is beyond the right most position of the
output device. Each report line that extends beyond the right most position of the
output device is wrapped if the WRAP option of the SET SESSION command is set to
ON; otherwise the report line is truncated at the right most position of the output
device.
If you are using the default detail line, with the LOGICAL_FOLDING layout option set
to ON, double-byte characters in a display column are never split when text wraps or
folds. If you generate your own detail report line, you need to make sure that folding or
wrapping does not split double-byte characters. If splitting occurs, you can adjust the
detail line with the SPACE or TAB clause.
Figure 4-24
demonstrates a report with incorrect output resulting from text folding in
the middle of a double-byte character. In this example, the LOCATION column is
defined as CHAR(9), using the Kanji character set. The right margin is set to print
position 55, and the LOCATION column starts in print position 49. This specification
splits the fourth double-byte character, when present, causing it and subsequent
characters in the display column to appear incorrect.
Note. In the examples in this subsection, the values c1, c2, c3, and so forth represent double-
byte characters, and the @ and # characters represent bytes that appear incorrect.