Xerox DOCUPRINT 4050 User Manual

Page 1
XEROX
Xerox 4050/4090/4450/4650 Laser Printing Systems Print Description Language (PDL) Reference
April 1995 720P94090
Page 2
Xerox Corporation 701 S. Aviation Boulevard El Segundo, CA 90245
© 1991, 1992, 1993, 1994, 1995 by Xerox Corporation. All rights reserved.
Copyright protection claimed includes all forms and matters of copyrightable material and information now allowed by statutory or judicial law or hereinafter granted, including without limitation, material generated from the software programs which are displayed on the screen, such as icons, screen displays, looks, etc.
Printed in the United States of America Publication number: 720P94090 Xerox® and all Xerox products mentioned in this publication are
trademarks of Xerox Corporation. Products and trademarks of other companies are also acknowledged.
Changes are periodically made to this document. Changes, technical inaccuracies, and typographic errors will be corrected in subsequent editions.
This document was created on the Xerox 6085 Professional Computer System using GlobalView software. The typeface is Optima.
Page 3

Table of contents

Introduction xiii

Document conventions xiii Related publications xiv

1. Overview 1-1

Input datastreams 1-1 Offline mode 1-1
Host tape formats 1-2 Data representation 1-2 Packed data formats 1-2 Record formats 1-3 Record structure 1-3 Multivolume processing 1-3
Online mode 1-4
4245 protocol emulation features 1-4 Online-specific commands 1-4 DJDE processing 1-5 Copy-sensitive CMEs 1-5 Report separation 1-5 Online record length 1-5 Online recovery 1-6 Online dump 1-6 Downloading files from the host to the LPS 1-9 FCBs 1-10 Vertical format control processing 1-10 UCSBs for 3211 1-11
PDL command and DJDE syntax 1-12
Command length 1-13 Identifiers 1-13 Command keywords 1-14 Parameter keywords 1-14 Parameter options 1-14 Value constants 1-15 String constants 1-15
JSL structure 1-18
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE iii
Page 4
TABLE OF CONTENTS
JDL name 1-18 ID level 1-18 System or JDL level 1-18 Catalog level 1-19 Job or JDE level 1-19 Comments 1-19 END command 1-20 Hierarchy of replacement 1-20 PDL library 1-24
JDL creation 1-25
Required components of a JSL 1-25
Steps in creating a JDL 1-25 JDL coding 1-26 Data definition commands 1-27 Print format commands 1-27 Print control (DJDE) commands 1-28
DJDE orientation 1-29
DJDE record specification 1-32
Application of DJDEs 1-33
DJDE operator information pages 1-35
Job parameter modification restrictions 1-35 Logical processing commands 1-37
Logical processing command format 1-38
Logical processing commands with TEST parameters 1-39
TEST expression definition 1-39
String comparison concepts 1-39
Character types 1-40
Masked comparisons using default type assignments 1-40 JSL compilation 1-41
Printing a job 1-41
2. Data definition commands 2-1
Input processing commands 2-1
BLOCK 2-1
ADJUST 2-1 CONSTANT 2-1 FORMAT 2-2 LENGTH 2-2 LMULT 2-2 LTHFLD 2-3 OFFSET 2-3
iv XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 5
TABLE OF CONTENTS
POSTAMBLE 2-3 PREAMBLE 2-4
ZERO 2-4 BLOCK example 2-4 ac:CODE 2-5
ASSIGN 2-5
DEFAULT 2-5 IDEN 2-6
OFFSET 2-6
OPRINFO 2-7
PREFIX 2-7
SKIP 2-8 ac:PCC 2-8
ADVTAPE 2-8
ASSIGN 2-9
DEFAULT 2-10
INITIAL 2-11
MASK 2-11 RECORD 2-12
ADJUST 2-12
CONSTANT 2-12
FORMAT 2-12
LENGTH 2-13
LMULT 2-13
LTHFLD 2-14
OFFSET 2-14
POSTAMBLE 2-14
PREAMBLE 2-14
STRUCTURE 2-15 RECORD example 2-15 ac:TCODE 2-17
DEFAULT 2-18
TASSIGN 2-18
TRESET 2-19 VOLUME 2-20
BMULT 2-20
CODE 2-20
EOV 2-21
HOST 2-22
INTERPRESS 2-23
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE v
Page 6
TABLE OF CONTENTS
LABEL 2-24
LCODE 2-24
LPACK 2-25
MAXLAB 2-25
MINLAB 2-25
OPTIMIZE 2-26
OSCHN 2-26
OSHDP 2-27
PLABEL 2-27
RMULT 2-27
RSAT 2-27
TCODE 2-28
UNPACK 2-28
VCODE (XDDI only) 2-29 VOLUME example 2-30
3. Print format commands 3-1
Print format command functions 3-1
ABNORMAL 3-1
ERROR 3-1
OTEXT 3-2
SECURITY 3-3 ACCT 3-4
DEPT 3-4
USER 3-5 ACCT example 3-6 ac:CME 3-6
CONSTANT 3-6
FONT 3-7
LINE 3-8
POSITION 3-9 EXPORT (XDDI only) 3-9
SEPARATORS 3-10
SNUMBER 3-11
SPLIT 3-11
SRECOVER 3-12
STIMING 3-12 LINE 3-13
DATA 3-13
FCB 3-14
FONTINDEX 3-14
vi XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 7
TABLE OF CONTENTS
MARGIN 3-16
OVERPRINT 3-16
PCC 3-17
PCCTYPE 3-17
UCSB 3-18
VFU 3-18 LINE example 3-19 MESSAGE 3-20
ITEXT 3-20
OTEXT 3-20 OUTPUT 3-21
BFORM 3-23
COLLATE 3-24
COPIES 3-24
COVER 3-24
CYCLEFORMS 3-25
DENSITY 3-26
DESTINATION 3-26
DUPLEX 3-26
FACEUP 3-27
FEED 3-27
FORMAT 3-28
FORMS 3-30
GRAPHICS 3-30
IMAGE 3-31
MODIFY 3-32
NTO1 3-32
NUMBER 3-33
OFFSET 3-34
PAPERSIZE 3-34
PURGE 3-35
RESOLUTION 3-35
SHIFT 3-36
SIZING 3-36
STAPLE 3-37
STOCKS 3-37
UNITS 3-38 OUTPUT examples 3-38 ac:PDE 3-38
BEGIN 3-40
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE vii
Page 8
TABLE OF CONTENTS
FONTS 3-40
PMODE 3-41
ac:PDE examples 3-41 ac:ROUTE 3-42
RFORM 3-42
RTEXT 3-42 ac:STOCKSET 3-44
ASSIGN 3-44
INIFEED 3-44
SYSPAGE 3-45
ac:STOCKSET example 3-46 ac:VFU 3-46
ASSIGN 3-47
BOF 3-48
TOF 3-48 ac:VFU example 3-48
4. Logical processing commands 4-1
BANNER 4-1
HCOUNT 4-1
HJOBNO 4-2
HRPTNA 4-2
TCOUNT 4-2
TEST 4-3
TYPE 4-4 BDELETE 4-4
TEST 4-4 BSELECT 4-5
TEST 4-5 BSELECT example 4-5 ac:CRITERIA 4-6
CHANGE 4-7
CONSTANT 4-8
LINENUM 4-8
VALUE 4-9 LMODIFY 4-11
TEST 4-11 RAUX 4-12
TEST 4-12 RAUX example 4-13 RDELETE 4-13
viii XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 9
TABLE OF CONTENTS
TEST 4-13 RDELETE example 4-13 RFEED 4-14
TEST 4-14 ROFFSET 4-15
PASSES 4-15
TEST 4-15 ROFFSET example 4-16 RPAGE 4-16
SIDE 4-16
TEST 4-19
WHEN 4-19 RRESUME 4-21
BEGIN 4-21
TEST 4-21 RRESUME example 4-22 RSELECT 4-23
TEST 4-23 RSTACK 4-23
ACCTINFO 4-24
DELIMITER 4-24
HRPTNA 4-25
PRINT 4-25
TEST 4-26 RSTACK example 4-26 RSUSPEND 4-27
BEGIN 4-27
TEST 4-28 ac:TABLE 4-28
CONSTANT 4-29
MASK 4-29 ac:TABLE example 4-30
5. Print control (DJDE) commands 5-1
ALTER 5-1 ASSIGN 5-2 BATCH 5-2 BEGIN 5-3 BFORM 5-3 BOF 5-4 C text 5-4
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE ix
Page 10
TABLE OF CONTENTS
CANCEL 5-4 COLLATE 5-5 COPIES 5-5 DATA 5-6 DEPT 5-6 DESTINATION 5-6 DUPLEX 5-7 END 5-7 FEED 5-7 FILE 5-8 FONTINDEX 5-11 FONTS 5-11 FORMAT 5-12 FORMS 5-12 GRAPHICS 5-13 IMAGE 5-14 ITEXT 5-15 JDE 5-15 JDL 5-16 MARGIN 5-16 MODIFY 5-16 NUMBER 5-17 OTEXT 5-18 OVERPRINT 5-18 PMODE 5-19 RFORM 5-19 RTEXT 5-20 SAVE 5-21 SEPARATORS 5-21 SHIFT 5-22 SIDE 5-23 SNUMBER 5-24 SPLIT 5-25 SRECOVER 5-26 STOCKS 5-27 TOF 5-27
6. Graphics 6-1
Processing modes 6-1
Batch mode 6-1 Block mode 6-1
x XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 11
TABLE OF CONTENTS
Move mode 6-2 Random mode 6-2
Tape formats 6-2
Noninterleaved 6-2 Document-interleaved 6-2 Page-interleaved 6-3 Batch mode 6-5
Online formats 6-5
Noninterleaved 6-5 Document- and page-interleaved 6-6 Batch mode 6-6 Document-interleaved graphic file transfers 6-7 Management of image files 6-7
PDL command options 6-7 Performance considerations 6-8 Graphic features restictions 6-8
7. Paper stocks and clusters 7-1
Programmer and operator tasks 7-1 The CLUSTER.LIB file 7-1 Paper stock commands and DJDEs 7-2 Cluster names and references 7-3
Defining stocksets 7-3 RAUX options 7-3
Creating clusters 7-4 Using clusters in print jobs 7-6
Simple and OTEXT applications 7-6 STOCKSET applications 7-6 Mixing applications 7-8
Appendices
A. PDL command summary A-1 B. Character code assignments B-1 C. Offline specifications C-1 D. Online specifications D-1 E. 4850 Highlight Color and 4135 LPS compatibility E-1
Glossary GLOSSARY-1 Index INDEX-1
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE xi
Page 12
Page 13

Document conventions

UPPERCASE BOLD BLUE Uppercase bold blue text indicates required characters or

Introduction

The Xerox 4050/4090/4450/4650 Laser Printing Systems Print Description Language Reference explains the key concepts
involved with the Xerox Print Description Language (PDL) and describes the commands and parameters you use to create and control print jobs.
This reference is intended for both novice and experienced PDL programmers. It assumes some prior knowledge or experience with computer programming.
This manual uses the following conventions:
command keywords.
UPPERCASE BLUE ITALICS Uppercase blue italics indicate optional parameter keywords,
characters, or values.
Lowercase black italics Lowercase black italics indicate variable parameter options,
(word, character, phrase, or value).
... Ellipses indicate that you can repeat a parameter option, or list a
series of parameter options.
<> Angle brackets indicate keys on the system controller keyboard.
The carat character represents a required space.
TERMINAL FONT Terminal or monospace fonts are used to represent LPS screen
responses.
UPPERCASE Uppercase letters indicate command names and parameter
keywords.
CAUTION: Cautions appear immediately before any action or omission that
may result in damage to your equipment, software, or data.
WARNING: Warnings are associated with the safety of people.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE xiii
Page 14
INTRODUCTION
Related publications
You can find additional information related to the Xerox 4050/4090/4450/4650 LPS in the following publications.
Publication Number
Xerox 4050/4090/4450/4650 LPS Master Index 720P94030 Xerox 4050/4090/4450/4650 LPS Product
Reference Xerox 4050/4090/4450/4650 LPS Bypass
Transport Instructions, V3.5/3.8 Xerox 4050/4090/4450/4650 LPS Bypass
Transport Operator Training Guide Flipcharts Supplement
Xerox 4050/4090/4450/4650 LPS Bypass Transport Operator Training Guide Supplement
Xerox 4050/4090/4450/4650 LPS Command Reference
Xerox 4050/4090/4450/4650 LPS Installation Planning
Xerox 4050/4090/4450/4650 LPS Operator Command Summary
Xerox 4050/4090/4450/4650 LPS Operator Guide
Xerox 4050/4090/4450/4650 LPS Operator Training Guide
Xerox 4050/4090/4450/4650 LPS Operator Training Guide Flipcharts
720P93010
720P22320
720P22340
720P22330
720P94020
720P92990
720P93050
720P94000
720P22070
720P22080
Xerox 4050/4090/4450/4650 LPS System Administration Guide
Xerox 4050/4090/4450/4650 LPS System Administration Quick Reference Card
Xerox 4050/4090/4450/4650 LPS Forms Creation Guide
Xerox 4050/4090/4450/4650 LPS Forms Creation Quick Reference Card
Xerox 4050/4090/4450/4650 LPS Message Guide
Xerox 4050/4090/4450/4650 LPS Print Description Language (PDL) Quick Reference Card
Xerox Dynamic Document Interface Command Summary
Xerox Dynamic Document Interface Operator Guide
720P94010
720P93090
720P93990
720P93100
720P93980
720P93090
720P13680
720P13670
xiv XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 15

1. Overview

This chapter contains basic information on using the Xerox Print Description Language (PDL) to create and control print jobs.
For a job to be printed on an LPS, you first create a file of PDL commands to define the source and format of the input media, processing requirements, and the print format, such as forms, fonts, accounting options, operator messages, and finishing. Each PDL command has a set of parameters that define these characteristics.
The source or uncompiled file of PDL commands is called a Job Source Library (JSL). All JSL files must be compiled before they can be referenced to print a job. The object or compiled file of a Job Source Library file is called a Job Descriptor Library (JDL).
The primary element of a JSL is a Job Descriptor Entry (JDE). The words “JDE” and “job” and are used interchangeably. A JDE or job is a group of single data sets, called reports, that are delimited by the RSTACK command (discussed in the “Logical processing commands” chapter) or as separate files. Each JDE has a name that is specified when running the print job. If you do not override the system default settings with other particular print job characteristics in your JDL, the system default settings take effect. Default settings are set up during system generation.

Input data streams

Offline mode

Dynamic Job Descriptor Entries (DJDEs) can be inserted into the input data stream to enable you to modify print job characteristics dynamically on a page-by-page or record-by-record basis. A record is a line of data as defined in the RECORD command (discussed in the “Data definition commands” chapter).
Before anything else, you must know the source of the input data and code the input data characteristics into your JSL. Data processed by the printing system may originate from several sources, including magnetic tape (offline processing), a host computer (online processing in 3211 or 4245 modes), through remote communications, or over an Ethernet connection.
For offline operations, magnetic tape may be recorded in one of a variety of standard formats. As the programmer, you define the tape blocking and record format parameters. These parameters reduce physical tape blocks first to logical records, then to print lines. You can also code special processing commands that enable logical report processing.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-1
Page 16
OVERVIEW

Host tape formats

Data representation

Before selecting the PDL commands that describe a specific job tape, you must understand the concepts of host formats, block and record structure, tape translation code, and packed data formats.
The laser printing system (LPS) processes data tapes in standard host formats. Refer to the “Offline specifications” appendix for information on these host formats. You must specify the appropriate generated tape format in the HOST parameter of the VOLUME command. The VOLUME command is discussed in the “Data definition commands” chapter. The format of each tape is described in the Xerox LPS Tape Formats Manual.
The LPS recognizes EBCDIC, ASCII, several versions of BCD tape codes, and the Xerox LPS native format. It also accepts the VOLUME command CODE=NONE parameter which instructs the system not to translate the input data. If the codes are not sufficient for a particular tape, you may create a new code translation table or modify an existing one. Tables showing the correlation between standard recording codes and printed characters are in the “Character code assignments” appendix. Within a JDL, tape codes are selected by the CODE parameter of the VOLUME command.

Packed data formats

Six-bit characters may be written onto an open-reel tape in a 4­by-3 packed (or compressed) format. That is, four 6-bit data bytes are compressed into three 8-bit data bytes. There are two methods of packing these bits together: using the Honeywell 6000 (T4X3), or the Honeywell 2000 (T4X3H2).
Whenever an unpacking method is included in the JDL, the system unpacks the characters before processing the data. Each 6-bit character is extracted, and two high-order zeros are appended. Normally, after data is unpacked, it must be translated. The character code set is defined in the CODE parameter of the VOLUME command. For a 4-by-3 unpacking method, the data is generally encoded in BCD, and you can specify one of the three standard BCD CODE parameter options (H2BCD, H6BCD, and IBMBCD). The “Character code assignments” appendix shows an example of how 6-bit characters packed in the T4X3 method (also T4X3H2) are unpacked and then translated to ASCII by the system.
1-2 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 17

Record formats

Record structure

OVERVIEW
All tape records input to the LPS are either blocked or unblocked with a fixed length, a variable length, or an undefined format. The BLOCK and RECORD commands define the format of the input data. Tape label contents may also describe blocking and record structure and, in some cases, override BLOCK and RECORD commands specified in the JDL source file. These labels are described in the “Data definition commands” chapter and in the Xerox LPS Tape Formats Manual.
A record is arbitrarily divided into two portions: operating system and user. The operating system portion of the record contains information supplied by the host operating or spooling system. The user portion of the record contains information provided by the application or user program running on the host system. The boundary between the two portions of the record is traditionally between the record length and the Printer Carriage Control (PCC) field. If there is no record length field, there is no operating system portion of the record. The input record characteristics that define the components of a record are described in the “Data definition commands” chapter.

Multivolume processing

All multivolume reports that force input to make multiple passes over the data are handled in the following way. For each copy requested, a complete pass is made over the group of volumes that make up the current report. The input processor is forced to make multiple passes over the input data for multicopy reports that specify copy-sensitive Copy Modification Entries (CMEs); and, optionally, for multicopy reports that exceed the size of the print file. CMEs are discussed in the “Print format commands” chapter. The choices available for handling print file saturation are discussed under the VOLUME command RSAT parameter in the “Data definition commands” chapter.
If a multivolume report requires multiple passes, messages appear on the system controller display with instructions on which actions to take.
If you have multiple volume jobs and multiple laser printing systems, you may wish to print each volume on a separate system. This requires that each volume be processed independently. Refer to the VOLUME command EOV parameter section in the “Data definition commands” chapter for more information about this processing.
If a system rollover occurs while processing a multivolume report, the system displays the following message:
ENTER 'CON I' WHEN VOLUME n IS MOUNTED
before performing a forward tape space to the recovery point. Volume 1 is the start-of-job, and the volume specified by n is the volume containing data for the last page written to the print file before the system rollover.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-3
Page 18
OVERVIEW
Online mode
4245 protocol emulation features

Online-specific commands

A channel-attached LPS can receive input from the host computer in online 3211 or 4245 protocol emulation mode. In online mode, the data stream emulates IBM 3211 or 4245 line printer format, with or without embedded DJDEs. All commands coded for the 3211 are recognized by 4245 protocol emulation.
The 4245 protocol emulation allows your LPS to correctly execute the printing instructions coded within the job stream for the IBM 4245 printer.
The 4245 is identical to the 3211 in that all 3211 commands are recognized by 4245 protocol emulation.
You create an online Job Descriptor Library (JDL) and its Job Descriptor Entries (JDEs) according to the same rules and syntax as other entries. The one PDL command that must be specified for normal online processing is VOLUME HOST=IBMONL. The HOST parameter of the VOLUME command performs the following two functions:
Allows the LPS to accept data from the online channel
Allows PDL to use a different set of defaults for the RECORD
and LINE commands. When VOLUME HOST=IBMONL is specified, the following
defaults are automatically selected: RECORD LENGTH=150;
LINE PCCTYPE=IBM3211,
DATA=(0,150);
If ANSI carriage control commands are used in the host application program, the host operating system converts each command to a valid 3211 or 4245 channel command before sending it to the printer. Any commands other than those listed are rejected by the LPS online interface (and by the 3211 or
4245). Therefore, the only appropriate PCCTYPE for an online JSL file is IBM3211, which is the online default.
Because the carriage control command is sent prior to the data record (rather than as part of it), offset to fields (such as DJDE prefix and font index) are typically one byte less for online than offline mode, where the carriage control byte is part of the data record. For the same reason, the online DATA parameter of the LINE command typically has a default offset of zero rather than one.
The OPTIMIZE parameter of the VOLUME command allows you to select options that enhance online throughput. Refer to the “Data definition commands” chapter for additional information.
1-4 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 19

DJDE processing

OVERVIEW
Printing is controlled through parameters from a user-defined JDL file which may be dynamically overidden by Dynamic Job Descriptor Entries (DJDEs). The DJDEs that you specify are processed by the LPS as part of the input print data from the host system. The “Print control (DJDE) commands” chapter defines their syntax and options. The IDEN command enables the system to identify DJDEs as part of the input data. Refer to the “Data definition commands” chapter for information on the IDEN command.
Print-and-skip carriage control commands which are associated with online DJDE records are treated as skip-immediate carriage control commands. If the LPS is not at the channel specified, a skip occurs. But if it is already there, no skip occurs unless the last command received with a data record was a print-without­spacing command. Print-and-space carriage control commands associated with DJDE records are ignored.
Nonprint files such as font files can be downloaded from the host using the FILE DJDE. This DJDE is described in the “Print control (DJDE) commands” chapter.

Copy-sensitive CMEs

Report separation

Copy Modification Entries (CMEs) which are copy-sensitive (that is, a copy range has been specified on the MODIFY parameter of the OUTPUT command) are ignored online since the data is not automatically available multiple times. To produce copy-sensitive output, you must transmit data the same number of times that the data needs to be modified. For example, if you want six copies of a report and one CME applies to copies 1 through 4, and another CME applies to copies 5 and 6, you must transmit the report from the host system twice. The first transmission contains a copy count of 4 with CME1 specified, and the second transmission contains a copy count of 2 with CME2 specified. As an alternative, the application may be successfully printed with only one transmission by using copy-sensitive forms. Refer to the FORMS parameter of the OUTPUT command in the “Print format commands” chapter for additional information.
Report separation is defined in terms of banner page detection or other user-defined processing criteria. Logically separated reports are physically offset from one another in the output trays. The two logical processing commands which can control online report separation are BANNER and RSTACK. Refer to the “Logical processing commands” chapter for additional information.

Online record length

The default record length supported by Xerox laser printing systems is 150 bytes, the same default as the 3211 printer. However, you may choose to use larger record lengths with the following restrictions:
For print record lengths from 151 bytes to 214 bytes, do not
use the print position indexing feature that is normally
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-5
Page 20
OVERVIEW
available on the 3211 or 4245. This feature is invoked only
with a Forms Control Buffer (FCB). If FCB=IGNORE is
invoked, this restriction is not significant.
For print record lengths from 215 bytes to 2140 bytes, do
not use the OPTIMIZE parameter of the VOLUME command,
which provides online buffering for improved performance.
If the data record transmitted from the host exceeds the
RECORD command LENGTH parameter values specified, the
record is truncated to the specified record length and no
warning is provided. This action is consistent with the 3211
or 4245 printers.
The online dump JDL specifies a RECORD LENGTH of 150
bytes. If you are planning to use a longer record length,
modify the JDL to dump the data accurately.
You cannot change the LENGTH parameter of the RECORD
command with a DJDE since this would require dynamic
rebuffering. Therefore, you should consider modifications to
the default online JDL to simplify operations in the online
environment.
You can change the OPTIMIZE parameter of the VOLUME
command with the DJDE JDE subject to the restrictions listed
in the OPTIMIZE parameter section. Refer to the “VOLUME
command” section of the “Data definition commands”
chapter for additional information.

Online recovery

Online dump

To select a record length longer than 150 bytes, you must specify the new value as the LENGTH parameter on the RECORD command and must also modify the DATA parameter of the LINE command to print the extended character or record length.
Figure 1-5 shows a complete online Job Source Library (JSL).
After a system failure, data that has been acquired from the host and stored on the system disk can be imaged upon system restart, if you have requested job recovery. Only data that was being received at the time of the power failure is lost and must be retransmitted.
For power failures, the amount of data that requires retransmission can be up to 8 Kbytes. In all other rollover conditions, the data is normally recovered.
The online dump feature allows you to generate a hardcopy of the command and data transmission taking place between the host computer and the LPS.
Starting and ending dump sessions
You may begin an online dump session with a START command when the LPS is online and in the idle state. You must use the DFLT JDE within the OLDUMP JDL to specify VOLUME HOST=OLDUMP and CODE=EBCDIC.
1-6 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 21
OVERVIEW
The dump session is terminated by the operator ENDJOB command or the offline operator command. Other online operator commands during a dump session perform the standard functions. These are described in your Xerox 4050/4090/4450/4650 LPS Operator Guide. Figure 1-1 is a sample printed online dump.
Dump format
Each host command directs the printer to perform an operation or provides control information used during report printing. The operations performed are either print with carriage control, carriage control only, or printer control, such as load FCB. All print commands and some control commands transmit data to and from the LPS. The dump format is designed so that there is a HEADER and DATA segment for each of these commands. The HEADER segment consists of the following fields:
HOST COMMAND
The English translation of the host command in hexadecimal. END STATUS
One byte of status in hexadecimal transmitted to the host. SEQ#
An incremental count, in decimal, of the host commands
received during a dump session. The maximum number
generated is 999,999. LENGTH
The length, in decimal, of the transmitted data. DATE and TIME
The date and time when the host command was received by
the dump processor. The time includes tics of seconds,
where one tic is approximately one millisecond. The DATA segment consists of the input data in hexadecimal
transmitted to or from the host, as well as an EBCDIC translation based upon the CODE command. Input data that cannot be translated is left as blanks. Each line of data is preceded by a byte count in hexadecimal.
Online dumps have the following restrictions:
DJDEs, BANNER, and other logical processing functions are
not processed when the dump job is running; you must
enter an operator ENDJOB command to end the dump
session.
The NO-OP command from the host is not dumped since it
is intercepted and processed by the OLI hardware and is
transparent to the LPS software.
Hardware errors are reported in the system error log, but are
not dumped due to host, OLI, or driver interface constraints.
Commands processed when input is stopped, for example,
when paper trays become empty, are not dumped.
Print records longer than the specified RECORD command
LENGTH parameter value are truncated without warning. If
records longer than 150 bytes are to be sent, the RECORD
command LENGTH parameter in the OLDUMP JDL should be
modified to the longer length.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-7
Page 22
OVERVIEW
The operator Host Interface Processor “HIP START ...”
command is accepted, but HIP is unable to submit a print job
while the system is online. Figure 1-1. Sample printed online dump
1-8 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 23

Downloading files from the host to the LPS

Use one of the following methods for downloading files:
HOSTCOPY utility
FILE Dynamic Job Descriptor Entry
LPS and host file transfer.
Files may be downloaded in two formats: card-image files and LPS-labeled files. Certain destination file types are not accepted for either LPS-labeled or card-image files. These are file types OSD, SAF, SYS, $Y$, and TSK. In addition, card-image format files are restricted to destination file types CMD, FSL, JSL, MSC, PCH, TMP, and TPF.
HOSTCOPY
HOSTCOPY provides a means for accepting files transmitted from the host computer and storing those files on the LPS system disk. Files in the following formats may be transmitted:
User-created card-image files
LPS-labeled files (such as font, logo, and patch tapes). Refer
OVERVIEW
to the Xerox 4050/4090/4450/4650 LPS System Administration
Guide for information on the HOSTCOPY command. The utility requires the system to be placed offline and idle, then
rebooted from disk to enter the operator HOSTCOPY command from the system menu. It does not allow files to be transferred while normal printing activity is taking place.
FILE Dynamic Job Descriptor Entry
The FILE Dynamic Job Descriptor Entry (DJDE) transfers files while normal printing activity is taking place. However, the file to be transferred may need to be preconditioned to prevent trailing­blank truncation by the host spooler. FILE provides a capability of loading card-image or LPS-labeled files to the LPS disk while a printing job is in progress.
FILE is record-oriented and is applied immediately. It can be included with other record-oriented or page-oriented DJDE commands in a DJDE packet. Refer to the “Print control (DJDE) commands” chapter for FILE syntax and to the Xerox 4050/4090/4450/4650 LPS System Administration Guide for information on card-image file processing.
LPS and host file transfer
A third method of file transfer uses the LPS and host file transfer interface. This interface transfers user files and allows you to obtain the status of the reports submitted for printing on the LPS. A remote connection between the host and LPS is used for file transfer.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-9
Page 24
OVERVIEW

FCBs

Vertical format control processing

The 3211 and 4245 Forms Control Buffer (FCB) defines channel positions and forms length. You may restrict the Forms Control Buffer information by accepting or suppressing the normal processing of host-transmitted FCB input. You can accomplish this by specifying the FCB=IGNORE parameter of the LINE command.
The interaction of the vertical format controls (VFU) in the JSL and the FCB sent from the host is as follows:
When you enter a START command, the VFU table and its
associated bottom-of-form (BOF) in the JDE come into effect.
If no VFU is specified in the JDE, the last FCB sent from the
host is retrieved from the disk and becomes active.
If no BOF is specified in the JDE, the length of the last FCB
sent from the host is retrieved from the disk and becomes
BOF. Note that top-of-form (TOF) is not affected by the
FCB.
If you specify FCB=PROCESS and an FCB is sent from the
host, it overrides the previous FCB or VFU. Its length
replaces the previous BOF. Furthermore, its contents and
length are saved on the disk.
When a DJDE is used to change a channel assignment, any
previous assignments to the channel being changed are
suspended until the end of report. At the end of report,
DJDE changes are discarded and the last active FCB or VFU is
reactivated.
When system generation is executed, the FCB saved on disk
is reinitialized to the length of 66 lines with the following
channel assignments:
Channel 123456781011129
Line 4 10 16 22 28 34 40 46 52 58 64 66
The default corresponds to the STD2 default supplied by
IBM.
If a print-and-skip-to-channel command is sent for an
undefined channel, the LPS executes a print-and-space-one
command.
If you specify FCB=PROCESS, an FCB load causes
positioning to TOF. If the system is already at TOF, page
eject is suppressed. If the line number prior to the FCB load
is greater than TOF, a page eject occurs.
The Print Position Indexing (PPI) byte of the FCB is not
suppressed by FCB=IGNORE. If an FCB with a PPI byte is
received, indexing is invoked; if an FCB without a PPI byte is
received, indexing is turned off (even if FCB=IGNORE). Use
of the PPI byte to shift the starting print position may cause
problems in recognition of both DJDEs and banner pages.
1-10 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 25

UCSBs for 3211

OVERVIEW
The 3211 Universal Character Set Buffer (UCSB) feature is supported by the LPS. LPS software uses UCSBs as a basis for generating folded and unfolded translate tables. In a folded translate table, uppercase characters are substituted for only those lowercase characters which are defined as unprintable in the UCSB. Any lowercase characters defined as printable in the UCSB are still printed as lowercase if available in the font. In an unfolded translate table, blanks are substituted for characters defined as unprintable in the UCSB. The translate table is rebuilt at the start of each report when:
A selected JDE or JDL is processed
A new UCSB is transmitted from the host
A new FOLD or UNFOLD command is received.
The selection of a folded or unfolded translate table is based on the FOLD and UNFOLD channel commands. If FOLD has been most recently received from the host, a folded translate table is built. If UNFOLD is the current command, an unfolded table is built.
You may restrict UCSB information by accepting or suppressing the normal processing of host-transmitted UCSB data using the UCSB=IGNORE parameter of the LINE command. If UCSB=IGNORE, lowercase characters print normally if they are present in the font, and as blanks if they are not. The translate table is rebuilt only at the start of a report.
You may change the UCSB parameter from IGNORE to PROCESS in a selected JDE, but the translate table is not rebuilt until a UCSB LOAD, FOLD, or UNFOLD is transmitted from the host.
For most online reports, specification of UCSB=IGNORE is appropriate. The LPS font capability normally negates the need for these translations which were originally defined to handle print train characteristics. If, however, a report using lowercase characters is printed using a font without lowercase, you may do one of the following:
Switch to UCSB=PROCESS in a selected JDE
Load a UCSB with lowercase characters defined as not
printable and with FOLD specified. At the start of the next report, UCSB=IGNORE is reactivated and
the translate table is rebuilt based on the CODE command in the JDL file.
UCSB processing for 3211
When a UCSB is transmitted from the host, it is saved on an LPS disk. When sysgen is executed, the UCSB saved on the disk is reinitialized to define all characters as printable.
If you specify UCSB=PROCESS and the UCSB suppresses special characters used in DJDE syntax, for example, ; or ( ), DJDE syntax errors result.
Use UCSB=IGNORE if a code other than EBCDIC is specified. If you specify UCSB=PROCESS, a UCSB load causes the CODE
default to revert to EBCDIC until the end of the report, or until a selected JDE or JDL is processed.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-11
Page 26
OVERVIEW
PDL command and DJDE syntax
UCSBs should be ignored in the 4245 mode by coding UCSB=IGNORE. The UCSB host commands (LOAD UCSB, FOLD, and UNFOLD) are processed if UCSB=PROCESS is specified in the Job Source Library (JSL); however, the host does not normally issue such commands in 4245 mode.
You must code each PDL command with the words placed in a specific order and using certain punctuation marks in specific locations. This ordering of words and punctuation is called the syntax of the PDL language.
A PDL command consists of as many as nine elements:
Identifier, which is used for some commands so that they
may be referenced by other commands
Colon (:), which always follows an identifier
Command keyword (required)
Parameter keyword (left part)
Equal sign (=), which joins a parameter keyword with its
parameter options
Parameter option (right part)
Parentheses, which groups multiple parameter options
together
A comma or blank space, which separates one parameter
from another within a command
A semicolon (;) at the end of a command statement
(required). A command keyword and a semicolon are the two required
elements. Figure 1-2, a diagram of a VFU command statement, illustrates
the command syntax rules. Refer to the “Introduction” for the conventions used in this reference to illustrate the syntax statement for each PDL command.
Figure 1-2. Command statement components
1-12 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 27

Command length

Identifiers

OVERVIEW
The PDL command in figure 1-2 has an identifier (VFU0005:), a command keyword (VFU), and three parameters with options: ASSIGN=(1,5), TOF=5, BOF=66.
You code a JSL using PDL commands through the system editor task. The editor accepts up to 80 characters per line. A record is the complete set of PDL syntax elements for a command and frequently uses several lines. Refer to your Xerox 4050/4090/4450/4650 LPS System Administration Guide for information on using the editor.
The purpose of an identifier is to provide a label for a command so that it can be referenced by other commands. If the identifier is coded with the command, it is called an ID command. Not all commands have identifiers. The following commands require identifiers:
ac:CATALOG
ac:CME
ac:CODE
ac:CRITERIA
ac:IDR
dd:JDE
dd:JDL
dd:JOB
ac:PCC
ac:PDE
ac:ROUTE
ac:STOCKSET
dd:SYSTEM
ac:TABLE
ac:TCODE
ac:VFU.
Identifiers have these requirements:
1 to 6 characters in length. The convention ac indicates that
at least one of the characters must be an alpha (letter). dd
indicates that the alpha restriction does not apply. These
unrestricted identifiers apply only to the SYSTEM (or JDL) and
JOB (or JDE) commands.
No blanks within the identifier are allowed, for example:
Invalid: VFU 1: VFU; Valid: VFU1: VFU;
Must be separated from the command with a colon, for
example: VFU1:VFU.
Avoid these categories of restricted names to prevent
possible errors:
— Command keywords such as OUTPUT, PDE, and RSTACK
— Parameter keywords such as LCODE, UCSB, and BFORM
— Abbreviated operator command keywords CAR
(CARTRIDGE) and TAP (TAPE)
— DJDE keywords such as PMODE, RTEXT, and BATCH
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-13
Page 28
OVERVIEW

Command keywords

Parameter keywords

— Resident task files such as .PDL, .FDL, .FNT, .LGO, .CME,
.LIB, and .FRM
— System utilities such as INPUT, EDIT, DSR, IPD, and OCS.
Command keywords have the following requirements:
Every command must have a keyword.
They must be coded with at least the first three characters of
the command. For example, RECORD can be coded as REC,
RECO, RECOR, or RECORD. The exception is FORMS. Do
not abbreviate FORMS to FOR or FORM because the system
interprets it as FORMAT.
Some commands have multiple parameters available. For example, the OUTPUT command has the following parameters:
OUTPUT FORMS=form-id,
DUPLEX=YES or NO, COPIES=value;

Parameter options

FORMS, DUPLEX, and COPIES are parameter keywords. Parameter keywords have the following requirements:
Must be coded with at least the first three characters of the
parameter keyword. For example, DUPLEX can be coded as
DUP, DUPL, DUPLE, or the entire keyword DUPLEX.
Must be followed by an equal sign (=) and at least one
parameter option.
Most parameter keywords have multiple parameter options available. Parameter options must be:
Placed on the right side of the equal sign (=)
Enclosed in parentheses if there are multiple options for the
same parameter
Either keywords or variable names and values, for example:
OUTPUT FORMS=form-id,
DUPLEX=YES or NO, COPIES=value;
YES and NO are parameter option keywords; form-id and value are variables.
Parameter options are also called right part constants and may take one of two forms: value constants and string constants.
1-14 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 29

Value constants

String constants

OVERVIEW
Value constants have arithmetic values. You should express them as decimal numbers. They may also be expressed as hexadecimal, octal, or character values, but these expressions are not recommended. Decimal constants may be signed (positive or negative) and in some cases may have fractional digits, for example:
PDE BEGIN=(1,1,.37); BLOCK LENGTH=1320; RECORD LENGTH=132; OUTPUT IMAGE=(1.30CM,0.85IN);
String constants are normally used to specify strings of characters or to reference identifier parameters. String constants may be expressed as keywords, variable names, hexadecimal, character, ASCII, EBCDIC, octal, or H2 and H6 values, but not as decimal numbers.
Keywords
Keywords are terms that direct the system to perform specific predetermined activities. Keywords always consist of the same characters, for example:
BLOCK ZERO=YES; ABNORMAL ERROR=CONTINUE,
OTEXT=WAIT;
ACCT USER=BOTH; YES, CONTINUE, WAIT, and BOTH are keywords.
Variable names
You may use string constants to name such objects as forms, files, fonts, departments, and so on. Each name you assign identifies the unique object you wish to specify for your print jobs, for example:
OUTPUT FORM=SMPLE,
BFORM=SMPBK, FEED=BLUCVR, MODIFY=CME12;
SMPLE, SMPBK, BLUCVR, and CME12 are variable names.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-15
Page 30
OVERVIEW
Hexadecimal
Hexadecimal constants are normally used as string constants, but they may also be used as value constants. Each pair of hexadecimal characters results in one byte. A hexadecimal constant must be immediately preceded by the character sequence X apostrophe (X’) to indicate that the following expression is in hexadecimal and ended with an apostrophe, for example:
IDEN PREFIX=X'C1C2C3C4';
Characters
Character constants are normally used as string constants, but they may also be numeric value constants. Each character, including embedded blanks, results in one byte. A character constant must be immediately preceded and followed by the apostrophe (’) character, for example:
IDEN PREFIX='THIS IS A CHARACTER CONSTANT'; CONSTANT='ABCDE';
If the apostrophe character is required in a character constant, it must be defined in some other fashion, such as the hexadecimal constant X’7D’. Character constants are inherently defined as EBCDIC and take their actual values from the standard EBCDIC table definition. Refer to the “Character code assignments” appendix for EBCDIC table definitions.
ASCII
ASCII constants are used as string constants. Each character results in one byte. The constants must be preceded by the character sequence A apostrophe (A’), and followed by an apostrophe character. For example:
IDEN PREFIX=A'ABC'; The ASCII string type allows you to embed hexadecimal
representations of characters in a string. This is done by preceding the hexadecimal representation of the character with an exclamation point (!) character. For example:
IDEN PREFIX=A'ABC!44EF' is equivalent to: IDEN PREFIX=X'414243444546' The three-character sequence required for a hexadecimal
representation of a character results in one byte. Two successive ! characters (!!) are necessary to represent one
actual ! character when printing. The two-character sequence (!!) results in one byte.
EBCDIC
EBCDIC constants are used for value and string constants. They must be preceded by the character sequence E apostrophe (E’), and followed by an apostrophe character (’). The EBCDIC string type allows hexadecimal representation of characters to be
1-16 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 31
OVERVIEW
embedded in a character string. This is done by preceding the hexadecimal representation of the character with an exclamation (!) character. For example:
IDEN PREFIX=E'ABC!C4EFG' is equivalent to the hexadecimal: IDEN PREFIX=X'C1C2C3C4C5C6C7' Each character represented in EBCDIC results in one byte. Each
three-character sequence representing a character in hexadecimal results in one byte. Note that EBCDIC is the default, therefore the E 'xxx' is usually not required.
Octal
Octal constants should be used only as string constants because of the control program conversion process. Each octal character results in 3 bits. One word can store 3 characters. Their use as value constants, however, is not prohibited. Each 3-bit octal character is converted to an 8-bit octal character internally by prefixing two binary zeros. Thus, the arithmetic value of a multiple-character octal constant may be difficult to determine because each digit in the constant has been altered. An octal constant must be preceded immediately by the character sequence letter O apostrophe (O’) and immediately followed by the apostrophe (’) character. For example:
BLOCK CONSTANT=O'07070707';
H2 and H6
H2 and H6 constants generate H2000 BCD and H6000 BCD codes, respectively. Use of H2 and H6 is identical to use of the E and A prefixes described above. For example:
BLOCK CONSTANT=H2'373737' BLOCK CONSTANT=H6'373737’ Since H2000 and H6000 BCD are defined as 6-bit codes (refer to
the “Character codes assignment” appendix), no specification greater than X'3F' generates a legal character. If anything from X'40' to X'FF' is coded, the system generates an error message and replaces the bad character with a blank.
String constants may be preceded by an optional repeat count. A repeat count is enclosed in parentheses and must be in the range of 1 to 255. For example, the command:
T1: TABLE CONSTANT=(3)'*'; is equivalent to: T1: TABLE CONSTANT=('***'); Other examples of the use of a repeat count are: T1: TABLE CONSTANT=(3)O'27';
T2: TABLE CONSTANT=(4)X'C1'; The T3 TABLE identifier in figure 1-5 has a repeat count.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-17
Page 32
OVERVIEW
JSL structure
PDL commands are organized within a JSL in four groupings called command levels:
ID level
System (or JDL) level
Catalog level
Job (or JDE) level.
You may code commands within these levels following the JDL coding, which identifies the Job Descriptor Library. You do not need to use all command levels in a JSL. Besides the JDL coding, only the job command level is required. However, JSLs typically include several command levels. Some JSLs define only one print job, but it is much more common to find JSLs structured to include multiple jobs, as shown in figures 1-4 and 1-5.
There are many steps in creating a JSL and many ways to specify your print job requirements. The first element of a JSL is the JDL coding which names the JDL file. Any command may be coded at any of the four command levels but the following descriptions present the recommended and most common usage.

JDL name

ID level

Begin your JSL by deciding on a name for the compiled JDL. Select a name that is related to the function of the JDL and identifies the type of jobs you are creating. For example, if your site has several input sources, you might want to name the JDL for an online job JDLONL: JDL;
Typically, you use the name of the command (JDL) as the first three characters. The format for naming a JDL is:
JDL-id:JDL; For example, you might name a JDL with highlight color jobs
JDLHLC:JDL; HLC reminds you that the JDL contains highlight color jobs. If DFAULT is coded as the JDL name, you do not need to specify
the name when entering the START command. The START command is discussed in the “JSL compilation” section of this chapter and in your Xerox 4050/4090/4450/4650 LPS Operator
Guide.
Commands requiring identifiers are typically coded at this level. They must be coded in the library before they can be referenced by commands in other levels within the library. Therefore, ID level commands are the first to appear in a JSL after the JDL coding itself. The VFU command is usually coded at this level, as shown with VFU001:VFU in figure 1-4.

System or JDL level

PDL commands coded at the system level establish default print job characteristics. Commands that are common to the JSL print jobs are listed at this level so that they do not need to be coded
1-18 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 33

Catalog level

OVERVIEW
in every job in the JSL. System level commands, however, may be overridden by commands at the job command level. In figure 1-4, the system level VOLUME command is overridden by the VOLUME parameter in 2:JDE at the job level.
Commands coded at the catalog level are a subset of jobs within the JSL. They may be specified in one or more jobs within the JDL. If, for example, you want to print three jobs, two of which use a different VFU and form than the other job, you could code the different LINE and OUTPUT commands at this level and then include the catalog in the appropriate jobs at the JOB level. Use the following command to create a catalog name:
catalog-name: CATALOG; The catalog-name may consist of 1 to 6 alphanumeric characters,
for example, in figure 1-4: CATPOW: CATALOG The values of the commands coded at the catalog level override
those coded at the ID and system levels when a catalog is referenced in a job. You reference catalogs at the job level with the JOB or JDE INCLUDE command. Refer to jobs 2:JDE and 3:JDE in figure 1-4 for an example of this setup, where the job level INCLUDE command references catalogs CATPOW and CATGRP, respectively. CATPOW and CATGRP override the VOLUME BLOCK and RECORD commands that are specified at the system level.

Job or JDE level

Comments

Commands unique to a single job are coded at this level under a specific job name. Use the following command to create a job name:
jde-name:JOB INCLUDE=catalog-name; The jde-name, like any identifier, may consist of 1 to 6
alphanumeric characters. The catalog-name option of the INCLUDE parameter is the identifier for the catalog you wish to specify for your print job, for example, in figure 1-4:
2:JOB; INCLUDE=CATPOW If DFAULT is coded for a jde-name, you do not need to specify it
when entering the START command. The START command is discussed in the “JSL compilation” section of this chapter.
Comments make the JSL easier to understand and maintain. You can use comments to clarify where command levels begin and provide information to other programmers about particular aspects of the JSL or jobs.
Comments may appear anywhere within the JSL and must be preceded by the character sequence slash asterisk (/*) and terminated with the character sequence asterisk slash (*/). There are numerous comments at the job level in figure 1-4.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-19
Page 34
OVERVIEW

END command

Nested comments may be set within other comments. There is no practical limit to the level of nesting possible as long as each nested comment is preceded by the /* and terminated with the */. The following is an acceptable nested comment format:
/*comment /*nested comment*/ */
Every JSL must conclude with an END command so that the LPS knows where the PDL instructions end. The command is coded in the first column of the JSL as shown in figures 1-4 and 1-5.
The format is always: END; Use two consecutive END commands to indicate the end of a
series of JDLs: END;
END;

Hierarchy of replacement

The system default values shown in the “PDL command summary” appendix and in the command chapters are the more commonly used values in job processing; they can be thought of as a basic Job Descriptor Entry (JDE). PDL commands need coding for only those parameters that must be changed to process your unique print jobs. This coding process may be further specified by placing commands common to more than one job in the catalog command level. When these coding features are properly implemented, it is possible for the same command to be used in more than one job or JDE command level within a library. The PDL processor evaluates user coded commands and applies the highest order, error-free definition to the job for printing. This process, termed the hierarchy of replacement, is discussed in the subsequent paragraphs and illustrated in figure 1-3.
1-20 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 35
Figure 1-3. Hierarchy of command replacement
OVERVIEW
Highest order
Lowest order
* One exception to this hierarchy is that the COPIES parameter of the START command overrides the COPIES DJDE from the input data stream.
DJDE RECORDS*
TAPE LABEL
START COMMAND*
JOB OR JDE LEVEL COMMAND
CATALOG LEVEL COMMAND
SYSTEM OR JDL LEVEL COMMAND
SYSTEM DEFAULTS
Options introduced at a higher level override those at lower levels
Figure 1-4 shows a coded JDL that contains four jobs. A command to specify the recording code (CODE parameter of the VOLUME command) of the input data appears in the following three places:
At the system (or JDL) level, the default recording code of
the input data is ASCII (VOLUME CODE=ASCII).
At the catalog command level, the recording code of the
input data is EBCDIC (VOLUME CODE=EBCDIC).
At the job or JDE command level for job two, the recording
code of the input data is Printable EBCDIC (PEBCDIC). The
PDL command VOLUME CODE=PEBCDIC at the job level
overrides both catalog and system level CODE parameters. For JOB3, the recording code of the input data is EBCDIC, as
specified at the catalog level. For JOB1, the recording code of the input data is ASCII, since neither the catalog nor job level overrides are coded and the system level command controls input.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-21
Page 36
OVERVIEW
Figure 1-4. Sample offline JSL
IBMPDL: SYSTEM;/* JDL CODING /**COMMENTS ARE BOLDED**/*/
/*******ID LEVEL COMMANDS******* /
VFU001: VFU ASSIGN=(1,5), ASSIGN=(2,10), ASSIGN=(3,15),
TOF=5, BOF=66;
PDE1: PDE BEGIN = (175 DOTS, 300 XDOTS),
FONTS = (UN110E, PR110E, PR124B);
PDE2: PDE BEGIN = (0.725 IN, 1.000 IN),
FONTS = (L0512C, L05SCA, L05ITA),
PMODE = LANDSCAPE; TAB1: TABLE CONSTANT = (A ’REPORT’); CRI1: CRI CONSTANT = (2,6, EQ, TAB1);
/******* SYSTEM LEVEL COMMANDS*******/
VOLUME HOST=POWERVS,PLABEL=YES,CODE=ASCII; BLOCK LENGTH=2048; RECORD LENGTH=136, STRUCTURE=VB, LTHFLD=2,
ADJUST=0, FORMAT=BIN, PREAMBLE=3;
LINE DATA=(1,132), PCCTYPE=IBM1403,
PCC=(0,NOTRAN), OVERPRINT=(PRINT,NODISP),
VFU=VFU001;
IDEN PREFIX = A’DJDE’, SKIP = 6, OFFSET = 2,
OPRINFO = YES;
RSTACK TEST = (CRI1), DELIMITER = YES; ACCT USER=(BIN,TRAY);
/******* CATALOG LEVEL COMMANDS ******* /
CATPOW:CATALOG;
VOLUME HOST=POWER, CODE=EBCDIC; BLOCK LENGTH=2048, PREAMBLE=6, LTHFLD=2,
FORMAT=BIN, OFFSET=4;
RECORD LENGTH=135, STRUCTURE=VB, PREAMBLE=2,
LTHFLD=2, FORMAT=BIN, OFFSET=0, ADJUST=3; CATGRP:CATALOG;
VOLUME HOST=GRASP, CODE=EBCDIC; BLOCK LENGTH=4096, PREAMBLE=0, ZERO=YES; RECORD LENGTH=135, STRUCTURE=VB, PREAMBLE=1,
LTHFLD=1, FORMAT=BIN, OFFSET=0, ADJUST=2;
/******* JOB OR JDE LEVEL COMMANDS ******* /
1:JDE INCLUDE=CATPOW;
VOLUME HOST=POWERVS; CODE = PEBCDIC;
ABNORMAL ERROR = CONTINUE, IMISMATCH = CONTINUE; 2:JDE INCLUDE=CATGRP; DFLT:JDE;
END;
1-22 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 37
Figure 1-5. Sample online JSL
JDLONL: JDL; /** JDL CODING /***COMMENTS ARE BOLDED IN THIS
SAMPLE***/*/
/******* ID LEVEL COMMANDS *******/
VFU1:VFU ASSIGN=(1,4), ASSIGN=(2,10),
ASSIGN=(3,16), ASSIGN=(4,22), ASSIGN=(5,28), ASSIGN=(6,34), ASSIGN=(7,40), ASSIGN=(8,46), ASSIGN=(9,66), ASSIGN=(10,52), ASSIGN=(11,58), ASSIGN=(12,64),
TOF=4, BOF=66; P1: PDE FONTS=(P0612B, 3), BEGIN=(2,1,5), PMODE=PORTRAIT; P2: PDE FONTS=L0112A, BEGIN=(.55, .55); T1: TABLE MASK='?', CONSTANT='HE?DE? PAGE'; C1: CRITERIA CONSTANT=(1,11,EQ,T1), LINENUM=(1,10); T2: TABLE CONSTANT='TRAILER PAGE'; C2: CRITERIA CONSTANT=(0,12,EQ,T2), LINENUM=(1,10); T3: TABLE CONSTANT=(10)'*'; C3: CRITERIA CONSTANT=(0,10,EQ,T3),
LINENUM=(50,10);
/******* SYSTEM LEVEL COMMANDS *******/
VOLUME HOST=IBMONL, OPTIMIZE=(NCC,NDC,NPR); LINE PCCTYPE=IBM3211, VFU=VFU1,
UCSB=IGNORE, FCB=IGNORE;
ACCT USER=(BIN,TRAY); IDEN PREFIX='DJDE', SKIP=7, OFFSET=2,
OPRINFO=YES;
RSTACK TEST=C1, DEL=YES;
/******* JOB LEVEL COMMANDS ********/
DFLT: JOB; /* JOB WITH NO BANNER PAGES */
IDEN PREFIX=’$DJDE$’, SKIP=8, OFFSET=1, OPRINFO=NO; OUTPUT FORMAT=FMT3, DUPLEX=YES, SHIFT=YES;
HDRP:JOB; /*JOB WITH HEADER PAGES ONLY */
BANNER TEST=C1, HCOUNT=2 ,TCOUNT=0;
TRLP: JOB; /*JOBS WITH TRAILER PAGES ONLY*/
BANNER TEST=C2, HCOUNT=0, TCOUNT=3;
BOTH: JOB; /* JOBS WITH BOTH HEADER AND TRAILER PAGES */
BANNER TEST=(C1 OR C2), HCOUNT=2, TCOUNT=3; LINE DATA=(0, 75), PCCTYPE=NONE, FONTINDEX=1;
END;
OVERVIEW
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-23
Page 38
OVERVIEW

PDL library

If you have multiple PDL commands of the same type, such as CMEs and PDEs, you may want to create separate files for them. These separate files allow you to group like specifications together and make your JSLs shorter, more efficient, and easier to modify and maintain.
When the JSLs are compiled, these library files create separate object files for your reports. PDL-related library files are .STK for paper stock specifications, .PDE for format, and .CME for Copy Modification Entry specifications. You can only call out these specifications as separate object files via DJDEs.
Avoid these categories of restricted file names to prevent possible errors:
Command keywords such as OUTPUT, PDE, and RSTACK
Parameter keywords such as LCODE, UCSB, and BFORM
Abbreviated operator command keywords such as CAR
(CARTRIDGE) and TAP (TAPE)
DJDE keywords such as PMODE, RTEXT, and BATCH
Resident task files such as .PDL, .FDL, .FNT, .LGO, .CME, .LIB,
and .FRM
System utilities such as INPUT, EDIT, DSR, IPD, and OCS.
1-24 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 39
JDL creation

Required components of a JSL

OVERVIEW
JSLs are the source files you create and then compile to create a JDL. There are many methods and elements you can use in creating a JDL. The following sections provide basic information and a typical sequence you can use in your JDL development.
A JSL may consist of numerous commands and command levels, but every set of PDL commands requires the following three elements in order to be compiled on the LPS:
JDL coding—The first line of code in your JSL is a command
to name the JDL. Each JDL must have a unique identifier. This JDL identifier compiles to become the external name of the JDL file which you then specify in order to run jobs contained within the JDL.
JOB command—Within each JSL, there must be one JOB
command (also referred to as a JDE or Job Descriptor Entry). The JOB command allows you to override the system level PDL commands on a job-by-job basis. This enables you to customize jobs independently and store them in a single PDL library.

Steps in creating a JDL

END command—Every JSL must conclude with an END
command.
The syntax of these commands is provided in the “JSL structure” section earlier in this chapter. The system defaults apply to any print job characteristics that are not specified in the JSL.
If you want to create a JSL using specifications other than those defined in the defaults, you have many PDL commands available for your JSL and many ways of organizing them. The following procedure is one typical method of creating a JDL:
1. Identify the source media and data format.
2. Enter the editor task. Refer to your Xerox 4050/4090/4450/4650 LPS System
Administration Guide for instructions if you are not familiar with using the editor.
3. Code the JDL name.
4. Decide on the command levels you will use.
5. Code the data definition commands.
6. Design the layout of your print job.
7. Code the print format commands.
8. Build forms for the job, if necessary. Refer to your Xerox 4050/4090/4450/4650 LPS Forms Creation
Guide for information on creating forms.
9. Identify dynamic print requirements.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-25
Page 40
OVERVIEW
10. Code the IDEN command if you want to use Dynamic Job Descriptor Entries.
11. Identify logical processing requirements.
12. Code the logical processing commands.
13. Key in the END command to complete the JSL.
14. Compile the JSL to create a JDL file.
Keep the following in mind when coding your JSL:
If you are not sure what specifications to select, try running
the print job using the system defaults and then modify the JSL to meet your requirements. This is also helpful when you are modifying an existing JSL.
If you do not know the source of data on a tape, run a data
dump and match it to samples in the Xerox Tape Formats Manual to determine its origin.
You may want to run the job after step 4 to see the general
structure of the print job first and then make necessary adjustments. You may have to run the job several times during the development process to check your JSL specifications.
JDL coding
You may want to design your form around the data
placements on the page.
It is sometimes helpful to sketch the page layout, including
page orientation, logos, fonts, and the point of origin for printing on the page.
Use tab spacing to create columns for the command
identifiers, commands, and parameters in your JSLs. Tabs are not required but they make identifying these elements easier, thus reducing the chance of error. The JSLs in figures 1-4 and 1-5 are set up in column format with tabs. Generally, only identifiers and the END command begin in the first column of the JSL. Other commands are indented.
After you determine your input source, code the JDL name, design the page layout, and decide on the command levels you are using, you are ready to begin coding the appropriate commands. This section explains the following three types of commands:
Data definition
Print format
Logical processing.
The syntax, parameters, and options for each command are in the chapter corresponding to the command type.
This section also describes the use of DJDEs. DJDE syntax and parameters are in the ”Print control (DJDE) commands” chapter.
For more information on graphics, and paper stocks and clusters, refer to the chapters of the same name.
1-26 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 41
Data definition commands
OVERVIEW
As described in the “Input data streams” section in this chapter, there are a number of sources of input data streams. Every JSL must specify the data source and the data format. This is accomplished with the data definition commands.
To specify the following information, code the appropriate command, as shown in table 1-1.
Table 1-1. Data definition command usage
To specify Use this command
Input data block
BLOCK
characteristics Input code
CODE
translation table Printer Carriage
PCC
Control code table Input data record
RECORD
characteristics Marked comparison
TCODE
type assignments Input medium
VOLUME
characteristics
The following are the essential data definition commands:
VOLUME command HOST parameter—Specifies the source
of the input data stream.
RECORD command—Specifies the format in which the data
was recorded as well as the record length.
BLOCK command—For offline data streams, specifies the
maximum number of characters in a block.
Refer to the “Data definition commands” chapter for a complete description of all of these commands and their parameters.
Print format commands
Print format commands specify the physical characteristics of a print job, such as collating, two-sided printing, fonts, forms, and accounting sheets. They also define the placement of data on the page and system responses to error conditions, among other functions.
To specify the following print format information, use the corresponding command, as shown in table 1-2.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-27
Page 42
OVERVIEW
Table 1-2. Print format command usage
To specify Use this command
Error condition activities, which operator activities are permitted, and ink discrepancy controls
User and system accounting tasks ACCT Replacement of certain parts of
report output on copies with predefined static data or font changes within variable data
Margin control, overprinting, or carriage control
Messages sent to operators during job processing
Print mode, forms, paper stock, offsetting, stapling, two-sided (duplex) or one-sided (simplex) printing, among other output characteristics
Page format, orientation, and fonts PDE Messages and form for routing pages ROUTE Sets of stocks for a report STOCKSET Vertical format control VFU
ABNORMAL
CME
LINE
MESSAGE
OUTPUT
Print control (DJDE) commands
The first command coded with a JSL is typically the VFU command (with an identifier), which defines vertical tabs and is used in conjunction with the PCC command. Refer to figures 1­4 and 1-5 for examples. The LINE command references VFU specifications for use in the print jobs and tells the system what part of the data in each record is printed. For this reason, JSLs typically also include a LINE command.
Every JDL requires an OUTPUT command statement. Refer to the “Print format commands” chapter for a complete description of these commands and their parameters.
Dynamic Job Descriptor Entries (DJDEs) are commands sent through the input data stream that override the printing characteristics specified in a Job Descriptor Entry (JDE). The IDEN command coded in a Job Descriptor Entry (JDE) notifies the system that DJDE records are included in the input data stream. The IDEN command is described in the “Print format commands” chapter. DJDE syntax and options are described in the “Print control (DJDE) command” chapter.
1-28 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 43

DJDE orientation

OVERVIEW
Some of the benefits of changing the job parameters with DJDEs are as follows:
The printing system does not stop between reports, or
require operator intervention. The operator starts up a job on the printing system and typically returns to it only when minor operational activity is required.
Forms may be changed on a page-to-page basis.
Many variations on VFU channel, margin, and top- and
bottom-of-form assignments may be applied to reports as they are created via DJDEs instead of being stored in the printing system via JDLs.
Varying numbers of copies can be generated automatically,
with routing or distribution notification sent to the operator.
Unusual processing requirements may be satisfied through
the use of DJDEs.
There are two types of DJDEs: page-oriented and record­oriented. The orientation of the DJDEs is listed in the “Print control (DJDE) commands” chapter.
Page-oriented DJDEs
Page-oriented DJDEs change specific pages within a report and can change these pages differently in different copies. Such parameters may be placed within the report itself and take effect at the next page boundary. They may also appear at report boundaries to effect changes on all pages of a report on a copy­by-copy basis.
Only one page-oriented packet can be deferred to the next page. If a page-oriented DJDE packet is received after the start of page A so that it is deferred to page A+1, any separate DJDE packets following it on page A may cause unpredictable results and may possibly be printed as data.
A page-oriented DJDE positioned prior to any print data on a page takes effect on the current page. A page-oriented DJDE positioned after the first print data on a page takes effect on the next page, unless end-of-report is encountered.
Use the page-oriented DJDEs described in table 1-3.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-29
Page 44
OVERVIEW
Table 1–3. Page-oriented DJDE usage
To specify Use this command
Location of the starting print line of a
BEGIN
logical page The form printed on the back side of a
BFORM
printed page Placing pages of a job into sets COLLATE Number of copies or sets of pages to
COPIES
produce Accumulation of accounting statistics for
DEPT
reports on a department name basis Printing on both sides of a piece of
DUPLEX
paper Stock (type of paper) on which the page
FEED
is printed Location in the input record where an
FONTINDEX
index to the specified font is stored Fonts used in input data or variable
FONTS
(CME) data A new Page Descriptor Entry (PDE) to
FORMAT
control formatting The form merged on the printed page FORMS Text message displayed to operators
ITEXT
during input processing The JDE used within the selected JDL at
JDE
the next page boundary Name of the JDL invoked at the next
JDL
page boundary Left printing margin within each logical
MARGIN
page CME used on the next page MODIFY Page numbering control NUMBER Text message displayed to operators
OTEXT
during job printing Printing orientation for each page PMODE If a form is printed on all RTEXT pages RFORM Text printed on separate pages preceding
RTEXT
a report Image shift on the page for binding
SHIFT
purposes Repositioning of a new logical page to
SIDE the first logical page of a specified side of a sheet of paper
Redefinition of STOCKSET command
STOCKS parameters for the page
1-30 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 45
OVERVIEW
Record-oriented DJDEs
Record-oriented DJDEs take effect immediately at the first record following the DJDE packet, that is, after an END command. These DJDEs also may appear at report boundaries to change all pages in a report on a copy-by-copy basis. Table 1-4 lists these DJDEs and their uses.
Table 1-4. Record-oriented DJDE usage
To specify Use this command
Assign VFU channel to a page line
ASSIGN
number or set of line numbers Bottom-of-form line number BOF Comment text in the DJDE record C text Location and length of printable data
DATA
within an input record Enable files to load to system disk
FILE
while print job in progress Instruct the system when overprint
OVERPRINT
lines occur Top-of-form number TOF
The exception is the OVERPRINT DJDE, which takes effect at the next logical page boundary if FONTINDEX has been invoked in a JDE or DJDE.
Record-oriented DJDEs related to graphics are listed in table 1-5. Table 1-5. Graphics-related page-oriented DJDEs
To specify Use this command
New imaging parameters for graphics ALTER Normal processing on online banner
BATCH
pages for batch mode jobs Automatic reimaging (hold) of
CANCEL
LOGO, IMAGE, or GRAPHICS DJDEs DJDE is a graphic sentinel GRAPHICS In batch mode, define new imaging
IMAGE
parameters for the graphic .IMG files updating current report are
SAVE not purged when report output processing is completed
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-31
Page 46
OVERVIEW

DJDE record specification

The system looks for DJDEs in the input data stream only if a DJDE prefix has been specified by an IDEN command within the startup (START command) JDL used to process the job. DJDE information is contained in one or more data records, each of which may be up to the maximum record length specified in the startup JDL (or JDE). For each DJDE record, the prefix (the identification field) must begin in the same location in the record. DJDEs are terminated by an END parameter in the last DJDE record. All specified DJDE information is applied at the next record or page boundary after the END parameter is encountered. There may be multiple DJDE sequences in a job. Each set modifies only the specific parameters mentioned within the DJDE. Examples of DJDE records are illustrated in figures 1-6 and 1-7.
Consider the following when preparing DJDE records as part of the input data stream:
The DJDE record may contain more than one parameter.
Each parameter within a record must be separated from the next parameter by a comma.
Lowercase alphabetic characters are not accepted in the
DJDE parameter line. If they are used, a DJDE syntax error message is displayed.
A DJDE record parameter that is split and continued on the
next DJDE record should be terminated with a comma, semicolon sequence (,;).
The prefix in the DJDE record may appear after DJDE
parameters as long as it is consistently located in all DJDE records.
DJDE records need not be consecutive since none of the
parameters are applied until END; is encountered. However, it is recommended that DJDE records be consecutive, especially when used with delimiter records. To optimize input processing speed, DJDE parameters should be grouped into as few records as possible. A group of DJDE records terminated by an END parameter is called a packet.
For delimited logical report processing, DJDE parameters may
be placed in the report body. They may also be placed within or after (but not before) the delimiter record packet.
For changed-based logical reports, the DJDE parameters may
be placed within the body of the stacked report, where the DJDE records contain the same change field contents as the report to which the DJDE applies.
After a DJDE packet is terminated by an END parameter,
there must be one or more data records before the next DJDE packet. DJDE records directly following a previously terminated DJDE parameter set are ignored.
1-32 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 47
OVERVIEW
If the file containing the DJDE is variable-blocked, the
program that blocks the file may strip off trailing blanks. Thus, if the comment record contains no actual comments, the blank following the C may be eliminated. If the C is the last character of the record, the parameter record is accepted. However, any character other than a blank following the C causes the record to be processed as a legitimate DJDE record and not as a comment.
Print-and-skip carriage control parameters associated with
online DJDE records are treated as skip immediate carriage control parameters. If the LPS is not at the specified channel, a skip occurs; but if it is already there, no skip occurs unless the last carriage control parameter received was a print without spacing parameter. Print-and-space carriage control parameters (as well as the print-without-spacing carriage control parameter) associated with DJDE records are ignored.
The Printer Carriage Control (PCC) byte associated with
offline DJDE records is ignored.
If a DJDE is always created because of coding procedures,
but there is no need to set any of the DJDE parameters for a particular report, a null DJDE may be created with only an END parameter and no other parameters specified, which will not modify any of the existing job setup parameters.

Application of DJDEs

FORMS, FORMAT, and BFORM DJDE parameters can appear
only once in the DJDE packet.
The specific parameters included in a DJDE packet are the only ones modified when the DJDE is applied. The only exceptions are the DJDEs JDE and JDL, which cause all processing parameters contained in the JDE to be updated except for those listed in the Job parameter modification restrictions section. The modified parameter remains in effect until that parameter is encountered in another DJDE packet or until the end-of-report is reached. At the start of the next report, one of the following occurs:
If in multireport mode or operating online, the next report
begins with all of the parameters specified in the startup JDE or JDL (START command).
If in single-report mode, the system stops, waits for the
operator to enter a new START command, and then processes the next report with all processing parameters defined in the JDE or JDL invoked by the new START command.
Using the DJDE JDE to reassign the top-of-page channel assignment (generally channel 1) when the DJDE is a data record, may incorrectly position the first page after the page transition occurs. Page-oriented DJDEs, like JDE, are implemented when the LPS detects the switch from one physical page to the next. The normal page transition is caused by a skip from the bottom of a page to the top of the next, generally channel 1. The LPS recognizes that a page transition has occurred only because the channel 1 assignment is on a line number less than the present line number of the current page, and therefore a page transition must have been created. Unfortunately, positioning to the old
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-33
Page 48
OVERVIEW
channel 1 line number has already occurred. The new JDE parameters are implemented after the page transition.
There are several possible solutions to this problem:
You may add ASSIGN= to the DJDE packet to change the
applicable channel, such as channel 1, to the new line number. Since the DJDE ASSIGN is line-oriented, it is implemented on the next line and will affect the next channel skip.
You may insert a record after the DJDE packet to cause the
page transition and then allow a second skip to channel 1 to position to the correct line. This causes a blank page to be printed if the new channel 1 is less than the old, but will be totally transparent if the new channel 1 assignment is greater (further down the page) than the old.
In the online environment only, the carriage control on the
DJDE record is honored if it is a SKIP parameter. If the DJDE uses the ASSIGN parameter to specify a new channel 1, a skip-to-channel-1 carriage control on the DJDE record causes a skip to the new channel 1. But if the DJDE uses JDE= to specify a new channel 1, the skip-to-channel-1 carriage control on the DJDE record causes a skip to the old channel 1 until a physical page break occurs.
The following example of an IDEN command shows the multiple­record DJDEs specified in figure 1-6:
IDEN PREFIX=’MTEST’, SKIP=7, OFFSET=1,
OPRINFO=YES;
Figure 1-6. Multiple record DJDE
*MTEST C MULTI RECORD DJDE EXAMPLE: *MTEST FORMS = (XEROX 1, 1, 3), FORMAT = XPDE 12, FONTINDEX = 1, NUMBER = (3, 15, 55),; *MTEST COPIES = 20, COLLATE = YES, ASSIGN = (1, 5), ASSIGN = (5, 32),; *MTEST FONTS = ((P0612A), (P0812A)), ; *MTEST ASSIGN = (12, 63), TOF = 5, BOF = 66, END; * Printer control byte
The following example of an IDEN command shows the single­record DJDE specified in figure 1-7:
IDEN PREFIX=’RTEST’, SKIP=9, OFFSET=3,
OPRINFO=YES;
Figure 1-7. Single record DJDE
1-34 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 49

DJDE operator information pages

OVERVIEW
The changes to the JDE that are specified in the DJDE are incorporated when the system encounters the END parameter. The changes begin on the next record or page following the last DJDE record.
The specification OPRINFO=YES in the JDE ensures that the DJDE records are printed and sent to the tray at the next page transition after an END parameter. The DJDE records are printed on a separate page from the report data. However, no page formatting occurs and DJDEs on one long record are truncated at the end of the physical page boundary. They are printed and delivered to the tray regardless of the OPRINFO parameter if the DJDE contains an error. Comments in the DJDE may be used for operator notification or output routing instructions in conjunction with the OPRINFO parameter.
In duplex processing, DJDE records are printed as duplex pages with a blank page on the back (and are counted on the accounting sheet). If a DJDE is applied at the transition to the back side of a duplex page and OPRINFO=YES, the DJDEs are printed following the back side page. A row of asterisks (*****) appears on the DJDE page following the parameters whose printing is delayed.

Job parameter modification restrictions

The following message:
***MISSING END COMMAND OR MISSING PAGE BOUNDARY
is automatically printed on an OPRINFO page at the end of a report if the following are true:
No END parameter is found in the DJDE.
No complete page boundary was found before the end of
the report, that is, at the end of report there were some DJDEs that had not yet been applied.
To process a DJDE, the system has already been required to process data up to the recognition and interpretation of the DJDE itself. This requires that the basic description of the input source must have been correct prior to the application of the DJDE. Thus, the definition of the input source cannot be changed with a DJDE. The system does not allow these basic parameters to be changed using the DJDEs JDE or JDL. The JDE specified by the DJDE JDE is referred to as a selected JDE.
Parameters which cannot be changed with a selected JDE or JDL are shown in table 1-6.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-35
Page 50
OVERVIEW
Table 1-6. Parameters that cannot be changed via selected
JDEs or JDLs
Command Parameter
BANNER All BLOCK All IDEN All OUTPUT OFFSET RECORD All VOLUME HOST, LABEL,
UNPACK
Do not attempt to change the online BANNER command offset criteria or the VOLUME command OPTIMIZE parameters in a selected JDE because unpredictable results may occur.
Selected JDEs or JDLs should specify all JDE parameters that stay the same as the original JDE, as well as the changes. JDE parameters that can be changed are shown in table 1-7.
Table 1-7. Parameters that can be changed via selected
JDEs or JDLs
Command Parameter
ABNORMAL SECURITY, ERROR ACCT All LINE DATA,FONTINDEX,
INKINDEX, MARGIN,
OVERPRINT, PCCTYPE, VFU MESSAGE All OUTPUT All except OFFSET PDE All RAUX All ROFFSET All ROUTE All RPAGE All RSTACK TEST (online only) VOLUME TCODE, CODE
If a front cover is invoked in a selected JDE which takes effect after the first page of the report, a cover is pulled from the AUX tray at the point where the DJDE is applied.
1-36 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 51
Logical processing commands
OVERVIEW
Note that CODE changes to data may occur and will take effect on the page boundary following the DJDE record. If a translation code change is involved in a selected JDE, the parameter portion of any subsequent DJDE must be in the new code. The prefix used by the IDEN must, however, retain the original hexadecimal value. Thus, if the CODE changes from EBCDIC to ASCII, the prefix must remain in EBCDIC even though the parameter portion changes to ASCII.
Logical processing commands enable you to specify special functions to be performed on a record, a set of records, or a block. The system determines whether or not to perform the function based on the tests and criteria you set up. The CRITERIA and TABLE identifier commands contain the parameters upon which the system makes the determination. CRITERIA and TABLE are usually ID level commands within the JSL.
After you specify the CRITERIA and TABLE parameters, you can reference these command identifiers in the TEST parameters of the logical processing commands. For example, in figure 1-4, CRI1 is referenced in the TEST parameter of the RSTACK command at the system level. In figure 1-4, criteria C1 is also referenced by the RSTACK command at the system level and then again in jobs HDRP and BOTH at the job level.
To specify the following logical processing characteristics, code the appropriate command, as shown in table 1-8.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-37
Page 52
OVERVIEW
Table 1-8. Logical processing command usage
To specify Use this command
Banner page detection for the online
BANNER
mode only Block deletion for the offline mode
BDELETE
only Block selection for the offline mode
BSELECT
only Logical processing functions CRITERIA Select page from the auxiliary tray for
RAUX
offline and online modes Record deletion for the offline mode
RDELETE
only The clusters to be used when the
RFEED
given criteria are met Page offset in the stacker trays for
ROFFSET
the offline and online modes Logical page repositioning for the
RPAGE
offline and online modes Resumption of printing for the offline
RRESUME
mode only Record selection for the online and
RSELECT
offline modes
Logical processing command format
End of report for the offline and
RSTACK
online modes Suspension of printing for the offline
RSUSPEND
mode only One or more constants for logical
TABLE
processing
To fully define a logical processing command, you must specify one or two fields in the record or block to be tested. In general, a logical processing command has the following format:
command TEST=test-exp; The logical processing command tests the value of the specified
test-exp and directs the flow of processing based on the result of the test.
The test-exp portion of the command defines a test to be performed on either one or two specified fields and their associated constants for a true or false value. The fields in the record or block are compared with their associated set of constants using either an equal (EQ) or a not equal (NE) operator. The basic element used to describe a test for a logical function is the CRITERIA command. Refer to the “ac:CRITERIA” command section of “Logical processing commands” chapter for more information.
1-38 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 53

Logical processing commands with TEST parameters

Each logical processing command (except CRITERIA and RFEED) has a TEST parameter that can be specified only once per Job Descriptor Entry. If any one command is specified more than once, the last occurrence is used without notification of any error.

TEST expression definition

The syntax of the test-expression for a logical processing command can be one of the following:
OVERVIEW

String comparison concepts

TEST=(cri-id- TEST=(cri-id- TEST=(cri-id-
cri-id-
and cri-id-2 are identifiers for either the change mode or
1
the constant mode CRITERIA commands. If only cri-id­coded, the test is satisfied if the criteria in cri-id-
cri-id-
and cri-id-2 are both coded and the keyword AND is
1
coded, the test is true only if the criteria in both cri-id-
are satisfied. If the keyword OR is coded, the test is true if
id-
2
the criteria in either cri-id-
);
1
AND, cri-id-2);
1
OR, cri-id-2);
1
is satisfied. If
1
1
or cri-id-2 is true. If the test is
1
is
1
and cri-
satisfied, the logical processing function is performed. The RSTACK and BANNER test expression commands used in the
startup JDE or JDL remain in effect throughout the entire job. They are not overridden by different specifications used in a selected JDL or JDE.
String comparisons for logical processing are defined with the CRITERIA and TABLE commands. The TABLE command specifies one or more string constants. The CRITERIA command describes a field in a record and compares it to the values in the TABLE command (constant mode) or to the contents of the field in the previous record (change mode). Figure 1-8 illustrates string comparison parameters. These comparisons test for one of the following conditions:
Absolute equality—Tested either by a change mode CRITERIA
command or by a constant mode CRITERIA command, which references a TABLE command that does not have a MASK command coded.
Equality under a mask—Tested when the referenced TABLE
command has a MASK parameter coded.
Comparing strings for equality under a mask means that you specify that one of the following tests should be performed for each character position of the input data string:
Compare the character in that position for absolute equality
Ignore the character in that position (consider the character
to compare as equal)
Compare the character in that position for type (for example,
alphabetic, numeric, or a specially defined type).
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-39
Page 54
OVERVIEW
Figure 1-8. String comparison parameters

Character types

An attribute called type can be associated with any character in a character set. The possible types are identified by the integers 1 to 7. It is possible for any character to be untyped, to have one type, or to have multiple types.
Defining of character types (the associating of type numbers with any group of characters in a character set) is described in the “ac:TCODE” command section in the “Data definition commands” chapter.
For every standard character set, there is a set of standard default type assignments which is sufficient for most applications without modification. These assignments define the number characters 0 to 9 to be type 1 characters and the lowercase and uppercase alphabetic characters (a through z and A through Z) to be type 2 characters. These default type assignments are invoked by the TCODE parameter of the VOLUME command.

Masked comparisons using default type assignments

Performing masked comparisons using unmodified standard default type assignments requires that the following commands be entered:
TCODE parameter of the VOLUME command. This
parameter allows you to select a set of standard default type assignments.
1-40 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 55
JSL compilation
OVERVIEW
MASK and CONSTANT parameters of the TABLE command.
Together, these commands define exactly how the comparisons for a TABLE command are made using the set of type assignments specified by the TCODE parameter of the VOLUME command.
Now that you have all the necessary commands describing your input data and output data, and you have structured them in a complete JSL source file, you need to have the printing system compile your JSL to produce a JDL object file.
The command needed to compile your JSL is entered at the operator console on the Xerox LPS. The format of the PDL (compiler) command is as follows:
PDL file-id, TRAY The file-id should be the same as the JDL-id within the file. The
optional TRAY parameter is used to get the compiled listing of your code delivered to the sample tray on the printing system.

Printing a job

Refer to your Xerox 4050/4090/4450/4650 LPS Command Reference for a complete list of available PDL command options.
Once your JSL compiles without error, you can tell the Xerox LPS to print your report by entering the START command at the operator console on your Xerox LPS.
The START command calls in your compiled Job Descriptor Library (JDL) and the Job Descriptor Entry (JOB) within the library in order to print a specific report. The format of the basic START command is as follows:
START jde-id, jdl-id, [input-device] For example, to print the HDRP job in the JDLONL sample JSL in
figure 1-5, you would compile the JSL and then enter the following START command:
START HDRP, JDLONL Notice there are no semicolons after either the PDL or START
command. These are operator commands and have different syntax than PDL commands.
Refer to your Xerox 4050/4090/4450/4650 LPS Operator Guide for a complete list of available START command options.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 1-41
Page 56
Page 57

Input processing commands

2. Data definition commands

This chapter describes the PDL commands that control and define input processing. The general functions of each command are described in this chapter.
The system input processor decodes and formats input data from an offline magnetic tape, a host-attached channel interface, a remote communication device, or an Ethernet interface. This section describes input processing commands.
BLOCK
Defines block length characteristics and recording modes for offline data sources.
ADJUST
Specifies a block length adjustment value that is added to or subtracted from the contents of the block length field to determine the true block length.
Syntax BLOCK
Parameter options value
Default The default is 0.
Example BLOCK ADJUST=-127
Considerations Refer to the LENGTH parameter for more information.
CONSTANT
Specifies that the block delimiter string constant and all data following the constant are ignored until the end of the block.
Syntax BLOCK
Parameter options sc
ADJUST=value
Range for a value is -127 to +127. You must select a value less than the BLOCK LENGTH parameter. Use the plus (+) sign or minus (-) sign to specify a positive or negative adjustment.
CONSTANT=sc
A hexadecimal, octal, ASCII, EBCDIC, or character string constant. Specifies a length for the constant of one to four bytes.
Default There is no default.
Example BLOCK CONSTANT=-127
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-1
Page 58
DATA DEFINITION COMMANDS
Considerations If a block delimiter constant is positioned and is part of a record
or block, use caution. The system truncates the record or block. As a result, the data is not the format you specified.
FORMAT
Specifies the recording mode of the block length field.
Syntax BLOCK
FORMAT=mode
Parameter options mode
BIN
Refers to a binary recording mode.
DEC
Refers to a decimal recording mode.
PACK
Refers to a packed with no sign recording mode.
PKSG
Refers to a packed with sign recording mode.
Default The default is BIN.
Considerations You can override the values for FORMAT if RECORD STRUCTURE
changes through ANSI, IBM/OS Standard, or Honeywell 2000 COBOL label processing.
LENGTH
Specifies the longest physical block processed.
Syntax BLOCK
LENGTH=value
Parameter options value
Specifies an integer from 12 to 24,576 bytes in length.
Default The default is 1,330 bytes.
Example BLOCK LENGTH=15
Considerations The maximum block size that the system can process is
dependent on the available task memory and the invoked processing features. For offline processing, the tape label may override a coded LENGTH parameter, and is limited by the maximum block size (24,576 bytes). ANSI, IBM/OS Standard, or Honeywell 2000 COBOL labels that specify block length can override the LENGTH parameter. The length on a 4-by-3 packed format tape and Honeywell 600 is the number of 6-bit bytes or characters in the tape block.
LMULT
Specifies a multiplication factor applied to the contents of the block length field to determine the true block length.
Syntax BLOCK
LMULT=value
Parameter options value
Specifies an integer from 1 to 15 that is multiplied by the value in the length field you specify using the LENGTH parameter. This computes the number of bytes in a block.
Default The default is 1.
2-2 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 59
DATA DEFINITION COMMANDS
Example BLOCK LMULT=15
Considerations Refer to the LENGTH parameter for more information.
LTHFLD
Specifies the length of the field containing the block length.
Syntax BLOCK
LTHFLD=value
Parameter options value
An integer from 0 to 5 that specifies in bytes the size of the length field.
Default The default is 0.
Example BLOCK LTHFLD=5
Considerations If you set the size to zero, the block length field on the tape is
the actual block length. The LTHFLD parameter may be overridden if RECORD STRUCTURE is changed through ANSI, IBM/OS Standard, or Honeywell 2000 COBOL label processing.
OFFSET
Specifies the location of the block length offset.
Syntax BLOCK
OFFSET=value
Parameter options value
Specifies an integer from 0 to LENGTH-LTHFLD-1. The offset is the number of bytes from the first byte of a block to the block length field.
Default The default is 0.
Example BLOCK OFFSET=2
Considerations The values for OFFSET may be overridden if RECORD
STRUCTURE is changed through ANSI, IBM/OS Standard, or Honeywell 2000 COBOL label processing.
POSTAMBLE
Specifies the length in bytes of the data at the end of each tape block (byte offset from the end of a block to the end of the last logical record).
Syntax BLOCK
POSTAMBLE=value
Parameter options value
Specifies an integer from 0 to the block length.
Default The default is 0.
Example BLOCK POSTAMBLE=351
Considerations Do not code the length of the block delimiter constant as the
BLOCK POSTAMBLE since both lengths are subtracted from the end of the block.
Refer to the OFFSET parameter for information on overriding this parameter.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-3
Page 60
DATA DEFINITION COMMANDS
PREAMBLE
Specifies the byte offset from the first byte of a tape block to the first byte of the first logical record.
Syntax BLOCK
PREAMBLE=value
Parameter options value
Specifies an integer from 0 to the block length.
Default The default is 0.
Example BLOCK PREAMBLE=8
Considerations The PREAMBLE parameter may be overridden if RECORD
STRUCTURE is changed through ANSI, IBM/OS Standard, or Honeywell 2000 COBOL label processing.
The search for the block delimiter constant starts after the BLOCK PREAMBLE and proceeds to the first appearance of the constant.
ZERO
Specifies the end of block indicator.
Syntax BLOCK
ZERO=value
Parameter options value
NO
Indicates that the value for the end of a tape block is not zero in the block length field.
YES
Indicates that the value for the end of a tape block is zero in the record length field before applying the record length adjustment. Data that follows the record is ignored through the end of the block.

BLOCK example

Default The default is NO.
Figure 2-1 shows an example of how you can code BLOCK. BLOCK LENGTH=351,OFFSET=2,ADJUST=0,
LTHFLD=2,PREAMBLE=8,FORMAT=BIN; Figure 2-1. Sample BLOCK command diagram
2-4 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 61
DATA DEFINITION COMMANDS

ac:CODE

Defines the input code of the translation table. When you require a user-defined code translation table, you
reference CODE by the CODE or LCODE parameters of VOLUME. The USER option of the CODE and LCODE parameters of VOLUME reference a user-defined code translation table in which no command identifier is coded.
A command identifier of the type ac is optional for the first CODE command within a JDE. Thereafter, each additional CODE command must include the ac identifier. The ac identifier consists of 1 to 6 alphanumeric characters (A through Z and 0 through 9). Make sure that one of the characters is a letter.
ASSIGN
Defines your code assignment exceptions or the entire user character translation table.
Syntax ac:CODE
Parameter options field1
Defines the input code.
field2
Defines the output code, such as hexadecimal or decimal, that corresponds to the input code.
Default There is no default.
Example ac:CODE ASSIGN=(X‘5B’,(X‘40’,X‘40’,X‘40’))
DEFAULT
Specifies a base code from which you can make your code assignment exceptions. A code-type specifies the base code. Your exceptions are specified with the ASSIGN parameter.
Syntax ac:CODE
or
ac:CODE
Parameter options code-type
ASCII BCD EBCDIC PEBCDIC H2BCD H6BCD IBMBCD
ASSIGN=(field1,(field2,...))
DEFAULT=code-type DEFAULT=value
value
A value is a one-byte hexadecimal, octal, or alpha constant. If you specify value, all inputs are coded to that specified value.
Default The default is EBCDIC.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-5
Page 62
DATA DEFINITION COMMANDS

IDEN

Example ac:CODE DEFAULT=EBCDIC
Assume that your input tape is recorded in EBCDIC. On
output, however, codes 5B, 5C, and 5D (characters $ *)) respectively, are assigned to the character blank (X’40’). The command to modify the EBCDIC base table is as follows:
CODE1:CODE DEFAULT=EBCDIC, ASSIGN=(X’5B’, X’40’), ASSIGN=(X’5C’, X’40’),ASSIGN=(X’5D’, X’40’);
In the following example, consecutive input codes such as
X’5C’ and X’5D’ need not be specified to accomplish code modification.
CODE2:CODE DEFAULT=EBCDIC, ASSIGN=(X’5B’,(X’40’,X’40’,X’40’));
Considerations You must code the DEFAULT parameter prior to any ASSIGN
parameters for the assignment exceptions to take effect. A DEFAULT parameter following any defined corresponding ASSIGN parameter options causes this correspondence to be replaced by the DEFAULT parameter.
Invokes DJDE processing. This command notifies the system that DJDE records may be part of the input data stream. It also describes the search criteria for locating and identifying DJDE records. The DJDE record (or records) are interspersed among the data records in the input data stream. Each DJDE record contains an identification field (which matches the search criteria specified in the active JDE) and a series of parameters that describe the actual JDE changes to be applied to the report.
An IDEN command which is coded in a JDE notifies the system that a DJDE record (or records) may be part of the input data stream. The command also describes the characteristics of a DJDE record so that the system can identify and locate any DJDE records. The following is an example of a coded IDEN command:
IDEN PREFIX=‘RTEST',SKIP=9,OFFSET=3,OPRINFO=YES;
OFFSET
Defines the starting position of the prefix string and DJDE parameters within the record.
Syntax IDEN
Parameter options value
Default The default is 0.
Example IDEN OFFSET=12
OFFSET=value
Specifies the number of bytes (beginning at 0) from the beginning of the user portion of the record to the beginning of the prefix string constant of the DJDE record. You can use a negative number.
2-6 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 63
DATA DEFINITION COMMANDS
OPRINFO
Specifies whether the DJDE record is printed and delivered to the tray.
Syntax IDEN
OPRINFO=value
Parameter options value
NO
Specifies that the DJDE record does not print.
YES
Specifies that the DJDE record does print and is delivered to the tray.
Default The default is NO.
Considerations When you select OPRINFO=YES, the length of the DJDE record
that prints on the sheet is the amount that fits on the width of the paper. Using OPRINFO=YES with portrait orientation may cause page setup errors if the DJDE record is too long.
All non-Interpress system-generated pages, such as accounting sheet, error summary, OPRINFO, recovery marker, and report separator, are printed in the same xerographic mode as the previous page to prevent unnecessary Xerographic Mode Switching (XMS). The exception to the rule is when the default ink is a primary color and the xerographic mode for the previous page is BLACK. Accounting sheets always print using the system default BLACK ink. The ink used to print all other non-Interpress system generated pages depends on the xerographic mode of the previous page and the default ink.
PREFIX
Defines the character string which must appear in the identification part of each DJDE record in the input data stream. When the system recognizes this character string, it examines the rest of the record for DJDE parameters.
Syntax IDEN
Parameter options sc
Default There is no default.
Example IDEN PREFIX=‘MTEST’
PREFIX=sc
Specifies the search criteria for recognizing DJDE records. It is a byte string of up to 255 characters represented as a hexadecimal, octal, BCD, ASCII, or EBCDIC character constant. Any records within the data stream that contain an identification field equal to the specified prefix string sc are recognized and processed as DJDE records.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-7
Page 64
DATA DEFINITION COMMANDS
SKIP
Defines the starting positions of the prefix string and DJDE parameters within the record.

ac:PCC

Syntax IDEN
Parameter options value
Default The default is 1.
Example IDEN SKIP=13
Creates a table, or modifies an existing standard table of one­byte Printer Carriage Control codes and defines their action. Line spacing, skip-to-channel, and printing actions are all defined by this command.
A command identifier of the type ac is required for this command. The ac identifier consists of 1 to 6 alphanumeric characters (A through Z and 0 through 9). Make sure that one of the characters is alpha.
You can specify multiple user-defined PCC tables, but only one may be without a command identifier. The corresponding PCCTYPE parameter on the LINE command references each table with a command identifier. You can use the parameter keyword USER to reference any user-defined PCC table for which no command identifier is coded.
SKIP=value
Specifies the offset to the starting column of the DJDE parameters. A value specifies the number of bytes (beginning at 0) from the beginning of the user portion of the record to the beginning of the DJDE parameters. You can use a negative number.
You can end a PCC command with a semicolon and start another PCC command to continue specification of the carriage control codes. You can use multiple PCC commands within a single PCC table definition as long as there are no intervening non-PCC commands.
ADVTAPE
Specifies whether the carriage control will advance to a new page when two successive channel-skip parameters are issued with no intervening print. For example, on most printers, the actions PSK1 (print-to-channel-1) followed by SK1N (skip-to-channel-1, do not print) would print a blank page. On a 1403 printer, these actions would not cause a blank page to print.
Syntax ac:PCC
Parameter options value
Default The default is YES.
ADVTAPE=value
YES
Specifies that multiple skips are allowed.
NO
Specifies that multiple skips result in only one skip action by the carriage control.
2-8 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 65
DATA DEFINITION COMMANDS
Considerations SK1P (skip-to-channel-1) followed by a second SK1P results in a
page transition since printing occurred on the first page, even if only blanks printed.
ASSIGN
Specifies Printer Carriage Control exceptions to a default table.
Syntax ac:PCC
or
ac:PCC print
Parameter options byte
action
space-print
ASSIGN=(byte,action) ASSIGN=(byte,(action,space-print1,space-
,spaceprint3))
2
Defines a Printer Carriage Control byte from 0 to 255 (X’00’ to X’FF’).
Specifies the action you need to take when the Printer Carriage Control byte causes the bottom-of-form (BOF) to occur:
TOF
Instructs the LPS to go to the top-of-form (TOF) on the next page and to stop spacing.
IGN
Instructs the LPS to ignore the BOF and continue spacing through the end of the physical page. The page then transitions to top-of-form and spacing continues.
OVR
Instructs the LPS to go to the top-of-form (TOF) on the next page and to continue spacing.
1
Specifies the carriage action to be taken before printing. For example, ANSI carriage control.
SPm
Space m lines before printing.
SKn
Skip-to-channel-n before printing.
space-print
2
Specifies whether printing occurs for this record. P
Print the output data at the line number computed after
is processed.
field
1
N
No printing occurs for this record (default).
space-print
3
Specifies the carriage action to be taken after printing. For example, IBM1403 carriage control.
SPm
Space m lines after printing.
SKn
Skip-to-channel-n after printing.
The range for the variables m and n is 0 to 15.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-9
Page 66
DATA DEFINITION COMMANDS
Each space-print field is optional; however, you must specify at least one space-print parameter.
Default The default is OVR.
Example ac:PCC ASSIGN=(255,TOF)
Considerations You do not have to specify consecutive byte values. For
example, you can code the following command: ASSIGN=(X’60’,SP1),ASSIGN=(X’61’,SP2),ASSIGN=(X’62’,SP3); as a single command: ASSIGN=(X’60’,SP1,SP2,SP3)); If the LINE command specifies byte translation, the PCC control
byte is translated into LPS-standard EBCDIC before being applied. You must therefore specify the byte option of the ASSIGN parameter as an EBCDIC translation of the PCC byte. An example is X’F1’ or ’1’.
DEFAULT
Allows you to select a set of Printer Carriage Control codes. You may select a table and then modify specific control codes with the ASSIGN parameters.
Syntax ac:PCC
or
ac:PCC
Parameter options action
Specifies the action performed when a code has not been specifically assigned.
TOF
IGN
OVR
pcctype
ANSI B2500 B2700 B3500 B3700 B4700 B6700 H2000 H6000 IBM1401 IBM1403 US70 XEROX NONE
DEFAULT=action DEFAULT=pcctype
Instructs the LPS to go to the top-of-form (TOF) on the next page and to stop spacing.
Instructs the LPS to ignore bottom-of-form (BOF) and continue spacing through the end of the physical page. The page then transitions to TOF and spacing continues.
Instructs the LPS to go to the TOF on the next page and to continue spacing.
2-10 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 67
DATA DEFINITION COMMANDS
Default The system default PCC tables are defined in the LPS-standard
EBCDIC. The default is a table of PSP1 codes (print-and-space-
1).
Example ac:PCC DEFAULT=B4700
Considerations The DEFAULT parameter must precede any ASSIGN parameter.
Any preceding ASSIGN parameter is not incorporated into the PCC table.
INITIAL
Specifies the initial reference point (TOF or BOF) from which a report performs its first carriage control function.
Syntax ac:PCC
INITIAL=reference point
Parameter options reference point
TOF
Specifies the control program to perform the first spacing, skipping, or printing action from the top of the form.
BOF
Specifies the control program to perform the first spacing, skipping, or printing action from the bottom of the form.
Default The default is TOF.
MASK
Renders inaccessible unnecessary bits from the carriage control byte.
Syntax ac:PCC
MASK=value
Parameter options value
Specifies an 8-bit value that is included with the Printer Carriage Control byte being processed through the AND option. AND occurs after translation. The result of this process is to mask off bits from the carriage control byte code that are not relevant to the specific operation.
Default The default is X’FF’.
Example In this example, X‘40’ (space-1-line-and-print), X‘F1’ (skip-to-
channel-1-and-print), and X’F8 (print-and-skip-to-channel-8) are added to the standard IBM1403 carriage control table:
PCC1:PCC DEFAULT=IBM1403,INITIAL=TOF,ADVTAPE=NO, ASSIGN=(X’40’,SP1P),ASSIGN=(X’F1’,SK1P),ASSIGN=(X’F8’, PSK8);
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-11
Page 68
DATA DEFINITION COMMANDS

RECORD

Defines the characteristics of the offline input data record.
ADJUST
Specifies an adjustment value that you add or subtract from the contents of the record length field to determine the true record length.
Syntax RECORD
ADJUST=value
Parameter options value
Specifies the record adjustment length. The value is an integer from -127 to +127 that you add or subtract from the value in the length field of every record. Make sure the value is not greater than the record length field. You can make the first character plus (+) or minus (-).
Default The default is 0.
Example RECORD ADJUST=-127
CONSTANT
Specifies a constant string you use to signal the end of a record. The record delimiter constant string is not included in the print line.
Syntax RECORD
CONSTANT=sc
Parameter options sc
Specifies a hexadecimal, octal, or alpha constant. You can choose 1 to 4 bytes for the length of the constant.
Default There is no default.
Example RECORD CONSTANT=2
Considerations If the STRUCTURE parameter changes to an undefined length (U)
in label processing, the CONSTANT parameter may be enabled. Nevertheless, no definition is assumed for the constant string. The default must be 0 or it must be defined in the Job Descriptor Entry.
FORMAT
Specifies the format of the record length field.
Syntax RECORD
FORMAT=format
Parameter options format
BIN
Refers to a binary recording mode.
DEC
Refers to a decimal recording mode.
PACK
Refers to a packed with no sign recording mode.
PKSG
Refers to a packed with sign recording mode.
Default The default is BIN.
2-12 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 69
Example RECORD FORMAT=PACK
LENGTH
Specifies a length of the longest logical record.
DATA DEFINITION COMMANDS
Syntax RECORD
LENGTH=value
Parameter options value
Online systems: the maximum value without print position indexing is 214 (optimize mode) or 2140 (non-optimize mode).
Offline systems: the value is an integer from 1 to 310.
Default The offline default is 133.
The online default is 150.
Example RECORD LENGTH=214
Considerations The tape label contents may override a record length value. If
you define a record length larger than the default block length (1330), you must specify a block length large enough to hold the record.
You can override the LENGTH parameter with ANSI, IBM OS/Standard, or Honeywell 2000 COBOL labels which specify record length.
The length on a 4-by-3 packed format tape is the number of 6-bit bytes or characters in the record.
When you change the DATA parameter of the LINE command to a value greater than the default value, you must also change the LENGTH parameter of the RECORD command accordingly.
You cannot use print position indexing for online processing if you specify a LENGTH parameter that is greater than 150.
LMULT
Specifies a multiplication factor applied to the contents of the record length field to determine the true record length.
Syntax RECORD
Parameter options value
Default The default is 1.
Example RECORD LMULT=14
LMULT=value
Specifies a multiplication factor that you multiply by the value in the length field to compute the number of bytes in the record. The value ranges from 1 to 15.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-13
Page 70
DATA DEFINITION COMMANDS
LTHFLD
Specifies the length of the field containing the record length.
Syntax RECORD
Parameter options value
Default The default is 0.
Example RECORD LTHFLD=4
OFFSET
Specifies location of the record length field.
Syntax RECORD
Parameter options value
Default The default is 0.
Example RECORD OFFSET=2
POSTAMBLE
LTHFLD=value
Specifies, in bytes, the record length field length. The value ranges from 0 to 5. If the size is set to 0, record lengths are not contained in the records, and the record length is the maximum LENGTH for each record.
OFFSET=value
Specifies the location of the record length field offset. This offset is a byte offset form the first byte of the record to the record length field. The value ranges from 0 to LENGTH­LTHFLD-1.
Specifies the length of any extraneous data at the end of the record.
Syntax RECORD
Parameter options value
Default The default is 0.
Example RECORD POSTAMBLE=4
PREAMBLE
Specifies the offset to the user portion of the record. This is the record preamble length.
Syntax RECORD
Parameter options value
Default The default is 0.
Example RECORD PREAMBLE=4
POSTAMBLE=value
Specifies the length in bytes. The length is an integer from 0 to record length.
PREAMBLE=value
Specifies the offset from the first byte of the record to the first byte of the user’s portion of the record. The length is an integer from 0 to record length.
2-14 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 71
DATA DEFINITION COMMANDS
STRUCTURE
Specifies the general structure of the input data.
Syntax RECORD
STRUCTURE=structure-type
Parameter options structure-type
FB (fixed length blocked) F (fixed length) V (variable length) VB (variable length blocked) U (undefined length) UB (undefined length blocked).
Default The default is FB.
Example RECORD STRUCTURE=FB
Considerations For offline processing, the tape label contents may override this
parameter.

RECORD example

A sample input record is shown in figure 2-3. A RECORD command for the sample input record is coded as follows and illustrated in figure 2-2:
RECORD LENGTH=133,OFFSET=2,LTHFLD=2,PREAMBLE=4, ADJUST=4,FORMAT=BIN
Figure 2-2. Record format types
Considerations The system may override the values of LTHFLD, OFFSET,
FORMAT, and PREAMBLE if ANSI, IBM OS/Standard, or Honeywell 2000 COBOL label processing has changed the STRUCTURE parameter.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-15
Page 72
DATA DEFINITION COMMANDS
Figure 2-3. Sample input record
2-16 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 73
DATA DEFINITION COMMANDS

ac:TCODE

Defines a set of input-character-to-type assignments for the masked string comparisons in a report. You must use TCODE when it is not possible to use one of the standard sets of default type assignments without modification. Code the TCODE command as follows:
Use a command identifier of the type ac for the TCODE
command within a JDE. The ac identifier consists of 1 to 6 alphanumeric characters (A through Z and 0 through 9). One of the characters must be a letter.
Specify with one parameter, using the DEFAULT parameter,
an initial set of type assignments for the entire set of input character codes.
Modify the specified initial set of type assignments by
associating specific character types with specific characters in the input character set (as many occurrences as necessary of the TASSIGN parameter).
If necessary, further modify the initial set by disassociating
specific character types from specific characters in the input character set (as many occurrences as necessary of the TRESET parameter).
Use a hyphen ( - ) to specify a range of contiguous
characters where the contiguity is based on actual codes.
For input codes associated with ASCII characters, code the
letter A hexadecimally as 41, the letter B as 42, and so forth up to the letter Z as 5A.
For input codes associated with EBCDIC characters, be aware
that the contiguity of the input codes is interrupted between the letters I and J, and between the letters R and S. This break requires you to specify three separate ranges.
Use the TASSIGN parameters to define additional characters
sets.
The LPS accepts lowercase characters expressed literally or symbolically. Determine whether the operator’s console can process and display lowercase characters literally rather than symbolically.
Table 2-1 shows how you can code the TCODE command to specify particular character sets.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-17
Page 74
DATA DEFINITION COMMANDS
Table 2-1. Coding examples for the TCODE command
Type Interpretation
1 Defines numeric characters 0 through 9 by
default.
2 Defines alphabetic characters A through Z and
a through z by default.
3 Defines uppercase alphabetic characters A
through Z by TCODE command.
4 Defines lowercase alphabetic characters a
through z by TCODE command.
None Defines characters which are neither numeric or
alphabetic.
DEFAULT
Specifies an initial set of character type assignments with masked comparisons. You can assign defaults for any standard character set by coding the appropriate code-type.
Syntax ac:TCODE
DEFAULT=code-type
or
ac:TCODE
DEFAULT=value
Parameter options code-type
ASCII BCD EBCDIC PEBCDIC H2BCD H6BCD IBMBCD
value
A value is an integer from 0 through 7. If you specify 0, all the characters are untyped. If you specify 1, all the characters are type 1. If you specify 7, all the characters are type 7, and so forth.
Default There is no default.
Example ac:TCODE DEFAULT=BCD
Considerations You can modify the initial set of type assignments by specifying
the TASSIGN and TRESET parameters.
TASSIGN
Associates one or more specified characters with one or more specified code-types. The parameter also disassociates one or more characters from all code-type assignments. The TASSIGN parameter may be specified more than once in a TCODE command.
Syntax ac:TCODE
TASSIGN=(typespec,‘inputspec’)
or
ac:TCODE
2-18 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
TASSIGN=(typespec,(‘inputspec1’,‘inputspecn’))
Page 75
Parameter options typespec
Specifies a single integer or a series of integers. When coded as a single integer, the value range is 0 through 7. When coded as as a series of integers, the value range is 1 through 7.
When a typespec is coded as a single integer, all specified characters are associated with the code-type.
When a typespec is coded as a series of integers, the specified characters are each associated with all of the specified types. A typespec may also be specified with the following values:
NUMERIC instead of 1
ALPHA instead of 2.
When a typespec is coded as 0, all characters specified by an inputspec are disassociated from all type code assignments. Thus, the TASSIGN parameter may untype a specified set of characters.
‘inputspec’
Specifies a single character, a series of characters, or a range of characters. The syntax indicates the set of input codes corresponding to characters bounded by and including the specified characters.
DATA DEFINITION COMMANDS
Default There is no default.
Example ac:TCODE TASSIGN=(3,(‘A’,-,‘J’,‘S’,-,‘Z’));
TRESET
Disassociates one or more characters in a set from one or more types.
Syntax ac:TCODE
or
ac:TCODE
or
ac:TCODE
Parameter options typespec
Specifies a single integer or series of integers from 1 through
7. When a typespec is coded as a single integer, all specified
characters are associated with the type code. When a typespec is coded as a series of integers, the
specified characters are each associated with all of the specified types. A typespec may also be specified with the following values:
NUMERIC instead of 1
ALPHA instead of 2.
TRESET=(typespec,‘inputspec’) TRESET=(typespec,(‘inputspec1’,‘inputspecn’)) TRESET=(typespec,ALL)
‘inputspec’
Specifies a single character, a series of characters, or a range of characters. The syntax indicates the set of input codes corresponding to characters bounded by and including the specified characters.
ALL
Specifies that all characters in the code table are disassociated from the specified types.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-19
Page 76
DATA DEFINITION COMMANDS

VOLUME

Default There is no default.
Considerations You can specify the TRESET parameter more than once in the
TCODE command.
Specifies the characteristics of the input medium. A JDL is supplied with the LPS software to dump the contents of
a tape. The following standard tape formats may be dumped with this JDL:
ASCII
EBCDIC
H2000 BCD
H6000 BCD
IBM BCD
UNIVAC FIELDATA.
Check the listing of the DUMP.JSL file to determine the appropriate JDE for the tape you want to dump. You can dump other tape formats by specifying the HOST type (DUMP or OCTDUMP) and the appropriate parameters, such as CODE and UNPACK, in a user-coded JDL.
BMULT
Specifies a multiplication factor which you use to determine true block length.
Syntax VOLUME
Parameter options value
Specifies a multiplication factor which you extract from the tape label and apply to the block length to determine the true block length. The value is an integer and can range from 1 to 15.
Default The default is 1.
Example VOLUME BMULT=13
CODE
Specifies which code translation table the system uses to interpret the input data.
Syntax VOLUME
Parameter options code-type
Specifies a specific, standard, system-defined code translation table. The options are:
ASCII
BCD
EBCDIC
H2BCD
H6BCD
IBMBCD
PEBCDIC
BMULT=value
CODE=code-type
2-20 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 77
DATA DEFINITION COMMANDS
NONE
Specifies that data is not translated by input processing.
USER
Refers to the single unlabeled CODE command defined within the JDE or JDL.
id
Specifies a variable identifier you use in the CODE command to refer to a specific user-defined code translation table. The identifier id is required when multiple CODE commands are contained within the JDL.
Default The default is EBCDIC.
Example VOLUME CODE=BCD
Considerations If you specify more than one CODE parameter, use identifiers so
that they can be referenced in your JSL. You must then specify the variable identifier id to correspond to the identifier label assigned to the defining CODE command.
If the system reports missing fonts when running XPPI jobs with CODE=NONE specified, the operator can elect to continue by pressing <CON>. The system then reverts back to the previous PDE, which may have contained fewer specified fonts. In this case, a nonexistent font could have been specified for this PDE, causing a rollover to occur.
When you run a CODE=NONE job with DUPLEX=YES and SHIFT=YES, you must specify MARGIN in inches.
Input data is translated according to the CODE parameter selected on the VOLUME command. Any character which is translated into an ASCII X’20’ is truncated after the last significant (non-ASCII X’20’) character in the print record.
EOV
Specifies the action the system takes when it encounters an end­of-volume (EOV) on the input data tape.
Syntax VOLUME
Parameter options action
PAUSE
NOPAUSE
action
EOF
EOV=(action1,action2)
1
Displays a message when EOV is encountered. A CONTINUE response by the operator causes the tape to rewind and the normal volume change sequence to proceed.
Issues a rewind instruction as soon as the EOV label is processed.
2
End-of-file. Specifies that the end-of-volume label is treated as an end-of-file label. When this occurs, the first part of the page spanning the volumes is output as the last page of the job. The second part of the spanned paged is printed as the first page when the next volume is started, with possible page format irregularities. To use the EOF parameter effectively, special user formatting of the multi­reel tapes is required to avoid these page format problems.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-21
Page 78
DATA DEFINITION COMMANDS
NOEOF
Specifies normal end-of-volume processing.
Default The default is NOPAUSE,NOEOF.
Example VOLUME EOV=(PAUSE,EOF)
HOST
Specifies the computer or host operating system that generated the input data file.
Syntax VOLUME
Parameter options host-type
ANSI B2500 B2700 B3500 B3700 B4700 B6700 DEC PDP11 DUMP GRASP H2000 H6000 IBMOS IBMDOS IBMONL ICL2900 NCR OCTDUMP OLDUMP OSWTR POWER POWERVS RSX11 UNDEF UNIVAC 1100 US70 XEROX ENET
HOST=host-type
Default The default is IBMOS.
Example VOLUME HOST=ANSI
Considerations For online systems, you must specify IBMONL or OLDUMP.
For Ethernet, you must specify ENET. For HOST=ICL2900, the PCCTYPE is always specified as NONE. For HOST=RSX11(FLX), you must specify the DATA command. For HOST=DUMP, two tape marks at the end of the tape are
required to dump the data tape using DUMP.JSL. If a selected HOST type is inconsistent with a selected LABEL
type, the PDL issues an error message and automatically substitutes a valid label. Do not code the LABEL parameter of the VOLUME command in cases where it is not appropriate for a particular HOST type. Refer to the “Offline specifications” appendix for more information on offline formats.
2-22 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 79
DATA DEFINITION COMMANDS
If an online job (JDE) is called out in an offline JDL that has changed the system default values, the job may print incorrectly. If this happens, separate and run online and offline jobs independently from each other.
INTERPRESS
Provides additional control over the Interpress environment.
Syntax VOLUME
scale,RES,image
Parameter options YES
error checking
pagebreak
thruput
INTERPRESS=YES,error checking,pagebreak,thruput,
Specifies that the data stream is Interpress. NO is not an option.
CHECKSUM
Enables error checking procedures on a job basis. If checksum is specified and verification fails, the job aborts.
NOCHECKSUM
Disables the error checking procedures.
BREAKPAGE
Requests a trailing break page if printing instructions are present in the job.
NOBREAKPAGE
Specifies a break page only if the system detects errors.
ROBUST
Invokes a process which supports more Interpress structures if the Interpress data stream is complex. Most Interpress masters are in final form, making ROBUST unnecessary.
SIMPLE
Provides increased performance if the Interpress master is not complex.
scale
INTEGRAL
Requests integral scale factors from 1 to 8 for IMG, IM6, and most RES (Xerox Compressed) images.
FRACTIONAL
Specifies fractional scaling of images with the Raster Image Processor (RIP) option when selected through JSL.
RES
PERFORMANCE
Specifies, with the Raster Imager Processor (RIP) that Raster Encoding Standard (RES) files that contain sampled color are imaged by the graphics hardware whenever possible. The RIP is used only when graphics hardware capabilities are exceeded.
COMPLIANCE
Specifies, with the Raster Imager Processor (RIP) that all RES files that contain sampled color and priorityImportant bitmap graphics are imaged on the RIP.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-23
Page 80
DATA DEFINITION COMMANDS
image
RIP
Instructs the system, with the Raster Image Processor (RIP) option, to use RIP to image the job.
NORIP
Instructs the system not to use the Raster Image Processor (RIP) even if it is present.
Default The defaults are: YES, NOCHECKSUM, NOBREAKPAGE, SIMPLE,
INTEGRAL, PERFORMANCE, and RIP.
LABEL
Specifies the type of label on the input tape.
Syntax VOLUME
Parameter options label-type
NONE (the input tape is unlabeled) ANSI STANDARD SPR (Honeywell 2000 System Print Tape) COBOL (Honeywell 2000 COBOL tape with 120-byte labels) UNDEF (input tape label is not defined).
Default The default is STANDARD.
Example VOLUME LABEL=ANSI
LCODE
Specifies the code translation table to use in interpreting the tape label.
Syntax VOLUME
Parameter options code-type
ASCII BCD EBCDIC H2BC H6BCD IBMBCD PEBCDIC NONE
LABEL=label-type
LCODE=code-type
Specifies that data is not to be translated by input processing.
USER ID
Specifies a variable identifier you use in the CODE command to refer to a specific user-defined code translation table. The identifier id is required when multiple CODE commands are contained within the JDL.
Default The default is EBCDIC.
Example VOLUME LCODE=ASCII
Considerations You select NONE for XPPI jobs that contain metacodes.
2-24 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 81
DATA DEFINITION COMMANDS
LPACK
Specifies whether undefined labels are packed or unpacked.
Syntax VOLUME
LPACK=value
Parameter options value
NO
Indicates that no unpacking operation is to be performed.
YES
Indicates that the labels are packed.
Default The default is NO.
Considerations If YES is specified, the UNPACK parameters specify the required
unpacking method for both the labels and the input data. The labels do not have to be packed even though the data may require unpacking.
MAXLAB
Specifies the longest physical block that is treated as a label for undefined labels.
Syntax VOLUME
MAXLAB=value
Parameter options value
Specifies in bytes the maximum length of the longest physical block. The value can range from 2 to 4096 bytes. The specified VALUE must be greater than the MINLAB VALUE and must not exceed the BLOCK LENGTH.
Default The default is 81.
Example VOLUME MAXLAB=2
Considerations Any data block whose length is between MINLAB and MAXLAB
(inclusive) is treated as a label.
MINLAB
Specifies the smallest physical block that is treated as a label for undefined labels.
Syntax VOLUME
MINLAB=value
Parameter options value
Specifies in bytes the maximum length of the smallest physical block. The value can range from 1 to 4095 bytes. Make sure that the value you specify is less than the MAXLAB value.
Default The default is 80.
Example VOLUME MINLAB=2
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-25
Page 82
DATA DEFINITION COMMANDS
OPTIMIZE
Enhances the performance of the data stream.
Syntax VOLUME
or
VOLUME
or
VOLUME
Parameter options value
NONE
OPTIMIZE=value OPTIMIZE=(value,...) OPTIMIZE=NONE
NCCHECK
Disables channel 9 and channel 12 detection. The host is not notified by the LPS each time channel 9 or 12 is recognized when this option is selected. Any skips to channel 9 or 12 are allowed as for any other channel.
NDCHECK
Disables reporting the detection of an unprintable character as defined by the UCSB. The host computer system is not notified by the LPS of this condition, even if the host sent an ALLOW DATA CHECK parameter. The unprintable character is printed as a blank by the LPS, whether or not this parameter is specified.
NPRECOVER
Enhances online data stream performance by minimizing the number of disk accesses on the LPS. If you specify this option to recover from a system abort, the user may have to retransmit the last several pages preceding the system abort.
Does not invoke the optimization parameter.
Default The default is NONE.
Example VOLUME OPTIMIZE=(NCC,NDC,NPRE)
Considerations Maximum performance occurs when all the parameters are
selected, but there is still significant improvement when you specify only NCCHECK and NDCHECK because input processing of a record and the subsequent data transfer of the next record occurs immediately.
OSCHN
Specifies the channel the system uses to signal the end of a report generated by an IBM OS Writer.
Syntax VOLUME
OSCHN=value
Parameter options value
Specifies the vertical format unit (VFU) channel the system uses to signal the end of a report. When a skip (determined by the Printer Carriage Control (PCC) field within a logical record) to the specified channel occurs, the IBM OS Writer banner page is considered found.
Default The default is 9.
2-26 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 83
DATA DEFINITION COMMANDS
OSHDP
Specifies the number of header banner pages generated by an IBM OS Writer.
Syntax VOLUME
Options value
Default The default is 0.
PLABEL
Specifies whether the tape labels are printed.
Syntax VOLUME
Parameter options value
Default The default is NO.
RMULT
OSHDP=value
Specifies the number of header pages that precede the report.
PLABEL=value
NO
Specifies that no tape label printing results.
YES
Specifies that all tape labels, except those encountered during a volume change) are printed on an output page and delivered to the sample print tray. Labels are truncated if they exceed the line width limits of the page.
Specifies a multiplication factor to apply to the record length extracted from a tape label to determine the true record length.
Syntax VOLUME
Parameter options value
Specifies an integer from 1 to 15.
Default The default is 1.
RSAT
Specifies whether a complete pass is made over the multivolume set for each copy of a report that is processing (REMOUNT) or whether a report split (SPLIT) occurs at the point of disk saturation.
Syntax VOLUME
Parameter options action
REMOUNT
SPLIT
RMULT=value
RSAT=action
Completes report copies. For each report copy, it is necessary to remount all of the tapes.
Indicates that only one pass is made over the input data and that the reports are in sections and require manual merging. Input processing is faster for SPLIT since only one pass is required over the input data.
Default The default is REMOUNT.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-27
Page 84
DATA DEFINITION COMMANDS
Considerations SPLIT is recommended for graphics processing when using page
interleaved or move mode since moving a large amount of graphic data impacts data stream performance.
TCODE
Specifies the set of type assignments to use for masked comparisons.
Syntax VOLUME
or
VOLUME
Parameter options code-type
ASCII BCD EBCDIC PEBCDIC H2BCD H6BCD IBMCD.
By coding any one of the code-types, you are furnished with a set of character-to-type assignments.
id
Specifies an identified label of a TCODE parameter that defines a set of type assignments.
Default The default is EBCDIC.
UNPACK
Specifies the unpacking method of the input data when required.
Syntax VOLUME
Parameter options value
NONE
TCODE=code-type TCODE=id
UNPACK=value
Does not perform the unpacking operation.
T4X3
Specifies unpacking routines in which 6-bit characters are extracted and restored as 8-bit bytes. T4X3 is used primarily for Honeywell 6000 tapes.
T4X3H2
Specifies unpacking routines in which 6-bit characters are extracted and restored as 8-bit bytes. T4X3H2 is used for Honeywell 2000 tapes.
UNIVAC
Specifies an unpacking routine used for UNIVAC tapes, although you can specify any of these routines independent of the HOST type.
Default The default is NONE.
2-28 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 85
DATA DEFINITION COMMANDS
VCODE (XDDI)
Specifies a table of character type codes to use in VALUE mode CRITERIA testing. This option accommodates the different presentations of numbers used in different countries, thereby ensuring accurate comparisons of numeric values. For more information on the PDL CRITERIA command, refer to the “Logical processing commands” chapter.
Syntax VOLUME
VCODE=(translation-type,keyword)
Parameter options translation-type
Specifies a standard code translation set. The following options are available:
ASCII BCD EBCDIC H2BCD H6BCD IBMBCD PEBCDIC.
keyword
Specifies a standard character type code table. The options for this parameter are shown in table 2-2.
Table 2-2. Standard character type code options
Type Thousands separator Decimal point
VCODE0 Comma Period VCODE1 Period Comma VCODE2 Comma, space,
Period
apostrophe
VCODE3 Period, space,
Comma
apostrophe VCODE4 Space Period VCODE5 Space Comma VCODE6 Period, space Dollar sign VCODE7 Comma, space,
Period
apostrophe
Default The default is EBCDIC,VCODE0.
Examples The following command utilizes the character type code table
applicable to the United Kingdom or the United States to process and compare numeric values through an ASCII code translation:
VOLUME CODE=ASCII,VCODE=(ASCII,VCODE0); The following command utilizes the character type code table
applicable to France to process and compare numeric values through an EBCDIC code translation:
VOLUME CODE=EBCDIC,VCODE=(EBCDIC,VCODE1);
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-29
Page 86
The following are examples of the value 50,000 which can be interpreted by various VCODEs:
VCODE0 50000.00 or 50,000.00 VCODE1 50000.00 or 50,000.00 VCODE2 50000.00 or 50,000.00 or 50 000.00 or 50’000.00 VCODE3 50000.00 or 50.000,00 or 50 000,00 or 50’000,00 VCODE4 500000.00 or 50 000.00 VCODE5 500000,00 or 50 000,00 VCODE6 50000$00 or 50.000$00 or 50 000.00 or 50’000.00 VCODE7 50000.00 or 50,000.00 or 50 000.00 or 50’000.00
The following are examples of the value PI which can be interpreted by various VCODEs:
VCODE0 3.141592654 or 3.141,592,654 VCODE1 3,141592654 or 3,141.592.654 VCODE2 3.141592654 or 3.141,592,654 or 3.141 592 654 or
3.141’592’654
VCODE3 3,141592654 or 3,141.592.654 3,141 592 654
3,141’592’654 VCODE4 3.141592654 or 3.141 592 654 VCODE5 3,141592654 or 3,141 592 654 VCODE6 3$141592654 or 3$141.592.654 or 3,141 592 654 VCODE7 3.141592654 or 3.141,592,654 or 3.141 592 654 or
3.141’592’65

VOLUME example

The following are sample VOLUME commands for several different host types:
VOLUME HOST=UNIVAC,LABEL=STANDARD,
UNPACK=T4X3,CODE=ASCII,LCODE=ASCII;
VOLUME HOST=IBMOS;
VOLUME HOST=IBMONL,LABEL=NONE,INTERPRESS=YES,
CODE=EBCDIC;
VOLUME HOST=B6700,LABEL=ANSI,BMULT=6,RMULT=6,
PLABEL=YES;
VOLUME HOST=H2000,LABEL=SPR,CODE=H2BCD,
UNPACK=T4X3H2;
VOLUME HOST=OCTDUMP,CODE=H6BCD,
UNPACK=T4X3;
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 2-30
Page 87

Print format command functions

3. Print format commands

This chapter describes the PDL commands that control the print format of your job.
Print format commands serve many different functions. The following are the most common uses of print format commands:
Specify the physical characteristics of a print job
Define the placement of data on the page
Identify system responses to error conditions.
ABNORMAL
Allows you to restrict certain operator functions and define system responses to error conditions.
ERROR
Defines the system response to abnormal conditions detected while processing or compiling DJDEs.
Syntax ABNORMAL
Parameter options action
STOP
ABORT
CONTINUE
Default The default is STOP.
Considerations If the system detects abnormal conditions while processing or
compiling DJDEs, it sets up the DJDE parameter set containing the offending entry to print on the OPRINFO page and displays an error message. The system does not report errors detected while processing RTEXT. It does report graphics processing separately on the graphics exception page printed at the end of the report.
ERROR=action
Stops processing the report. The following message is displayed and is followed by a DJDE error message:
OS2006 ENTER CONTINUE I OR ABORT I
Displays a message for the abnormal condition. Aborts the report it is processing, not the entire job. Does not give you the option of continuing the job.
Displays a message defining the abnormal condition. Continues processing the job without applying the offending DJDE parameter. Does not enable you to abort the job.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 3-1
Page 88
PRINT FORMAT COMMANDS
There are two ERROR parameter modes:
Non-stop includes CONTINUE and ABORT
Stop mode includes STOP.
In either mode, the appropriate message displays when any abnormal conditions, such as the following, are displayed:
Syntax error in DJDE specifications
Missing file referred to by a DJDE
RTEXT error
GRAPHIC error.
OTEXT
Specifies whether the system stops or continues printing when it displays an OTEXT message during system recovery.
Syntax ABNORMAL
OTEXT=action
Parameter options action
NOWAIT
Displays the OTEXT message as the marker page prints without interrupting printing.
WAIT
Stops printing and displays the OTEXT message when a recovery marker page prints. This delay allows you to verify the output report in the vicinity of the marker page.
Default The default is NOWAIT.
Example ABNORMAL OTEXT=WAIT,
ERROR=ABORT;
Considerations LPS automatic recovery procedures are based on valid checkpoint
data and usually require no operator intervention. The system produces a marker page (shown in figure 3-1) and inserts it into the print job at the point where the crash occurred. It prints after the data that was being processed just before the crash occurred.
3-2 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 89
Figure 3-1. Sample marker page
PRINT FORMAT COMMANDS
SECURITY
Restricts certain operator functions.
Syntax ABNORMAL
SECURITY=value
Parameter options value
NO
Specifies that no restrictions are in effect.
YES
Restricts the following commands for the duration of the startup JDE or JDL: SAMPLE (sample print), MOVE BLOCKS (block spacing of tape input), and SPACE PAGES (skipping over output pages).
Default The default is NO.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 3-3
Page 90
PRINT FORMAT COMMANDS

ACCT

Considerations If SECURITY is invoked in a selected JDE, such as a DJDE JDE, the
SAMPLE and SPACE PAGES restrictions do not take effect until after the first page of the report has been imaged (or spaced past).
Allows you to track system print accounting statistics. Accounting information is automatically accumulated by the system on a report basis and also for overall system usage.
The ACCT command enables you to print an accounting page at the end of printing for each report. An accounting page is a summary that consists of a single page of information containing job setup information and counts of processing events.
If a job is aborted during input, the system prints an accounting page with as much accounting information as possible and delivers one copy to the sample tray and one to the output tray.
DEPT
Establishes the name under which accounting statistics are accumulated for each report.
Syntax ACCT
Parameter options sc
Default If the DEPT parameter is not specified, data is accumulated under
a name made up of the identifier on the JDL SYSTEM (or JDL) parameter with the characters JDL appended to it, assuming that this same name exists in the accounting file. Thus, if a JDL identifier is H2SYS, and no DEPT was specified, the default accounting name on the accounting page is H2SYS:JDL. Data is accumulated under this default name only if this name exists in the accounting file. If the name is not in the accounting file, the accounting information goes to NODEPT.
Example The following example illustrates the use of the PDL command
ACCT and the system level ACCOUNT command. When the system level command ACCOUNT ADD, OPERATIONS is entered at the keyboard display, the name OPERATIONS is added to the current list of names in the system accounting file.
This command: ACCOUNT USER=TRAY, DEPT='OPERATIONS';
DEPT=sc
A string constant of up to 31 characters representing a department code or a name under which accounting information is maintained. In addition, the semicolon character (:) is also allowed for the department code. You must create the sc option name in the accounting file before you process a job.
requests the system to deliver one accounting page to the sample print tray after each report is printed. Each time a print job is run with the above command in the JDE, report accounting statistics are updated in the system accounting file under the name OPERATIONS.
Considerations Hexadecimal strings in a DEPT parameter are interpreted as
standard EBCDIC and translated to Extended ASCII.
3-4 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 91
PRINT FORMAT COMMANDS
A completion code of 0 indicates that the report may have completed successfully, except when a report integrity problem occurs within the last five duplex pages.
Restricting LPS usage to only those departments explicitly added to the accounting file is accomplished by deleting the NODEPT entry. If NODEPT is deleted, jobs are aborted unless a name has been entered in the accounting file that corresponds to the department name as specified on the ACCT command. The NODEPT entry must be deleted before any accounting data has been cleared.
USER
Specifies the destination of the one-page accounting summary for each report. This page is always printed in the mode of the report.
Syntax ACCT
USER=destination
Parameter options destination
BIN
Directs an accounting page to the output tray.
BOTH
Directs an accounting page to the output tray and the sample print tray.
NONE
Specifies that no accounting page is delivered.
TRAY
Directs an accounting page to the sample print tray.
Default The default is BIN.
Considerations When running in duplex, line counts for the back sides of the last
five (or fewer) pages of each report are not reflected in the system accumulated accounting statistics.
If the report completion code on the accounting page is non­zero, an accounting page is delivered to the tray even if USER=NONE is coded. This is done to notify you of a possible report integrity problem. If the report is duplex and the first integrity problem occurs within the last five back sides, the report completion code on the forced accounting page is zero.
Jobs aborted by input as a result of job recovery still produce an accounting page with as much accounting information as can be salvaged. The accounting page is delivered to both the bin and the sample tray.
The REPORT USER system command is used to print a copy of accounting statistics. It prints out accounting data for each name entered into the accounting file by the ACCOUNT parameter.
DEPARTMENT or JDL entries are supplied by OSS (NODEPT and TASKS$:JDL) and entered with the ACCOUNT parameter.
NODEPT is the name under which accounting statistics are accumulated for print jobs without name entries in the accounting file. TASKS$:JDL is a name under which accounting is accumulated for printing done by system tasks such as FDL, PDL, and the Editor. OPERATIONS is a user-supplied DEPARTMENT or JDL entry.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 3-5
Page 92
PRINT FORMAT COMMANDS

ACCT example

ac:CME

Other entries, such as PAGES and LINES, are defined the same as those on the end-of-report accounting page.
ACCT DEPT=’TURTLE’, USER=(BIN, TRAY); After each report, one accounting page is sent to the output tray
and one is sent to the sample tray. Accounting information for each job run under the ACCT command is accumulated in the system accounting log under the department name TURTLE. This assumes that you have entered the name TURTLE into the list of accounting names with the system level ACCOUNT parameter.
Specifies font changes within variable data or to allow predefined static data to replace certain parts of report output on copies.
The copy modification feature (also referred to as spot-carbon) offers the ability to modify LPS output. It allows certain parts of report output to be replaced on selected copies with predefined static data or to specify font changes within the variable data.
This feature is controlled through the use of the Copy Modification Entry (CME) command. The CME command defines a rectangular space on the printed page within which printed data is replaced with a substitution string or in which a font change occurs. More than one CME may be applied to a job. CMEs may be coded as part of the JDL or created as separate files so that they may be referenced by one or more JDLs.
An identifier of the type ac is specified when defining the CME. The command identifier ac may consist of 1 to 6 alphanumeric characters (A through Z and 0 through 9). One of the characters must be a letter. You reference ac with the MODIFY parameter of the OUTPUT command. The CME command must precede the OUTPUT command.
You may enter CME specifications in the short form to minimize the coding length. In short form, you give the first character of a parameter keyword, omit equal signs, and omit commas except where needed to avoid ambiguity.
CMEs are grouped into separate system disk command files of the type xxxx.CME instead of coded in the JSL. You reference CMEs with the OUTPUT command MODIFY parameter keyword.
CONSTANT
Specifies the character string that is printed.
Syntax ac:CME
CONSTANT=sc
Parameter options sc
Represents the string constant to be printed. The width of the copy modification rectangle is determined by the number of characters specified by the sc option. More than one sc is allowed.
Default There is no default for the CONSTANT parameter of the CME
command. It must be specified unless all that is required is a font change in the variable data.
3-6 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 93
PRINT FORMAT COMMANDS
Considerations Within a text string, the character # may be used as a lowercase
toggle. When a text string is encountered, it is assumed that characters are to be inserted into the print line as they appear in the text string (in uppercase normally). If a # is encountered, the lowercase mode is invoked, and all letters after the # are considered lowercase until another # is encountered. The sequence ## indicates that the character # is to be inserted and is not treated as toggling lowercase mode.
Whether a font switch is applied to a CME string constant depends upon the order in which FONT and CONSTANT are specified in the CME. If FONT is specified before CONSTANT, the font switch applies to the string constant. If FONT is specified after CONSTANT, the font switch occurs at the line position immediately after the string constant.
Whether an ink switch is applied to a CME string constant depends upon the order in which INK and CONSTANT are specified in the CME. If INK is specified before CONSTANT, the ink switch applies to the string constant. If INK is specified after CONSTANT, the ink switch occurs at the line position immediately after the string constant.
Where a CME string constant is printed on a line depends upon where the POS and CONSTANT parameters are specified in the CME. If POS is specified before CONSTANT, the string constant is printed at the specified position. If POS is specified after CONSTANT, the string constant is printed at the current position (position 1 if no other POS or CONSTANT parameter has been specified), and a subsequent CONSTANT or FONT parameter will take effect at the specified POS.
When the host type is RSX11, CMEs are often applied twice per line because of the way the carriage return and line feed is processed. When mixing font switches and string constants, the string constants may appear twice and be overprinted with two different fonts. The recommended approach for RSX11 host types is to specify the string constant font before the string constant itself, such as: FONT=1,CONSTANT='string',FONT=2.
FONT
Specifies an index into the font list (PDE command or DJDE) for font switching on input data or CME data. A PDE command is selected by the FORMAT parameter of the OUTPUT command.
Syntax ac:CME
FONT=value
Parameter options value
Ranges from 1 to n, where n is the number of different fonts specified by the FONTS parameter of the PDE command. A value of 1 specifies the first font in the FONTS parameter, 2 the second, and so forth.
Default The default is the current font (specified with the last FONT
parameter; initially the value is 1).
Considerations A font specification applies to input variable data as well as static
CME data. If a line number (LINE) and character position (POS) but no insertion text (CONSTANT) are specified, the font change specified applies to input variable data at the position specified.
Data lines are not properly aligned if proportional fonts are being used in landscape mode and a switch is made to a larger font in
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 3-7
Page 94
PRINT FORMAT COMMANDS
the middle of the line. This restriction is a result of the functioning of the printer imaging hardware.
CMEs are not applied if OVERPRINT=MERGE and FONTINDEX are both specified.
LINE
Specifies the line range of the CME.
Syntax ac:CME
LINE=n
or
ac:CME
LINE=(n,m)
Parameter options n
The initial line number of the copy modification rectangle.
m
The number of lines to repeat the information. If not specified, the information applies only to the starting line. A dash character indicates that information is to apply to all lines on a page beginning with the line indicated by the n option.
Default There is no default.
Considerations LINE must always precede POSITION.
CME parameters are applied to all lines within the range whether or not variable data appears on those lines.
Multiple lines may be specified and multiple columns may be specified for each line. Multiple line specifications must be given in ascending (top to bottom of page) order. Multiple column specifications for a line range must be given in ascending (left to right) order. There also may be multiple text specifications following a column specification. These are combined to form a single text string. Font specifications may be specified at any point. The last font specified remains in effect until another font is specified. An example of a CME with these characteristics is as follows:
XYZ: CME LINE=(1,10),POS=40,FONT=2,POS=80,FONT=3, LINE=(11,20),POS=1,FONT=3,POS=40,FONT=1,POS=80, FONT=2, LINE=(31,50),POS=1,FONT=2,POS=40,FONT=3,POS=80, FONT=1;
Under certain circumstances, a form and its associated variable data do not align properly, even though it appears that both use the same line spacing. Variable data has a line-spacing value that is computed as dots per line, and rounding is done on that value.
3-8 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 95
PRINT FORMAT COMMANDS
POSITION
Specifies the initial character position of the CME in the print line.
Syntax ac:CME
POSITION=value
Parameter options value
An integer value between 1 (the first position of the print line) and the value specified by the length parameter option (right hand part) of the DATA= parameter keyword in the LINE command.
Default The default is 1.
Considerations The LINE parameter must always precede the POSITION
parameter.

EXPORT (XDDI only)

A segment is a set of consecutively delivered sheets whose management as a set or segment has been specified by a PDL or DJDE command.
The EXPORT command enables specification of the following segment management capabilities:
Division of reports into segments
Generation of segment separator sheets
Use of segment numbers on separator sheets to simplify the
assembly of reports after finishing
Segment recovery (from system errors or printer faults) to
simplify assembly of reports after finishing.
Although the EXPORT command is primarily intended for use with the bypass transport option, it functions with any allowable destination (output device). If the OUTPUT DESTINATION specification is BIN, segments are offset relative to each other when delivered, and no other offsetting is processed.
Interactions between EXPORT PDL
statements and EXPORT DJDEs Take note of the following interactions between EXPORT PDL
statements and EXPORT DJDEs and their effect on segment management.
If you specify a line and column number value for SNUMBER in PDL that causes the segment number string to print off the page, the segment number does not print. If the system encounters an invalid line or column specification in the PDL command and a valid specification in a DJDE, unpredictable results may occur.
If the system encounters a SPLIT=OFF DJDE, it disables segment management, including:
SRECOVER defaults to PAGE recovery
SEPARATORS defaults to NONE
Segment numbering resets to PART 001 (which takes effect
when segment numbering is next enabled).
You must use a DJDE SPLIT=(min,max) to reenable segment management processing after it has been disabled by the DJDE SPLIT=OFF command.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 3-9
Page 96
PRINT FORMAT COMMANDS
The system may end a segment under any of the following conditions:
The maximum allowable page value is reached.
The end-of-report condition is met, including the logical end-
of-report specified in the RSTACK command.
The end-of-data condition is met.
SEPARATORS is specified in a DJDE.
The system encounters a SPLIT=NOW DJDE.
The system encounters a SPLIT=OFF DJDE.
You can reset the segment number to 1 by entering a SPLIT=OFF DJDE followed by a SPLIT=(min,max) DJDE.
Banner pages in an online environment are normally routed to the same output destination as the current job. You can redirect the banner page using the BANNER command, described in the “Logical processing commands” chapter.
If you have selected the SPLIT option for the RSAT command, a disk saturation condition may cause reports to be segmented incorrectly.
SEPARATORS
Specifies that the printer software saves an internal copy of the first data page of the report and uses it to generate segment separator sheets.
Syntax EXPORT
or
EXPORT
or
EXPORT
Parameter options value
SEPARATORS=value SEPARATORS=(BOTH,D) SEPARATORS=(LAST,D)
FIRST
Specifies that the separator sheet be the first sheet of the second and subsequent segments (no sheet is generated for the first segment).
LAST
Specifies that the separator sheet be the last sheet of all segments. In an online environment, a true banner trailer page is used as the separator sheet in place of the saved separator page, if one has been specified.
BOTH
Specifies that the system prints a separator sheet both as the first and the last page of each segment.
NONE
Does not print a separator sheet.
D
Specifies that the system prints the separator sheet on the back of any LAST sheets. If the report is a simplex report, the system still processes the last page of the segment as a duplex page. The parentheses are required when using the D parameter option.
Default The default is NONE.
3-10 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 97
PRINT FORMAT COMMANDS
SNUMBER
Specifies that the system merges the current segment sequence number (beginning with 001) into any separator sheets produced.
The printed segment sequence number for all separators except a LAST separator in the last sequence is eight characters long. It has the following format:
PART nnn The segment number string on a LAST separator in the last
segment is fifteen characters long with the following format: PART nnn of nnn
Syntax EXPORT
SNUMBER=(lnum, cnum, findex)
Parameter options lnum
The line number on which the segment number string is to begin (integers only).
cnum
The column number on which the segment number string is to end (integers only).
findex
The font index of the font to use in printing the segment number string. If the font index is not specified, the system uses the first font in the font list of the separator page.
Considerations The system interprets the line and column numbers entered in
the command using the metrics from the font index specified, or if none is specified, from the font used as a default.
If the line or column number you specify causes the segment number to print off the page, the segment number does not print. If the system encounters an invalid line or column specification in the PDL command and a valid specification in a DJDE, unpredictable results may occur.
SPLIT
Specifies using segment management and specifies the conditions for ending segments.
You must use the EXPORT SPLIT parameter for other EXPORT parameters to have an effect.
Syntax EXPORT
SPLIT=(min, max)
Parameter options min,max
The minimum and maximum number of pages allowed in a segment. These values must be specified together. The numbers must be integers between 1 and 32,767. The system includes separator sheets in its count.
Considerations The setting for minimum and maximum pages specified in this
command may be overridden by the SPLIT=NOW DJDE. Refer to the “Print control (DJDE) commands” chapter for more information on the SPLIT DJDE command.
If the system encounters the end of the segment before the min value specified in this command, the system generates blank
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 3-11
Page 98
PRINT FORMAT COMMANDS
pages or multiple LAST sheets (if you have specified LAST separators) to pad the segment.
SRECOVER
Specifies the mode of segment recovery. This determines how the system handles printer faults and system errors.
Syntax EXPORT
Parameter options value
Default The default is PAGE.
SRECOVER=value
PAGE
Specifies page recovery, which is the system standard method. When the system encounters a fault, it begins reprinting with the first sheet not successfully delivered.
SEGMENT
Specifies segment recovery. When the system encounters a fault, it reprints the entire segment currently printing. Because it is possible for the printer to process more than one segment concurrently in the paper path, the system may need to reprint more than one segment to effect full recovery of the incomplete segment.
ASK
Specifies that the system ask the operator to select page or segment recovery through a message on the user interface.
DEVICE
Specifies that the system should use the recovery method defined in the DFA specification. Used only when the Bypass Transport is the output destination, otherwise, the default page recovery is used.
STIMING
Provided for possible compatibility with other Xerox software supporting third party finishing devices and is ignored by the Xerox 4050/4090/4450/4650 LPS. Device specific timing parameters are actually set by using the Finishing Configuration (FCG) Utility.
The STIMING parameter, although ignored by the Xerox 4050/4090/4450/4650 LPS, specifies that the printer accommodate the minimum timing requirements needed by finishing equipment interfaced with the bypass transport. When needed, the printer meets the minimum time requirements by inserting holes (skipped pitches) in the paper path.
STIMING is invoked only if DESTINATION=EXPORT is in effect.
Syntax EXPORT
Parameter options INTERVAL
Specifies the minimum allowable time between end-of­segment signals (by way of the hardware interface at the bypass transport) for consecutive segments. If additional time is required, it is inserted after the last sheet is delivered and before the end-of-segment signal is emitted.
STIMING=(INTERVAL,sec,DELAY,sec)
3-12 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Page 99
PRINT FORMAT COMMANDS
DELAY
Specifies the minimum allowable time between the end-of­segment signal for one segment and delivery of the initial sheet of the next segment through the bypass transport.
sec
Specifies the time interval as a decimal number to a tenth of a second.
Allows you to control the characteristics of the user portion of the input data record and how it is to be printed, such as margins, overprinting, and carriage control.
DATA
Specifies the location and length of the print line data within an input data record.

LINE

Syntax LINE
DATA=(pdo,length)
Parameter options pdo
Print data offset. This is the number of bytes between the start of the user portion of the logical record and the first character of the record to be printed.
length
Specifies the maximum length of printable data within each logical record. The maximum allowable value is 1,000.
Default For offline systems, the default is (1,132). For online systems,
the default is (0,150).
Considerations For HOST=RSX11(FLX), the DATA parameter must be included in
the JSL, since the default pdo value causes the first data byte to be skipped.
If you change the print line data to a value greater than the default value (150), change the LENGTH parameter of the RECORD command accordingly.
XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE 3-13
Page 100
PRINT FORMAT COMMANDS
FCB
Suppresses or accepts Forms Control Buffer (FCB) processing.
Syntax LINE
Parameter options action
PROCESS
IGNORE
Default The default is PROCESS.
FONTINDEX
Specifies that a field within a data record defines the index to a specific font to be used for that line.
Syntax LINE
or
LINE
or
LINE
Parameter options offset
Indicates the byte offset in the data record where the font index number is to be found.
init-val
Can be ONE or ZERO. ONE specifies that an index value of 1 is associated with the first font in the font list. When the bit-opt parameter is used, the init-val ONE parameter must also be used. ZERO specifies that an index value of 0 is associated with the first font in the font list, an index value of 1 is associated with the second font in the font list, and so forth. The default is ONE.
FCB=action
Accepts FCB processing. The VFU parameter defines the vertical upspacing if the FCB is ignored. For online systems only.
Suppresses the processing of the host-transmitted FCB.
FONTINDEX=offset FONTINDEX=(offset,init-val,bit-opt) FONTINDEX=NONE
bit-opt
A numeral having a value in the range of 1 through 7, which specifies the number of low-order bits within the font index byte, which, in turn, specifies an index value into the font list of the current PDE. The default value is 4.
NONE
Specifies that there is no font index.
Default The default is NONE.
Considerations Although the maximum bit-opt value may be 7 (allowing a
maximum font index value of 127), the maximum number of fonts is constrained by the size of available input and output dynamic memory, font memory size, and the FONTS specification. Also, internal table structures limit the number of fonts that can be invoked on a single page to 94 fonts.
3-14 XEROX 4050/4090/4450/4650 LPS PRINT DESCRIPTION LANGUAGE (PDL) REFERENCE
Loading...