Printer File AS400
Printer File AS400
iSeries
ERserver
iSeries
Copyright International Business Machines Corporation 2001, 2002. 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 . . . . . . . . Who should read the DDS Reference: Printer Files book . Conventions and terminology used in the DDS information Print this topic . . . . . . . . . . . . . . . . . Whats New for V5R2 in the DDS information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii vii vii vii viii . . . . . . . . . . . . . . . 1 2 2 2 2 2 3 3 3 4 5 6 7 8 8
Chapter 1. Defining a printer file. . . . . . . . . . Positional entries for printer files (positions 1 through 44) . Sequence number for printer files (positions 1 through 5) Form type for printer files (position 6) . . . . . . . Comment for printer files (position 7) . . . . . . . . Conditioning for printer files (positions 7 through 16) . . Type of name or specification for printer files (position 17) Reserved for printer files (position 18) . . . . . . . Name for printer files (positions 19 through 28) . . . . Reference for printer files (position 29) . . . . . . . Length for printer files (positions 30 through 34). . . . Data type for printer files (position 35) . . . . . . . Decimal positions for printer files (positions 36 and 37) . Usage for printer files (position 38) . . . . . . . . Location for printer files (positions 39 through 44) . . .
Chapter 2. Keyword entries for printer files (positions 45 through Keywords that require AFP(*YES) in printer device descriptions . . ALIAS (Alternative Name) keyword in printer files. . . . . . . . BARCODE (Bar Code) keyword in printer files . . . . . . . . . BLKFOLD (Blank Fold) keyword in printer files. . . . . . . . . BOX (Box) keyword in printer files . . . . . . . . . . . . . CDEFNT (Coded Font Name) keyword in printer files . . . . . . CHRID (Character Identifier) keyword in printer files. . . . . . . CHRSIZ (Character Size) keyword in printer files . . . . . . . . COLOR (Color) keyword in printer files . . . . . . . . . . . CPI (Characters Per Inch) keyword in printer files . . . . . . . CVTDTA (Convert Data) keyword in printer files . . . . . . . . DATE (Date) keyword in printer files . . . . . . . . . . . . DATFMT (Date Format) keyword in printer files . . . . . . . . DATSEP (Date Separator) keyword in printer files . . . . . . . DFNCHR (Define Character) keyword in printer files . . . . . . Selecting which code points to redefine . . . . . . . . . . Dot matrix . . . . . . . . . . . . . . . . . . . . . Specifying dots to be printed in the dot matrix . . . . . . . . DFT (Default) keyword in printer files . . . . . . . . . . . . DLTEDT (Delete Edit) keyword in printer files . . . . . . . . . DOCIDXTAG (Document Index Tag ) keyword in printer files . . . DRAWER (Drawer) keyword in printer files . . . . . . . . . . DTASTMCMD (Data Stream Command) keyword in printer files . . DUPLEX (Duplex) keyword in printer files . . . . . . . . . . EDTCDE (Edit Code) keyword in printer files . . . . . . . . . OS/400 edit codes in printer files . . . . . . . . . . . . . User-defined edit codes in printer files . . . . . . . . . . . EDTWRD (Edit Word) keyword in printer files . . . . . . . . . Parts of an edit word in printer files . . . . . . . . . . . . Forming the body of an edit word in printer files . . . . . . .
Copyright IBM Corp. 2001, 2002
11 11 13 13 21 21 26 27 28 30 32 35 38 39 41 42 51 51 52 54 55 56 57 58 59 60 61 63 64 65 65
iii
Forming the status of an edit word in printer files . . . . . . . . Formatting the expansion of an edit word in printer files . . . . . ENDPAGE (End Page) keyword in printer files . . . . . . . . . . ENDPAGGRP (End Page Group) keyword in printer files . . . . . . FLTFIXDEC (Floating-Point to Fixed Decimal) keyword in printer files . FLTPCN (Floating-Point Precision) keyword in printer files . . . . . FNTCHRSET (Font Character Set) keyword in printer files . . . . . FONT (Font) keyword in printer files . . . . . . . . . . . . . | FONTNAME (Font name) keyword in printer files . . . . . . . . . FORCE (Force) keyword in printer files . . . . . . . . . . . . GDF (Graphic Data File) keyword in printer files . . . . . . . . . HIGHLIGHT (Highlight) keyword in printer files . . . . . . . . . . INDARA (Indicator Area) keyword in printer files . . . . . . . . . INDTXT (Indicator Text) keyword in printer files . . . . . . . . . INVDTAMAP (Invoke Data Map) keyword in printer files . . . . . . INVMMAP (Invoke Medium Map) keyword in printer files . . . . . . LINE (Line) keyword in printer files . . . . . . . . . . . . . . LPI (Lines Per Inch) keyword in printer files . . . . . . . . . . . MSGCON (Message Constant) keyword in printer files . . . . . . . OUTBIN (Output Bin) keyword in printer files . . . . . . . . . . OVERLAY (Overlay) keyword in printer files . . . . . . . . . . . PAGNBR (Page Number) keyword in printer files . . . . . . . . . PAGRTT (Page Rotation) keyword in printer files . . . . . . . . . PAGSEG (Page Segment) keyword in printer files . . . . . . . . POSITION (Position) keyword in printer files . . . . . . . . . . PRTQLTY (Print Quality) keyword in printer files. . . . . . . . . REF (Reference) keyword in printer files . . . . . . . . . . . REFFLD (Referenced Field) keyword in printer files . . . . . . . SKIPA (Skip After) keyword in printer files . . . . . . . . . . . SKIPB (Skip Before) keyword in printer files . . . . . . . . . . SPACEA (Space After) keyword in printer files . . . . . . . . . SPACEB (Space Before) keyword in printer files . . . . . . . . . | STAPLE (Staple) keyword in printer files. . . . . . . . . . . . STRPAGGRP (Start Page Group) keyword in printer files . . . . . TEXT (Text) keyword in printer files . . . . . . . . . . . . . TIME (Time) keyword in printer files . . . . . . . . . . . . . TIMFMT (Time Format) keyword in printer files . . . . . . . . . TIMSEP (Time Separator) keyword in printer files . . . . . . . . TRNSPY (Transparency) keyword in printer files. . . . . . . . . TXTRTT (Text Rotation) keyword in printer files . . . . . . . . . UNDERLINE (Underline) keyword in printer files. . . . . . . . . ZFOLD (Z-fold) keyword in printer files . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. 66 . 66 . 68 . 69 . 70 . 71 . 71 . 73 . 76 . 80 . 81 . 84 . 85 . 85 . 86 . 87 . 88 . 91 . 93 . 93 . 94 . 98 . 99 . 100 . 104 . 106 . 106 . 107 . 109 . 109 . 110 . 111 . 111 . 113 . 113 . 114 . 114 . 115 . 116 . 117 . 119 . 120
Appendix A. CODE128 Character Set in DDS . . . . . . . . . . . . . . . . . . . . . 123 Appendix B. UCS-2 level 1 considerations for printer files . . . Positional entry considerations for printer files that use UCS-2 data . Keyword considerations for printer files that use UCS-2 data (positions CCSID (Coded Character Set Identifier) keyword . . . . . . . Appendix C. DBCS considerations for printer files . . . Positional entry considerations for printer files that use DBCS. Length (positions 30 through 34) . . . . . . . . . . Data type or keyboard shift (position 35) . . . . . . . Decimal positions (positions 36 and 37) . . . . . . . . Keyword considerations for printer files that use DBCS . . . . . . . . . . . . . . . . . . . . . . . 45 . . . . . . . . . . . . . through . . . . . . . . . . . . . . . . . . . . . . . . . 80) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 125 125 126 129 129 129 129 129 130
iv
CHRSIZ (Character Size) keyword. . . . . . . . . . DFNLIN (Define Line) keyword . . . . . . . . . . . IGCALTTYP (Alternative Data Type) keyword . . . . . . IGCANKCNV (Alphanumeric-to-DBCS Conversion) keyword IGCCDEFNT (DBCS Coded Font) keyword . . . . . . IGCCHRRTT (DBCS Character Rotation) keyword . . . . Additional considerations for describing printer files that contain
. . . . . . . . . . . . . . . . . . DBCS
. . . . . . . . . . . . data
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Contents
vi
vii
viii
Specify the entries in the following order to define a printer file: 1. File-level entries (optional) 2. Record-level entries 3. Field-level entries 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. Figure 1 shows a printer file coding example.
|...+....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 66by 00090A FIELD1 40 47SPACEB(1) 00100A 50DFT(Task Force I) 00110A 31 SPACEA(1) 00120A 31 65and 00130A 31 FIELD2 40 47 00140A* 00150A R PUBR SKIPB(58) 00160A 47Published 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 Figure 1. Printer File Coding Example
v Usage (position 38) v Location (positions 39 through 44) Figure 1 on page 1 shows some positional entries for printer files.
By specifying several conditions for a field or keyword, you create an OR relationship. If any one of the conditions is satisfied, the field or the keyword is selected. 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. Specify the conditions by entering the following values: Position 7 (AND) If you need more than three indicators to form an ANDed condition, specify them in the same positions on the next line or lines of the DDS form. Specify A in position 7 on the following lines to designate the continuation of the AND condition, or leave it blank (A is the default). Position 7 (OR) If you specify several conditions that are to be ORed together, each condition must start on a new line and each condition except the first must have an O in position 7. An O specified for the first condition produces a warning message (that position is assumed to be blank). Positions 8, 11, 14 (NOT) If you want an indicator to be off instead of on to satisfy a condition, specify N in the position just preceding the indicator (position 8, 11, or 14). Conditioning more than one field or keyword in printer files: 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.
Blank Field name Figure 1 on page 1 shows how to code the name type. For more information on types of names, see Name for printer files (positions 19 through 28).
Name must begin in position 19. Figure 1 on page 1 shows how to specify record format names and field names.
REF or REFFLD keywords.) The field attributes referenced are the length, data type, and decimal positions of the field, as well as the ALIAS, FLTPCN, TEXT, DATFMT, DATSEP, TIMFMT, TIMSEP, and editing keywords. 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. Position 29 must be blank at the file and record levels. 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. When you override some specifications, others are affected: v If you specify a value for data type, field length, or decimal positions for the field you are defining, editing keywords are not copied from the referenced field. v Packed decimal and binary fields are not supported for printer files. Therefore, when you reference fields of these types, the data type is converted to zoned decimal (S in position 35) 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.
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. Figure 1 on page 1 shows how to code the data type. 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. The printed length for a floating-point field is 7 positions greater than the length specified in positions 30 through 34. The 7 extra positions are for (a) the significand sign, (b) the decimal point or comma, (c) the exponent character, (d) the exponent sign, and (e) the 3 exponent digits. 4. Date, Time, and Timestamp restrictions:
The field length (*DDS positions 30 and 34) for these data types must be blank. The field length is determined by the following rules: v For Date (L), the format specified on the DATFMT keyword dictates the length of the field. If the DATFMT keyword is not specified, then the format defaults to *ISO, which has a field length of 10. v For Time (T), the format specified on the TIMFMT keyword dictates the length of the field. All formats for the TIMFMT keyword, including the default of *ISO when TIMFMT is not specified, has a field length of 8. v For Timestamp (Z), the field length is 26. 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 BLKFOLD DATE DFT EDTCDE EDTWRD FLTFIXDEC FLTPCN IGCCDEFNT IGCCHRRRT MSGCON PAGNBR TIME
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A* A* POSITION PLUS VALUE CAUSES PRFLD1 TO OVERLAP PRFLD2 A* A R PRTOUT SKIPB(1) A PRFLD1 130 1TEXT(START LOC 1,1 END LOC 1,130) A PRFLD2 130 +2TEXT(OVERLAPS PRFLD1) A* A* SOLUTION 1 TO PREVENT OVERLAP IS TO SPECIFY SPACEA OR SKIPA WITH PRFLD1 A* OR TO SPECIFY SPACEB OR SKIPB WITH PRFLD2 A* A R PRTOUT2 SKIPB(1) A PRFLD1A 130 1 A PRFLD2A 130 +2SPACEB(1) A* A* SOLUTION 2 PROVIDES A FUNCTIONAL EQUIVALENT NOT USING SKIP/SPACE A* A R PRTOUT3 A PRFLD1B 130 1 1 A PRFLD2B 130 +2 A Figure 2. Specifying the Line and Position Location
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 3, 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 Figure 3. Overlapping Fields
10
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.
11
v CDEFNT v CHRID (Only applies to output printed using a printer resident font. If a coded font (CDEFNT) or a font character set and code page combination (FNTCHRSET) is specified, the CHRID keyword is ignored and a message issued.) v CHRSIZ v COLOR (Color is ignored if your printer does not support color printing.) v CVTDTA v DATE v DATFMT v DATSEP v DFT v DLTEDT v DOCIDXTAG v v v v v DRAWER DTASTMCMD DUPLEX EDTCDE EDTWORD
v GDF v HIGHLIGHT (Only applies to output printed using a printer resident font. If a coded font (CDEFNT) or a font character set and code page combination (FNTCHRSET) is specified, the HIGHLIGHT keyword is ignored and a message issued.) v IGCCDEFNT v INDARA v INDTXT v INVMMAP v LINE v MSGCON v OVERLAY v OUTBIN v v v v v v v PAGNBR PAGRTT PAGSEG POSITION PRTQLTY REF REFFLD
v SKIPA (Not allowed at the file level in a spooled file with printer device type *AFPDS.) v SKIPB (Not allowed at the file level in a spooled file with printer device type *AFPDS.)
12
v v v v v
v TXTRTT v UNDERLINE (When creating an AFPDS spooled file to be distributed to a zSeries server, the DDS underline keyword should not be used because it will not print correctly.) v ZFOLD 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. Option indicators are not valid for this keyword. Example: The following example shows how to specify the ALIAS keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00070A FIELDA 25A 1 2ALIAS(CUSTOMERNAME) A
13
14
| | |
15
UPC-2 digit add on 2 (must follow a UPC A or E bar code) UPC-5 digit add on 5 (must follow a UPC A or E bar code) EAN-8 EAN-13 EAN-2 digit add on (must follow an EAN 8 or 13 bar code) EAN-5 digit add on (must follow an EAN 8 or 13 bar code) INDUST2OF5 or industrial 2 of 5 MATRIX2OF5 or matrix 2 of 5 INTERL2OF5 or interleaved 2 of 5 CODEABAR 7 12 2
0 through 9
No
No
00
1 1 No
Yes Yes No
00 00 00
0 through 9
No
No
00
31 31 31 Up to 50 characters
0 through 9 0 through 9 0 through 9 0 through 9, A through D (begin/end only), -, ., $, /, +, and : Refer to Appendix A, CODE128 Character Set in DDS 0 through 9, A through Z (upper case only), -, ., $, /, +, %, and a blank 0 through 9 0 through 9 A through Z 0 through 9 A through Z a through z space, # 0 through 9 A through Z a through z 0 through 9, A through Z, and -
1 1 1 1
01 02 01 02 01 02 01 02
CODE128
Up to 50 characters Up to 50 characters
No
012 02
CODE3OF9 or code 3 of 9
No
No
01 02
1 1 1
Ignored 00 01 through 08
DUTCHKIX
Up to 50 characters Up to 50 characters
Yes
01
JPBC
Yes
00 013
16
BARCODE
Default Bar Range of Characters Code Modifier Allowed Generated Any one-byte character Any one-byte character Any one-byte character No No No
| | | | | |
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.
| | | | |
4. For PDF417, up to 1850 text characters, or 1108 bytes of binary data, per symbol, depending on the security level; refer to the symbology specification. For Maxicode, up to 93 alphanumeric characters per symbol, depending on the encoding overhead, or up to 138 numeric characters per symbol; refer to the symbology specification. For Data Matrix, up to 3116, depending on whether the data is character or numeric; refer to the symbology specification.
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. Do not specify BARCODE in the same field with the CHRSIZ, CHRID, CVTDTA, DATE, EDTCDE, EDTWRD, FONT, HIGHLIGHT, PAGNBR, TIME, or UNDERLINE keywords. 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). Option indicators are not valid for this keyword. 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.
17
| symbol-mode This required parameter for Maxicode barcode specifies the symbol-mode for the MaxiCode | barcode. Valid values are in the range of 2 through 6: | v 2 Structured Carrier Message, numeric postal code | v 3 Structured Carrier Message, alphanumeric postal code | v 4 Standard code |
18
| zipper-indicator | This optional parameter for Maxicode barcode specifies whether to print a zipper pattern and | contrast block. The valid values for the zipper-indicator are: | v *NOZIPPER indicates that a zipper pattern is not to be printed with the barcode. *NOZIPPER is | the default value if no zipper-indicator is specified. | v *ZIPPER indicates that a zipper pattern is to be printed with the barcode. | sequence-indicator | This optional parameter for Maxicode barcode specifies whether this barcode is part of a | structured append. The Maxicode barcode can be logically linked together to encode large | amounts of data. The logically linked symbols can be presented on the same or different media | and are logically recombined after they are scanned. The sequence data for the Maxicode consists | of two parts of the following form: *SEQUENCE(sequence-indicator total-symbols) | | | sequence-indicator specifies the structured append sequence indicator. Valid values are 0 - 8. total-symbols specifies the total number of structured append symbols. Valid values 2 - 8.
| Data Matrix: The additional data is specified as an expression of the form: | (*DATAMATRIX row-size number-rows [alternate-data-type] [reader] [header-trailer] [sequence-indicator]) | | You can specify the following parameters for the Data Matrix barcode, in the following order: | row-size This required parameter for Data Matrix barcode specifies the row size. Data Matrix barcodes are | square symbols or rectangle symbols. The square symbols are 10 by 10 to 144 by 144 and the | rectangle symbols are 8 by 18 to 16 by 48. A special value of *DFT can be specified to have the | printer select the row size based upon the amount of symbol data. | | number-rows This required parameter for Data Matrix barcode specifies the number of rows. Data Matrix | barcodes are square symbols or rectangle symbols. The square symbols are 10 by 10 to 144 by | 144 and the rectangle symbols are 8 by 18 to 16 by 48. A special value of *DFT can be specified | to have the printer select the number of rows based upon the amount of symbol data. | | alternate-data-type This optional parameter for the Data Matrix barcode specifies the data type for the defined symbol. | Valid values are: | v *USRDEF indicates that this is a user defined symbol. *USRDEF is the default value if no | alternate-data-type is specified. | v *AIMSTD indicates that the symbol conforms to the specific industry standards as authorized by | AIM international. | v *UCCEAN indicates that the symbol conforms to the UCC/EAN application identifier standard | format. | | reader This optional parameter for Data Matrix barcode specifies whether this barcode encodes a | message used to program the reader system. Valid values are: | v *DATA indicates that barcode data is supplied. *DATA is the default value if no reader indicator | is specified. | v *RDRPRG indicates that the symbol contains a message used to program the barcode reader. |
19
| sequence-indicator | This optional parameter for Data Matrix barcode specifies whether this barcode is part of a | structured append. The Data Matrix barcode can be logically linked together to encode large | amounts of data. The logically linked symbols can be presented on the same or different media | and are logically recombined after they are scanned. The sequence data for the Data Matrix | consists of three parts of the following form *SEQUENCE(sequence-indicator total-symbols file-id) | | | | | | | sequence-indicator specifies the structured append sequence indicator. Valid values are in the range of 1 through 16. total-symbols specifies the total number of symbols that is logically linked in a sequence of symbols. Valid values are in the range of 2 through 16. file-id specifies a 2 byte unique file identification for a set of structured-append symbols. When specifying the file-id, the format is Xnnnn, where nnnn is the two byte file id in hexadecimal.
| Note: When a structured append is specified, you must specify *NO for the header and trailer, and you must specify *DATA for the reader. For valid combinations of row-size and number-rows, see the | symbology specification. | | EBCDIC to ASCII translation of two-dimensional barcodes: | The two-dimensional barcodes PDF417, Maxicode, and Data Matrix are ASCII barcodes. The system | extracts the CCSID of the job that generates the spool file and translates EBCDIC data to code page 500. | The printer then translates the data from code page 500 to the appropriate ASCII code page. | Maxicode and Data Matrix barcodes are assumed to start in ISO 8859-1 code page. The IBM equivalent is | ASCII code page 819. ASCII code page 437 is used for PDF417. Example: The following example shows how to specify the BARCODE keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A FIELD1 11S O 2 4BARCODE(UPCA 6) A FIELD2 3A 10 6BARCODE(CODE30F9 4 *NOHRIA *AST X02) A FIELD3 10S O 4 5BARCODE(UPCE 6 (*RATIO 2.75) *HRZ + A X00 (*WIDTH .02)) A FIELD4 10A O 5 5BARCODE(CODEABAR 1 (*RATIO 2.1) + A *HRITOP) A 6 501234567 A BARCODE(CODE128 2 *HRITOP *HRZ + A (*WIDTH 0.1) (*RATIO 2) X01) A FIELD5 10A 0 12 5BARCODE(CODEABAR (2.0 *UOM)) A FIELD6 10S 0 15 5BARCODE(10 X01)
20
The first-corner-down, first-corner-across, diagonal-corner-down, and diagonal-corner-across parameters define the diagonal corners of the box. All are required parameters. 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)
21
22
See the COLOR printer DDS keyword for more information on specifying the color value. 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 default is *MEDIUM if you do not specify a coverage value. 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.
23
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.
24
The example below illustrates the location of the boxes using the DDS code in example 2.
25
| The coded-font-name parameter is required and can be up to 8 characters in length. 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. | You can specify the library-name and coded-font-name as constants, as program-to-system fields, or as a | combination of both, as shown in the following: | v [library-name/]coded-font-name... | v [library-name/]&field1... | v [&field2/]coded-font-name... | When you specify the library-name as a program-to-system field, the field must exist in the same record | format as the CDEFNT keyword. It must be defined as length of 10, data type A (character), and usage P | (program-to-system). | When you specify the coded-font-name as a program-to-system field, the field must exist in the same | record format as the CDEFNT keyword. It must be defined as length of 8, data type A (character), and | usage P (program-to-system). 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 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. | | | | You can specify the point-size height and point-size width as constants, as program-to-system fields, or as a combination of both, as shown in the following: v [(*POINTSIZE height-value &field1)] v [(*POINTSIZE &field2 width-value)]
26
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.
27
The field TITLE is a named field. With CHRID specified, the printer attempts to print the appropriate characters. See the Printer Device Programming the CHRID keyword. for more information on the printing conditions with
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. If you specify CHRSIZ on a record, it applies to all fields in that record for which you do not specify CHRSIZ at the field level. When you specify a numeric font (for example: 011Courier 10 pitch) with CHRSIZ, the printer scales the hardware fonts (scaling with integer values only).
28
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. Valid data types for this keyword are A, F, and S. Option indicators are not valid for this keyword. Example: The following example shows how to specify the CHRSIZ keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A R RECORD1 CHRSIZ(3 3) A 02 03 FONT(222) A FIELD1 3A 6 01
29
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 Color name model: For the color-name, you can specify one, and only one, of the following parameter values for COLOR: Parameter Meaning BLK BLU BRN GRN PNK RED TRQ YLW Black Blue Brown Green Pink Red Turquoise Yellow
RGB color model: For the RGB color model, specify three RGB integer values in the following form:
COLOR (*RGB rvalue gvalue bvalue)
The rvalue represents a value for red, gvalue represents a value for green, and bvalue represents a value for blue. Specify each of the three integer values as a percentage from 0 to 100.
30
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. CIELAB color model: 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. Highlight color model: 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. Using the COLOR keyword: 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. Valid data types for this keyword are A, S, and F.
31
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.
10 or 15 specifies the number of characters per inch. 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 73). You cannot specify CPI on the same record format as the DRAWER keyword.
32
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
33
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.
34
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)
35
v v v
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 4 on page 37. 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.
36
Figure 4. Command Format for Bar Code Commands Using CVTDTA (Part 1 of 2)
37
Figure 4. 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
38
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.) Field length depends on the following: 1. The format of the DATFMT job attribute. 2. Whether or not the date field includes separators. The EDTCDE keyword controls separators. 3. The number of digits that represent the year. The DATE keyword controls the number of year digits. 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 following example shows how to specify the DATE keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A R REC01 A 1 56 A DATE A 21 2 56 A DATE(*JOB *Y) A 22 2 56 A DATE EDTCDE(Y) A 23 2 56 A DATE(*JOB) EDTCDE(Y) A 24 2 56 A DATE(*SYS) A 25 2 56 A DATE(*SYS *YY) EDTCDE(Y) A
The job date is printed without editing on line position 56. 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.
39
10 10 10
If you do not specify the DATFMT keyword, the default is *ISO. 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: The following example shows how to specify the DATFMT keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A 00020A R RECORD 00030A DATFLD1 L B 5 2DATFMT(*JUL) 00040A DATFLD2 L B 5 22DATFMT(*EUR) 00050A DATFLD3 L B 5 42DATFMT(*JOB) A
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.
40
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: The following example shows how to specify the DATSEP keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A 00020A R RECORD1 00030A DATFLD2 L B 5 2DATFMT(*DMY) DATSEP(-) 00040A DATFLD4 L B 5 22DATFMT(*JUL) DATSEP( ) 00050A DATFLD6 L B 5 42DATFMT(*JOB) DATSEP(*JOB) A
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 DATFLD4 DATFLD6 21-06-90 90 172 06/21/90
41
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 51). 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 52). 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. If you specify DFNCHR in a file created with DEVTYPE(*IPDS) or DEVTYPE(*AFPDS), a warning message appears at create time. 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. Option indicators are valid for this keyword. Examples: The following examples show how to specify DFNCHR. 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 @.
42
This example redefines code point hex 7C 1 , 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
RSLL763-1
See Specifying dots to be printed in the dot matrix on page 52 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 1 2 00010A DFNCHR(X51 X000000FF00FF00E700 + 00020A X52 XE700E700E700E10000 + 00030A X53 X0000009C001F000700 + 00040A X54 X07000700FF00FC0000 + 00050A X55 X00000000FF00E700E7 + 00060A X56 X00E700E700E3000000 + 00070A X57 X000000001E00070007 + 00080A X58 X0007000700FE000000) 00090A R RECORD1 00100A 3 58 4DFT(X5152) TRNSPY 00110A 58 4DFT(X5556) TRNSPY 00120A 59 4DFT(X5354) TRNSPY 00130A 59 4DFT(X5758) 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).
43
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 6. Specifying the Grid Pattern for Example 2 (Points 51 through 54)
Use Table 3 on page 53 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 7 on page 45 for code points 51 through 54.
44
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 8 on page 46.
45
RSLL770-0
Figure 8. Specifying the Grid Pattern for Example 2 (Points 55 through 58)
Use Table 3 on page 53 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 9 on page 47 for code points 55 through 58.
46
RSLL772-0
Figure 9. 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 1 2 00020A DFNCHR(XB1 XFF00E000D000C800C4 + 00030A XB2 X00C200C100C100C200 + 00040A XB3 XC400C800D000E000FF + 00050A XB4 XFF0007000800130023 + 00060A XB5 X004300830083004300 + 00070A XB6 X230013000B000700FF + 00080A XB7 X00FF00F000D800CC00 + 00090A XB8 XC600C100C100C100C6 + 00100A XB9 X00CC00D800F000FF00 + 00110A XBA X00FF000F001B003300 + 00120A XBB X630083008300830063 + 00130A XBC X0033001B000F00FF00) 00140A R RECORD1 CPI(15) 00150A 58 4DFT(XB1B2B3) TRNSPY 00160A 58 4DFT(XB7B8B9) TRNSPY 00170A 59 4DFT(XB4B5B6) TRNSPY 00180A 59 4DFT(XBABBBC) 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.
47
RSLL774-0
Figure 10. Specifying the Grid Pattern for Example 3 (Points B1 through B6)
Use Table 3 on page 53 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 11 on page 49.
48
RSLL775-0
Figure 11. Completing the Code Points for Example 3 (Points B1 through B6)
As shown in Figure 12 on page 50, mark the dot patterns in the grid for as many as nine print columns (three across and three down).
49
RSLL776-0
Figure 12. Specifying the Grid Pattern for Example 3 (Points B7 through BC)
Use Table 3 on page 53 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 13 on page 51.
50
RSLL777-0
Figure 13. Completing the Code Points for Example 3 (Points B7 through BC)
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
51
00 7E 81 3C C3 24 81 7E 00
0111
1110
Hex 7
Hex E
Hex 7E
RSLL764-1
Use the form in Figure 15 on page 53 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).
52
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 0000 0001 0010 0011 0100 0101 0110 0111 Hex Digits 0 1 2 3 4 5 6 7 Bit Patterns 1000 1001 1010 1011 1100 1101 1110 1111 Hex Digits 8 9 A B C D E F
53
RSLL766-0
Constant values can be: v A character value, in which each character prints as you specify it. The number of characters is equal to the printed length of the field. (Within the value, two adjacent apostrophes are printed as one.) See example 1 below. v A hexadecimal value, in which two characters identify a code point in the character set. These characters print in this field (define alternate characters using DFNCHR). The printed length is half the number of characters you specify between apostrophes. You must specify the TRNSPY keyword if you specify a hexadecimal value for DFT. See example 2 below. 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
54
01 02
The specifications DFT(ON) and ON are equivalent and show the difference between specifying DFT explicitly and implicitly. If indicator 01 is on, this prints:
Hotel name: Terrace Inn
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 1 2 00010A R RECORD DFNCHR(X7C X007E813CC324817E00) 00020A 3 58 4DFT(X7C) 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(X7C) X7C DFT()
The TRNSPY keyword 4 is required when hexadecimal values are specified for DFT.
55
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. Option indicators are valid for this keyword. Example:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+.... A A R RECORD1 A 02 DOCIDXTAG(Policy Number 43127 + A GROUP)
56
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 2 n *E1 The paper is fed from the first drawer on the sheet-feed paper handler. The paper is fed from the second drawer on the sheet-feed paper handler. The paper is fed from the nth drawer on the sheet-feed paper handler. 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.
57
| 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.
58
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.
The possible values are: *NO *YES The output is printed on one side of the paper. The output is printed on both sides of the paper, with the top of each printed page at the same end of the sheet of paper. This is usually done for output that is bound at the side.
*TUMBLE The output is printed on both sides of the paper, with the top of one printed page at the opposite end from the top of the other printed page. This is usually done for output that is bound at the top. 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.
59
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. Option indicators are valid for this keyword. Notes: 1. Use of this DDS keyword will cause a spool file to be generated that will not be correctly printed when sending the spool file to MVS. The spool file with not print and will be held on the output queue by PSF/MVS. 2. 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 specifying DEVTYPE(*APDS). Example: The following example shows how to specify the DUPLEX keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A* A R REC1 DUPLEX(*YES) A FLD1 5A 60 10 A*
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 63 for more information.
60
61
Edit Codes 1 2 3 4 A B C D J K L M N O P Q W Y Z
2 3
Leading Zero Suppressed Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Yes Yes
Yes Yes
Yes Yes
62
Commas1 Printed
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.
63
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 62. 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 62. 4. The Z edit code removes the sign (plus or minus) and suppresses leading zeros.
64
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. For more information: v Parts of an edit word v Forming the body of an edit word v Forming the status of an edit word v Formatting the expansion of an edit word
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.
Asterisk Placing an asterisk in the farthest right position where zero suppression is to stop, stops zero
Chapter 2. Keyword entries for printer files (positions 45 through 80)
65
where _ represents a blank. v If you want to show a negative sign with a negative number, include a sign in the edit word. Use either the minus sign () or the letters CR (credit) to the right of the last digit replacement character. These print only if the number is negative.
66
Figure 17 on page 68 shows sample edit words with the program value of the field and the printed value of the field (as edited).
67
68
A page eject always occurs after REC1 prints. 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.
69
In the example, RECORD1 ends a group that had been previously started with the STRPAGGRP keyword.
70
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. Option indicators are not valid for this keyword. Example: The following example shows how to specify the FLTPCN keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00090A FIELDA 17F 4 2 3FLTPCN(*DOUBLE) A
71
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. | | | | You can specify the point-size height and point-size width as constants, as program-to-system fields, or as a combination of both, as shown in the following examples: v [(*POINTSIZE height-value &field1)] v [(*POINTSIZE &field2 width-value)]
| When you specify the point-size height-value or width-value as a program-to-system field, the fields must | exist in the same record format as the FNTCHRSET keyword. They must be defined as length 4 with 1 | decimal position, data type S, and usage P (program-to-system). 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. If you do not specify a point size for an outline 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 font character set and code page values are validated at print time. An error message is issued if they are not valid.
72
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.
73
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. | | | | You can specify the point-size height and point-size width as constants, as program-to-system fields, or as a combination of both, as shown in the following examples: v [(*POINTSIZE height-value &field1)] v [(*POINTSIZE &field2 width-value)]
| When you specify the point-size height-value or width-value as a program-to-system field, the fields must | exist in the same record format as the FONT keyword. They must be defined as length 4 with 1 decimal | position, data type S, and usage P (program-to-system). For non-scalable printer-resident fonts, the point size parameter is ignored. For DEVTYPE(*IPDS), the width parameter of the point size is ignored. 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 name of a graphic font can consist of up to 10 alphanumeric characters. 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. Vector fonts are valid only for the following characters: A through Z 0 through 9 Special characters (. + $ * - / % and a blank)
74
75
05
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. FLD4 uses Goudy old style (FONT(4919)). FLD5 specifies font 416 with a vertical point size of 5.0 and a horizontal point size of 3.0. |
| Use this file-level, record-level, or field-level keyword to specify the TrueType font name for printing a | named or constant field within a record. | The format of the keyword is: FONTNAME(font-name-string | &font-name-field | (*POINTSIZE height-value | &height-value-field | width-value | &width-value-field) | [(*ROTATION rotation-value | &rotation-value-field)] | [(*CODEPAGE [library-name/ | &library-name-field/] | code-page-name | &code-page-name-field)] | [(*IGCCODEPAGE [library-name/ | &library-name-field/] | IGC-code-page-name | &IGC-code-page-name-field)]) | | When a program-to-system field is described below for a FONTNAME parameter, the program-to-system | field is allowed only when the keyword is used at the record or field level. | The font-name parameter is required. It can be up to 125 characters long. | | | | You can specify the font-name as a constant string or as a program-to-system field, as shown in the following examples: v (font-name-string... v (&field1...
| The following fonts are shipped with OS/400 (installed with BOSS option 43 Additional fonts): | v Monotype Sans WT | v Monotype Sans WT J | v Monotype Sans WT K | v Monotype Sans WT SC | v Monotype Sans WT TC | v Monotype Sans Duospace WT | v Monotype Sans Duospace WT J
76
| v Thorndale Mono WT TC | When you specify the font-name as a program-to-system field, the field must exist in the same record | format as the FONTNAME keyword. It must be defined as data type A (character), usage P | (program-to-system), and its length must not exceed 125 characters. | | | | | | Use the point-size parameter to further define a TrueType font, which requires a point size. Specify the point-size parameter as an expression of the 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 (height and width the same), then you only need to specify the height value. If you want to specify a width value, then you must also specify the height value. The valid values for the height and width parameters are 0.1 through 999.9.
| If you omit the point-size parameter, unpredictable results will occur when the file is printed. | You can specify the height-value and width-value as constants, as program-to-system fields, or as a | combination of both, as shown in the following examples: | v (*POINTSIZE height-value width-value)... | v (*POINTSIZE &field1 &field2)... | v (*POINTSIZE &field1 width-value)... | v (*POINTSIZE height-value &field2)... | When you specify the height-value or width-value as a program-to-system field, the fields must exist in the | same record format as the FONTNAME keyword. They must be defined as length 4 with 1 decimal | position, data type S (zoned decimal), and usage P (program-to-system). | Use the optional rotation parameter to specify the clockwise rotation, in degrees, for the printed characters. | Specify the rotation parameter as an expression of the form | [(*ROTATION rotation-value | &rotation-value-field)] | Valid values are integers 0, 90, 180, and 270. To achieve vertical printing of a field, specify a rotation value | of 270 and also specify the field-level TXTRTT keyword. | | | | You can specify the rotation value as a constant or as a program-to-system field, as shown in the following examples: v [(*ROTATION rotation)]... v [(*ROTATION &field1)]...
77
| Use the optional library-name parameter to further qualify the code page. If library-name is not specified, | *LIBL is used to search for the code page. If *LIBL is used, the system-supplied font libraries are added to | the library list when searching for the requested code page. | 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 code page is validated at print time. An error message is issued if it is not valid. | | | | | You can specify the library name and code page name as constants or as program-to-system fields, as shown in the following examples: v [(*CODEPAGE [library-name/] code-page-name)]... v [(*CODEPAGE [library-name/] &field1)]... v [(*CODEPAGE [&field2/] code-page-name)]...
| v [(*CODEPAGE [&field2/] &field1)]... | When you specify the library name as a program-to-system field, the field must exist in the same record | format as the FONTNAME keyword. It must be defined as length of 10, data type A (character), and usage | P (program-to-system). | When you specify the code page name as a program-to-system field, the field must exist in the same | record format as the FONTNAME keyword. It must be defined as length of 8, data type A (character), and | usage P (program-to-system). | | | | | Use the optional igccode-page-name parameter to print double-byte EBCDIC data with a TrueType font. If you do not specify either the optional code-page-name parameter or the optional igccode-page-name parameter, the print data must be Unicode-encoded. The igccode-page-name parameter can be up to 8 characters in length. The double-byte code page must be a font resource (*FNTRSC) object with the code page (CDEPAG) attribute that reflects the encoding of the print data.
| Use the optional library-name parameter to further qualify the double-byte code page. If library-name is not | specified, *LIBL is used to search for the double-byte code page. If *LIBL is used, the system-supplied font | libraries are added to the library list when searching for the requested double-byte code page. | 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 double-byte code page is validated at print time. An error message is issued if it is not valid. You can specify the library name and double-byte code page name as constants or as program-to-system fields, as shown in the following examples: v [(*IGCCODEPAGE [library-name/] igccode-page-name)]...
78
| Option indicators are valid for this keyword. | Example: | The following example shows how to specify the FONTNAME keyword. | |...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A* | A R REC1 FONTNAME(Monotype Sans Duospace WT + | A (*POINTSIZE 15.1) + | A (*CODEPAGE USERLIB/CDP1)) | A* | A FLD1A 14G 3 8FONTNAME(Monotype Sans WT + | A (*POINTSIZE 10.0)) + | A CCSID(13488 *NOCONVERT) | A* | A FLD2A 6A 4 8FONTNAME(Monotype Sans Duospace WT + | A (*POINTSIZE 99.9) + | A (*CODEPAGE USERLIB/&DATA1)) | A DATA1 8A P | A* | A FLD3A 10G 5 8FONTNAME(Times New Roman WT J + | A (*POINTSIZE 5.0 3.0) + | A (*ROTATION 270) + |
Chapter 2. Keyword entries for printer files (positions 45 through 80)
79
FLD5A
8A
| FLD1A is printed using a TrueType Font called Monotype Sans WT, with Unicode data, a CCSID of | 13488, and a point size of 10.0. | FLD2A is printed using a TrueType Font called Monotype Sans Duospace WT. It allows the application | program to specify the code page name by setting the field &DATA1. The code page exists in library | USERLIB. The point size is 99.9. | FLD3A is printed using a TrueType Font called Times New Roman WT J, a double-byte code page | IGCCDP1, which exists in library USERLIB, a vertical point size of 5.0 and a horizontal point size of 3.0. | The individual characters will be rotated 270 degrees in a clockwise direction. | | | | FLD4A is printed using a TrueType Font called Times New Roman WT J, code page CDP2, which exists in library USERLIB, double-byte code page IGCCDP2, which exists in library USERLIB, a vertical point size of 7.0 and a horizontal point size of 5.0. The individual characters will be rotated 90 degrees in a clockwise direction. The text will also be rotated 270 degrees, resulting in vertical printing.
| FLD5A is printed using a TrueType Font called Monotype Sans Duospace WT, code page CDP1, which | exists in library USERLIB, and a point size of 15.1.
80
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). When you specify the position-down, position-across, graphic-depth, or graphic-width parameters as program-to-system fields, the fields must be defined as length 5 with 3 decimal positions, data type S, and usage P. When you specify the graphic-rotation parameter as a program-to-system field, the field must be defined as having a length of 3 with zero decimal positions. 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.).
81
82
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. REC4 prints THATGRAF only if indicator 01 is on. 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)
83
0 1 2 3 4 5 6 7
10
X Margin of 2 Units Down and 2 Units Across GDF positioned as 4 units down and 4 units across. Position obtained by adding value of margins plus values of GDF position. (2.0 down and 2.0 across)
RV2H334-2
84
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. Option indicators are not valid for this keyword. 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
Chapter 2. Keyword entries for printer files (positions 45 through 80)
85
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. Option indicators are valid for this keyword. Example:
86
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. Option indicators are valid for this keyword. Example: The following example shows how to specify the INVMMAP keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A A R RECORD1
87
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)
88
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 104 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. You can specify this keyword a maximum of 40 times on a record. You cannot specify LINE with 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). Option indicators are valid for this keyword. Example 1:
Chapter 2. Keyword entries for printer files (positions 45 through 80)
89
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: The following coding example uses DDS and P-fields.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 * R REC1 LINE(4 3 5 *HRZ .01) LINE(&FLD1&FLD2 2 *VRT .015 *RIGHT) FLD1 FLD2 5S 3P 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
90
4, 6, 8, 9, and 12 are the valid parameter values. 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.
91
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.
92
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 with blanks (hex 40). If the message description is longer than the length specified, the message description is truncated to the specified length and a warning message appears. 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: The following example shows how to specify the MSGCON keyword. |...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A R RECORD1 00020A 2 1MSGCON(10 MSG0001 MESSAGES/MSGF) A MSG0001 in message file MSGF in library MESSAGES contains the message text.
The possible values are: *DEVD The destination of the output is the device default output bin. output-bin Specify the output bin for the destination of the output. Valid values range from 1 through 65535.
93
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. Option indicators are valid for this keyword. Notes: 1. Use of this DDS keyword will cause a spool file to be generated that will not be correctly printed when sending the spool file to MVS. The spool file with not print and will be held on the output queue by PSF/MVS. 2. 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 following example shows how to specify the OUTBIN keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A* A R REC1 OUTBIN(2) A FLD1 5A 60 10 A*
94
The overlay-name, position-down, and position-across parameters are required. 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. You can specify the library-name, overlay-name, position-down, position-across, and rotation parameters as constants, program-to-system fields, or a combination of both, as shown in the following: v [library-name/]overlay-name... v [library-name/]&field1... v [&field2/]overlay-name... v [&field3/]&field4... 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 and rotation. book for information on overlays
95
You cannot specify OVERLAY with 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). Option indicators are valid for this keyword. Example 1: The following example shows how to specify the OVERLAY keyword. |...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A* A R REC1 OVERLAY(MYLIB/OVL04 1.234 14.62) A* A R REC2 OVERLAY(&LIB/&OVLS &POSD &POSA); A LIB 10A P A OVLS 8A P A POSD 5S 3P A POSA 5S 3P A* A R REC3 OVERLAY(MYOVL 11.219 0.2) A OVERLAY(YOUROVL 7.3 9.27) A* A R REC4
96
Note: The UOM parameter on the CRTPRTF command determines the units of measure for the parameter values. REC1 prints overlay OVL04 found in library MYLIB. The overlay prints 1.234 units down and 14.62 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 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. REC4 prints MYLOGO only if indicator 01 is on. 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: The second coding example uses DDS and P-fields.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 * * R REC1 MYLIB MYOVL OFFD OFFA 10A P 8A P 5S 3P 5S 3P OVERLAY(&MYLIB/&MYOVL + &OFFD &OFFA
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
97
98
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.
99
100
The page-segment-name, position-down, and position-across parameters are required. 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. You can specify the library-name, page-segment-name, position-down, position-across, width, height and rotation parameters as constants, program-to-system fields, or a combination of both, as shown in the following: v [library-name/]page-segment-name... v [library-name/]&field1... v [&field2/]page-segment-name... v [&field3/]&field4... 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).
101
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). Option indicators are valid for this keyword. Example 1: The following example shows how to specify the PAGSEG keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A* A R REC1 PAGSEG(MYLIB/PAGSEG5 3.527 4.162) A* A R REC2 PAGSEG(&LIB/&PSEG &POSD &POSA); A LIB 10A P A PSEG 8A P A POSD 5S 3P A POSA 5S 3P A* A R REC3 PAGSEG(MYSEG 0.0 3.759)
102
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. REC3 prints two page segments. MYSEG prints 0 units down and 3.759 units across from the margins specified on the FRONTMGN or BACKMGN parameter on the CRTPRTF command. YOURSEG prints 0 units down and 5.233 units across from the margins specified on the CRTPRTF command. Both page segments are located using *LIBL. REC4 prints MYSEG only if indicator 01 is on. Example 2: The second coding example uses DDS and P-fields.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 * R REC1 PAGSEG(&MYLIB/&PAGSEG + &OFFD &OFFA * MYLIB 10A P PAGSEG 8A P OFFD 5S 3P OFFA 5S 3P
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.
103
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.). The position-across parameter is required and defines the horizontal 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)
104
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.
Chapter 2. Keyword entries for printer files (positions 45 through 80)
105
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. Option indicators are allowed for this keyword. Example: The following example shows how to specify the PRTQLTY keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A R RECORD A FIELD3 10S O 4 65BARCODE(UPCE 6) A PRTQLTY(*DRAFT) A
The UPCE bar code in FIELD3 will be printed with draft quality.
106
FLD1 has the same attributes as the first (or only) FLD1 in FILE1. Example 2:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A REF(LIB1/FILE1 RECORD2) 00020A R RECORD 00030A FLD1 R 2 2 A
107
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. Note: IDDU files cannot be used as reference files. Option indicators are not valid for this keyword. Example: The following example shows how to specify the REFFLD keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A R FMAT1 00020A ITEM 5 1 00030A ITEM1 R 2REFFLD(ITEM) 00040A ITEM2 R 12REFFLD(FMAT1/ITEM) 00050A ITEM3 R 22REFFLD(ITEM FILEX) 00060A ITEM4 R 32REFFLD(ITEM LIBY/FILEX) 00070A ITEM5 R 42REFFLD(FMAT1/ITEM LIBY/FILEX) 00080A ITEM6 R 52REFFLD(ITEM *SRC) A
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.
108
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. Option indicators are valid for this keyword. Example: The following example shows how to specify the SKIPA keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00011A FIELDA 132A 1SKIPA(12) A
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.
109
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. 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 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. Option indicators are valid for this keyword. Example: The following example shows how to specify the SPACEA keyword.
110
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. Option indicators are valid for this keyword. Example: The following example shows how to specify the SPACEB keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A FIELDA 25A 55SPACEB(3) 00011A FIELDB 30 100 A
| | | | | |
| The format of the keyword is: | STAPLE([on/off-indicator]) | | | | When a STAPLE keyword is processed, the printer ejects a page, and all previous pages that have been stacked since the last staple operation are stapled together. This includes pages that were processed since the beginning of the spool file, since the last STAPLE keyword was issued, or since stapling resumed after the last STAPLE(*ON) was issued.
| For example, for simple printing, if the STAPLE keyword where issued at the beginning of page 5, then the | previous 4 pages would be stapled together. Some printers may not support the stapling of a single page.
Chapter 2. Keyword entries for printer files (positions 45 through 80)
111
STAPLE 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, ENDPAGE, FORCE, or INVMMAP keyword is processed that causes the printer to move to a new page. STAPLE, SKIP, and SPACE keywords are processed in the following order:
SKIPB SPACEB STAPLE SPACEA SKIPA
The stapling operation will cause the eject of the current sheet of paper. When duplexing is in effect (specified on the printer file or DDS), if STAPLE is issued when starting an odd page (for example, page 5), then the previous 4 pages (2 sheets of paper) will be stapled. If STAPLE is issued when starting an even page (for example, page 6), then the previous 5 pages (3 sheets of paper) will be stapled. The back side of the third sheet of paper will be blank.
| STAPLE is valid only for printer files defined with DEVTYPE(*AFPDS). | Option indicators are valid for this keyword. Only one STAPLE keyword for each record format is valid at | any time. | | | | | | | | | | | | | | | | | | Example:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A R RECORD1 SKIPB(3) 00020A FIELD1 10 1SPACEA(1) 00030A FIELD2 5 1SPACEA(1) 00040A R RECORD2 STAPLE 00050A FIELD1 5 1 00060A R RECORD3 STAPLE SKIPB(1) 00070A FIELD1 10 1 00080A 00090A R RECORD4 STAPLE(*OFF) SKIPB(1) 00100A
The printer is not on a page boundary after record format RECORD1 is processed. When record format RECORD2 is processed, STAPLE is ignored. Because SKIPB(1) is specified on RECORD3, the printer is on a page boundary when STAPLE is processed. All previous processed pages since the last stapling operation will be stapled together. RECORD 4 turns off stapling. All previous processed pages since the last stapling operation will be stapled together. Stapling will not resume unless a STAPLE(*ON) is issued on a another record format.
112
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. Option indicators are valid for this keyword. Example: The following example shows how to specify the STRPAGGRP keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+.... A A R RECORD1 A 02 STRPAGGRP(ACCOUNT NUMBER) A R RECORD2 STRPAGGRP(&GROUP) A GROUP 50A P A
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. Option indicators are not valid for this keyword. Example:
Chapter 2. Keyword entries for printer files (positions 45 through 80)
113
If the system time is 110645, the time prints as follows: v If option indicator 20 is on, the time prints as
11:06:45
The following table describes the valid time formats and their default separators.
Format Name Hours:Minutes:Seconds International Standards Organization IBM USA Standard IBM European Standard Japanese Industrial Standard Christian Era Time Format Parameter *HMS *ISO *USA *EUR *JIS Time Format and Separator hh:mm:ss hh.mm.ss hh:mm AM or hh:mm PM hh.mm.ss hh:mm:ss Field Length 8 8 8 8 8 Example 14:00:00 14.00.00 2:00 pm 14.00.00 14:00:00
114
If you want to display 2 oclock p.m., the following values appear where RECORD1 is written.
TIMFLD1 TIMFLD2 TIMFLD3 14.00.00 02:00 PM 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.
115
If you want to display 2 oclock 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 TIMFLD2 TIMFLD3 14 00 00 14.00.00 14:00:00
116
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.
Chapter 2. Keyword entries for printer files (positions 45 through 80)
117
FLD05 in REC1 is rotated 90 degrees. FLD06 in REC2 is rotated 270 degrees. Example 2: The following example shows how to specify the TXTRTT keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 * R REC1 FLD05 16 3 5TXTRTT(0) * R REC2 FLD06 16 TXTRTT(270) POSITION(6 7)
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. The diagram below shows: v The position of FLD05 in REC1 with the row/column method of positioning. Rotation is 0 degrees. v The position of FLD06 in REC2 with the absolute method of positioning. Rotation is 270 degrees. Scale and position should not be considered in this diagram.
118
119
The possible values are: reference-edge: *BOT *RIGHT The reference edge is the right edge of the media. *TOP The reference edge is the top edge of the media. The reference edge is the bottom 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
120
When REC1 is printed, it will be z-folded by the printers post processor. 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. Refer to your printers documentation for additional information on the z-fold operation. Option indicators are valid for this keyword. Notes: 1. Use of this DDS keyword will cause an OS/400 spooled file to be generated that will not be correctly printed when sending the spooled file to MVS. The spooled file with not print and will be held on the output queue by PSF/MVS. 2. 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 a IPDS printer using this keyword and specifying DEVTYPE(*AFPDS).
121
122
123
124
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. Length (positions 30 through 34): 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 fields default print length is equal to the fields 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 fields print length separately from the program length. Data type (position 35): 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. Decimal positions (positions 36 and 37): Leave these positions blank when using 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.
Copyright IBM Corp. 2001, 2002
125
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, the application must also use either a TrueType font or one of the AFP Unicode migration fonts. If you do not specify either a TrueType font or one of the AFP Unicode migration fonts, the output will be interpreted as single-byte data and will probably be unprintable.
| If *NOCONVERT is active for a printer file whose DEVTYPE is *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 a TrueType font with the FONTNAME keyword, or specify an AFP Unicode migration font character set and code page with the FNTCHRSET keyword. 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 fields output buffer length.
126
v X is the UCS-2 CCSID associated with the field data. Y is the alternate-field-length of this field. If you did not specify Y, then the default printed field length of FLD1 is 20 printed positions (twice the number of UCS-2 characters specified on the field length). v If you know that the UCS-2 data is constructed from single byte data, you could specify the alternate-field-length, Y, as 5 UCS-2 characters; FLD1 would have a printed field length of 10 printed positions (twice the number of UCS-2 characters specified on the alternate-field-length). v If you know that the UCS-2 data is constructed from double byte data, you could specify the alternate-field-length, Y, as 11 UCS-2 characters; FLD1 would have a printed field length of 22 printed positions (twice the number of UCS-2 characters specified on the alternate-field-length). This allows space for the shift-out and shift-in characters. 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. Option indicators are not valid for this keyword. Example: The following example shows how to specify the CCSID keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 00010A CCSID(13488) 00010A R RECORD1 00020A FIELD1 30G 00030A FIELD2 10G CCSID(61952 *CONVERT 6) 00010A R RECORD2 CCSID(61952 *NOCONVERT) 00020A FIELD3 20G A
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.
127
128
129
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 following keywords are described below: v CHRSIZ (Character Size) v DFNLIN (Define Line) v IGCALTTYP (Alternative Data Type) v IGCANKCNV (Alphanumeric-to-DBCS Conversion) v IGCCDEFNT (DBCS Coded Font) v IGCCHRRTT (DBCS Character Rotation)
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. This format is valid only on the 5553 printer. Consider the following when using CHRSIZ(width [height]): v It can be used for both DBCS and alphanumeric data. v It can be specified with the IGCCHRRTT keyword. The characters are first rotated, then expanded. v It cannot be specified on a record or on a field in a record if that record also contains COLOR, BARCODE, or LPI. v It expands characters in alphanumeric fields specified with the keyword IGCANKCNV. Characters in other alphanumeric fields are not expanded. v If you specify CHRSIZ(1) at the field level, data will be printed in its normal width even when CHRSIZ(2) is specified for the record. v Option indicators are not allowed with this keyword.
130
Example: 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. All parameters are required. A warning message will be issued at create time if:
131
v The start line value specified is larger than the page length value specified on the PAGESIZE parameter of the CRTPRTF command. v The start position value specified is larger than the page width value specified on the PAGESIZE parameter of the CRTPRTF command. v The sum of the length and the start line value for a vertical line is larger than the page length specified on the PAGESIZE parameter of the CRTPRTF command. v The sum of the length and the start position value for a horizontal line is larger than 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. Option indicators are allowed for this keyword. 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 RECORD1 format is a box. 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.
132
Put the keyword function into effect by changing the IGCDTA parameter value in the file description, using the CRTPRTF, CHGPRTF, or OVRPRTF command. Fields specified with this keyword are alphanumeric character fields when you specify IGCDTA(*NO) and are DBCS fields of data type O when you specify IGCDTA(*YES). For example, create the file by specifying IGCDTA(*NO) on the CRTPRTF command. When using the file to print DBCS data, override the file with the OVRPRTF command, specifying IGCDTA(*YES). To override the printer file IGCPRTF, type:
OVRPRTF FILE(IGCLIB/IGCPRTF) IGCDTA(*YES)
Consider the following when using the IGCALTTYP keyword. v Specify IGCALTTYP only for character fields. Do not specify it for DBCS fields. v Do not specify IGCALTTYP when other keywords defined for the field depend on the data type, because the function of this keyword is to change the data type. v Option indicators are not allowed with IGCALTTYP. v This keyword is ignored for files created with DEVTYPE(*AFPDS). v The following keywords are not allowed with the IGCALTTYP keyword: 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.
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). You may specify IGCANKCNV for any named field. Consider the following when using the IGCANKCNV keyword:
Appendix C. DBCS considerations for printer files
133
v The converted characters are printed according to the instructions specified for printing DBCS data, such as expanded characters. For example, if you specify the CHRSIZ(2) keyword, the characters converted by this keyword are doubled in width. v This conversion does not affect other attributes of a file. For example, if you specify this DDS keyword for a field that contains floating-point data, the system leaves the data in the floating-point format. Only the printed appearance of the field changes. Also, any other attributes defined for the field are still applicable, even those that are not valid for DBCS fields. v The following DDS keywords are ignored when you specify the keyword IGCANKCNV: 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 135 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
134
The alphanumeric characters printed from FLDC are converted to equivalent DBCS characters. These converted characters are then expanded because the record was specified with the DDS keyword CHRSIZ(2).
| When you specify the library-name as a program-to-system field, the field must exist in the same record | format as the IGCCDEFNT keyword. It must be defined as length of 10, data type A (character), and | usage P (program-to-system). | When you specify the coded-font-name as a program-to-system field, the field must exist in the same | record format as the IGCCDEFNT keyword. It must be defined as length of 8, data type A (character), and | usage P (program-to-system). 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.
135
| | | |
You can specify the point-size height and point-size width as constants, as program-to-system fields, or as a combination of both, as shown in the following: v [(*POINTSIZE height-value &field1)] v [(*POINTSIZE &field2 width-value)]
| When you specify the point-size height-value or width-value as a program-to-system field, the fields must | exist in the same record format as the IGCCDEFNT keyword. They must be defined as length 4 with 1 | decimal position, data type S, and usage P (program-to-system). 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). Option indicators are valid for this keyword. Example: The following example shows how to specify the IGCCDEFNT keyword.
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A* A R REC A FLD1 24O 2 14IGCCDEFNT(XOG16B) A FLD2 24O 3 14IGCCDEFNT(USERLIB/XOG16C + A (*POINTSIZE 10.0))
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.
136
v Characters in a field specified with the IGCCHRRTT keyword are rotated 270 degrees with respect to the page for files created with DEVTYPE(*AFPDS). Only DBCS characters are rotated. v Option indicators are not allowed with this keyword. 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.
Additional considerations for describing printer files that contain DBCS data
Consider the following when describing a printer file that contains DBCS data: v If you describe fields in the file as DBCS fields, the system considers the file to be DBCS even if you do not specify IGCDTA(*YES) on the file creation command. v Specify IGCDTA(*YES) on the CRTPRTF command when DBCS data is present in the file, but is not indicated in DDS. For example, specify IGCDTA(*YES) if the file sends messages that are DBCS (DDS keyword, MSGCON). v Each printed DBCS character is twice as wide as a printed alphanumeric character. The location of a character on a printed page, as specified in DDS, is affected by the value specified for the CPI and IGCCPI parameters in the file description. Although the system does not use the CPI or IGCCPI values to determine the printed length of a field, this value does affect the physical space used on a printed form. The physical space occupied on a printed form is also affected by the method used to print the shift-control characters. Specify shift-control character printing in the file description (IGCSOSI parameter on the CRTPRTF, CHGPRTF, and OVRPRTF commands). The IGCSOSI value specified for the printer file is ignored for DBCS-graphic fields. These fields are printed as if IGCSOSI(*NO) was specified. 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.
137
138
Index A
Advanced Function Printing requirements 11 ALIAS (Alternative Name) keyword 13 Alphanumeric-to-DBCS Conversion (IGCANKCNV) keyword 133 Alternative Name (ALIAS) keyword 13 asterisk fill 61 DBCS (continued) positional entry considerations 129 DBCS Alternative Data Type (IGCALTTYP) keyword 132 DBCS Character Rotation (IGCCHRRTT) keyword 136 DBCS Coded Font (IGCCDEFNT) keyword 135 DDS file considerations UCS-2 Level 1 125 decimal position positional entry 7 Default (DFT) keyword 54 Define Character (DFNCHR) keyword 42 Define Line (DFNLIN) keyword 131 Delete Edit (DLTEDT) keyword 55 DFNCHR (Define Character) keyword 42 DFNLIN (Define Line) keyword 131 DFT (Default) keyword 54 DLTEDT (Delete Edit) keyword 55 DOCIDXTAG (Document Index Tag) keyword 56 Document Index Tag (DOCIDXTAG) keyword 56 dot matrix for 5224 and 5225 printers 51 specifying dots to be printed 52 DRAWER (Drawer) keyword 57 DTASTMCMD (Data Stream Command) keyword 58 DUPLEX (Duplex) keyword 59
B
BARCODE (Bar Code) keyword 13 Blank Fold (BLKFOLD) keyword 21 BLKFOLD (Blank Fold) keyword 21 body of edit word 65 BOX (Box) keyword 21
C
CCSID (Coded Character Set Identifier) keyword 126 CDEFNT (Coded Font Name) keyword 26 Change Printer File (CHGPRTF) command 32 Character Identifier (CHRID) keyword 27 character set CODE128 123 Character Size (CHRSIZ) keyword 28, 130 Characters Per Inch (CPI) keyword 32 CHGPRTF (Change Printer File) command 32 CHRID (Character Identifier) keyword 27 CHRSIZ (Character Size) keyword 28, 130 code point 51 CODE128 character set 123 Coded Character Set Identifier (CCSID) keyword 126 Coded Font Name (CDEFNT) keyword 26 coding example 1 COLOR (Color) keyword 30 comment positional entry 2 conditioning positional entry 2 constant fields positional entry 4 Convert Data (CVTDTA) keyword 35 CPI (Characters Per Inch) keyword 32 Create Edit Description (CRTEDTD) command 63 Create Printer File (CRTPRTF) command 9, 32 CRTEDTD (Create Edit Description) command 63 CRTPRTF (Create Printer File) command 9, 32 CVTDTA (Convert Data) keyword 35
E
Edit Code (EDTCDE) keyword 60 edit codes 61 user-defined 63 edit description creating 63 edit word formatting the expansion of 66 forming the body of 65 forming the status of 66 parts 65 Edit Word (EDTWRD) keyword 64 EDTCDE (Edit Code) keyword 60 EDTWRD (Edit Word) keyword 64 ENDPAGE (End Page) keyword 68, 69
F
field name positional entry 4 floating currency symbol 61 Floating-Point Precision (FLTPCN) keyword 71 Floating-Point to Fixed Decimal (FLTFIXDEC) keyword 70 FLTFIXDEC (Floating-Point to Fixed Decimal) keyword 70 FLTPCN (Floating-Point Precision) keyword 71 FNTCHRSET (Font Character Set) keyword 71 FONT (Font) keyword 73 Font Character Set (FNTCHRSET) keyword 71 Font name (FONTNAME) keyword 76
D
Data Stream Command (DTASTMCMD) keyword data type positional entry 6 DATE (Date) keyword 38 Date Format (DATFMT) keyword 39 Date Separator (DATSEP) keyword 41 DATFMT (Date Format) keyword 39 DATSEP (Date Separator) keyword 41 DBCS additional considerations 137 keyword entry considerations 130
Copyright IBM Corp. 2001, 2002
58
139
FONTNAME (Font name) keyword 76 FORCE (Force) keyword 80 form type positional entry 2 formatting the expansion of an edit word
O
66 OUTBIN (Output bin) keyword 93 Output bin (OUTBIN) keyword 93 OVERLAY (Overlay) keyword 94 Override with Printer File (OVRPRTF) command OVRPRTF (Override with Printer File) command 32 32
G
GDF (Graphic Data File) keyword Graphic Data File (GDF) keyword 81 81
P
Page Number (PAGNBR) keyword 98 Page Rotation (PAGRTT) keyword 99 Page Segment (PAGSEG) keyword 100 PAGNBR (Page Number) keyword 98 PAGRTT (Page Rotation) keyword 99 PAGSEG (Page Segment) keyword 100 parts of edit word 65 POSITION (Position) keyword 104 position positional entry 9 positional entries DBCS considerations 129 UCS-2 Level 1 considerations 125 positional entries for printer files 2 Print Quality (PRTQLTY) keyword 106 printer files coding example 1 keyword entries 11 positional entries 2 UCS-2 Level 1 125 PRTQLTY (Print Quality) keyword 106
H
hexadecimal digits for bit patterns 53 HIGHLIGHT (Highlight) keyword 84
I
IGCALTTYP (DBCS Alternative Data Type) keyword 132 IGCANKCNV (Alphanumeric-to-DBCS Conversion) keyword 133 IGCCDEFNT (DBCS Coded Font) keyword 135 IGCCHRRTT (DBCS Character Rotation) keyword 136 implied code page 75 INDARA (Indicator Area) keyword 85 Indicator Area (INDARA) keyword 85 Indicator Text (INDTXT) keyword 85 INDTXT (Indicator Text) keyword 85 INVDTAMAP (Invoke Data Map) keyword 86 INVMMAP (Invoke Medium Map) keyword 87 Invoke Data Map (INVDTAMAP) keyword 86 Invoke Medium Map (INVMMAP) keyword 87
R
record format name positional entry 4 REF (Reference) keyword 106 reference positional entry 4 Referenced Field (REFFLD) keyword 107 REFFLD (Referenced Field) keyword 107 reserved positional entry 3
K
keyword entries 11 DBCS considerations 130 keywords requiring Advanced Function Printing 11
L
length positional entry 5 LINE (Line) keyword 88 line positional entry 9 Lines Per Inch (LPI) keyword location positional entry 8 LPI (Lines Per Inch) keyword 91 91
S
sequence number positional entry 2 SKIPA (Skip After) keyword 109 SKIPB (Skip Before) keyword 109 SPACEA (Space After) keyword 110 SPACEB (Space Before) keyword 111 specifying dots to be printed 52 Staple (STAPLE) keyword 111 STAPLE (Staple) keyword 111 Start Page Group (STRPAGGRP) keyword 113 status of edit word 66 STRPAGGRP (Start Page Group) keyword 113
M
Message Constant (MSGCON) keyword MSGCON (Message Constant) keyword 93 93
N
name positional entry 3 name type positional entry 3
T
TEXT (Text) keyword 113 Text Rotation (TXTRTT) keyword 117 TIME (Time) keyword 114 Time Format (TIMFMT) keyword 114 Time Separator (TIMSEP) keyword 115
140
TIMFMT (Time Format) keyword 114 TIMSEP (Time Separator) keyword 115 Transparency (TRNSPY) keyword 116 TRNSPY (Transparency) keyword 116 TXTRTT (Text Rotation) keyword 117
U
UCS-2 Level 1 DDS file considerations 125 positional entry consideration 125 printer files 125 UNDERLINE (Underline) keyword 119 usage positional entry 8 user-defined edit codes 63
Z
ZFOLD (Z-fold) keyword 120
Index
141
142
Printed in U.S.A.