DDS For Printer Files
DDS For Printer Files
DDS For Printer Files
ERserver
iSeries
DDS Reference: Printer Files
Version 5
ERserver
iSeries
DDS Reference: Printer Files
Version 5
© Copyright International Business Machines Corporation 2001. All rights reserved.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
About DDS Reference: Printer Files . . . . . . . . . . . . . . . . . . . . . . . . . vii
Who should read the DDS Reference: Printer Files book . . . . . . . . . . . . . . . . . . vii
Conventions and terminology used in the DDS information . . . . . . . . . . . . . . . . . vii
What’s New for V5R1 in the DDS information . . . . . . . . . . . . . . . . . . . . . . vii
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Contents v
vi OS/400 DDS Reference: Printer Files V5R1
About DDS Reference: Printer Files
This book provides the reference information you need to know for coding the data description
specifications (DDS) for printer files that can be described externally.
To make it easier to download and use this information in the iSeries Information Center, the DDS
Reference has been broken into the following parts:
v DDS Reference: Concepts
v DDS Reference: Physical and Logical Files
v DDS Reference: Display Files
v DDS Reference: Printer Files
v DDS Reference: ICF Files
Advanced Function Printing considerations for DDS keywords, previously documented in the Printer
Device Programming information, was merged into their respective keyword descriptions in the DDS
Reference: Printer Files information.
The description of the use of constant fields in printer files has received numerous technical updates.
See Chapter 2, “Keyword entries for printer files (positions 45 through 80)” on page 11 to see the rules for
specifying the (DDS) keywords for printer files.
For more information about which DDS keywords are valid for any particular printer type, see the Printer
Specify at least one record format in each file. The maximum number of record formats in a printer file is
1024. The maximum number of fields in any one record format is 32 767. The maximum combined length
of all named fields and indicators in a record format is 32 767 bytes.
Note: Specify the file name through the Create Printer File (CRTPRTF) command, not through DDS.
See the DDS Reference: Concepts information for the following general information:
v An explanation of file level, record level, and field level in the overview topic.
v A complete printer file example in the examples topic.
v Syntax rules for specifying DDS keywords.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A* PRINTER FILE CODING EXAMPLE
00020A*
00030A R TITLER SKIPB(3)
00040A FLD1 40 47SPACEA(2) UNDERLINE
00050A 30 FLD2 40 47SPACEA(2) UNDERLINE
00060A*
00070A R AUTHORR
00080A 66’by’
00090A FIELD1 40 47SPACEB(1)
00100A 50DFT(’Task Force I’)
00110A 31 SPACEA(1)
00120A 31 65’and’
00130A 31 FIELD2 40 47
00140A*
00150A R PUBR SKIPB(58)
00160A 47’Published by Department’
00170A DEPT 3 0 +1
00180A 47DATE EDTCDE(Y)
00190A SPACEB(1)
00200A N15
00210AO 32 33 34 47TIME
00220A SPACEB(1)
A
By specifying two to nine indicators that must all be in effect (set off if N is specified; set on if N is not
specified) before the field or the keyword is selected, you create an AND condition.
Note: You must specify the field or keyword on the same line as the last (or only) set of indicators you
specified.
Specify up to nine indicators for each condition and nine conditions for each field or keyword. A maximum
of 81 indicators can be specified for each keyword when nine indicators are used with nine conditions.
Note: Conditions within the OR relationship can consist of one indicator or of several indicators ANDed
together. Indicators can be ANDed to form a condition; conditions can be ORed to give your
program several ways to select the field or the keyword.
If you condition a field, the field name (or the constant) and the last (or only) indicator must be on the
same line. If you specify one or more keywords for the field, only the field is conditioned, not the
keyword(s). If the field is not selected for an output operation, no keywords specified for that field are in
effect, regardless of how the keywords are conditioned. For example, in Figure 1 on page 1 if indicator 30
is off, SPACEA and UNDERLINE are not in effect.
If you want to condition one or more keywords, specify the keywords and the last (or only) indicator on the
same line. If the conditioning applies to keywords on multiple lines, keyword continuation must be used for
the indicators to apply to all the keywords.
For more information on types of names, see “Name for printer files (positions 19 through 28)”.
Refer to the DDS Reference: Concepts information for rules to use when specifying record or field names
in DDS.
Figure 1 on page 1 shows how to specify record format names and field names.
When specifying a location (positions 39 through 44) for constant fields, you can specify the fields in any
order if you use line numbers. If you do not use line numbers, you must specify the fields in the order in
which they are to appear on the printed page.
When you specify the POSITION keyword with a constant field, the constant field keyword signifies the
start of the field in the DDS source. Therefore, you must specify the POSITION keyword or any other
keyword associated with the constant field either on the same line as the constant field keyword or on a
subsequent line.
When using the reference function, specify the referenced field name, even if it is the same as the
referencing field. (The referenced field name can be in a previously created database file specified on the
If the referenced field name is the same as the field you are defining, specify R in position 29 and the
name of the field you are defining in positions 19 through 28. If the referenced field is different from the
field you are defining, specify the name of the referenced field with the REFFLD keyword.
You can specify the name of the file defining the referenced field as a parameter value with the REF or the
REFFLD keyword. See the REF and REFFLD keyword descriptions and in the topic ″When to specify REF
and REFFLD keywords for DDS files″ in the DDS Reference: Concepts information for explanations of
how the OS/400 program finds the referenced field.
If you do not want to copy all the attributes from the previously defined field, specify those attributes for
the field you are defining, as follows:
v To override editing keywords (EDTCDE or EDTWRD), specify EDTCDE or EDTWRD for the field you
are defining. To delete these keywords, specify DLTEDT for the field you are defining.
v Validity checking keywords (CHECK, COMP, RANGE, VALUES), if specified for the referenced field, are
ignored in the printer file.
Note: Once the printer file is created, the referenced file can be deleted or changed without affecting the
field definitions in the printer file. To incorporate changes made in the referenced file, delete and
re-create the printer file.
The maximum length of a zoned decimal field is 31. Data description specifications allow a maximum field
length of 32 767 characters. If the field length causes the field to extend beyond the page size, a warning
diagnostic appears. The maximum length of a single precision floating-point field is 9 digits; the maximum
length of a double precision floating-point field is 17 digits.
If you use a referenced field, override the referenced length by specifying a new value or by specifying the
increase or decrease in length. To increase the length, specify +n, where n is the increase. To decrease
the length, specify −n, where n is the decrease. For example, an entry of +4 indicates that the field is to
be 4 digits longer than the referenced field. The field length can be overridden without overriding the
decimals.
Note: FIELD1 shows the field length specified incorrectly. FIELD2 and FIELD3 show the field length
specified correctly.
Figure 2. Correct and Incorrect Field-Length Specifications for Printer Files
For floating-point fields, 7 positions will be added to the length you specify in positions 30 through 34. The
7 extra positions are for the significand sign, the decimal point or comma, the exponent character, the
exponent sign, and the exponent.
In some cases, if you specify a value for length, some keywords specified with the field in the database file
are not included in the printer file. For more information, see “Reference for printer files (position 29)” on
page 4.
Note: The O (open) and G (graphic) support DDS printer files that use DBCS. The G (graphic) data type
also supports DDS printer files that use UCS-2.
If you do not specify a data type, and do not duplicate one from a referenced field, the OS/400 program
assigns a default value as follows:
v A (character) if the decimal positions (36 and 37) are blank
v S (zoned decimal) if the decimal positions (36 and 37) contain a number in the range 0 through 31
Notes:
1. Specify 0 in position 37 to indicate an integer numeric field.
2. Specify F in position 35 for a single precision floating-point field. Use the FLTPCN keyword to specify
double precision or to change the precision of an already specified floating-point field.
3. A floating-point value consists of five parts: (a) the significand sign, (b) the significand, (c) the exponent
character (d) the exponent sign, and (e) the exponent.
The significand sign is not printed for a positive value. The number of digits in the significand is
determined by the length specified (positions 30 through 34). The location of the decimal point or the
comma is determined by the decimal positions specified (positions 36 and 37). The exponent character
and the exponent sign are always printed. The exponent is always 3 digits.
Fields that specify these data types are treated as alphanumeric data when printed. It is up to the
application program to provide the data in the correct format and length according to the data type and
keywords specified for these fields.
Blank is the only supported value for decimal positions (DDS positions 36 and 37).
Zero suppression is not supported for these data types. EDTCDE and EDTWRD keywords are not
valid and the &cpf. program does not perform zero suppression by default as it does for
signed-numeric fields.
The following field level keywords are not allowed with these data types.
BARCODE FLTFIXDEC
BLKFOLD FLTPCN
DATE IGCCDEFNT
DFT IGCCHRRRT
EDTCDE MSGCON
EDTWRD PAGNBR
TIME
If you leave these positions blank, the OS/400 program assumes a data type of character for the field.
If you enter a number in these positions, the OS/400 program assumes a data type of zoned decimal for
the field. The number specified is the number of positions to the right of the decimal point; it must be less
than or equal to the field length, with a maximum of 31. Figure 1 on page 1 shows how to code decimal
positions.
If you use a referenced field, you do not need to specify decimal positions because the information is
retrieved from the referenced file. You can override or change the decimal positions retrieved if you
choose.
To override the decimal positions, specify the new value. To change the decimal positions, specify the
amount you want to increase or decrease the field by and precede the amount with either a + or −. For
example, an entry of +4 indicates there are 4 more digits to the right of the decimal point than in the
referenced field.
Output-only fields pass data from a program to the printer when the program prints a record.
A program-to-system field is a named, numeric, or alphanumeric output-only field used to pass data
between the program and the system. It is not printed. A program can send data to the field with an output
operation, but the data is not printed.
Line numbers are not valid if one of the skip or space keywords has been specified at either the record
level or field level. Line numbers are valid, however, if one of the skip keywords has been specified at the
file level. (Space keywords are not valid at the file level.)
If you specify a location of a field in a record and the field is not ignored, you can specify the location of
subsequent fields within that record by leaving the line number blank and specifying a plus value (+n) for
42 through 44 (position entry). The plus value indicates the number of spaces to be left between the end
of the previous field and the beginning of the field you are defining. The plus value must be in the range of
0 through 99. If you specify a plus value, the line number entry must be blank. If the plus value causes an
implicit space operation, and line numbers are not being used for the record format, then skip/space
keywords must be used to cause spacing to occur.
The system uses the page width specified on the CRTPRTF command as the width limit when figuring
field positions. For example, a user specifies the page width as 132. If the record format being created
uses reference positioning instead of hard-coded positions, the fields will be wrapped at position 132. If a
line number was specified on a field in the format, the overlapping fields will be wrapped to the next line. If
no line number was specified for the format, the data will be wrapped over the data at the beginning of
that same line.
Once the positions are calculated, the real values are stored and treated as if they were hard-coded.
Therefore, if a field was wrapped and now resides on line 1, postion 5, that is where the field remains
even if the page width is increased using the CHGPRTF command.
Figure 3 on page 10 illustrates this problem and two possible solutions (for a page width of 132
characters).
If FOLD(*YES) is specified for the CRTPRTF, CHGPRTF, or OVRPRTF command, any field that extends
beyond the end of a line is continued on the next line. The break occurs at the end of the line but you can
cause it to be folded at a blank by specifying the BLKFOLD keyword. If FOLD(*NO) is in effect, a field that
extends beyond the end of a line is truncated.
The data description specifications determine which fields appear on the same print line. The data
description processor diagnoses overlap at file creation time. Keywords or fields containing optional
keywords are assumed to be selected. Therefore, no overlap check is made for the cases where the
keywords or fields are not selected. In Figure 4, no fields would overlap unless indicator 01 is on, in which
case F1, F3, and F4 would overlap. A diagnostic is sent for the format indicating that field selection or
conditioning of space/skip keywords can cause fields to overlap at run time.
On some printers, printer throughput speed is better when fields on the same line are specified in the DDS
in right-to-left order.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A*
A* OVERLAPPING FIELDS ONLY IF IND 01 IS ON
A*
A R REC1 SKIPB(1)
A F1 1 1
A NO1 F2 1 1SPACEB(1) SPACEA(1)
A F3 1 1
A F4 1 1
A NO1 SPACEB(1)
A
Some of the keywords for printer files require that you specify AFP(*YES) in printer device descriptions.
See “Keywords that require AFP(*YES) in printer device descriptions” for more information.
There are two separate subsystems in the OS/400 operating system. The original OS/400 printing
subsystem continues to support line printers and a subset of IBM IPDS printers and print functions. Full
support for all IPDS printers is provided by the integrated AFP printing subsystem. The printing subsystem
used to process application output is determined by the device description of the target printer. Only
printers defined as DEVTYPE(*IPDS) and AFP(*YES) (both specified in the printer device description) are
controlled by the AFP printing subsystem.
In order to print based upon the values specified for certain keywords, PSF/400 is required. For example,
spooled files generated with DEVTYPE(*APFDS) can only be printed by PSF/400.
Following is a list of DDS keywords that are valid for printer files that have the printer device type
(DEVTYPE) parameter value specified as *AFPDS. Restrictions on DDS keywords are contained in this list
as well.
v ALIAS
v BARCODE
v BOX
See the Printer Device Programming book for more information on PSF/400.
Refer to the DDS Reference: Concepts information for ALIAS naming conventions.
The alternative-name parameter must be different from all other alternative names and from all DDS field
names in the record format. If a duplicate name is found, an error appears on the field name or alternative
name.
An alternative name cannot be used within DDS or any other OS/400 function (for example, as a key field
name, as the field name specified for the REFFLD keyword, or as a field name used in the Copy File
(CPYF) command).
When you reference a field that has the ALIAS keyword, the ALIAS keyword is copied in unless the ALIAS
keyword is explicitly specified on the referencing field.
Example:
The bar-code-ID parameter is required. You can specify the bar-code-ID parameter as a special
alphanumeric value up to 10 characters long, or as a numeric ID. Valid special values for the bar code ID
are listed in Table 1 on page 15. If you specify a numeric value for the bar-code-ID, then you also must
specify the bar code modifier parameter. See the documentation for your printer for the bar-code-IDs and
modifiers that it supports.
The height parameter is optional, but if you specify it, it must be the second parameter following the
keyword. You can specify the height in one of two ways:
v Specify the height in number of print lines. Valid values for the bar code height are 1 through 9 lines.
v Specify the height in inches or centimeters. When you specify the height in this way, the valid format is
(height *UOM). Valid values are .25 to 254.00 cm (0.10 to 10.00 inches). The UOM parameter on the
Create Printer File (CRTPRTF) command determines the unit of measure for the height.
The value you specify for the bar code height does not include the human readable interpretation below
the bar code. If you do not specify the height parameter, the printer uses a default height.
You can specify the last 6 parameters (all optional) in any order. Using these parameters, you can specify
that BARCODE:
v Print the bar code horizontally or vertically. The default is horizontal printing (*HRZ).
v Include or exclude the human readable interpretation of the bar code. The default is to include the
human readable interpretation printed at the bottom of the bar code (*HRI).
v Indicate that the human readable interpretation should be printed at the top (*HRITOP) of the bar code.
(Check individual printer manuals for different bar code support of *HRITOP.)
v Include or exclude asterisks around the human readable interpretation for CODE3OF9 barcodes. The
default is to exclude the asterisks (*NOAST).
v Select the bar code modifier. This is a 1-character hex value that cannot be hex FF.
v Specify the width (in inches) of the narrow bar/space. It is specified as an expression of the form
(*WIDTH value). For more information on how to specify expressions, see the DDS Concepts
information. The valid values for the parameter are 0.007 through 0.208.
v Specify the ratio of the wide bar/space to the narrow bar/space. It is specified as an expression of the
form: (*RATIO value). The valid values for the parameter are 2.00 through 3.00.
The width and ratio parameters are ignored for the 4234 and 4224 printer models.
For more information about the 4224 printer models, see the 4224 Printer Models 1xx and 2xx Product
and Programming Descriptions, GC31-2551.
If you specify an optional parameter that does not apply to the bar code ID you have specified, the printer
ignores the optional parameter.
If you attempt to print a bar code on a printer that does not support bar codes, the digits in the code are
treated as text, and a diagnostic message results stating that the bar code could not print.
The following table describes valid data types, field lengths, and the numeric IDs for the BARCODE field.
Table 1. Valid Bar Code Definitions
Bar Code ID Data Type Field Length Numeric ID
MSI S 1 through 31 2
UPCA S 11 3
UPCE S 10 5
UPC2 S 2 6
UPC5 S 5 7
EAN8 S 7 8
EAN13 S 12 9
EAN2 S 2 22
EAN5 S 5 23
CODEABAR A 1 through 50 13
CODE128 A 1 through 50 17
CODE3OF9 A 1 through 50 1
INTERL2OF5 S 1 through 31 12
INDUST2OF5 S 1 through 31 10
MATRIX2OF5 S 1 through 31 11
POSTNET S 1 through 31 24
RM4SCC A 1 through 50 26
AP4SCC A 8 through 39 31
DUTCHKIX A 1 through 50 26
JPBC A 7 through 50 27
Notes:
1. The 4234 Printer only supports 14 digits.
2. The value 01 for the bar code modifier is not valid for some printers.
3. The value 01 provides migration support for application programs that use an AFP font to print Japan Postal Bar
Codes. Data written into the field must be valid characters in the AFP font. The application program must also
write the start, stop, and bar code modifier characters.
CODEABAR field data must begin with an A, B, C, or D and must end with an A, B, C, or D. For example,
A11224455C or D33447799D.
See the CVTDTA keyword for information on coding IPDS bar code commands yourself.
If you specify CHRSIZ at the record level, it applies to all fields in that record. If you specify BARCODE in
one of those fields, the BARCODE keyword is not allowed.
You cannot specify BARCODE on the same record format with BLKFOLD, CPI, or DFNCHR.
When you specify BARCODE on a numeric field, the number of decimal positions must be zero.
When you specify BARCODE on a constant field, the only valid bar code IDs are CODEABAR, CODE128,
and CODE3OF9, and you must also specify the DFT keyword either implicitly or explicitly.
You should specify DEVTYPE (*IPDS) or DEVTYPE(*AFPDS) on the CRTPRTF command when
BARCODE is specified in the file.
BARCODE is allowed only on data types S and A (see Table 2 on page 15 for restrictions).
Japan Postal Bar Codes (bar-code-ID = JPBC) uses only the bar-code-ID parameter, the bar code print
orientation parameter ([*HRZ | *VRT]), and the bar code modifier parameter. All other parameters have
predetermined values so any input for them is ignored.
User-specified bar code modifiers are not checked for their validity, and could cause bar code errors if they
are not valid. The Intelligent Printer Data Stream Reference manual contains more information on bar
codes and valid bar code modifiers.
Example:
BLKFOLD has effect only if you specify FOLD(*YES) on the CRTPRTF, CHGPRTF, or OVRPRTF
command. If you specify FOLD(*NO), BLKFOLD has no effect until a CHGPRTF or OVRPRTF command
with FOLD(*YES) is issued.
Use BLKFOLD only with SCS printers. A warning message results at create time if BLKFOLD is specified
in a file created with DEVTYPE(*IPDS) or DEVTYPE(*AFPDS). You cannot specify BLKFOLD on the same
record format with IPDS printer keywords or keywords that support Advanced Function Printing* (AFP*). If
any format in the file contains a combination of SCS and IPDS printer keywords or AFP-support keywords,
the file is not created.
Option indicators are not valid for this keyword. However, option indicators can be used to condition the
field (whether named or constant) associated with this keyword.
Example:
You can specify the corner position parameters as constants, program-to-system fields, or a combination
of both, as shown in the following:
BOX(1.2 0.5 5.1 6.3 0.2)
BOX(1.2 &field2 5.1 &field4 0.2)
BOX(&field1 &field2 &field3 &field4 0.2)
The first-corner-down parameter defines the vertical starting point of the BOX relative to the margins
specified on the FRONTMGN or BACKMGN parameter of the CRTPRTF command. Valid values are 0 to
57.790 cm (0 to 22.750 in.).
When you specify the first-corner-down parameter as a program-to-system field, the field must exist in the
same record format as the BOX keyword. It must be defined as length of 5 with 3 decimal positions, data
type S (character), and usage P (program-to-system).
The first-corner-across parameter defines the horizontal starting point of the BOX relative to the margins
specified on the FRONTMGN or BACKMGN parameter of the CRTPRTF command. Valid values are 0 to
57.790 cm (0 to 22.750 in.).
The diagonal-corner-down parameter defines the vertical end point of the BOX relative to the margins
specified on the FRONTMGN or BACKMGN parameter of the CRTPRTF command. Valid values are 0 to
57.790 cm (0 to 22.750 in.).
When you specify the diagonal-corner-down parameter as a program-to-system field, the field must exist in
the same record format as the BOX keyword. It must be defined as length of 5 with 3 decimal positions,
data type S (character), and usage P (program-to-system).
The diagonal-corner-across parameter defines the horizontal end point of the BOX relative to the margins
specified on the FRONTMGN or BACKMGN parameter of the CRTPRTF command. Valid values are 0 to
57.790 cm (0 to 22.750 in.).
When you specify the diagonal-corner-across parameter as a program-to-system field, the field must exist
in the same record format as the BOX keyword. It must be defined as length of 5 with 3 decimal positions,
data type S (character), and usage P (program-to-system).
The line-width parameter is required and defines the width of the lines. Valid values are 0.001 to 57.790
cm (0.001 to 22.750 in.). The following special values can also be specified:
Value Line Width
*NARROW
12/1440 in. (0.008 in., 0.022 cm)
*MEDIUM
24/1440 in. (0.017 in., 0.042 cm)
*WIDE 36/1440 in. (0.025 in., 0.064 cm)
When you specify the line-width parameter as a program-to-system field, the field must exist in the same
record format as the BOX keyword. It must be defined as length of 5 with 3 decimal spaces, data type S
(character), and usage P (program-to-system). The special values of *NARROW, *MEDIUM, or *WIDE can
not be specified using a program-to-system field.
Notes:
1. The UOM parameter on the CRTPRTF command determines the units of measure for the
first-corner-down, first-corner-across, diagonal-corner-down, diagonal-corner-across, and line-width
parameter values. If the value specified for a parameter is outside the valid range, it is flagged when
the spooled file is created.
2. Depending on printer hardware, lines smaller than approximately 0.004 in. (0.010 cm) might not print
because of printer resolution. No message is issued when this occurs.
Color:
The optional color parameter lets you specify the color of the lines. Specify the color as an expression in
one of the following forms:
v Color name method: (*COLOR color-name)
v RGB (red/green/blue) color model: (*COLOR *RGB rvalue gvalue bvalue)
v CMYK (cyan/magenta/yellow/black) color model: (*COLOR *CMYK cvalue mvalue yvalue kvalue)
v CIELAB color model: (*COLOR *CIELAB lvalue c1value c2value)
v Highlight color model: (*COLOR *HIGHLIGHT hvalue coverage)
Shading:
The optional shading parameter lets you specify shading for the box. Specify the shading as expression in
the following form:
(*SHADE coverage color)
The shading coverage specifies how dark the shading should be. Specify the coverage as an integer from
0 to 100 that matches the percentage of shading that you want. You also can specify one of the following
special values:
*XLIGHT
*LIGHT
*MEDIUM
*DARK
*XDARK
The color specifies which color you want the shading to be. If you do not specify a color, then the color
prints with the default color of the medium. Specify the color in the same manner as you specify line colors
on the color parameter, above. For example, to specify coverage and color for shading using the RGB
color model, specify the following:
(*SHADE *MEDIUM (*COLOR *RGB rvalue gvalue bvalue))
Notes:
1. When you specify box shading with no color or with the basic color model, IM1 image is used as the
fill pattern. This works best on 240/300/600 pel printers. It may produce unsatisfactory results on the
4224, 4234, and 64XX printers.
2. When you specify box shading with an extended color model (RGB, CMYK, or CIELAB), IOCA image
is used for the fill pattern. IM1 image does not support these color models. The IPDS printer must
support IOCA image for this to print properly.
3. When you specify box shading with an extended color model, the following monochrome IPDS printers
support gray scaling when you specify highlight color:
v Infoprint 60
v Infoprint 62
v Infoprint 2000
v Infoprint 3000
v Infoprint 4000
These printers must be at ucode level 8.3 or later.
When the BOX keyword is specified on a record format, all fields within the record format must be
positioned using the POSITION keyword. See “POSITION (Position) keyword in printer files” on page 94
for more information.
An error message is issued if a constant field is specified in a record format where the BOX keyword is
also specified.
An error message is issued at application run time if the box extends beyond the page boundaries.
You cannot specify BOX with the SPACEA, SPACEB, SKIPA, or SKIPB keywords.
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be able
to print files using this keyword and specifying DEVTYPE(*AFPDS).
Example 1:
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
parameter values.
BOX1 prints a box with one corner located 1.2 units down and 0.5 units across from the location specified
on the margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. The
diagonal corner of this box is located 5.1 units down and 6.3 units across from the margins specified on
the CRTPRTF command. The edges of the box are 0.2 units wide.
BOX2 prints two boxes. The first box starts 2 units down and 5 units across from the margins specified on
the FRONTMGN or BACKMGN parameter on the CRTPRTF command. The diagonal corner of this box is
located 5.0 units down and 3.33 units across from the margins specified on the CRTPRTF command. The
edges of the box are determined by the special value *WIDE.
The second box starts 0.5 units down and 0.1 units across from the margins specified on the FRONTMGN
or BACKMGN parameter on the CRTPRTF command. The diagonal corner of this box is located 2.1 units
down and 2.0 units across from the margins specified on the CRTPRTF command. The edges of the box
are 0.09 units wide.
BOX4 specifies shading with 50% coverage and default color for shading.
BOX5 specifies to use highlight color 3 (which is determined by printer) with 75% coverage.
Example 2:
The example below illustrates the location of the boxes using the DDS code in example 2.
┌──────────────────────────────────────────────────────────────┐
│ 0 1 2 3 4 5 6 7 8 9 10 11 │
│ │
│ │
│ 1 │
│ │
│ │
│ 2 ┌───────────────────┐ │
│ │ │ │
│ │ BOX 1 │ │
│ 3 │ ┌─────────┼─────────┐ │
│ │ │ │ │ │
│ │ │ │ │ │
│ 4 └─────────┼─────────┘ │ │
│ │ │ │
│ │ BOX 2 │ │
│ 5 │ │ │
│ │ │ │
│ │ │ │
│ 6 └───────────────────┘ │
│ │
│ │
│ 7 │
└──────────────────────────────────────────────────────────────┘
Use the optional library-name parameter to further qualify the coded font name. If you do not specify a
library name, *LIBL is used to search for the coded font name at print time. If *LIBL is used, the
system-supplied font libraries are added to the library list when searching for the requested font. To view
the IBM-supplied coded font names, you can use the Work with Font Resources (WRKFNTRSC)
command and specify coded fonts. The IBM-supplied coded font names all start with the characters X0.
Using the library-name parameter allows the coded font name to be located more rapidly. However, the
library list is still used to locate the character set and code page defined by the coded font name.
Note: If an application uses private resources (for example, fonts, page segments, overlays, or GDF files
not distributed with the system), be aware of the following. When referencing these resources, if
you specify *LIBL or you do not specify a library name, the resources must be available through the
library list used by the application creating the spooled file.
The height-value specifies the point size for the height of the font. The width-value specifies the point size
for the width of the font. If the font is to be uniformly scaled (where the height and width are the same),
then you can specify only the height-value. You cannot specify the width-value without the height-value.
The valid values for this parameter are 0.1 through 999.9.
Notes:
1. For raster fonts, PSF/400 ignores the point size. PSF/400 does not do any validation at spool intercept
time, and it does not issue any error messages.
2. You must specify a point size for outline coded fonts. However, some outline coded fonts have a
default point size specified with them. If you do not specify a point size for these coded fonts, then the
default point size specified with the coded font is used.
If you do not specify a point size for an outline coded font that does not contain a default point size,
then PSF/400 cannot print the spooled file. The spooled file is held at print writer time. PSF/400 does
not do any validation at spool intercept time.
The coded font value is validated at print time. An error message is issued if it is not valid or when the
resource cannot be located.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when CDEFNT is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
CDEFNT cannot be specified at the same level as the FONT or FNTCHRSET keywords.
Note: Feature PSF/400 is required to use this keyword. If PSF/400 is not installed, you will not be able to
print files using this keyword and specifying DEVTYPE(*AFPDS).
Example:
FLD1 specifies coded font X0BRTR, which is found in library QFNTCPL. FLD2 specifies font X0BRTP from
library QFNTCPL and a point size of 10.1 for that field. FLD3 specifies font X0BRTP with a vertical point
size of 5.0 and a horizontal point size of 3.0.
The CHRID keyword is not valid on constant fields or numeric fields (fields with decimal positions specified
in positions 36 through 37).
The CHRID keyword is ignored for fields in printer files which specify *JOBCCSID for the CHRID
parameter on the Create Printer File (CRTPRTF), Change Printer File (CHGPRTF), or Override Printer File
(OVRPRTF) commands. All printer data is assumed to be in the CCSID of the current job for these printer
files. For more information about CCSID support, see the Globalization topic in the System overview,
planning, and installation category of information in the Information Center.
In SCS printer files (DEVTYPE(*SCS) on the CRTPRTF command), you cannot specify CHRID on the
same field as the TRNSPY keyword. In IPDS printer files (DEVTYPE(*IPDS) on the CRTPRTF command),
you can specify CHRID on the same field as the TRNSPY keyword. However, a warning message results
stating that the DEVTYPE should not be changed to *SCS.
For printer files created with DEVTYPE(*AFPDS), CHRID applies only to files that use registered font IDs.
If the file uses downloaded coded fonts or character set/code pages, the keyword is ignored and a
message is issued.
If the DFNCHR keyword is specified for a record format, the CHRID keyword cannot be specified in that
record format. If the DFNCHR keyword is specified at the file level, CHRID cannot be specified in that file.
Option indicators are not valid for this keyword. However, option indicators can be used to condition the
field associated with this keyword.
Example:
The field TITLE is a named field. With CHRID specified, the printer attempts to print the appropriate
characters. See the Printer Device Programming for more information on the printing conditions with
the CHRID keyword.
The valid values for the width and height parameters are 1.0 through 20.0.
Any formatting you choose, such as using a specific font or editing via the EDTCDE and EDTWRD
keywords, is done prior to the expansion.
Graphics fonts may also be specified with CHRSIZ. When you specify a GDDM graphic font (for example:
ADMMVSS) with CHRSIZ, the system scales the graphic font. You can use decimal values to scale
graphic fonts.
It is recommended that you do not use FONT (*DEVD) (on the CRTPRTF, CHGPRTF, or OVRPRTF
command) when using CHRSIZ. If you do use FONT (*DEVD), then fields specified with CHRSIZ are
positioned on the page assuming the font in the device description is a 10-pitch font.
In expanding a field, CHRSIZ uses the current font and lines-per-inch value. For example, if you specify
FONT(011), a 10-pitch font, and lpi(6) for the printer file, specifying CHRSIZ (3 3) for a 10-character field
expands the field to 3 inches wide (30 characters/10 characters per inch) and 1/2 inch high (3 lines/6 lines
per inch).
Note: If the current font is a coded font or font character set/code page, 10-pitch is assumed when
positioning the field.
If, however, you specified FONT(222), a 15-pitch font, and lpi(4) on a record format, the 10-character field
mentioned above expands to 2 inches wide (30 characters/15 characters per inch) and 3/4 inch high (3
lines/4 lines per inch).
You cannot specify a hardware font on the FONT keyword when a decimal value is specified on the
CHRSIZ keyword. If both of these keywords apply to the same field (specified either at the record or field
level), the file is not created.
Note: When you specify FONT(*VECTOR) with the CHRSIZ keyword, the 4234 printer uses a default
code page.
The CHRSIZ keyword does not work if the specified font is a typographic font and the printer is either a
3812 or 3816 printer. Typographic fonts are not scalable on these printers. This is a limitation of the
printer. The typographic fonts are the following:
751 1351
1051 1653
1053 2103
1056
Note: CHRSIZ is not supported on some printers due to printer limitations. For example, 3825, 3827, and
3900 only support downloaded fonts.
When you create a file, exceeding or overlapping the page length is not diagnosed for expanded height. It
is diagnosed, however, for expanded width. The field length used is the DDS field length multiplied by the
expansion width you specify on CHRSIZ and rounded up to the integer value.
Example:
In the example, FIELD1 is printed using CHRSIZ(3 3). FIELD2 is printed using CHRSIZ(2.5 2). Note that
the decimal CHRSIZ is valid because the FONT specified for the field is not numeric. FIELD3 prints using
CHRSIZ(1 1).
You can specify color for a view by using one of five methods:
v Color name
v RGB (red/green/blue) color model
v CMYK (cyan/magenta/yellow/black) color model
v CIELAB color model
v Highlight color model
For the color-name, you can specify one, and only one, of the following parameter values for COLOR:
Parameter
Meaning
BLK Black
BLU Blue
BRN Brown
GRN Green
PNK Pink
RED Red
TRQ Turquoise
YLW Yellow
For the RGB color model, specify three RGB integer values in the following form:
COLOR (*RGB rvalue gvalue bvalue)
Note: An RGB specification of *RGB 0 0 0 is black. An RGB specification of *RGB 100 100 100 is white.
Any other value is a color somewhere between black and white, depending on the output device.
For the CMYK color model, specify four integer values in the following form:
COLOR (*CMYK cvalue mvalue yvalue kvalue)
The cvalue represents a value for cyan, mvalue represents a value for magenta, yvalue represents a value
for yellow, and kvalue represents a value for black. Specify each of the four integer values as a
percentage from 0 to 100.
For the CIELAB color model, specify three values in the following form:
COLOR (*CIELAB lvalue c1value c2value)
The lvalue specifies the luminance value. The valid range for the lvalue is 0.00 to 100.00. Use signed
integers from -127 to 127 for the c1value and c2value to specify the chrominance differences.
For the Highlight color model, specify two values in the following form:
COLOR (*HIGHLIGHT hvalue coverage)
Highlight colors are device-dependent. You can specify them for the IBM InfoPrint Hi-Lite Color Printer,
Model 4005-HCI. You can specify an integer within the range of 0 to 65535 for the hvalue.
The coverage value indicates the amount of the highlight color that is to be used. Specify the coverage
value as a percentage from 0 to 100. If you specify less than 100 percent, the remaining coverage is
achieved with the specified color.
Notes:
1. An hvalue of 0 indicates that there is no default value defined. Therefore, the default color of the
presentation device is used, and the remaining coverage is achieved with the default color.
2. The following monochrome IPDS printers support gray scaling when you specify highlight color:
v Infoprint 60
v Infoprint 62
v Infoprint 2000
v Infoprint 3000
v Infoprint 4000
These printers must be at ucode level 8.3 or later.
If you use COLOR on the same record format with the BLKFOLD, CPI, or DFNCHR keyword, the file is
not created.
COLOR is valid on IPDS and IPDS AFP(*YES) printers. If you specify DEVTYPE(*SCS) on the CRTPRTF
command, a warning message results but the file is created successfully.
When you specify COLOR more than once for a field, you must specify option indicators each time you
specify COLOR. If more than one COLOR is in effect when printing the field, the first one in effect is used.
You cannot specify the same color more than once on the same field. The example below shows the
effects of specifying COLOR for a field.
Example:
In the example, if indicator 99 is ON, the constant field ’PRINT RED TEXT’ prints in red. FIELD1 prints in
pink, yellow, or black, depending on the indicators 02 and 07. FIELD2 specifies to print using the CIELAB
color model. The luminance value is 76.0, the c1value is -25, and the c2value is 65.
This keyword is valid only for the 5224 and 5225 SCS printers. If you do not specify CPI, the density is set
by the CPI parameter on the Create Printer File (CRTPRTF), Change Printer File (CHGPRTF), or Override
with Printer File (OVRPRTF) command.
If you specify CPI at the record level, all fields in the record format are at the same density except those
for which you specify CPI at the field level.
If you specify CPI at the field level, you can specify different densities for fields printed on the same line.
The position you specify for each field (in positions 42 through 44) is based on the value of the CPI
parameter on the CRTPRTF, CHGPRTF, or OVRPRTF command (see the following examples).
When you specify CPI at the field level, overlapping fields are not diagnosed.
A warning message results at creation time if you specify CPI in a file created with DEVTYPE(*IPDS) or
DEVTYPE(*AFPDS). To change the CPI, you must specify the FONT keyword (see “FONT (Font) keyword
in printer files” on page 68).
Examples:
The following examples show how to specify the CPI keyword for a record format.
Example 1:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R RECORD1
00020A 02 CPI(15)
00030A FLD1 20 3 1
00040A FLD2 5 0 +2
00050A R RECORD2 SPACEB(1)
00060A FLD3 1
A
In this example, if option indicator 02 is set to on, both FLD1 and FLD2 in RECORD1 are printed at 15
characters per inch. If option indicator 02 is set to off, FLD1 and FLD2 are printed at the density specified
for the CPI parameter on the CRTPRTF, CHGPRTF, or OVRPRTF command.
The printer spaces one line before printing RECORD2. FLD3 in RECORD2 is printed at the density
specified for the CPI parameter on the CRTPRTF, CHGPRTF, or OVRPRTF command.
Example 2:
The following example shows what happens when a field at 15 CPI is printed between fields printed at 10
CPI.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R RCDA SPACEA(1)
00020A FLD1 10 1
00030A FLD2 10 11CPI(15)1
00040A FLD3 10 21
A
In this example, all positions entries 1 refer to columns measured at 10 CPI (as specified on the
CRTPRTF, OVRPRTF, or CHGPRTF command). Therefore, RCDA is printed as follows:
11111111112222222222 3333333333
FLD2, being compressed at 15 CPI, uses less room than FLD1 or FLD3. To avoid the gap, specify FLD3
more to the left. To calculate the position of FLD3, add the length of FLD2 to the specified position of
FLD2. To calculate the length of FLD2, use the following formula:
length specified X file density = printed length
density for the field
Example 3:
The following example shows what happens when a field at 10 CPI is printed between fields printed at 15
CPI.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R RCDB SPACEA(1)
00020A FLD4 10 1
00030A FLD5 10 11CPI(10) 1
00040A FLD6 10 21
A
In this example, the positions entries 1 refer to positions measured at 15 CPI (as specified on the
CRTPRTF, OVRPRTF, or CHGPRTF command). The system uses the following formula to calculate the
beginning position of fields printed at 10 CPI within files printed at 15 CPI:
2(specified position - 1) + 1 = printed position (truncated if fractional)
3
The truncation can cause overprinting of FLD4 by FLD5, as shown by the following:
44444444445555556666666666666
To avoid the overprinting, specify FLD5 one more position to the right (position 12).
To calculate the position of FLD6, add the length of FLD5 to the position of FLD5. To calculate the length
of FLD5, use the following formula:
length specified X density for the file = printed length
density for the field
Example 4:
The following example shows the effect of the CPI keyword on how the system truncates or folds fields at
the right side of the printer form. This depends on the values of the FOLD and PAGESIZE parameters on
the CRTPRTF, CHGPRTF, or OVRPRTF commands.
In this example, if the file is being printed at 15 CPI with a forms width of 160, FLD7 and FLD8 are printed
as follows:
v FLD7 starts at position 140 for a print length of 10 at 15 CPI (16.9 mm or 0.667 inch).
v FLD8 starts at position 150 for a print length of 10 at 10 CPI (25.4 mm or one inch).
Printing FLD8 at position 150 calculated at 15 CPI causes FLD8 to extend beyond the right margin.
Therefore, FLD8 is either truncated or folded onto the next line (depending on the FOLD parameter on the
CRTPRTF, CHGPRTF, or OVRPRTF command). To calculate the length of FLD8, use the following
formula:
length specified X density for the file = printed length
density for the field
Note: When a file printed at 15 CPI contains fields printed at 10 CPI, the right margin of the form is
adjusted for all fields according to the following formula:
2(specified length of the field - 1) + 1 = adjustment
3 (truncated if fractional)
In an SCS printer file (DEVTYPE(*SCS) on the CRTPRTF command), specify CVTDTA only when you use
the DFNCHR keyword. Furthermore, use CVTDTA when you define characters for unassigned code points.
A code point is one of the 256 values that you can assign a character in a character set. An unassigned
code point is a code point to which no character is assigned. On the iSeries server, a code point is
identified by a 2-digit hexadecimal number. For example, in the EBCDIC character set, code point hex C1
is assigned the character A; hex 51 is an unassigned code point.
CVTDTA is valid for the 5224, 5225, and IPDS printers. For IPDS printers, CVTDTA allows you to specify
code points to be included in the data stream. These code points print as preassigned on the printer. Do
not use the CVTDTA keyword with the TRNSPY and DFNCHR keywords for IPDS printers.
If you define characters for unassigned code points, do one of the following:
v Specify CVTDTA
v Work with hexadecimal data in your program
In an SCS printer file (DEVTYPE(*SCS) on the CRTPRTF command), if you specify CVTDTA, you must
also specify the TRNSPY keyword. In printer files created with DEVTYPE(*IPDS) or DEVTYPE(*AFPDS)
on the CRTPRTF command, if you specify CVTDTA, you do not need to specify the TRNSPY keyword.
However, a warning message appears stating that the DEVTYPE should not be changed to *SCS.
If you specify CVTDTA on a field, the length of the field must be an even number. The printed length of the
field is the length you specify, divided by two.
If you specify CVTDTA for a field, the character data your program passes in the field must contain only
valid hexadecimal characters (0 through 9 and A through F). Blanks, whether embedded or trailing, are not
valid hexadecimal characters. If characters that are not valid are specified in the field at program run time,
the OS/400 program sends escape message CPF5234 to your program.
For an example of how to use the CVTDTA keyword, see “TRNSPY (Transparency) keyword in printer
files” on page 105.
The following rules apply to using DDS CVTDTA for bar code commands:
v The support is only for printers with device type *IPDS.
v The support allows the following commands:
– WBCC (Write Bar Code Control)
– WBC (Write Bar Code)
– END
All three commands must be in the same field. No other commands can be in that field.
v The length of the field must be exact.
v The length within each command must be exact.
v The file should contain a DDS BARCODE keyword on another record in the file. This record does not
have to be used. It indicates to the OS/400 program that bar codes should be expected when the file is
used.
v Correlation IDs are not required on the IPDS commands.
v No validity checking is done on the user’s bar code data. Data that is not valid will cause the printer to
report that the command is not valid.
v Examples of the commands are shown in Figure 5 on page 33. Adding the lengths of these commands
in the example totals 69 (45 + 17 + 7 = 69). This will be multiplied by two to indicate the number of
characters included in the CVTDTA field. This means the field with CVTDTA for this example would
require a length of 138 (69 x 2 = 138).
v See the Intelligent Printer Data Stream Reference manual for more information on bar code commands.
Figure 5. Command Format for Bar Code Commands Using CVTDTA (Part 1 of 2)
Figure 5. Command Format for Bar Code Commands Using CVTDTA (Part 2 of 2)
The *JOB value causes the current job date to be printed. If you do not specify a parameter, *JOB is used.
The *SYS parameter causes the current system date to be printed.
If you specify *Y, 2 digits represent the year in the date format that the DATFMT job attribute designates. If
you specify *YY, 4 digits represent the year in the date format that the DATFMT job attribute designates. If
you do not specify a parameter, *Y is specified by default.
The W edit code on the EDTCDE keyword returns a correctly formatted date only if a four digit year (*YY)
is requested, and the job attribute DATFMT is YMD.
If you specify EDTCDE(Y) for a DATE field, separators are added according the date format of the
DATFMT job attribute. For example, using EDTCDE(Y) when the DATFMT job attribute specifies *MDY
changes the date from
to
mm/dd/yy
The slashes (/) represent the job attribute DATSEP at run time and the job attribute DATFMT determines
the order of the month, day, and year. (DATFMT can be *SYSVAL, indicating that your program is to
retrieve the date from the system value QDATFMT, or MDY, DMY, YMD, or JUL, where M=month, D=day,
Y=year, and JUL=Julian.)
If the DATFMT specified for the job is *JUL (Julian), you cannot use the EDTWRD keyword to edit the
result.
Option indicators are not valid for this keyword. However, option indicators can be used to condition the
field associated with this keyword.
Example:
The job date is also printed without editing if option indicator 21 is on. The job date is printed with editing if
either option indicator 22 or 23 is on. The system date is printed without editing if option indicator 24 is on.
The system date is printed with editing and a 4 digit year if option indicator 25 is on.
The date-format parameter specifies the format of a date. The following table describes the valid date
formats and their default separator values.
If you specify *JOB, the high-level language and the application handle the format as *ISO. On output the
system converts the format to the format that the Date Format Job Definition Attribute specifies. On input,
the system converts the format to *ISO before it passes control to the application. There are always 10
spaces reserved on the display screen for a Date field with DATFMT(*JOB), even though 8 characters in
the case of *MDY, *DMY, and *YMD, or 6 characters in the case of *JUL are displayed.
If you specify the *ISO, *USA, *EUR, or *JIS value, you cannot specify the DATSEP keyword. These date
formats have fixed separators.
The DATFMT keyword overrides the job attribute for a date field. It does not change the system default.
It is the responsibility of the high-level language and the application to format the date field according to
the format specified on the DATFMT keyword and use the separators specified on the DATSEP keyword.
The system does not format fields on output. The system validates the date field (L data type) on input
according to the format that the DATFMT keyword specifies and the separator that the DATSEP keyword
specifies.
Option indicators are not valid for this keyword, although option indicators can be used to condition the
field for which it is specified.
Example:
If the date to be displayed is June 21, 1990, the date format defined in the Job Definition Attributes is
*MDY and the date separator defined in the Job Definition Attributes is a slash (/), the following values will
be displayed when RECORD is written.
The date separator parameter specifies the separator character that appears between the year, month,
and day. Valid values are a slash (/), dash (–), period (.), comma (,) or blank ( ). Apostrophes must
enclose the parameter.
If you specify the *ISO, *USA, *EUR, or *JIS date format value for the DATFMT keyword, you may not
specify the DATSEP keyword. These formats have fixed date separators.
If you do not specify the DATSEP keyword and the format that DATFMT specifies does not have a fixed
date separator, DATSEP defaults to *JOB.
If you specify *JOB or if DATSEP defaults to *JOB, the high level language and the application will handle
the separator as a slash (/). On output the system converts the separator that was specified by the Date
Separator Job Definition Attribute. On input the system converts the separator to a slash (/) before it
passes control to the application.
The DATSEP keyword overrides the job attribute. It does not change the system default.
It is the responsibility of the high-level language and the application to format the date field according to
the format specified for the DATFMT keyword and uses the separators specified for the DATSEP keyword.
The system does not format fields on output. The system validates the date field on input according to the
format that the DATFMT keyword specifies and the separator that the DATSEP keyword specifies.
Option indicators are not valid for this keyword, although option indicators may be used to condition the
field for which it is specified.
Example:
If you want to display the date June 21, 1990, the date format defined in the Job Definition Attributes is
*MDY and the date separator defined in the Job Definition Attributes is /, the following values will be
displayed when RECORD1 is written.
DATFLD2 21-06-90
DATFLD4 90 172
DATFLD6 06/21/90
Note: You cannot specify more than 5000 characters in a single DDS statement. If in specifying DFNCHR
several times together, you need to specify more than 5000 characters, start a new DDS statement
by specifying an option indicator for the new DFNCHR keywords. To avoid having to set the
indicators on, specify an N (for example, N50). This causes the conditioning to be on for the
keyword with no program action.
User-defined characters can take up one print position (as in example 1) or more than one print position
(as in examples 2 and 3). For each print position, specify a code point and a dot matrix pattern. In the
EBCDIC character set, hex C1 is assigned the character A; hex 51 is an unassigned code point (see
“Selecting which code points to redefine” on page 47).
You define a dot matrix pattern in DDS by specifying nine 2-digit pairs of hex digits. You can specify only
the characters 0 through 9 and A through F (see “Specifying dots to be printed in the dot matrix” on
page 48).
When your program sends an output operation to a record format for which DFNCHR defines code points
different from those defined for the previous output operation, the OS/400 program loads the new
definitions, thereby changing the defined characters. This process can slow printing.
If, however, the same DFNCHR keywords are in effect for two output operations in a row, the OS/400
program does not reload code points for the second output operation.
You can use DFNCHR only with SCS printers. It cannot be specified on the same record format with IPDS
printer keywords such as COLOR, LPI, and BARCODE. If any format in the file contains a combination of
SCS and IPDS printer keywords, the file is not created.
You cannot specify DFNCHR on the same record format as the DRAWER keyword. If any format in the file
contains DFNCHR at the record-level and a DRAWER keyword, the file is not created.
Examples:
Example 1:
The following example uses a single dot matrix to show how to specify DFNCHR at the record level so
that hex 7C prints © instead of @.
This example redefines code point hex 7C1, normally @ in the EBCDIC character set, as a copyright
mark. The copyright mark is printed as follows (on line 58 of a printer form):
© 1982
The hex digits 2 define the following dot matrix pattern:
1 2 3 4 5 6 7 8 9
RSLL763-1
See “Specifying dots to be printed in the dot matrix” on page 48 for more information.
Example 2:
The following example uses a dot matrix for a large character. This example shows how to specify
DFNCHR at the file level for a character two positions wide by two lines high.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
12
00010A DFNCHR(X’51’ X’000000FF00FF00E700’ +
00020A X’52’ X’E700E700E700E10000’ +
00030A X’53’ X’0000009C001F000700’ +
00040A X’54’ X’07000700FF00FC0000’ +
00050A X’55’ X’00000000FF00E700E7’ +
00060A X’56’ X’00E700E700E3000000’ +
00070A X’57’ X’000000001E00070007’ +
00080A X’58’ X’0007000700FE000000’)
00090A R RECORD1
00100A 3 58 4DFT(X’5152’) TRNSPY
00110A 58 4DFT(X’5556’) TRNSPY
00120A 59 4DFT(X’5354’) TRNSPY
00130A 59 4DFT(X’5758’) TRNSPY
A
Example 2 redefines eight code points (hex 51 through hex 58) 1. Each position of the two-by-two
character is printed twice so that adjacent horizontal dots can print. The hex codes 2 define the dot
matrix pattern.
The information marked 3 shows how the large character 5 looks when printed (using four print
positions, two on line 58 and two on line 59 of a printer form):
Note: The file should be at 9 lpi to avoid a horizontal gap in the large character (LPI parameter on the
CRTPRTF, CHGPRTF, or OVRPRTF command).
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
RSLL768-0
Figure 7. Specifying the Grid Pattern for Example 2 (Points 51 through 54)
Use Table 3 on page 49 to determine which hex digit to specify for each half-column in the grid pattern.
For each print position, complete one row of the grid pattern (one pair of hex digits to each box) as shown
in Figure 8 on page 41 for code points 51 through 54.
Code
Points
1 2 3 4 5 6 7 8 9
51 00 00 00 FF 00 FF 00 E7 00
52 E7 00 E7 00 E7 00 E1 00 00
53 00 00 00 9C 00 1F 00 07 00
54 07 00 07 00 FF 00 FC 00 00
RSLL769-0
In the grid pattern, mark the dot patterns for as many as nine print columns (three across and three down),
as shown in Figure 9 on page 42.
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
RSLL770-0
Figure 9. Specifying the Grid Pattern for Example 2 (Points 55 through 58)
Use Table 3 on page 49 to determine which hex digit to specify for each half-column in the grid pattern.
For each print position, complete one row of the grid pattern (one pair of hex digits to each box) as shown
in Figure 10 on page 43 for code points 55 through 58.
Code
Points
1 2 3 4 5 6 7 8 9
55 00 00 00 00 FF 00 E7 00 E7
56 00 E7 00 E7 00 E3 00 00 00
57 00 00 00 00 1E 00 07 00 07
58 00 07 00 07 00 FE 00 00 00
RSLL772-0
Figure 10. Completing the Code Points for Example 2 (Points 55 through 58)
Example 3:
The following example uses a dot matrix for a large graphic to show how to specify DFNCHR at the file
level for a large graphic three columns wide by two lines high.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A 12
00020A DFNCHR(X’B1’ X’FF00E000D000C800C4’ +
00030A X’B2’ X’00C200C100C100C200’ +
00040A X’B3’ X’C400C800D000E000FF’ +
00050A X’B4’ X’FF0007000800130023’ +
00060A X’B5’ X’004300830083004300’ +
00070A X’B6’ X’230013000B000700FF’ +
00080A X’B7’ X’00FF00F000D800CC00’ +
00090A X’B8’ X’C600C100C100C100C6’ +
00100A X’B9’ X’00CC00D800F000FF00’ +
00110A X’BA’ X’00FF000F001B003300’ +
00120A X’BB’ X’630083008300830063’ +
00130A X’BC’ X’0033001B000F00FF00’)
00140A R RECORD1 CPI(15)
00150A 58 4DFT(X’B1B2B3’) TRNSPY
00160A 58 4DFT(X’B7B8B9’) TRNSPY
00170A 59 4DFT(X’B4B5B6’) TRNSPY
00180A 59 4DFT(X’BABBBC’) TRNSPY
A
The example redefines 12 code points (hex B1 through hex BC) 1. Each column of the three-by-two
character prints twice so that adjacent horizontal dots can print. The hex codes 2 define the dot matrix
pattern.
This example prints an X inside a grid using three print columns (on lines 58 and 59 on a printer form).
Note: The file should be at 9 lpi to avoid a horizontal gap in the large character (LPI parameter on the
CRTPRTF, CHGPRTF, or OVRPRTF command).
Mark the dot patterns for as many as nine print columns (three across and three down) in the grid, as
shown in the example.
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
RSLL774-0
Figure 11. Specifying the Grid Pattern for Example 3 (Points B1 through B6)
Use Table 3 on page 49 to determine which hex digit to specify for each half-column in the grid. For each
print position, complete one row of the grid pattern (one pair of hex digits to each box) as shown in
Figure 12 on page 45.
Code
Points
1 2 3 4 5 6 7 8 9
B1 FF 00 E0 00 D0 00 C8 00 C4
B2 00 C2 00 C1 00 C1 00 C2 00
B3 C4 00 C8 00 D0 00 E0 00 FF
B4 FF 00 07 00 0B 00 13 00 23
B5 00 43 00 83 00 83 00 43 00
B6 23 00 13 00 0B 00 07 00 FF
RSLL775-0
Figure 12. Completing the Code Points for Example 3 (Points B1 through B6)
As shown in Figure 13 on page 46, mark the dot patterns in the grid for as many as nine print columns
(three across and three down).
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
RSLL776-0
Figure 13. Specifying the Grid Pattern for Example 3 (Points B7 through BC)
Use Table 3 on page 49 to determine which hex digit to specify for each half-column in the grid. For each
print position, complete one row of the grid pattern (one pair of hex digits to each box) as shown in
Figure 14 on page 47.
Code
Points
1 2 3 4 5 6 7 8 9
B7 00 FF 00 F0 00 D8 00 CC 00
B8 C6 00 C1 00 C1 00 C1 00 C5
B9 00 CC 00 D8 00 F0 00 F0 00
BA 00 FF 00 0F 00 1B 00 33 00
BB 63 00 83 00 83 00 83 00 63
BC 00 33 00 1B 00 0F 00 FF 00
RSLL777-0
Figure 14. Completing the Code Points for Example 3 (Points B7 through BC)
If you redefine an existing character, select which character to print (the existing character or the redefined
character) by specifying option indicators for the DFNCHR keyword. If you select DFNCHR, the
user-defined character is printed. If you do not select DFNCHR, the existing character is printed.
Note: Output operations run faster when you define an unassigned code point. An unassigned code point
avoids the reloading of code points when your program selects different DFNCHR keywords.
Dot matrix
The dot matrix for the 5224 Printer and 5225 Printer is an 8-row-by-9-column matrix. All 8 rows and 9
columns are printed regardless of CPI or LPI settings.
The vertical distance between dots is always 0.352 mm (0.014 inch) regardless of the LPI setting (LPI
parameter on the CRTPRTF command). The LPI setting determines the space between lines, not the
height of characters. At a setting of 9 lpi (2.82 mm or 0.111 inch for each line), there is no vertical space
between lines if all rows of dots are used. However, the normal character set does not use the bottom row
of dots (line 8) in the matrix, so that even at 9 lpi there is some space between lines. If you choose, use
row 8 to define your own characters.
The horizontal distance between dots depends on the CPI setting. At 10 CPI, each column is spaced
0.262 mm (0.0111 inches) apart, giving each character 2.54 mm (0.1 inches). At 15 CPI, each column is
spaced 0.188 mm (0.0074 inches) apart, giving each character 1.69 mm (0.0667 inches). The standard
character set does not use columns 1 and 9 (to allow spacing between characters).
You can use columns 1 and 9 to define your own characters with one restriction: the 5224 Printer and
5225 Printer cannot print two adjacent horizontal dots. To print two adjacent horizontal dots (such as in a
solid underline), the line must be printed twice. This can be done using a different set of code points on
each pass, one to define the odd dots, and the other to define the even dots. Both passes occur during
one output operation. If your program attempts to print two adjacent horizontal dots, no error message
On any one output operation, each code point represents a single eight-by-nine matrix. To print characters
larger than this requires more than one eight-by-nine matrix, each one normally defined by a different code
point. Overprinting may also be required.
For example, to print a double-wide character, specify a code point for the left half of the character and
another code point for the right half. Double-high characters require a code point for the top half of the
character and another for the bottom half. On the first line, the top half of all characters are printed, and on
the next line, the bottom half of all characters. You must specify lpi(9) on the CRTPRTF, CHGPRTF, or
OVRPRTF command to avoid a space between the top and bottom halves. Using DDS, you can define
two fields in one record format, one for the upper half and one for the lower half. Example 2 shows a
character two wide by two high.
Use the approach shown in Figure 15 to specify the dot matrix pattern for a copyright mark, which prints
as ©.
Row 1 2 3 4 5 6 7 8 9
1
2
3
4
5
6
7
8
00 7E 81 3C C3 24 81 7E 00
0111 1110
Hex 7 Hex E
Hex 7E
RSLL764-1
Use the form in Figure 16 on page 49 to plan your dot patterns and specify the required hex digits for
characters as large as three columns wide by three lines high. In this grid pattern, mark the dot patterns
for as many as nine print positions (three across and three down).
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
RSLL765-0
Use Table 3 to determine which hex digit to specify for each half-column in the grid pattern.
Table 3. Hex Digits for the Bit Patterns
Bit Patterns Hex Digits Bit Patterns Hex Digits
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F
Code
Points
1 2 3 4 5 6 7 8 9
RSLL766-0
You can specify DFT implicitly by omitting DFT and the parentheses (this is true for both character and
hexadecimal values). Simply specify the value within apostrophes. For hexadecimal values, you must also
precede the value with an X.
The EDTCDE and EDTWRD keywords cannot be specified with the DFT keyword.
Option indicators are not valid for this keyword. However, they can be used to condition the constant field
with which this keyword is specified, specifying the last option indicator on the same line as the field
location.
Examples:
Example 1:
The following example shows how to specify DFT using character values.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R SUPPLIES
00020A PENS 20 2 1
00030A INK 20 3 1
The specifications DFT(’ON’) and ’ON’ are equivalent and show the difference between specifying DFT
explicitly and implicitly.
Example 2:
The following example shows how to specify DFT for a constant field containing an alternate character.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
12
00010A R RECORD DFNCHR(X’7C’ X’007E813CC324817E00’)
00020A 358 4DFT(X’7C’) TRNSPY 4
00030A +2DFT(’1982’)
A
The constant field for which DFT is specified 1 appears on line 58, position 4. The character defined for
hex 7C prints in this field. DFNCHR 2, specified at the record level for this example, defines hex 7C as a
copyright mark.
The following are equivalent ways to specify the value as defined in this example 3:
DFT(X’7C’)
X’7C’
DFT(’©’)
’©’
The TRNSPY keyword 4 is required when hexadecimal values are specified for DFT.
This keyword is valid only when you specify R in position 29 for this field, and also specify either the REF
or the REFFLD keyword.
If replacement edit information is needed, specify the EDTCDE or the EDTWRD for the field you define.
The new keyword overrides the editing from the referenced field. In this case, you do not need to specify
DLTEDT.
Example:
The attribute-name parameter is required and defines the name of the indexing attribute (for example,
″Policy Number″). The maximum number of characters in the attribute name is 250. Blanks are allowed as
part of the attribute name.
When you specify the attribute-name parameter as a program-to-system field, the field must exist in the
same record format as the DOCIDXTAG keyword. It must be defined as length of 1-250, type A (character)
and usage P (program-to-system).
The attribute-value parameter is required and defines the value of the indexing attribute (for example,
″43127″). The maximum number of characters in the attribute value is 250. Blanks are allowed as part of
the attribute-value
When you specify the attribute-value parameter as a program-to-system field, the field must exist in the
same record format as the DOCIDXTAG keyword. It must be defined as length of 1-250, type A (character)
and usage P (program-to-system).
The tag-level parameter is required and defines the level of the indexing tag. There are two special values
allowed for this parameter. GROUP and PAGE. GROUP specifies that the attribute name and value are
attached to the current group.
Note: Group level tags are selectable using the SELECT GROUP function of the AFP Viewer. PAGE
specifies that the attribute name and value are attached to the current page.
Note: Page level tags are selectable using the GO TO function of the AFP Viewer. Group level tags are
selectable using the SELECT GROUP function of the AFP Viewer. PAGE specifies that the attribute
name and value are attached to the current page.
When you specify the tag-level parameter as a program-to-system field, the field must exist in the same
record format as the DOCIDXTAG keyword. It must be defined as length of 5, type A (character) and
usage P (program-to-system).
This keyword is valid with DEVTYPE(*AFPDS). If DEVTYPE is changed to anything other than *AFPDS,
the keyword will be ignored and a warning message will be issued at print time.
Example:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....
A
A R RECORD1
A 02 DOCIDXTAG(’Policy Number’ ’43127’ +
A GROUP)
In the example, RECORD1 specifies an indexing attribute name of ’Policy Number’ and an attribute value
of ’43127’. This is a group level tag. RECORD2 allows the application program to specify the
attribute-name and attribute-value by specifying variables ATTNAM and ATTVAL. This is a page level tag.
Drawer-number specifies the drawer from which the paper or the envelope is to be fed. Valid values are 1
- 255 and *E1 as follows:
1 The paper is fed from the first drawer on the sheet-feed paper handler.
2 The paper is fed from the second drawer on the sheet-feed paper handler.
n The paper is fed from the nth drawer on the sheet-feed paper handler.
*E1 The envelope is fed from the envelope drawer on the sheet-feed paper handler.
You can specify the drawer number as a constant or a program-to-system field. When you specify the
drawer number as a program-to-system field, the field must exist in the same record format as the
DRAWER keyword. It must be defined as a length of 4, data type A and usage P.
If you do not specify the DRAWER keyword, the value specified on the DRAWER parameter of the
CRTPRTF, CHGPRTF or OVRPRTF command determines the paper source drawer.
DRAWER is ignored at run time if it is not specified on a page boundary. The printer is on a page
boundary when no named or constant fields are processed for a page. Once a named or constant field is
processed, the printer is no longer on a page boundary. The printer is on a page boundary again when a
SKIP, SPACE, or ENDPAGE keyword is processed that causes the printer to move to a new page.
DRAWER, SKIP, and SPACE keywords are processed in the following order:
SKIPB
SPACEB
DRAWER
SPACEA
SKIPA
DRAWER is in effect only for the record format specified. Once records with the specified record format
are processed, the paper-source drawer for the next record format (if the DRAWER keyword is not
specified) is the drawer specified at the file level (CRTPRTF, CHGPRTF, or OVRPRTF command).
For files created with DEVTYPE(*SCS), if the DRAWER keyword is specified on a record format that
spans several pages, it remains in effect only for the page on which it is specified.
You cannot specify DRAWER on the same record format with the CPI keyword or a record level DFNCHR
keyword. If any format in the file contains both DRAWER and either CPI or a record-level DFNCHR
keyword, the file is not created.
Note: Only one drawer keyword for each record format is valid at any time. Even with option indicators, it
is not valid to specify more that one drawer keyword per record format.
Example:
The printer is not on a page boundary after record format RECORD1 is processed. When record format
RECORD2 is processed, DRAWER is ignored and paper continues to come from the source drawer
previously specified (file level). Because SKIPA(1) is specified for FIELD4 of RECORD2, the printer is on a
page boundary after RECORD2 is processed. The paper for both pages of RECORD3 comes from drawer
2. The paper source for record formats RECORD4 and RECORD5 is the drawer specified at the file level
(drawer 1 in this example). But because RECORD4 starts in the middle of a page, it prints on the same
page as RECORD3 (drawer 2). Record format RECORD5 prints on a different page (SKIPB(3)) and prints
on paper from drawer 1.RECORD6 allows the application program to specify the drawer-number by setting
field FIELD13.
The text must be enclosed in apostrophes. If the length of the text is greater than 255 characters, an error
message will be signaled at compile time.
The program-to-system field specified must exist in the same record format as the DTASTMCMD keyword.
If the length of the program-to-system field is greater than 255 characters, an error message will be
signaled at compile time.
Note: You can specify this keyword only once for each record and once for each field.
Example:
The data stream for the record RECORD1 has the text for DTASTMCMD as TEXT(Record 1). If indicator
01 is optioned on, the data stream for the field FIELD1 has the text for DTASTMCMD as TEXT(Field 1). If
indicator 01 is optioned off, no data stream text is generated for DTASTMCMD on FIELD1. FIELD2 will
use what is contained in DATA as the text for DTASTMCMD.
You can specify the duplex value as a constant or program-to-system field. When you specify the duplex
value as a program-to-system field, the field must exist in the same record format as the DUPLEX
keyword. The field must be defined as length 7 and type A (character), and usage P (program-to-system).
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when DUPLEX is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
If currently printing on the front side of the sheet, the current sheet will be ejected and a new sheet fed in.
If you do not specify the DUPLEX keyword, the value specified on the DUPLEX parameter on the
CRTPRTF, CHGPRTF, or OVRPRTF command determines the duplex value.
DUPLEX is in effect only for the record format specified. Once records with the specified record format are
processed, the duplex value for the next record format (if the DUPLEX keyword is not specified) is the
duplex specified at the file level (CRTPRTF, CHGPRTF, or OVRPRTF) command.
Example:
Depending on which edit code you specify, you can change the appearance of the printed fields as
follows:
v Leading zeros are suppressed.
v The field can be punctuated with commas and periods to show decimal position and to group digits by
threes.
v Negative values can be printed with a minus sign or CR to the right.
v Zero values can be printed as zeros or blanks.
v Asterisks can be printed to the left of significant digits to provide asterisk protection.
v A currency symbol (corresponding to the system value QCURSYM) can be printed immediately to the
left of the farthest right significant digit (called a floating-currency symbol). For fixed-currency
symbols, use the EDTWRD keyword.
v The field can be further edited using a user-defined edit code. See “User-defined edit codes in printer
files” on page 59 for more information.
EDTCDE is valid only for fields with S or a blank in position 35 (Data Type).
You cannot specify EDTCDE and EDTWRD for the same field. If you specify EDTCDE for a field
previously defined in a database file, you need not specify EDTCDE for the field you are defining. Instead,
specify R in column 29 to refer to the previously defined field. The editing specified for that field is included
in the printer file. If you specify length, data type, or decimal columns for a printer file field, editing
specified for the referenced field is not included in the printer file and you must specify editing again in the
printer file.
For more information on the EDTCDE keyword, see the EDTCDE keyword for display files.
You can specify two kinds of edit codes: OS/400 edit codes and user-defined edit codes.
Example:
1 through 4
A through D
J through Q
W through Z
Note: The iSeries server hardware operates with a preferred sign of F, which is equivalent to using edit
code X. If the DATE or TIME keyword is specified with edit code X, the separator character is not
displayed.
You can optionally specify asterisk fill or floating currency symbol with edit codes 1 through 4, A through D,
and J through Q.
When you specify asterisk fill, an asterisk (*) is written for each zero suppressed. A complete field of
asterisks is printed for a zero-balance field.
When you specify floating-currency symbol, the symbol appears to the left of the first significant digit. It
does not print on a zero balance when an edit code is used that suppresses the zero balance. The symbol
you specify must match the system value for the currency symbol (QCURSYM). (The symbol must match
when the file is created. It does not have to match when the file is used.)
Note: If an edit code is changed after a file is created, the new edit code is not used unless the file is
re-created. Instead, the editing specified at the time the file was created continues to be used.
The following table summarizes the functions provided by OS/400 edit codes.
Notes:
1. The QDECFMT system value determines the decimal point character (period as used in the U.S.), the character
used to separate groups of three digits (comma as used in the U.S.), and the type of zero suppression
(depending on comma and period placement). For more information on the QDECFMT system value, see the
System values topic under the Systems Management category of the iSeries Information Center.
2. The W edit code suppresses the farthest left zero of a date field that is five digits long. It also suppresses the
three farthest left zeros of a field that is six to eight digits long. The W edit code also inserts slashes (/) between
the month, day, and year according to the following pattern:
nn/nnn
nnnn/nn
nnnn/nnn
nnnn/nn/nn
3. The Y edit code suppresses the farthest left zero of a date field that is three to six digits long or eight digits long,
and it suppresses the two farthest left zeros of a field that is seven positions long. The Y edit code also inserts
slashes (/) between the month, day, and year according to the following pattern:
nn/n
nn/nn
nn/nn/n
nn/nn/nn
nnn/nn/nn
nn/nn/nnnn
If the DATE keyword is specified with EDTCDE(Y), the separator character used is the job attribute, DATSEP at
run time. If a separator character is not specified on the DATSEP job attribute, the system value, QDATSEP, is
used (where slash (/) is the default value). If, at file creation time, DATFMT is JUL (Julian), the date is formatted
as nnnnn. If EDTCDE(Y) is specified, the date is formatted as nn/nnn, where the slash (/) represents the job date
separator.
4. The Z edit code removes the sign (plus and minus) from a numeric field. The sign of the units column is changed
to a hexadecimal F before the field is written.
A user-defined edit code is an OS/400 object and must exist before printer file creation. It is created using
the Create Edit Description (CRTEDTD) command. When you create a printer file in which a user-defined
edit code is specified, editing information is extracted from the previously created edit description.
Changing a user-defined edit code after printer file creation does not affect the printer file unless the
printer file is re-created.
Notes:
1. The x represents a blank.
2. The W edit code suppresses the farthest left zero of a date field that is five digits long. It also suppresses the
three farthest left zeros of a field that is six to eight digits long. For more information, see the second footnote in
Table 4 on page 58.
3. The Y edit code suppresses the farthest left zero of a date field that is three to six digits long, and it suppresses
the two farthest left zeros of a field that is seven positions long. For more information, see the second footnote in
Table 4 on page 58.
4. The Z edit code removes the sign (plus or minus) and suppresses leading zeros.
If you specify EDTWRD in a field previously defined in a database file, you need not specify EDTWRD for
the field you are defining. Instead, specify R in column 29 to refer to the previously defined field. The
editing specified for the referenced field is then included in the printer file. If, however, you specify length,
data type, or decimal positions for a printer file field, editing specified for the referenced field is not
included in the printer file, and you must specify editing in the printer file.
The body contains the digits transferred from the data field to the output record. It begins at the farthest
left column of the edit word and ends with the farthest right character that can be replaced by a digit. The
number of blanks (plus one zero or an asterisk) it contains is equal to the number of digits of the data field
to be edited.
The status positions display the sign (+ or −) of the data field. It continues to the right of the body and has
either a CR (credit) or − (minus) symbol, which print only when the field is negative. Edit words without the
CR or − symbol have no status columns.
The expansion positions are not changed by the edit operation. The expansion starts at the first position to
the right of the status (or body, if status is not specified) and ends with the farthest right character of the
edit word.
For more information on the EDTWRD keyword, see the EDTWRD keyword for display files.
Example:
Figure 18 on page 64 shows sample edit words with the program value of the field and the printed value of
the field (as edited).
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when ENDPAGE is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
SPACEA
SPACEB
SKIPA
SKIPB
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be able
to print files using this keyword and specifying DEVTYPE(*AFPDS).
Example:
If indicator 01 is on when the application writes REC2, a page eject occurs after REC2 prints. If indicator
01 is off when the application writes REC2, no page eject occurs.
Example:
In the example, RECORD1 ends a group that had been previously started with the STRPAGGRP keyword.
When you use FLTFIXDEC, the floating-point number is first converted to the equivalent number with an
exponent of zero. If the resulting number (digits and exponent) fits in the field defined by the length and
decimal positions values, the number is printed with the exponent suppressed and aligned at the decimal
point. If the number does not fit in the field, the number prints in standard floating-point form,
n.nnnnnnE+nnn. When the FLTFIXDEC keyword is specified, the length of the field is the DDS length plus
two (the sign and the decimal point). The minimum length of the field is six.
When the number is too large or small for the fixed-point form, specified by the FLTFIXDEC keyword with
the total digits and fractional digits specified for the field, a floating-point form prints that presents the
significand as follows (the significand is the string of digits with the decimal point to the left of the exponent
sign E):
v Total significand decimal digits: DDS total digits minus 5
v Fractional significand digits: DDS total digits minus 6
Example:
The *SINGLE parameter specifies single precision and the *DOUBLE parameter specifies double
precision. This keyword is valid for floating-point fields only (data type F).
A single-precision field can be up to 9 digits; a double-precision field can be up to 17 digits. If you specify
a field length greater than 9 (single precision) or 17 (double precision), an error message is issued and the
file is not created.
Example:
The font-character-set and code-page parameters are required. Both can be up to 8 characters long.
Use the optional library-name parameter to further qualify the font character set or code page. If
library-name is not specified, *LIBL is used to search for the font character set and code page. If *LIBL is
used, the system-supplied font libraries are added to the library list when searching for the requested font.
To view the IBM-supplied font character set names or code page names, you can use the Work with Font
Resources (WRKFNTRSC) command and specify font character sets or code pages. The IBM-supplied
font character set names all start with the characters C0 and the IBM-supplied code page names all start
with T1.
Note: If an application uses private resources (for example, fonts, page segments, overlays, or GDF files
not distributed with the system), be aware of the following. When referencing these resources, if
you specify *LIBL or you do not specify a library name, the resources must be available through the
library list used by the application creating the spooled file.
Use the optional point-size parameter to further define a numeric font that specifies a point size. Specify
the point-size parameter as an expression of the following form:
(*POINTSIZE height-value width-value)
The height-value specifies the point size for the height of the font. The width-value specifies the point size
for the width of the font. If the font is to be uniformly scaled (where the height and width are the same),
The font character set and code page values are validated at print time. An error message is issued if they
are not valid.
Note: When a printer file is created and a character set and code page are specified for the font character
set (FNTCHRSET) parameter, column spacing is done using this printer file level parameter. Any
fonts or code pages specified in the FNTCHRSET keyword are ignored and the font and code page
specified in the printer file parameter FNTCHRSET is used.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when FNTCHRSET is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
FNTCHRSET cannot be specified at the same level as the FONT and CDEFNT keywords.
Note: Feature PSF/400 is required to use this keyword. If PSF/400 is not installed, you will not be able to
print files using this keyword and specifying DEVTYPE(*AFPDS).
Example:
FLD1A specifies font character set C0S0CE12 and code page T1L0PCHN. *LIBL is used to search for the
font character set and code page. FLD2A specifies the font character set FNTCHR, which exists in library
USERLIB, and code page CODEPG1, which exists in library USERLIB. FLD2A prints with a point size of
99.9. FLD3A specifies font character set FNTCHR and code page CODEPG1, with a vertical point size of
5.0 and a horizontal point size of 3.0.
For scalable printer-resident fonts, you can use the optional point-size parameter to further define a
numeric font that specifies a point size. Specify the point-size parameter as an expression of the following
form:
(*POINTSIZE height-value width-value)
The height-value specifies the point size for the height of the font. The width-value specifies the point size
for the width of the font. If the font is to be uniformly scaled (where the height and width are the same),
then you can specify only the height-value. You cannot specify the width-value without the height-value.
The valid values for this parameter are 0.1 through 999.9.
A warning message is issued at create time if you specify the point-size parameter on the FONT keyword
with a graphic font name, or *VECTOR. In that case, the point-size parameter is ignored.
If you do not specify this keyword, the font ID and point size are set by the font parameter on the
CRTPRTF, CHGPRTF, or OVRPRTF command. If you specify this keyword at the record level, all fields in
the record format use the same font ID and point size except those for which you specify the FONT
keyword at the field level.
You may specify graphic fonts (alphanumeric characters) or hardware fonts (numeric font identifiers). For
graphic fonts, use graphic symbol sets (GSS) available with an iSeries server, GDDM, PGR, and BGU.
Only vector symbols (where each character is built with a set of straight or curved lines) are supported;
however, most of the vector symbol sets supplied by an iSeries server and GDDM are supported. Image
symbols are not supported. In searching for the graphic symbol set, *LIBL will be used for the qualified
library name.
The hardware font can consist of up to 10 digits and must be a registered font number. See the FONT
parameter on the CRTPRTF command in the Control language topic in the Programming category of the
iSeries Information Center for a complete list of numeric fonts.
You may specify *VECTOR on the FONT keyword to take advantage of vector fonts on the 4234 IPDS
printer. Vector fonts print expanded characters faster than they can be printed using the
PRTQLTY(*DRAFT) keyword. Use the CHRSIZ keyword to specify expanded characters.
Note: When you specify FONT(*VECTOR) with the CHRSIZ keyword, the 4234 printer uses a default
code page.
If the data to be printed contains any characters other than these, all characters are printed using a default
font on the printer.
Note: If you use FONT(*VECTOR) on a 4224 or 3812 printer, the printer uses a default font and code
page.
The font name or number and the point size values are not checked during file creation. If the specified
font-id and point size values are not valid, a diagnostic is issued while the record prints and the keyword is
not used.
When FONT is specified at the field level, overlapping fields are not diagnosed.
When you use a graphics font on the CRTPRTF, CHGPRTF, or OVRPRTF command, the font ID has an
implied page code associated with it. To get the desired code, you must use the proper font ID; the code
page specified on the CHRID parameter is not used.
If you specify OCR-A and OCR-B fonts with the CHRID keyword, the fonts require code pages 892 and
893, respectively.
A warning message is issued at create-time if a FONT DDS keyword is specified in a file created with
DEVTYPE(*IPDS) and FONT(*DEVD). For SCS printer files, the FONT keyword is ignored when the
record or field is printed. For IPDS printers, the FONT keyword can be changed at the record or field level.
When printing a file that uses the FONT keyword to an IPDS AFP(*YES) printer that does not support
registered fonts, a font substitution is performed.
When you specify FONT(*CPI) with either the CRTPRTF, CHGPRTF, or OVRPRTF command to a device
that uses font support, the host system selects a font with the pitch of the CPI for the current printer file.
FONT(graphic-font-name) and CHRID cannot apply to the same field. The CHRID keyword is ignored if:
v You specify FONT(graphic-font-name) and CHRID on the same field.
v You specify FONT(graphic-font-name) at the record level and a field in the record specifies CHRID but
not a numeric FONT.
You cannot specify FONT at the same level as the CDEFNT and FNTCHRSET keywords.
You can specify this keyword only once for each record and once per field.
Example:
FLD1 uses the multinational vector symbol set (FONT(ADMMVSS)) if indicator 01 is on, or Gothic 15
(FONT(222)) if indicator 01 is off and indicators 02 and 03 are on. Otherwise, the font specified on the
CRTPRTF command is used.
FLD2 uses Gothic 15 if indicators 02 and 03 are on. Otherwise, the font specified on the CRTPRTF
command is used.
FLD3 uses Century Schoolbook** with a point size of 12 (FONT(16951 (*POINTSIZE 12))) if indicator 05 is
on, or Century Schoolbook with a point size of 10 if indicator 05 is off and indicator 04 is on. Otherwise,
the font specified on the CRTPRTF command is used.
FLD5 specifies font 416 with a vertical point size of 5.0 and a horizontal point size of 3.0.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when FORCE is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
If currently printing on the front side of the sheet, then the current sheet will be ejected, and a new sheet
fed in. This keyword is ignored for simplex printing.
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be
able to print files on an IPDS printer using this keyword and specfying DEVTYPE(*AFPDS)
Example:
The graph-file and graph-member parameters identify the chart to be printed. Both are required
parameters.
Use the optional library-name parameter to further qualify the graphic data file and member. If you do not
specify the library-name parameter, *LIBL is used to search for the graphic data file at print time.
You can specify the library-name, graph-file, graph-member, position-down, position-across, graph-depth,
graph-width, and graph-rotation parameters as constants, program-to-system fields, or a combination of
both, as shown in the following:
v [library-name/]graph-file graph-member...
v [library-name/]&field1 graph-member...
v [&field2/]graph-file &field3...
v [&field4/]&field5 &field6...
When you specify libray-name, graph-file, or graph-member parameters as program-to-system fields, the
fields must exist in the same record format as the GDF keyword. They must be defined as length 10, data
type A (character), and usage P (program-to-system).
The position-down parameter is required and defines the vertical starting point of the chart relative to the
margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values
are 0 to 57.790 cm (0 to 22.750 in.).
The position-across parameter is required and defines the horizontal starting point of the chart relative to
the margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid
values are 0 to 57.790 cm (0 to 22.750 in.).
The graph-depth parameter is required and defines the depth of the chart. The chart is scaled to fit within
the area specified by the graph-depth parameter. Valid values are 0.001 to 57.790 cm (0.001 to 22.750
in.).
The graph-width parameter is required and defines the width of the chart. The chart is scaled to fit within
the area specified by the graph-width parameter. Valid values are 0.001 to 57.790 cm (0.001 to 22.750
in.).
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
position-down, position-across, graph-depth, and graph-width parameter values. If the value
specified for a parameter is outside the valid range, it is flagged when the spooled file is created.
An error message is issued at print time if the chart is not positioned on the page.
Note: The graphic data file must conform to IBM’s Graphic Object Content Architecture (GOCA) DR2
Subset, Version 0 (DR/2V0). For more information about GOCA DR/2V0, refer to the Graphics
Object Content Architecture Reference, SC41-6804
You can create graphics data format files with the Business Graphics Utility (BGU) licensed program or the
Graphical Data Display Manager (GDDM), which is a function of the OS/400 system. Once the objects
exist, you can print them with the DDS graphics data format file (GDF) keyword to determine the location
(library), identity (file and member name), position (down and across with a possibility of three decimal
positions, for example, 1.001), size (width and depth), and rotation of the object.
You can use the Display Graphics Data File (DSPGDF) command to view the objects on a display station.
Viewing the object before using the DDS GDF keyword to print it could help with selecting the position
values required on the GDF keyword.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when GDF is specified in the file. If DEVTYPE is
changed to anything other than *AFPDS, the keyword is ignored and a warning message is issued at print
time.
When GDF is specified on a record format, all fields within the record format must be positioned using the
POSITION keyword. See “POSITION (Position) keyword in printer files” on page 94 for more information.
An error message is issued if a constant field is specified in a record format where the GDF keyword is
also specified.
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be able
to print files using this keyword and specifying DEVTYPE(*AFPDS).
Example 1:
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
parameter values.
REC1 prints member MYGRAPH from file GFILE in library GRAPHLIB. The chart prints 1.557 units down
and 2.831 units across from the margins specified on the FRONTMGN or BACKMGN parameter on the
CRTPRTF command. The chart is 7.0 units deep, 4.5 units wide, and is rotated 90 degrees.
REC2 allows the application program to specify the library, file, and graph names by setting the fields
GLIB, GFILE, and GRAF, respectively. The application program also specifies the position-down value
(POSD), the position-across value (POSA), the graph-depth value (GDEP), the graph-width value (GWID),
and the graph-rotation value (GROT).
REC3 prints two charts. MYGRAF prints 2.0 units down and 7.0 units across from the margins specified
on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. The chart is 4.5 units deep,
11.25 units wide, and is rotated 180 degrees. YOURGRAF prints 0.1 units down and 0.5 units across from
the margins specified on the CRTPRTF command. The chart is 3.67 units deep, 6.5 units wide, and is
rotated 90 degrees. Both charts are located using *LIBL and file GFILE.
Example 2:
In the following example, the library name is GRAPHLIB, the file name is GRFILE, and the member name
is BARCHART.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
*
R REC1 GDF(GRAPHLIB/GRFILE BARCHART +
2.0 2.0 3.0 2.0 90)
0 1 2 3 4 5 6 7 8 9 10
RV2H334-2
For files created with DEVTYPE(*AFPDS), this keyword applies only to registered font IDs. If HIGHLIGHT
is used with a coded font or character set and code page, a message is issued.
If you specify HIGHLIGHT at the record level, the keyword applies to all fields in that record. Thus, if both
the record- and field-level HIGHLIGHT keywords are optioned and either indicator condition is met, the
HIGHLIGHT keyword is used.
The HIGHLIGHT keyword may not apply during printing because of the font being used. Do not use
HIGHLIGHT if a numeric font is specified that does not support the highlight font or if a graphics font is
specified.
This keyword is valid for data types A, S, and F. You can specify HIGHLIGHT only once for each record
and once for each field.
Example:
If you specify the INDARA keyword, some high-level languages require that you specify in your program
that a separate indicator area is to be used. See the appropriate high-level language manual.
If you originally specified the INDARA keyword on a file, you can add, change, or delete option indicators
in the DDS and re-create the file without having to re-create the high-level language program. You can do
this because the field locations in the buffer have not changed and, therefore, the level check data has not
changed. If the program is to take advantage of new indicators, however, change and re-create the
program.
Example:
If you specify the INDARA keyword, option indicator 41 is removed from the buffer for record format RCD
and placed in the separate indicator area. Only ACTNBR, a named field, remains in the buffer for RCD.
If you specify the INDTXT keyword, indicator-text is a required parameter value. Indicator use text must be
a character constant and must be enclosed in apostrophes. If the length of the text is greater than 50
characters, the high-level language compiler only uses the first 50 characters.
Note: This specification by itself does not cause the specified indicator to appear in the output record
area. The specification merely provides text to be associated with the indicator. If you do not specify
the indicator elsewhere, the text is lost without a diagnostic. Also, once an indicator is given a
textual assignment (either by this keyword or the response indicator text), no other textual
assignment is made.
Example:
The INDTXT keyword describes the use of option indicator 02. In a compiler listing for a high-level
language, ’Alternate month’ is printed as a comment with the description of indicator 02.
The data-map-name parameter is required and defines a data map in the page definition. This parameter
is 8 characters. You can specify the data map name as a constant or program-to-system field.
When you specify the data-map-name parameter as a program-to-system field, the field must exist in the
same record format as the INVDTAMAP keyword. It must be defined as length of 8, data type A
(character), and usage P (program-to-system).
This keyword is valid with DEVTYPE(*LINE) or DEVTYPE(*AFPDSLINE). Also, a page definition must be
specified on the print file. If DEVTYPE is changed to anything other than *LINE or *AFPDSLINE, the
keyword will be ignored and a warning message will be issued at print time.
The INVDTAMAP, SKIP, and SPACE keywords are processed in the following order. If you specify this
keyword at the field level, skipping is performed before the field prints.
SKIPB
SPACEB
INVDTAMAP
SPACEA
SKIPA
Note: Feature PSF/400 is required to use this keyword. If PSF/400 is not installed, you will not be able to
print files using this keyword and specifying DEVTYPE(*LINE) or DEVTYPE(*AFPDSLINE).
The data map specified remains in effect for the remainder of the file unless changed by another
INVDTAMAP keyword.
Example:
In the example, RECORD1 uses a new data map (MAP1). RECORD2 allows the application program to
specify the name of data map by setting program variable MAP.
The medium-map-name parameter is required and defines a medium map in the form definition. This
parameter is 8 characters. You can specify the medium map name as a constant or program-to-system
field.
When you specify the medium-map-name parameter as a program-to-system field, the field must exist in
the same record format as the INVMMAP keyword. It must be defined as length of 8, data type A
(character), and usage P (program-to-system).
This keyword is valid with DEVTYPE(*AFPDS) and also a form definition must be specified on the print
file. If DEVTYPE is changed to anything other than *AFPDS, the keyword will be ignored and a warning
message will be issued at print time.
The INVMMAP, SKIP, and SPACE keywords are processed in the following order. If you specify this
keyword at the field level, skipping is performed before the field prints.
SKIPB
SPACEB
INVMMAP
SPACEA
SKIPA
Note: Feature PSF/400 is required to use this keyword. If PSF/400 is not installed, you will not be able to
print files using this keyword and specifying DEVTYPE(*AFPDS).
The medium map specified remains in effect for the remainder of the file unless changed by another
INVMMAP keyword.
Example:
In the example, RECORD1 uses a new medium map (MAP1). RECORD2 allows the application program
to specify the name of medium map by setting program variable MAP.
The position-down parameter is required and defines the vertical starting point of the line relative to the
margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values
are 0 to 57.790 cm (0 to 22.750 in.).
The position-across parameter is required and defines the horizontal starting point of the line relative to the
margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values
are 0 to 57.790 cm (0 to 22.750 in.).
You can specify the position-down and position-across parameters as constants, program-to-system fields,
or a combination of both, as shown in the following:
v LINE(0.5 7.1 ... )
v LINE(&field1 1.3 ... )
v LINE(2.75 &field2 ... )
v LINE(&field3 &field4 ... )
Field1, field2, field3, and field4 are the names of program-to-system fields. The fields must exist in the
same record format as the LINE keyword and be defined as having length 5 with 3 decimal positions, data
type S (zoned decimal), and usage P (program-to-system).
The line-length parameter is required and defines the length of the line. Valid values are 0.001 to 57.790
cm (0.001 to 22.750 in.). The parameter can be a program-to-system field. The field must exist in the
same record format as the LINE keyword and be defined as having length 5 with 3 decimal positions, data
type S (zoned decimal), and usage P (program-to-system).
The line-width parameter is required and defines the width of the line. Valid values are 0.001 to 57.790 cm
(0.001 to 22.750 in.). The parameter can be a program-to-system field. The field must exist in the same
record format as the LINE keyword and be defined as having length 5 with 3 decimal positions, data type
S (zoned decimal), and usage P (program-to-system). Instead of a numeric value or program-to-system
field, the following special values can also be specified:
Value Line Width
*NARROW
12/1440 in. (0.008 in., 0.022 cm)
*MEDIUM
24/1440 in. (0.017 in., 0.042 cm)
*WIDE 36/1440 in. (0.025 in., 0.064 cm)
Notes:
1. The UOM parameter on the CRTPRTF command determines the units of measure for the
position-down, position-across, line-length, and line-width parameter values. If the value specified for a
parameter is outside the valid range, it is flagged when the spooled file is created.
The line-direction parameter is required and can have a value of horizontal (*HRZ) or vertical (*VRT).
The line-pad parameter is optional. It specifies where the line-width value is placed in relationship to the
actual line coordinates. For example, if line-width is 5 and line-pad is *TOP, the line extends above the
point identified by the position-across and position-down parameters. Valid values are *TOP and *BOT for
*HRZ lines, and *LEFT and *RIGHT for *VRT lines. The defaults are *BOT for horizontal lines and *RIGHT
for vertical lines.
The optional color parameter lets you specify the color of the line. Specify the color as an expression in
one of the following forms:
v Color name method: (*COLOR color-name)
v RGB (red/green/blue) color model: (*COLOR *RGB rvalue gvalue bvalue)
v CMYK (cyan/magenta/yellow/black) color model: (*COLOR *CMYK cvalue mvalue yvalue kvalue)
v CIELAB color model: (*COLOR *CIELAB lvalue c1value c2value)
v Highlight color model: (*COLOR *HIGHLIGHT hvalue coverage)
See the COLOR printer DDS keyword for more information on specifying the color value.
When the LINE keyword is specified on a record format, all fields within the record format must be
positioned using the POSITION keyword. See “POSITION (Position) keyword in printer files” on page 94
for more information.
An error message is issued if a constant field is specified in a record format where the LINE keyword is
also specified.
An error message is issued at print time if the line does not fit on the page.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when LINE is specified in the file. If DEVTYPE is
changed to anything other than *AFPDS, the keyword is ignored and a warning message is issued at print
time.
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be able
to print files using this keyword and specifying DEVTYPE(*AFPDS).
Example 1:
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
parameter values.
REC1 prints a horizontal line 4.25 units long. The line starts 1.5 units down and 3.0 units across from the
margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. The line is
0.2 units wide. The extra width is added at the top of the line.
REC2 prints two lines. The first line, printed horizontally, starts 2.1 units down and 1.5 units across from
the margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. The line
is 7.5 units long and 0.05 units wide. The extra width is added below the line.
The position of the second line is determined by the value assigned to program-to-system fields FLD1 and
FLD2. The line, printed vertically, is 4.25 units long and 0.01 units wide. The extra width is added on the
left side of the line.
REC3 prints a line only if indicator 02 is on. The extra width is added on the bottom of the line.
REC4 prints a line with the RGB color model and specifies color values of 20, 15, and 75.
Example 2:
FLD1 5S 3P
FLD2 5S 3P
The example below illustrates the location of the lines using the DDS code above, when the application
assigns a numeric value of 3 to FLD1 and a numeric value of 5 to FLD2. Both the FRONTMGN and
BACKMGN parameters on the CRTPRTF command are set to 2.
Line 1 starts at 4 down and 3 across and its horizontal length is 5. Line 2 starts at 3 down and 5 across
and its vertical length is 2.
When you use multiple LPI per page, all skip-to line numbers (on SKIPB, SKIPA) become absolute
positions (fixed locations on the paper). For example, if the page length is 66 lines and the file LPI value is
6, then the forms are 11.0 inches long. If you indicate that it should skip to line number 48 it skips down 8
inches on the page and prints. If, in this example, you print 24 lines at 6 LPI (4 inches) and then print 24
lines at 8 LPI (3 inches), the 48th line is 7 inches down on the page.
In both of these examples, 48 lines are processed. If a SKIPB(55) keyword is used, the first example skips
to line 55, based on 6 LPI (55/6 inch down the page). In the second example, a page eject occurs and
printing starts on line 55, based on 8 LPI (55/8 inch down the page). A page eject occurs in the second
example because we printed down 7 inches on the page. A skip to line 55, based on 8 LPI, is less than 7
inches. Therefore, to print on line 55, the current page must be ejected.
Data is processed in a sequential fashion based on location, not line number. If you use a skip-to to go to
a line number that is a location above the current location (even though the line number is greater than the
current line number), a page eject occurs. Printing continues on the next page.
When using multiple LPI per page, all spacing (SPACEA and SPACEB) is done relative to the current
position. For example, if you print 24 lines at 6 LPI (4 inches), and then print 24 lines at 8 LPI (3 inches),
the 48th line is 7 inches down on the page. If you then do a SPACEA(4) (LPI is still 8 LPI), you will space
down 1/2 inch from the last line and be a total of 7.5 inches down on the page. It is recommended that
you use SPACEA and SPACEB keywords when you use the LPI keyword.
LPI
SKIPB
SPACEB
SPACEA
SKIPA
Thus, the SPACE and SKIP keywords use the new LPI value. The LPI for the next and the following lines
print at the LPI value specified on the LPI parameter. This parameter value remains in effect until the next
record format processes. At the end of the record format, the LPI value changes back to the file level.
The LPI takes effect only on a line boundary. If you change the LPI within a line, the new value takes
effect at the end of the line and no diagnostic appears.
You cannot specify this keyword on the same record format with BLKFOLD, CPI, or DFNCHR. If you use
any of these keywords with LPI, the file is not created.
This keyword is valid for IPDS printers and printers capable of Advanced Function Printing support. A
warning message is issued when you specify the LPI keyword in a file created with DEVTYPE(*SCS).
The overflow line number (OVRFLW parameter on the CRTPRTF command) is not converted to an
absolute position (in inches) based on the file level LPI value. The overflow condition signals when the
overflow position (in inches) is reached.
Example:
Regardless of the LPI you specify on the CRTPRTF, CHGPRTF, or OVRPRTF command, the printer
device spaces down one inch before it prints the next line.
The length parameter specifies the maximum length of the message description. The length can be from 1
to 132 bytes. If the message description is less than the length specified, the remaining bytes are padded
The message-ID parameter specifies the message description that contains the text to use as the value of
the constant field.
The message-file-name parameter identifies the message file that contains the message description. The
library-name parameter is optional.
You must explicitly specify the MSGCON keyword for the field. You cannot use the MSGCON keyword to
initialize a named field.
The DFT and MSGCON keywords are functionally equivalent. If you specify the DFT and MSGCON
keywords for the same field, the MSGCON keyword is ignored and the file is not created.
You cannot specify the DATE, DFT, EDTCDE, EDTWRD, and TIME keywords with the MSGCON keyword.
Option indicators are not valid for this keyword. However, they can be used to condition the field with
which this keyword is specified.
Example:
MSG0001 in message file MSGF in library MESSAGES contains the message text.
You can specify the output bin number as a constant or a program-to-system field. When you specify the
output bin number as a program-to-system field, the field must exist in the same record format as the
OUTBIN keyword. It must be defined as a length of 5 with 0 decimal positions, data type S and usage P.
If you do not specify the OUTBIN keyword, the value specified on the OUTBIN parameter on the
CRTPRTF, CHGPRTF, or OVRPRTF command determines the output bin value.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when OUTBIN is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
OUTBIN is ignored at run time if it is not specified on a page boundary. The printer is on a page boundary
when no named or constant fields are processed for a page. Once a named or constant field is processed,
OUTBIN, SKIP, and SPACE keywords are processed in the following order:
SKIPB
SPACEB
OUTBIN
SPACEA
SKIPA
OUTBIN is in effect only for the record format specified. Once records with the specified record format are
processed, the output bin for the next record format (if the OUTBIN keyword is not specified) is the outbin
specified at the file level (CRTPRTF, CHGPRTF, or OVRPRTF ) command.
Job and file separator pages will only be placed into the output bin specified on the printer file.
Example:
Use the optional library-name parameter to further qualify the overlay. If you do not specify the
library-name parameter, *LIBL is used to search for the overlay at print time.
Note: If an application uses private resources (for example, fonts, page segments, overlays, or GDF files
not distributed with the system), be aware of the following. When referencing these resources, if
you specify *LIBL or you do not specify a library name, the resources must be available through the
library list used by the application creating the spooled file.
When you specify the library-name as a program-to-system field, the field must exist in the same record
format as the OVERLAY keyword. It must be defined as length of 10, data type A (character), and usage P
(program-to-system).
When you specify the overlay-name as a program-to-system field, the field must exist in the same record
format as the OVERLAY keyword. It must be defined as length of 8, data type A (character), and usage P
(program-to-system).
When you specify the position-down or position-across as program-to-system fields, the fields must be
defined as length 5 with 3 decimal positions, data type S, and usage P. A program-to-system field for
rotation must be defined as length 3 with 0 decimal positions, data type S and usage P.
The position-down parameter defines the vertical starting point of the overlay relative to the margins
specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values are 0 to
57.790 cm (0 to 22.750 in.).
The position-across parameter defines the horizontal starting point of the overlay relative to the margins
specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values are 0 to
57.790 cm (0 to 22.750 in.).
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
position-down and position-across parameter values. If the value specified for a parameter is
outside the valid range, it is flagged when the spooled file is created.
An error message is issued at print time if the overlay does not fit on the page.
The optional rotation parameter allows you to specify a rotation value for the overlay. Valid values are 0,
90, 180 and 270. It is specified as an expression of the form (*ROTATION rotation). Consider the following
additional points about the rotation parameter:
v If the rotation parameter is omitted, then overlays are not automatically rotated when using the PAGRTT
parameter on the printer file. See the Printer Device Programming book for information on overlays
and rotation.
v The following printers support the rotation parameter:
– Infoprint 60
– Infoprint 2000
– Infoprint 3000
– Infoprint 4000
– Infoprint Hi-Lite Color Printer, model 4005-HCI
These printers must be at ucode level 9.2 or later.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when OVERLAY is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
An error message is issued if a constant field is specified in a record format where the OVERLAY keyword
is also specified.
Overlays are not automatically rotated when using the PAGRTT keyword or the PAGRTT parameter on the
printer file. See the Printer Device Programming book for information on overlays and rotation.
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be able
to print files using this keyword and specifying DEVTYPE(*AFPDS).
Example 1:
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
parameter values.
REC2 allows the application program to specify the library and overlay name by setting program variables
LIB and OVLS, respectively. The application specifies the overlay position at run time by setting POSD
and POSA.
REC3 prints two overlays. MYOVL prints 11.219 units down and 0.2 units across from the margins
specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. YOUROVL prints 7.3
units down and 9.27 units across from the margins specified on the CRTPRTF command. Both overlays
are located using *LIBL.
REC5 allows the application program to specify the library and overlay name by setting fields LIB2 and
OVL2, respectively. The overlay position is specified by the application at run time by setting POSD2 and
POSA2. The overlay rotation is set to a value of 90 degrees.
Example 2:
*
R REC1 OVERLAY(&MYLIB/&MYOVL +
&OFFD &OFFA
*
MYLIB 10A P
MYOVL 8A P
OFFD 5S 3P
OFFA 5S 3P
The example below illustrates the location of the overlay using the DDS code above. The application
program specifies the library and overlay name by setting fields MYLIB and MYOVL, respectively. The
application program also sets a value of 2 in field OFFD and a value of 2 in field OFFA. Both the
FRONTMGN and BACKMGN parameters on the CRTPRTF command are set to 2.
When the printer file is opened, the OS/400 program sets the page count to zero and increases it by one
before it prints each new page. This is done even if you do not specify the PAGNBR keyword. The page
number is printed each time any field for which the PAGNBR keyword is specified is printed. The page
number does not increase beyond 9999; it stays 9999 until it is reset. To reset the page count, condition
PAGNBR with option indicators. The OS/400 program resets the page number when your program selects
PAGNBR (see the examples below).
You can also specify EDTCDE or EDTWRD with the PAGNBR keyword.
You can specify the field (location only) and the keyword on one line with no indicators or on separate
lines with separate indicators. The following sections explain the differences.
The page number is always printed, and you cannot reset the page number to one, as shown in the
following example.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00100A R RECORD
00110A 1 60’PAGE:’
00120A +1PAGNBR
A
Note: On lines 110 and 120 two constant fields are specified: ’PAGE:’ and the page number itself
(location specified as +1).
If the field indicator (01 in the following example) is off, the field is not printed, even if the keyword
indicator (02 in the following example) is set on. If the field indicator is on, the field is printed. The page
count is increased when the keyword indicator is off. The page count is reset to one when the keyword
indicator is on. The page number prints whether the keyword indicator is off or on.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00100A R RECORD
00110A 01 1 60’PAGE’
00120A 01 +1
00130A 02 PAGNBR
A
The valid parameter values for the keyword are 0, 90, 180, and 270. Zero indicates no rotation. The other
values specify the number of degrees rotation clockwise from the 0 degree rotation column.
Note: For the 3835 Printer using landscape paper, a counterclockwise rotation is used for a DDS file.
The PAGRTT keyword does not cause an implicit page eject. If the paper is not on a page boundary, the
keyword is not used, and a diagnostic message is issued.
The PAGRTT, SKIP, and SPACE keywords are processed in the following order:
SKIPB
SPACEB
PAGRTT
SPACEA
SKIPA
The PAGRTT keyword remains in effect for the duration of the record format. If a PAGRTT keyword is not
used on the next record format, it reverts back to the PAGRTT value specified at the command level.
Notes:
1. The PAGRTT keyword remains in effect for the entire page. At the end of a record format that specifies
PAGRTT, the file is not changed back to the file level rotation until the next page is processed. For
example, the file does not return to rotation 0 until record E is written if the file level parameter
specifies PAGRTT(0) and you write one of the following:
v Record format A (PAGRTT (90))
v Record format B (same page as record A)
v Record format C (same page as record A)
v Record format D (same page as record A)
v Record format E (next page)
2. For files created with DEVTYPE(*SCS), if the PAGRTT keyword is specified on a record format that
spans several pages, it remains in effect only for the page on which it is specified.
When the length and width cannot be exchanged, a diagnostic message is issued.
Folding and truncation support is not performed when pages rotate. That is, the BLKFOLD DDS keyword
and the FOLD parameter on the CRTPRTF, CHGPRTF, or OVRPRTF commands are not used.
Example:
If indicator 02 is on, RECORD1 is rotated 270 degrees. SKIPB(1) is specified so that the record starts on
a new page.
When RECORD2 is printed, it will also be rotated 270 degrees since it is on the same page as
RECORD1.
RECORD3 uses the PAGRTT value specified on the CRTPRTF, CHGPRTF, or OVRPRTF commands,
since it is on a new page.
Use the optional library-name parameter to further qualify the page segment. If you do not specify the
library name, *LIBL is used to search for the page segment at print time.
Note: If an application uses private resources (for example, fonts, page segments, overlays, or GDF files
not distributed with the system), be aware of the following. When referencing these resources, if
you specify *LIBL or you do not specify a library name, the resources must be available through the
library list used by the application creating the spooled file.
When you specify the library-name as a program-to-system field, the field must exist in the same record
format as the PAGSEG keyword. It must be defined as length of 10, data type A (character), and usage P
(program-to-system).
When you specify the page-segment-name as a program-to-system field, the field must exist in the same
record format as the PAGSEG keyword. It must be defined as length of 8, data type A (character), and
usage P (program-to-system).
When you specify the position-down, position-across, width, or height parameters as program-to-system
fields, the fields must be defined as length 5 with 3 decimal positions, data type S, and usage P. Rotation
must be defined as length with 3 and 0 decimal points, data type S and usage P.
The position-down parameter defines the vertical starting point of the page segment relative to the margins
specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values are 0 to
57.790 cm (0 to 22.750 in.).
The position-across parameter defines the horizontal starting point of the page segment relative to the
margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values
are 0 to 57.790 cm (0 to 22.750 in.).
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
position-down and position-across parameter values. If the value specified for a parameter is
outside the valid range, it is flagged when the spooled file is created.
An error message is issued at print time if the page segment does not fit on the page.
Use the optional width and height parameters to specify the size of the page segment. They are specified
as an expression of the form (*SIZE width height). If these parameters are omitted, then the size of the
page segment will not be changed (the page segment will print with the size it was originally created with).
The optional width parameter defines the width of the page segment. Valid values are 0.001 to 57.790 cm
(0.001 to 22.750 in.). If the width is specified, then the height parameter must also be specified.
The optional height parameter defines the height of the page segment. Valid values are 0.001 to 57.790
cm (0.001 to 22.750 in.). If the height is specified, then the width parameter must also be specified.
The optional rotation parameter allows you to specify a rotation value for the page segment. It is specified
as an expression of the form (*ROTATION rotation). Valid values are 0, 90, 180 and 270.
Note: If the rotation parameter is omitted, then page segments are not automatically rotated when using
the PAGRTT parameter on the printer file. Feature PSF/400 is required for use of this keyword.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when PAGSEG is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
An error message is issued if a constant field is specified in a record format where the PAGSEG keyword
is also specified.
Page segments are not automatically rotated when using the PAGRTT keyword or the PAGRTT parameter
on the printer file. See the Printer Device Programming book for information on page segments and
rotation.
You cannot specify PAGSEG at the same level as the following keywords:
SPACEA
SPACEB
SKIPA
SKIPB
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be able
to print files using this keyword and specifying DEVTYPE(*AFPDS).
Example 1:
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
parameter values.
REC1 prints page segment PAGSEG5 found in library MYLIB. The page segment prints 3.527 units down
and 4.162 units across from the margins specified on the FRONTMGN or BACKMGN parameter on the
CRTPRTF command.
REC2 allows the application program to specify the library and page segment name by setting fields LIB
and PSEG, respectively. The application specifies the page segment position at run time by setting POSD
and POSA.
Example 2:
The following graphic illustrates the location of the page segment using the DDS code above. The
application program specifies the library and page segment name by setting fields MYLIB and PAGSEG,
respectively. The application program also sets a value of 2 in field OFFD and a value of 2 in field OFFA.
Both the FRONTMGN and BACKMGN parameters on the CRTPRTF command are set to 2.
┌───────────────────────────────────────────────────────────┐
│ 0 1 2 3 4 5 6 7 8 9 │
│ │ │
│ │ │
│ 1 │ │
│ │ │
│ X │
│ 2 ─────────YX │
│ │
│ │ │
│ 3 │ │
│ │ │
│ X │
│ 4 XZ──────── │
│ Position of page segment is 4 units │
│ down and 4 units across. Position │
│ 5 obtained by adding margin values │
│ and values of page segment together.│
│ Margin values of (2,2) and page │
│ 6 segment values of (2,2) position │
│ the page segment at 4 units down │
│ and 4 units across. │
│ 7 │
└───────────────────────────────────────────────────────────┘
The position-down parameter is required and defines the vertical starting point of the field relative to the
margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. Valid values
are 0 to 57.790 cm (0 to 22.750 in.).
You can specify the position-down and position-across parameters as constants, program-to-system fields,
or a combination of both, as shown in the following:
v POSITION(3.56 6.24)
v POSITION(&field1 9.625)
v POSITION(0.5 &field2)
v POSITION(&field3 &field4)
Field1, field2, field3, and field4 are the names of program-to-system fields. The fields must exist in the
same record format as the POSITION keyword and be defined as having length 5 with 3 decimal
positions, data type S (zoned decimal), and usage P (program-to-system).
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
position-down and position-across parameter values. If the value specified for a parameter is
outside the valid range, it is flagged when the spooled file is created.
An error message is issued at print time if the field does not fit on the page.
An error message is issued at create time if line and position values, columns 39 through 44, are also
specified.
Because the POSITION keyword allows a field to be positioned anywhere on the page, a new page is not
generated by the use of the position keyword. The ENDPAGE keyword should be used to end the current
page and proceed to the next page.
If the POSITION keyword is specified for a field, all fields in the record format must also have the
POSITION keyword specified. Location entries in positions 39 through 44 are not allowed.
An error message is issued if a constant field is specified in a record format where the POSITION keyword
is also specified.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when POSITION is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
Note: Feature PSF/400 is required for use of this keyword. If PSF/400 is not installed, you will not be able
to print files using this keyword and specifying DEVTYPE(*AFPDS).
Example:
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the
parameter values.
In REC1, FLD1 prints 2.0 units down and 1.983 units across from the margins specified on the
FRONTMGN or BACKMGN parameter on the CRTPRTF command.
The application program determines the position of FLD2 by assigning values to program-to-system
variables FLD2A and FLD2B.
The parameter is required and must be one of the following special values:
*STD (Standard quality)
*DRAFT (Draft quality)
*NLQ (Near letter quality)
*FASTDRAFT (Fast draft quality)
The PRTQLTY keyword is allowed only on records or fields for which a CHRSIZ or BARCODE keyword
applies.
If you do not specify this keyword, the print quality is set by the PRTQLTY parameter on the CRTPRTF,
CHGPRTF, and OVRPRTF commands.
If you specify PRTQLTY at the record level, it applies to all fields in that record that do not have PRTQLTY
specified at the field level.
PRTQLTY is valid for IPDS printers only. If you specify this keyword in a file created with
DEVTYPE(*SCS), a warning message is issued at file creation time.
If you specify this keyword in a file created with DEVTYPE(*AFPDS), the print quality can only change on
a page boundary. If PRTQLTY is received before any data is placed on the page, the quality of the page
changes. Otherwise, the keyword is ignored and a diagnostic message is sent to the application program.
If you use PRTQLTY in the same record format with BLKFOLD, CPI, or DFNCHR keyword, the file is not
created.
Example:
The UPCE bar code in FIELD3 will be printed with draft quality.
Use REF when you want to duplicate descriptive information from one or more fields in a previously
defined record format. You can code the file name once on the REF keyword rather than on the REFFLD
keyword with each of the field descriptions that reference the file.
If there is more than one record format in the referenced file, specify a record format name as a parameter
value for this keyword to tell the OS/400 program which to use, unless the formats should be searched
sequentially.
The database-file-name is required for this keyword. The record-format-name and the library-name are
optional.
If you do not specify the library-name, the current library list at file creation time is used. If you do not
specify the record-format-name, each format is searched in order (as they are specified). The first
occurrence of the field name is used. For more information, see the topic ″When to specify REF and
REFFLD keywords for DDS files″ in the DDS Concepts information.
You can specify a Distributed Data Management (DDM) file on this keyword. When using a DDM file, the
data-base-file-name and library-name are the DDM file and library names on the source system. The
record-format-name is the record format name in the remote file on the target system.
Example:
Example 1:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A REF(FILE1)
00020A R RECORD
00030A FLD1 R 2 2
A
FLD1 has the same attributes as the first (or only) FLD1 in FILE1.
Example 2:
The referenced-field-name is required even if it is the same as the referencing field. Use the
record-format-name when the referenced file contains more than one record format. Use *SRC (rather
than the database-file-name) when the referenced field name is in the same DDS source file as the
referencing field. *SRC is the default value when the database-file-name and the library-name are not
specified.
Note: When you refer to a field in the same DDS source file, the field being referred to must precede the
field being defined.
Specify the database-file-name (qualified by its library-name, if necessary) when you want to search a
particular database file.
If, in the same DDS source file, you specify REF at the file level and REFFLD at the field level, the
particular search sequence depends on both the REF and REFFLD keywords. For more information, see
the topic ″When to specify REF and REFFLD keywords for DDS files″ in the DDS Reference: Concepts
information.
You must specify an R in position 29. In some cases, some keywords specified with the field in the
database file are not included in the printer file. For more information see, Reference for printer files
(position 29) in this chapter.
You can specify a Distributed Data Management (DDM) file on this keyword.
When using a DDM file, the data-base-file-name and library-name are the DDM file and library names on
the source system. The referenced-field-name and the record-format-name are the field name and the
record format name in the remote file on the target system.
Example:
Because the REF keyword is not specified, the default for lines 00030 and 00040 is to search the DDS
source file in which they are specified. In line 00080, the parameter value *SRC explicitly specifies the
source file. See the example in the topic ″When to specify REF and REFFLD keywords for DDS files″ in
the DDS Concepts information for explanations of the specifications.
The parameter value is required and must be in the range 1 through 255.
If you specify the keyword at the file level, you must option it with one or more indicators. If you specify
the keyword at the record or field level, option indicators are optional. The specified skip is performed after
each record in the file prints.
If you specify the keyword at the record level, skipping is performed after all the lines associated with the
record print and before any file-level SKIPA keywords are applied.
If you specify the keyword at the field level, skipping is performed after the field prints.
Note: If you do not use line numbers and do not specify skip or space keywords, overprinting can result.
You can specify this keyword once at the file level, once at the record level, and once for each field.
This keyword is valid at the file level for all records, but not at the record level or the field level for records
that have line numbers specified (positions 39 through 41). (The line number entries are flagged as
errors.)
The SKIPA keyword is not valid at either the field level or record level if the record format also has the
BOX, ENDPAGE, GDF, LINE, OVERLAY, PAGSEG, or POSITION keywords specified.
This keyword is not allowed at the file level for files defined as DEVTYPE(*AFPDS) on the CRTPRTF
command.
Example:
The parameter value is required and must be in the range 1 through 255.
If you specify this keyword at the file level, you must option it with one or more indicators; otherwise,
option indicators are optional. The specified skip is performed before each record in the file prints and after
any file-level SKIPB operations are applied.
If you specify this keyword at the record level, skipping is performed before any of the lines associated
with that record print.
If you specify this keyword at the field level, skipping is performed before the field prints.
You can specify this keyword once at the file level, once at the record level, and once for each field.
This keyword is valid at the file level for all records, but not at the record or field level for records that have
line numbers specified (positions 39 through 41). (The line numbers are flagged as errors.)
Note: If you do not use line numbers and do not specify skip or space keywords, overprinting can result.
The SKIPB keyword is not valid at either the field level or record level if the record format also has the
BOX, ENDPAGE, GDF, LINE, OVERLAY, PAGSEG, or POSITION keywords specified.
This keyword is not allowed at the file level for files defined as DEVTYPE(*AFPDS) on the CRTPRTF
command.
Example:
The parameter value is required and must be in the range 0 through 255.
If you specify this keyword at the record level, spacing occurs after all lines associated with that record are
printed. You can specify this keyword only once at the record level and once for each field.
If you specify SPACEA at the field level, spacing is performed after the field is printed.
Note: If you do not use line numbers and do not specify space or skip keywords, overprinting can result.
The SPACEA keyword is not valid at either the field level or record level if the record format also has the
BOX, ENDPAGE, GDF, LINE, OVERLAY, PAGSEG, or POSITION keywords specified.
Example:
The parameter value is required and must be in the range 0 through 255.
If you specify this keyword at the record level, spacing occurs before any lines associated with that record
are printed. You can specify this keyword only once at the record level or once for each field.
If you specify SPACEB at the field level, spacing is performed before the line containing that field prints.
This keyword is not valid for records with specified line numbers (positions 39 through 41). (The line
numbers are flagged as errors.)
Note: If you do not use line numbers and do not specify space or skip keywords, overprinting can result.
The SPACEB keyword is not valid at either the field level or record level if the record format also has the
BOX, ENDPAGE, GDF, LINE, OVERLAY, PAGSEG, or POSITION keywords specified.
Example:
Chapter 2. Keyword entries for printer files (positions 45 through 80) 101
Printer Files, STRPAGGRP
Pages separated with the STRPAGGRP and ENDPAGGRP DDS keywords can be indexed with the
Attribute Name and Attribute Value parameters of the DOCIDXTAG keyword.
The group-name parameter is required and defines the name of the group to be started. The group name
should be unique within a document. The maximum number of characters in the group name is 250.
Blanks are allowed as part of the group name.
Note: Groups of pages cannot be nested or overlapped, each group must be ended (ENDPAGGRP
keyword) before another can begin.
When you specify the group-name parameter as a program-to-system field, the field must exist in the
same record format as the STRPAGGRP keyword. It must be defined as length of 1 -250, type A
(character), and usage P (program-to-system).
This keyword is valid with DEVTYPE(*AFPDS). If DEVTYPE is changed to anything other than *AFPDS,
the keyword will be ignored and a warning message will be issued at print time.
Example:
In the example, RECORD1 starts a group named ’ACCOUNT NUMBER’. RECORD2 allows the application
program to specify the name of group by setting program variable GROUP.
The text must be enclosed in apostrophes. If the length of the text is greater than 50 positions, only the
first 50 characters are used by the high-level language compiler.
Example:
The following example shows how to specify the TEXT keyword at the record and field levels.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R CUSMST TEXT(’Customer Master Record’
00020A FLD1 3 0 TEXT(’ORDER NUMBER FIELD’)
A
The edit word ’0_:__:__’ (_ represents a blank) is assumed for a TIME field. You can specify another edit
word or one of the user-defined edit codes (5 through 9) to change the IBM-supplied editing.
Option indicators are not valid for this keyword, although you can use option indicators to condition the
field specified.
Example:
The following table describes the valid time formats and their default separators.
If you specify the time-format parameter value as *ISO, *USA, *EUR, or *JIS, you may not specify the
TIMSEP keyword. These formats have fixed separators.
Chapter 2. Keyword entries for printer files (positions 45 through 80) 103
Printer Files, TIMFMT
The TIMFMT keyword overrides the job attribute for a time field. It does not change the system default.
It is the responsibility of the high-level language and the application to format the time field according to
the format specified for the TIMFMT keyword and use the separators specified on the TIMSEP keyword.
The system does not format fields on output. The system validates the time field on input according to the
format that the TIMFMT keyword specifies and the separator that the TIMSEP keyword specifies.
Option indicators are not valid for this keyword, although option indicators may condition the field for which
it is specified.
Example:
If you want to display 2 o’clock p.m., the following values appear where RECORD1 is written.
TIMFLD1 14.00.00
TIMFLD2 02:00 PM
TIMFLD3 14,00,00
The time-separator parameter specifies the separator character that appears between the hour, minute,
and second values. Valid values are a colon (:), a period (.), a comma (,), and a blank ( ). Apostrophes
must enclose the parameter.
If you specify the *ISO, *USA, *EUR, or *JIS time-format value for the TIMFMT keyword, you may not
specify the TIMSEP keyword. These formats have fixed separators.
If you do not specify the TIMSEP keyword and you specify TIMFMT as a format that does not have a fixed
date separator, the TIMSEP defaults to *JOB.
If you specify *JOB or if TIMSEP defaults to *JOB, the high level language and the application handle the
separator as a colon (:). On output the system converts the separator that was specified by the Time
Separator Job Definition Attribute. On input, the system converts the separator to a colon (:) before it
passes control to the application.
The TIMSEP keyword overrides the job attribute for a time field. It does not change the system default.
It is the responsibility of the high-level language and the application to format the time field according to
the format specified for the TIMFMT keyword and use the separators specified for the TIMSEP keyword.
The system does not format fields on output. The system validates the time field on input according to the
format that the TIMFMT keyword specifies and the separator that the TIMSEP keyword specifies.
Example:
If you want to display 2 o’clock p.m. and the time separator defined by the Job Definition Attribute is a
colon (:), the following values will be displayed when RECORD1 is written.
TIMFLD1 14 00 00
TIMFLD2 14.00.00
TIMFLD3 14:00:00
If you do not specify the TRNSPY keyword for a field in which your program passes hexadecimal data to
an SCS printer, code points can be interpreted as SCS commands that affect printer operation. A code
point is one of the 256 values you can assign a character in a character set. On the iSeries servers, a
code point is identified by a 2-digit hexadecimal number.
In a file created with DEVTYPE(*IPDS), you need not specify the TRNSPY keyword with the CVTDTA
keyword. However, a warning message appears stating that the DEVTYPE should not be changed to
*SCS.
If you specify TRNSPY in a file created with DEVTYPE(*AFPDS), a warning message appears at create
time.
The TRNSPY keyword is valid only when the data type is character.
When you specify the TRNSPY keyword with the CVTDTA keyword, your program can place character
data in the field and the OS/400 program converts it to hexadecimal data when the field is passed to the
printer. Each pair of hexadecimal digits corresponds to a code point in the character set of your system.
Using the DFNCHR keyword, you can define characters of your own design for the 5224 Printer or 5225
Printer. See the DFNCHR keyword description. Also, the printed length of the field is one half the length
you specify. Therefore, the length of the field must be an even number.
If you specify the TRNSPY keyword without the CVTDTA keyword, the field length you specify is the
printed length.
This keyword is supported only for the 5224 Printer and 5225 Printer.
Chapter 2. Keyword entries for printer files (positions 45 through 80) 105
Printer Files, TRNSPY
Option indicators are not valid for this keyword.
Examples:
Example 1:
The following example shows how to specify the TRNSPY keyword with the CVTDTA keyword. When your
program passes character data in a field, the OS/400 program converts it to hexadecimal data.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R RECORD SPACEB(1)
00020A FLD1 10 1TRNSPY CVTDTA
00030A FLD2 20 6TRNSPY CVTDTA
A
The program can pass character data in FLD1 and FLD2. The OS/400 program converts it to hexadecimal
data for the printer. Only the characters 0 through 9 and A through F are valid. Blanks are not valid.
The printed length of FLD1 and FLD2 is one half the specified length (FLD1 is 5 positions long; FLD2 is
10 positions long).
You must also specify the DFNCHR keyword with this DDS in order to print user-defined characters.
The following is how RECORD prints when the contents of FLD1 are ’C1C1C1C1C1’ and the contents of
FLD2 are ’C2C2C2C2C2C2C2C2C2C2’:
AAAAABBBBBBBBBB
Example 2:
The following example shows how to specify the TRNSPY keyword without the CVTDTA keyword. In this
example, your program must pass hexadecimal data in the field.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R RECORD2 SPACEB(1)
00020A FLD3 5 1TRNSPY
00030A FLD4 10 6TRNSPY
A
The program must pass hexadecimal data in FLD3 and FLD4. Only hexadecimal characters 0 through 9
and A through F are valid. Blanks are not valid. Without the CVTDTA keyword, the printed length of both
fields is the specified length.
The field-rotation parameter is required and controls the rotation of the field. Valid values are 0, 90, 180,
and 270 degrees.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when TXTRTT is specified in the file. If
DEVTYPE is changed to anything other than *AFPDS, the keyword is ignored and a warning message is
issued at print time.
CHRSIZ is handled as graphic font and cannot be used with the field-level keyword TXTRTT.
Example 1:
Example 2:
Record 1 (REC1) field 5 (FLD05), shows the coding using the row/column method of positioning. Record 2
(REC2) field 6 (FLD06), shows the coding using the absolute method of positioning.
Chapter 2. Keyword entries for printer files (positions 45 through 80) 107
Printer Files, UNDERLINE
reference-edge:
*BOT The reference edge is the bottom edge of the media.
*RIGHT
The reference edge is the right edge of the media.
*TOP The reference edge is the top edge of the media.
*LEFT The reference edge is the left edge of the media.
*DEVD
The reference edge is the default reference edge used by the device.
paper-type:
*LEDGER
The paper to be used is ledger-sized (11 x 17 inches).
*A3 The paper to be used is A3-sized (297mm x 420mm).
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when ZFOLD is specified in the file. If DEVTYPE
is changed to anything other than *AFPDS, the keyword is ignored and a warning message is issued at
print time.
If ZFOLD is specified for a printer that does not support z-fold operations, the value specified for FIDELITY
in he printer file controls whether the file prints.
ZFOLD is ignored at run time if it is not specified on a page boundary. The printer is on a page boundary
when no named or constant fields are processed for a page. Once a named or constant field is processed,
the printer is no longer on a page boundary. The printer is on a page boundary again when a SKIP,
SPACE, or ENDPAGE keyword is processed that causes the printer to move to a new page.
ZFOLD, SKIP, and SPACE keywords are processed in the following order:
SKIPB
SPACEB
ZFOLD
SPACEA
SKIPA
ZFOLD is in effect only for the record format specified. For the record format in which ZFOLD is specified,
the page size is changed to the size of the paper-type specified for ZFOLD: ledger or A3. Once records
Chapter 2. Keyword entries for printer files (positions 45 through 80) 109
Printer Files, ZFOLD
with the specified record format are processed, the page size for the next record format (if the ZFOLD
keyword is not specified) is the page size specified at the file level (CRTPRTF, CHGPRTF, or OVRPRTF
command).
ZFOLD is in effect for just a single sheet. If consecutive sheets are to have a z-fold operation applied, then
ZFOLD must be specified for each sheet. Printers may support a varying maximum number of sheets
number of sheets per spooled file which have had a z-fold operation applied to them. Check your printer’s
hardware reference for this information.
The reference edges supported by a printer vary. Check your printer’s hardware reference for this
information.
The z-fold operation causes the current sheet to be first folded in half inwards (so the front side of the
sheet is now inside the fold) along a line parallel to the reference edge. The half of the sheet furthest from
the reference edge is again folded in half outwards along a line parallel to the reference edge. For
example, when applied to an 11″x17″ sheet with the reference edge along a short side, the result is an
8.5″x11″ fold-out.
This finishing operation is applied to each medium, or sheet. Shown below is a drawing of a sheet to
which a z-fold operation has been applied.
Example:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A*
A R REC1 ZFOLD(*DEVD *LEDGER)
A*
Only one ZFOLD keyword for each record format is valid at any time. Even with option indicators,
specifying more than one ZFOLD keyword per record format is not valid.
The overflow line number will be recomputed if you specify ZFOLD, since the page size is either ledger or
A3. The new overflow line number maintains the distance between the overflow line and the bottom of the
page as specified in the printer file. The overflow number specified in the printer file will be restored when
processing is complete for ZFOLD. So if the file level specifies an overflow line which is 1″ from the
bottom of the page, the overflow line for a page on which ZFOLD is specified is also 1″ from the bottom of
the page.
Chapter 2. Keyword entries for printer files (positions 45 through 80) 111
Printer Files, ZFOLD
Both DBCS systems and non-DBCS systems support the functions described in this topic.
Positional entry considerations for printer files that use UCS-2 data
The following section describes, by position, DDS for describing printer files. Positions that are not
mentioned have no special considerations for UCS-2 Level 1.
Specify the length of the field in these positions. The length of a field containing UCS-2 Level 1 data can
range from 1 through 16 383 bytes.
When determining the program length of a field containing UCS-2 Level 1 data, consider the following:
v Each UCS-2 Level 1 character is 2 bytes long.
v Specify the program length of the field as the number of UCS-2 Level 1 characters. For example, a field
containing 3 UCS-2 Level 1 characters has 6 bytes of data.
v The field’s default print length is equal to the field’s program length, or 2 times the number of UCS-2
characters.
v After converting between UCS-2 Level 1 data and EBCDIC, the resulting data may be equal to, longer
than or shorter than the original length data. This depends upon the target CCSID specified on the
CHRID parameter of the printer file. For example, 1 UCS-2 character consists of 2 bytes of data. That
character may convert to 1 SBCS character composed of 1 byte of data, 1 graphic-DBCS character
composed of 2 bytes of data, or 1 bracketed DBCS character composed of 4 bytes of data.
v You can use the alternate-field-length parm on the CCSID keyword to specify the field’s print length
separately from the program length.
The only valid data type for UCS-2 Level 1 data is the G data type.
G (Graphic)
Type G in combination with the CCSID keyword to specify that this field contains UCS-2 Level 1
data.
Normally, the field would contain graphic-DBCS data if you specified G. In combination with the
CCSID keyword, however, the field now contains UCS-2 Level 1 data.
Keyword considerations for printer files that use UCS-2 data (positions
45 through 80)
The CCSID keyword for printer files specifies that a G-type field supports UCS-2 level 1 data instead of
DBCS-graphical data. You can specify the CCSID keyword with all keywords that a G-type field currently
allows. In addition, you can use the FNTCHRSET keyword on a G-type field when you also use the
CCSID keyword.
The UCS-2-CCSID parameter is required. Use the UCS-2-CCSID parameter to specify a CCSID that uses
the UCS-2 Level 1 encoding scheme for this field. You can specify the UCS-2-CCSID parameter either as
a number up to 5 digits long or as a program-to-system field. You must define the program-to-system field
with a length of 5 and with the S data type.
You can specify a special value of *REFC instead of a UCS-2-CCSID value. It is only valid on reference
fields, and you must code the referenced field with a CCSID keyword that specifies a UCS-2-CCSID value.
Normally, the printer file CCSID keyword would override any CCSID keyword attributes taken from the
referenced field. If you specify *REFC, the UCS-2-CCSID value comes from the referenced field.
The *CONVERT parameter is optional and specifies whether the UCS-2 data is converted to a target
CCSID specified on the CHRID parameter of the CRTPRTF, CHGPRTF, or OVRPRTF commands.
*CONVERT is the default. If you specify the CCSID keyword with *NOCONVERT, the UCS-2 data is not
converted to the target CCSID.
If *NOCONVERT is active for a printer file whose DEVTYPE is *AFPDS, *LINE, or *AFPDSLINE, the
application must also use one of the AFP Unicode migration fonts. If you do not specify an AFP Unicode
migration font, the output will be interpreted as single-byte data and will probably be unprintable.
If *NOCONVERT is active and the file DEVTYPE is *AFPDS, specify an AFP Unicode migration font
character set and code page with the FNTCHRSET keyword for printer files. If the file DEVTYPE is *LINE
or *AFPDSLINE, specify the AFP Unicode migration font character set and code page in the page
definition for the printer file.
If *NOCONVERT is specified for a printer file whose DEVTYPE is *SCS, a diagnostic message is issued
when the printer file is used, and the UCS-2 data is converted to the target CCSID.
The alternate-field-length parameter is optional and is valid only when you specify the CCSID keyword at
the field level and the *CONVERT parameter is active. Specify the alternate-field-length as the number of
UCS-2 characters.
When UCS-2 data is involved in an output operation and the *CONVERT parameter is active, the data is
converted from the associated UCS-2 CCSID to the target CCSID. Generally, the length of the data will
change when this conversion occurs. Therefore, you can use the alternate-field-length value to specify a
printed field length that is different from the default printed field length. The default printed field length of a
’G’ data type field is twice the number of characters that are specified for the field length.
The alternate-field-length value can help avoid truncation of field data when the data length will be longer
after conversion than the default printed field length. The alternate-field-length value can also help
increase the available line space by limiting the printed field length when the data length will be shorter
after conversion. The field length will still be used to define the field’s output buffer length.
If you specify the CCSID keyword at the field-level and either the record- or the file-level, the field-level
keyword takes precedence. If the you specify the CCSID keyword at the file- or record-level and no G-type
fields exist, then a compile error is signalled.
On output, field data that is longer than the specified field length is truncated.
The CCSID keyword is not valid for files whose DEVTYPE is *IPDS.
You can specify the CCSID keyword with all keywords that are currently allowed on a G-type field.
Example:
FIELD1 is assigned a CCSID value of 13488. FIELD2 is assigned a CCSID value of 61952 and has a field
length of 6 UCS-2 characters (12 SBCS characters). FIELD3 is assigned a CCSID value of 61952, and the
data is not converted during an output operation.
See the DDS Reference: Concepts information for more general information relating to the use of the
double-byte character set (DBCS) with DDS.
The functions described in this appendix are supported on both DBCS and non-DBCS systems.
For example, a bracketed-DBCS field that contains up to 3 DBCS characters, 1 shift-in character and 1
shift-out character, has 8 bytes of data:
(3 characters x 2 bytes) + (shift-out + shift-in) = 8
Do not use the IGCALTTYP and IGCANKCNV keywords on DBCS-graphic data fields (G specified in
position 35).
For additional information on the keywords for printer files, refer to the keyword descriptions in the
keyword topic for printer files.
The valid values for the width and height parameters are 1 and 2. The width parameter is required; the
height parameter is optional. If height is not specified, it defaults to 1.
The following example shows how to specify the CHRSIZ keyword on the DDS coding form.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A R RECORD1 CHRSIZ(2 1)
00040A FIELD1 23O 20SPACEA(2)
00050A FIELD2 80A 20SPACEA(2) CHRSIZ(1 1)
00060A FIELD3 41O 20SPACEA(2)
00070A FIELD4 45O 20SPACEA(2) CHRSIZ(1 2)
00080A FIELD5 40A 20SPACEA(2) CHRSIZ(1)
00090A FIELD6 25A 20SPACEA(2) CHRSIZ(2 2)
A
In the example, the DBCS characters in FIELD1 and FIELD3 expand to twice their normal width when
printed. The DBCS characters in FIELD2 and FIELD5 are in their normal size when printed. The DBCS
characters in FIELD4 expand to twice their normal height when printed. The DBCS characters in FIELD6
expand to twice their normal size (width and height) when printed.
The direction parameter specifies whether the defined line is horizontal or vertical. The value specified
must be one of the following:
*VRT
*HRZ
The start line parameter specifies the line number, from the top of the page, where the defined line starts.
The possible values are 1 through 255, but the value specified must not exceed the page length value
specified on the PAGESIZE parameter of the Create Printer File (CRTPRTF) command.
The start position parameter specifies the position number, from the left margin of the page, where the
defined line starts. The possible values are 1 through 378, but the value specified should not exceed the
page width value specified on the PAGESIZE parameter of the CRTPRTF command.
The length parameter specifies the length in number of lines when the defined line is vertical or in number
of characters when the defined line is horizontal.
The length specified must be greater than zero. For a vertical line, the sum of the length and the value of
the start line parameter cannot exceed 255. Although 255 is the maximum value of this sum, valid values
must not exceed the page length specified on the PAGESIZE parameter of the CRTPRTF command.
For a horizontal line, the sum of the length and the value of the start position parameter cannot exceed
378. Although 378 is the maximum value of this sum, valid values must not exceed the page width
specified on the PAGESIZE parameter of the CRTPRTF command.
The DFNLIN keyword can be specified more than once at the record level.
The DFNLIN keyword cannot be specified on a record that also contains keywords that are valid only on
IPDS printers (such as COLOR, BARCODE, and LPI). If DFNLIN is specified with any of those keywords,
a severe error (severity 30) message will be issued.
If the DFNLIN keyword is specified when a printer file is created with DEVTYPE(*IPDS), a warning
(severity 10) message is issued but the keyword is not ignored at creation time. However, the keyword is
ignored and a message is issued when the printer file is used.
If the DFNLIN keyword is specified with a printer file created with DEVTYPE(*AFPDS), the keyword is
ignored and a warning message is issued.
Example:
The following example shows how to specify the DFNLIN keyword on the DDS coding form.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A R RECORD1 DFNLIN(*HRZ 4 12 20)
00040A DFNLIN(*VRT 5 12 6)
00050A DFNLIN(*HRZ 10 12 20)
00060A DFNLIN(*VRT 5 32 6)
A
The output of the first DFNLIN keyword is a horizontal line. The line is drawn to the right from the twelfth
character position on the fourth line for a length of 20 characters.
The output of the second DFNLIN keyword is a vertical line. The line is drawn down from the twelfth
character position on the fifth line for a length of 6 lines.
The output of the third DFNLIN keyword is a horizontal line. The line is drawn to the right from the ending
point of the second line (10 = 4 + 6) for a length of 20 characters.
The output of the fourth DFNLIN keyword is a vertical line. The line is drawn down from the ending point
of the first line (32 = 12 + 20) for a length of 6 lines.
BLKFOLD
CPI
CVTDTA
IGCANKCHV
TRNSCY
Example:
The following example shows how to specify the IGCALTTYP keyword on the DDS coding form.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A R TITLER SKIPB(3)
00040A FLD1 40 47SPACEA(2) UNDERLINE
00050A 30 FLD2 40A 47SPACEA(2) UNDERLINE IGCALTTYP
A
When the IGCALTTYP keyword is put into effect, FLD2 can contain DBCS data.
In addition to converting alphanumeric characters, the system adds shift-control characters at the
beginning and end of converted character strings.
appears as:
0EA B C D E0F
after it is converted. Notice that shift-control characters were added to the string (0E=shift-out, 0F=shift-in).
BLKFOLD
CPI
DFT
IGCALTTYP
v The length of the printed string of characters expanded by the IGCANKCNV function is at least two
times the length of the original string plus 2 positions for the shift-control characters. For example, after
a string of 4 Katakana characters is converted, its length is:
10 ((4 characters by 2) + 2 shift-control characters)
If you specified additional characters to be included in the string, such as with the EDTWRD function,
those characters also are expanded and the length of the string changes accordingly. For example,
suppose you specified a 4-position field that also includes a dollar sign and a decimal point, such as:
$12.34
After the field is converted, the field length is 14. The four numbers in the field are expanded (8
positions), the dollar sign and the decimal point are expanded (4 positions) and shift-control characters
are added (2 positions).
v The field for which IGCANKCNV is specified should not contain any DBCS data. The system does not
support conversion of fields with both alphanumeric and DBCS data. If a field with IGCANKCNV
contains DBCS characters, the results of the conversion cannot be predicted.
v The field for which IGCANKCNV is specified cannot be a DBCS-graphic field (a field with a data type of
G).
v The system replaces unprintable alphanumeric characters before it converts them to equivalent DBCS
characters as specified by the RPLUNPRT value on the Create Printer File (CRTPRTF) command.
v The output must be printed on a DBCS printer.
v A warning message appears if IGCANKCNV is specified in a file created with DEVTYPE(*IPDS).
v For files created with DEVTYPE(*AFPDS), characters in the field specified with IGCANKCNV are
printed using the font identified by the IGCCDEFNT keyword. See “IGCCDEFNT (DBCS Coded Font)
keyword” on page 125 for more information.
v IGCANKCNV cannot be specified on a record or on a field in a record if that record also contains
COLOR, BARCODE, or LPI.
v Option indicators are not allowed with IGCANKCNV.
Example:
The following example shows how to specify the IGCANKCNV keyword on the DDS coding form.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A R RECORD CHRSIZ(2) SKIPB(3)
00040A FLDA 400 20SPACEA(2)
00050A FLDB 80A 20SPACEA(2) CHRISIZ(1)
00060A FLDC 20A 20SPACEA(2) IGCANKCNV
A
The coded-font parameter is required and must be the name of an OS/400 DBCS coded font. It can be up
to 8 characters long.
Use the optional library-name parameter to further qualify the coded-font. If you do not specify the library
name, *LIBL is used to search for the coded font at print time. If *LIBL is used, the system-supplied font
libraries are added to the library list when searching for the requested font. Using the library-name
parameter allows the coded font name to be located more rapidly. However, the library list is still used to
locate the character set and code page defined by the coded font name.
To view the IBM-supplied coded font names, you can use the Work with Font Resources (WRKFNTRSC)
command and specify coded fonts. The IBM-supplied coded font names all start with the characters X0.
Note: If an application uses private resources (for example, fonts, page segments, overlays, or GDF files
not distributed with the system), be aware of the following. When referencing these resources, if
you specify *LIBL or you do not specify a library name, the resources must be available through the
library list used by the application creating the spooled file.
Use the optional point-size parameter to further define a DBCS coded font that specifies a point size.
Specify the point-size parameter as an expression in the following form:
(*POINTSIZE height-value width-value)
The height-value specifies the point size for the height of the font. The width-value specifies the point size
for the width of the font. If the font is to be uniformly scaled (where the height and width are the same),
then you can specify only the height-value. You cannot specify the width-value without the height-value.
The valid values for this parameter are 0.1 through 999.9.
Notes:
1. For raster DBCS fonts, PSF/400 ignores the point size. PSF/400 does not do any validation at spool
intercept time, and it does not issue any error messages.
2. If you do not specify a point size for an outline DBCS font, then PSF/400 cannot print the spooled file.
The spooled file is held at print writer time. PSF/400 does not do any validation at spool intercept time.
The coded font value is validated at print time. An error message is issued if the value is not valid, or
when the resource cannot be located.
Specify DEVTYPE(*AFPDS) on the CRTPRTF command when you have specified IGCCDEFNT in the file.
If you change the DEVTYPE parameter to anything other than the *AFPDS value, the keyword is ignored,
and a warning message is issued at print time.
Note: Feature PSF/400 is required to use this keyword. If PSF/400 is not installed, you will not be able to
print files that use this keyword and specify DEVTYPE(*AFPDS).
FLD1 in REC specifies coded font XOG16B. *LIBL is used to locate the DBCS resource. FLD2 specifies
DBCS font XOG16C from library QFNTCPL. FLD2 will be printed with a point size of 10.0.
Example:
The following example shows how to specify the IGCCHRRTT keyword on the DDS coding form.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A R TITLER SKIPB(3)
00035A IGCCHRRTT
00040A FLD1 400 47SPACEA(2) UNDERLINE
A
The printer prints DBCS characters from this format 90 degrees counterclockwise. The DBCS output can
be read vertically.
Note: DDS does not consider the values specified for the CPI, IGCCPI, and IGCSOSI parameter
values when calculating the printed length. Therefore, overlapping may occur when the field is
actually printed, although the problem is not indicated when the DDS file is compiled.
This information applies to constant fields with DBCS data and to named fields.
v When using the reference function in a printer file, if you refer to a field in a database file that has data
type J, O, or E, DDS assigns data type O for the field in the printer file. If you refer to a field that has
data type G, DDS assigns data type G for the field in the printer file.
G
GDF (Graphic Data File) keyword 72 P
Graphic Data File (GDF) keyword 72 Page Number (PAGNBR) keyword 89
Page Rotation (PAGRTT) keyword 90
Page Segment (PAGSEG) keyword 91
H PAGNBR (Page Number) keyword 89
hexadecimal digits for bit patterns 49 PAGRTT (Page Rotation) keyword 90
HIGHLIGHT (Highlight) keyword 75 PAGSEG (Page Segment) keyword 91
parts of edit word 61
POSITION (Position) keyword 94
I position positional entry 9
IGCALTTYP (DBCS Alternative Data Type) positional entries
keyword 122 DBCS considerations 119
IGCANKCNV (Alphanumeric-to-DBCS Conversion) UCS-2 Level 1 considerations 115
keyword 123 positional entries for printer files 2
IGCCDEFNT (DBCS Coded Font) keyword 125 Print Quality (PRTQLTY) keyword 96
IGCCHRRTT (DBCS Character Rotation) keyword 126 printer files
implied code page 70 coding example 1
INDARA (Indicator Area) keyword 76 keyword entries 11
Indicator Area (INDARA) keyword 76 positional entries 2
Indicator Text (INDTXT) keyword 76 UCS-2 Level 1 115
INDTXT (Indicator Text) keyword 76 PRTQLTY (Print Quality) keyword 96
INVDTAMAP (Invoke Data Map) keyword 77
INVMMAP (Invoke Medium Map) keyword 78
Invoke Data Map (INVDTAMAP) keyword 77 R
Invoke Medium Map (INVMMAP) keyword 78 record format name positional entry 4
REF (Reference) keyword 97
reference positional entry 4
K Referenced Field (REFFLD) keyword 98
keyword entries 11 REFFLD (Referenced Field) keyword 98
DBCS considerations 120 reserved positional entry 3
keywords requiring Advanced Function Printing 11
S
L sequence number positional entry 2
length positional entry 5 SKIPA (Skip After) keyword 99
LINE (Line) keyword 79 SKIPB (Skip Before) keyword 100
line positional entry 9 SPACEA (Space After) keyword 100
Lines Per Inch (LPI) keyword 82 SPACEB (Space Before) keyword 101
location positional entry 8 specifying dots to be printed 48
LPI (Lines Per Inch) keyword 82 Start Page Group (STRPAGGRP) keyword 101
status of edit word 62
STRPAGGRP (Start Page Group) keyword 101
M
Message Constant (MSGCON) keyword 83
MSGCON (Message Constant) keyword 83
T
TEXT (Text) keyword 102
Text Rotation (TXTRTT) keyword 106
N TIME (Time) keyword 103
Time Format (TIMFMT) keyword 103
name positional entry 3
Time Separator (TIMSEP) keyword 104
name type positional entry 3
TIMFMT (Time Format) keyword 103
TIMSEP (Time Separator) keyword 104
Transparency (TRNSPY) keyword 105
O TRNSPY (Transparency) keyword 105
OUTBIN (Output bin) keyword 84 TXTRTT (Text Rotation) keyword 106
Output bin (OUTBIN) keyword 84
Z
ZFOLD (Z-fold) keyword 109
Index 131
132 OS/400 DDS Reference: Printer Files V5R1
Printed in U.S.A.