Copyright protection claimed includes all forms and matters of copyrighted material and information now
allowed by statutory or judicial law or hereinafter granted, including without limitation, material
generated from the software programs that are displayed on the screen such as styles, templates,
icons, screen displays, looks, etc.
Adobe® and the Adobe logo, InDesign®, Illustrator®, PageMaker®, Photoshop®, Acrobat®, Distiller®,
and the Acrobat logo are either registered trademarks or trademarks of Adobe Systems Incorporated in
the United States and/or other countries.
Macintosh, Power Macintosh, and Mac are registered trademarks of Apple Computer, Inc.
Microsoft® Windows NT® and Microsoft® Windows are trademarks of Microsoft Corporation.
PANTONE® is a registered trademark of Pantone, Inc.
Sun Microsystems and Solaris are a trademarks, registered trademarks, or service marks of Sun
Microsystems, Inc. in the U.S. and other countries.
SWOP® is a registered trademark of SWOP, Inc.
Quark and QuarkXPress are trademarks of Quark, Inc. and all applicable affiliated companies, Reg.
U.S. Pat. & Tm. Off. and in many other countries.
This product includes software developed by the Apache Software Foundation (http://www.apache.org).
This product includes software developed by the JDOM Project (http://www.jdom.org).
This product includes software developed by the Jaxen Project (http://www.jaxen.org).
iGen3® is a registered trademark of Xerox Corporation in the US and/or other countries.
Xerox®, FreeFlow®, and SmartPress™ are the trademarks of or licensed to XEROX CORPORATION.
Adjustments, use of controls, or performance of procedures
other than those specified herein may result in hazardous
light exposure.
Xerox FreeFlow Print Server-based printers are certified to
comply with the performance standards of the U.S. Department
of Health, Education, and Welfare for Class 1 laser products.
Class 1 laser products do not emit hazardous radiation. The
DocuPrint printers do not emit hazardous radiation, because the
laser beam is completely enclosed during all modes of customer
operation.
The laser danger labels on the system are for Xerox service
representatives and are on or near panels or shields that must
be removed with a tool. DO NOT REMOVE LABELED PANELS
OR PANELS NEAR LABELS. ONLY XEROX SERVICE
REPRESENTATIVES HAVE ACCESS TO THESE PANELS.
Ozone information: U. S. only
This product produces ozone during normal operation. The
amount of ozone produced depends on print volume. Ozone is
heavier than air. The environmental parameters specified in the
Xerox installation instructions ensure that concentration levels
are within safe limits. If you need additional information
concerning ozone, call 1-800-828-6571 to request the Xerox
publication 600P83222, OZONE.
Using LCDS Print Description Languagexvii
Operation safety: U. S.
Your Xerox equipment and supplies have been designed and
tested to meet strict safety requirements. They have been
approved by safety agencies, and they comply with
environmental standards. Please observe the following
precautions to ensure your continued safety.
Improper connection of the equipment grounding conductor
may result in risk of electrical shock.
•Always connect equipment to a properly grounded electrical
•Never use a ground adapter plug to connect equipment to an
•Always place equipment on a solid support surface with
WARNING
outlet. If in doubt, have the outlet checked by a qualified
electrician.
electrical outlet that lacks a ground connection terminal.
adequate strength for its weight.
•Always use materials and supplies specifically designed for
your Xerox equipment. Use of unsuitable materials may
result in poor performance and may create a hazardous
situation.
•Never move either the printer or the print server without first
contacting Xerox for approval.
•Never attempt any maintenance that is not specifically
described in this documentation.
•Never remove any covers or guards that are fastened with
screws. There are no operator-serviceable areas within these
covers.
•Never override electrical or mechanical interlocks.
•Never use supplies or cleaning materials for other than their
intended purposes. Keep all materials out of the reach of
children.
•Never operate the equipment if you notice unusual noises or
odors. Disconnect the power cord from the electrical outlet
and call service to correct the problem.
If you need any additional safety information concerning the
equipment or materials Xerox supplies, call Xerox Product
Safety at the following toll-free number in the United States:
xviiiUsing LCDS Print Description Language
1-800-828-6571
For customers outside the United States, contact your local
Xerox representative or operating company.
Operation safety: Europe
This Xerox product and supplies are manufactured, tested and
certified to strict safety regulations, electromagnetic regulations
and established environmental standards.
Any unauthorized alteration, which may include the addition of
new functions or connection of external devices, may impact the
product certification.
Please contact your Xerox representative for more information.
Warning markings
All warning instructions marked on or supplied with the product
should be followed.
This WARNING alerts users to areas of the product where there
is the possibility of personal damage.
This WARNING alerts users to areas of the product where there
are heated surfaces, which should not be touched.
Electrical supply
This product shall be operated from the type of electrical supply
indicated on the data plate label of the product. If you are not
sure that your electrical supply meets the requirements, please
consult your local power company for advice.
Using LCDS Print Description Languagexix
Ventilation
WARNING
This product must be connected to a protective earth
circuit.
This product is supplied with a plug that has a protective earth
pin. This plug fits only into an earthed electrical outlet. This is a
safety feature. Always connect equipment to a properly
grounded electrical outlet. If in doubt, have the outlet checked by
a qualified electrician.
To disconnect all electrical power to the product, the disconnect
device is the power cord. Remove the plug from the electrical
outlet.
Slots and openings in the enclosure of the product are provided
for ventilation. Do not block or cover the ventilation vents, as this
could result in the product overheating.
This product should not be placed in a built-in installation unless
proper ventilation is provided. Please contact your Xerox
representative for advice.
Never push objects of any kind into the ventilation vents of the
product.
Operator accessible areas
This product has been designed to restrict operator access to
safe areas only. Operator access to hazardous areas is
restricted with covers or guards which require a tool to remove.
Never remove these covers or guards.
xxUsing LCDS Print Description Language
Maintenance
Any operator product maintenance procedures are described in
the user documentation supplied with the product. Do not carry
out any maintenance on the product which is not described in the
customer documentation.
Before cleaning your product
Before cleaning this product, unplug the product from the
electrical outlet. Always use materials specifically designated for
this product; the use of other materials may result in poor
performance and may create a hazardous situation. Do not use
aerosol cleaners as they may be flammable under certain
circumstances.
CE mark: Europe only
January 1, 1995: Council Directive 73/23/EEC, amended by
Council Directive 93/68/EEC, approximation of the laws of the
member states related to low voltage equipment.
January 1, 1996: Council Directive 89/336/EEC, approximation
of the laws of the member states related to electromagnetic
compatibility.
March 9, 1999: Council Directive 99/5/EC, on radio equipment
and telecommunications terminal equipment and the mutual
recognition of their conformity.
A full declaration of conformity, defining the relevant directives
and referenced standards, can be obtained from your Xerox
representative.
In order to allow this equipment to operate in proximity to
Industrial, Scientific and Medical (ISM) equipment, the external
radiation for the ISM equipment may have to be limited or special
mitigation measures taken.
Using LCDS Print Description Languagexxi
This is a Class A product. In a domestic environment this product
may cause radio frequency interference, in which case the user
may be required to take adequate measures.
Shielded interface cables must be used with this product to
maintain compliance with Council Directive 89/36/EEC.
For further information
For more information on Environment, Health and Safety in
relation to this Xerox product and supplies, please contact the
following customer help lines:
Europe: +44 1707 353434
USA: 1-800-828-6571
Canada: 1-800-828-6571
xxiiUsing LCDS Print Description Language
Contents
Introduction
Using LCDS Print Description Language provides information on
how to use PDL to program LCDS job descriptions that can be
used on any Xerox FreeFlow Print Server-based printing system
featuring LCDS. Examples of these systems include, but are not
limited to: the Xerox DocuPrint 75/90 and 100/115/135/155/180
Enterprise Printing Systems, the DocuPrint 75 MX, the Xerox
DocuTech 128/155/180 HighLight Color Printing System, and
the Xerox Nuvera 100/120 family of printing systems.
Before using this documentation, become familiar with its
contents and conventions.
Focus of this
guide
The topics discussed in this guide include:
•Explanation of a Job Source Library (JSL), including required
and optional commands and components
•Rules and guidelines for coding LCDS PDL commands
•Procedures for creating and compiling a JSL
•Syntax and explanation of each LCDS PDL command,
parameter, and DJDE
•Explanation of Dynamic Job Descriptor Entries (DJDEs) and
the process for inserting them into the data stream
•Reference list of all PDL and DJDE commands, including
online and offline usage, parameters, and the Xerox printing
systems that support them
A glossary and index are also provided.
This documentation describes LCDS Print Description Language
as it applies to the DocuPrint 100/115/135/155/180 and 75/90
EPS, and the DocuPrint 75 MX. Except where otherwise noted,
the PDL information contained in this documentation also applies
to the following families of Xerox Laser Printing Systems that
print LCDS data:
Using LCDS Print Description Languagexxiii
Introduction
Xerox 180, 180MX, 96, and 96MX Laser Printing Systems
The following families of printing systems support subsets of the
PDL commands that can be used.
•Xerox 4635 and 4635 MX Laser Printing Systems
•Xerox 4850 and 4890 HighLight Color Laser Printing
Systems
•Xerox DocuPrint 92C HighLight Color Laser Printing System
•Xerox 4050, 4090, and 4650 Laser Printing Systems
•Xerox 9790 and 8790 Laser Printing Systems
•Xerox DocuTech 128/155/180 HighLight Color Printing
Systems
•Xerox Nuvera 100/120 MX Digital Production Systems
Refer to Appendix A, “PDL command and DJDE summary,” for
information on which laser printer families support the different
commands.
Conventions
NOTE: Forms Description Language (FDL) commands cannot
be used on the FreeFlow Print Server, because these systems
do not have forms compiling capability. You can, however,
create forms by using FDL on another laser printing system or by
using a forms creation software package on a PC or other type of
workstation. Form files that are created externally can be
transferred or imported to the system disk of your FreeFlow Print
Server, and can be specified for jobs that are printed on the
system.
This guide uses the following conventions:
•Alerts: Alerts include notes, cautions, and warnings.
–Notes are hints that help you perform a task or
understand the text.
–Cautions alert you to an action that could damage
hardware, software, or your print job.
–Warnings alert you to conditions that may cause injury to
people.
xxivUsing LCDS Print Description Language
Alerts appear as follows:
–Notes: Printed in italics
–CAUTIONS: Printed in red
Introduction
–WARNINGS: Printed in bold red
•Angle brackets: Angle brackets surrounding a word indicate
the word is the name of a key on the print server keyboard.
Key names start with a capital letter. (Example: Press
<Enter>.)
•Square brackets: Square brackets around words or phrases
indicate the names of buttons to click or menu options to
select on a screen., Square brackets also indicate the names
of fields and text boxes on screens. (Example: In the
[Folders] field, select [resources].)
•Bold type: Used for emphasis. It is also used for keywords
that introduce items in a list.
•Entering: Within procedures, the two-step process of keying
in text and pressing <Enter>. (Example: Enter y in the box.)
•Fixed pitch font: Used to indicate text that you enter in a text
field on a window, such as examples of PDL commands. It
also indicates text that the system displays on the screen,
such as messages. Example:
LINE DATA=(1,132), FONTINDEX=133;
•Italics: Indicate variables (types of items that vary from one
command to another), or the position of a specified argument
in the command syntax. (Example: IDEN SKIP = value.)
Italics are also used for document titles and library names
(Example: Using LCDS Print Description Language.)
Using LCDS Print Description Languagexxv
Introduction
xxviUsing LCDS Print Description Language
1.PDL principles and procedures
The Xerox LCDS Print Description Language (PDL) is a set of
commands you give to the printing system to define properties
such as the appearance, output destination, and paper feed
source for your LCDS print job.
You can use LCDS PDL to do all of the following in your print
jobs:
•Change and mix font types on a page to page, line to line, or
character to character basis. This allows you to customize
printed output for specific needs; for example, emphasizing
important headings by changing font styles and sizes.
•Change text orientation and positioning on a page to page
basis. This allows you to print characters along the width or
length of the page with equal ease. The printing system can
switch instantly, at a page boundary, between portrait (tall
and narrow) and landscape (wide) page formats, combining
the two styles within a single report.
•Print a number of previously separate logical pages on the
same physical page of a document.
•Modify documents on a page to page basis by using copy
modification entries (CMEs) to replace selected portions of
text with other data, change fonts, or label copies as
“confidential.”
•Merge variable print data with forms stored on the system
disk. This feature eliminates the need for forms overlays and
most preprinted forms, as well as assuring perfect
registration.
•Print two different forms back to back (duplex) on one sheet
of paper, thereby reducing paper costs. Additionally, this
option offers potential savings in inventory, filing, storage,
and mailing costs for computer generated material.
•Feed paper either short edge first or long edge first to
accommodate a variety of paper sizes.
Using LCDS Print Description Language1-1
PDL principles and procedures
Enabling PDL features and functions
To enable these functions, you enter PDL commands to enable
the following for your print job:
•Describe the input (type, format, characteristics, and source)
•Define any logical or special processing functions to be
performed on selected text, pages, or copies
•Describe the output (type, format, font selection, accounting
options, and destination)
Each command has a set of parameters and parameter options
used to define the above characteristics of a print job.
PDL commands may be specified in the following ways:
•In a Job Source Library (JSL)
•As Dynamic Job Descriptor Entries (DJDEs)
Job Source
Libraries (JSLs)
Dynamic job
descriptor entries
(DJDEs)
One way to issue PDL job definition commands to your printing
system is to create a text file of these commands for your job.
The source (text, uncompiled) file of PDL commands is called a
“job source library” (JSL) file. The JSL file is then compiled by the
system to create an object file, called a “job descriptor library”
(JDL).
Each compiled JDL file is stored in a resource folder named
“lcds” located on the print server disk. The system accesses the
required JDL from the “lcds” folder when the operator specifies it
to start a job. When a job is sent from the host, the printing
system reads the specified JDL and obtains instructions on what
fonts and forms to use when printing the job as well as where to
direct the printed output.
Dynamic Job Descriptor Entries (DJDEs) are parameters
embedded within the input data stream. They modify the printing
environment established by a job descriptor entry (JDE) within a
JDL, as the job is printing. DJDEs allow page by page or record
by record modifications to your applications.
Most PDL commands are also available as DJDEs. Refer to
“PDL command and DJDE summary,” Appendix A, for
information on which PDL commands have DJDE counterparts.
In order to use DJDEs, you must specify an IDEN command in
the JSL to advise the system that DJDE records are included in
the input data stream and where to look for them.
1-2Using LCDS Print Description Language
Refer to the “Specifying DJDE records” section of the “Using
Dynamic Job Descriptor Entries (DJDEs)” chapter for information
on how to include DJDEs in the data stream.
PDL command structure and components
In order for the system to recognize and respond correctly to
your PDL commands, you must construct and enter them
correctly. Some components of PDL commands must be
specified every time, while others are optional. There are some
rules for constructing commands. You must follow these rules in
order for your system to print your job the way you want it. Refer
to “Command syntax” later in this chapter for details on the JSL
syntax rules.
Command lines
PDL principles and procedures
The JSL consists of command lines, also called records, on
which you enter PDL commands. The length of these records
can be up to 133 characters for JSLs on tape.
NOTE: If you select the [TRUNCATE] option of the xjdc
compiling command, only characters 1 through 72 may be used
for parameter information. Refer to “Compiling a JSL” later in this
chapter.
You can continue commands on successive lines if the
parameters are separated by commas. Multiple commands may
appear on one record line if separated by semicolons.
Components of a command
Each PDL command consists of a command keyword and one or
more parameters. Parameters are separated by commas or
spaces. A PDL command has the following parts:
•Command identifier (if required)
NOTE: DJDEs do not have identifiers.
•Command keyword
•One or more command parameters
•Parameter options
Using LCDS Print Description Language1-3
PDL principles and procedures
•Comments (if appropriate)
These components are shown in the following figure.
Figure 1-1. Diagram of PDL command components
1. Command statement
2. Identifier
3. Command keyword
4. Parameter keyword
5. Parameter option
6. Additional parameter keywords and options
In the example above, the identifier, parameter keyword, and
parameter options are part of the VFU command, which is
represented by the required command keyword VFU. All of these
components may be collectively referred to as a “command
statement.”
The following table shows examples of the typical components of
a PDL command statement.
Table 1-1. Set of typical PDL commands
Command
Command
identifier
VFU1:
CME4:
keyword
(required)
VFU
CME
Parameter
keywords
ASSIGN=
TOF=
BOF=
LINE=
POSITION=
FONT=
Parameter
options
(1,1),
1,
55;
(1,60),
5,
2;
1-4Using LCDS Print Description Language
PDL principles and procedures
Command
identifier
Some PDL commands require identifiers to precede their
command keywords. By coding an identifier before a command,
you associate the identifier with the command. This allows the
command to be referenced (by its identifier) by other commands
within the JSL. Some identifiers also determine the names of the
files that the Xerox Job Descriptor Compiler creates.
Different syntax rules apply to identifiers, depending on the
command being coded. Each command description in this
document tells you if an identifier is required (or optional) for the
command and if so, how it must be coded.
In most cases, in a JSL, if a command will be referenced by
another command within the JSL, an identifier must precede the
keyword of the referenced command. A command identifier is
defined using a label of up to six alphanumeric characters,
followed by a colon (:).
Two types of identifiers can be used:
1. ac type: Must have at least one alpha character, that is, a
letter.
2. dd type: May have all numerals, all alpha characters, or a
combination of both.
Command
keyword
The following PDL command has the command identifier VFU1
and the command keyword is VFU.
VFU1:VFU
ASSIGN=(1,1), TOF=1, BOF=55;
END;
The identifier in this command may have any number of blanks
following the VFU1 characters; however, no blanks are permitted
within the identifier name.
NOTE: A command that requires an identifier must always be
defined before any other command that references it.
Every command must have a keyword, which is the “name” of
the command for which various parameters may be selected.
In the following example, CME is the command keyword (CME4
is the identifier).
CME4:CMELINE=(1,60), POSITION=5, FONT=2;
In the next example, the command keyword OUTPUT can be
followed by any number of parameters, such as:
OUTPUTGRAPHICS=YES, DUPLEX=NO, FORMAT=PDFLT,
Using LCDS Print Description Language1-5
FORM=BAR;
PDL principles and procedures
Refer to Appendix A, “PDL command and DJDE summary,” for a
list of all available command keywords.
ParametersEach command keyword is followed by parameters. Parameters
give precise specifications for the print job or application.
•In commands that comprise a JSL, each parameter consists
of a left part and a right part, separated by an equal (=) sign.
(Spaces before and after the equal sign are optional.) The left
part is the parameter name; the right part indicates the
parameter options or values.
•In DJDEs, the left part is the DJDE command name. The
DJDE options are right part components, following the equal
sign.
Parameter options
and right part
components
The right part of a parameter contains the options, which may
consist of keywords, variable references, and value or string
constants.
Each parameter has one or more options. For example, the
OFFSET parameter of the OUTPUT command (which can be
shortened to OUTPUT OFFSET parameter) has three options:
ALL, FIRST, and NONE.
Some parameter options have multiple components. Some of
these components must have values specified; others are
optional. Parentheses are used to enclose multiple components
of a right part, as shown in the following example.
In the example below, the VFU command has three parameters:
ASSIGN, TOF (top of form), and BOF (bottom of form).
VFU1:VFUASSIGN=(1,1), TOF=1, BOF=55;
END;
In this example, the ASSIGN parameter option has two
components. Multiple components of an option must be coded in
the order shown in the command description syntax diagram.
•Keywords
1-6Using LCDS Print Description Language
Keywords are terms that direct the system to perform specific
activities. Keywords always consist of the same characters
and do not vary.
PDL principles and procedures
Example:
ABNORMALERROR=CONTINUE, OTEXT=(... WAIT);
ACCTUSER=BOTH;
•Variable references
In creating your JSLs, you will often include variable
references, which may be either file names of resources
stored on the system disk (forms, CMEs, PDEs, stocksets,
and so on) or identifiers for commands coded previously in
the JSL.
Example:
OUTPUT FORM=FORM1, MODIFY=CME12;
NOTE: In some cases, such as in the MODIFY= command
shown in the example above, the variable (CME12) could be
either a file name or an identifier for a CME coded earlier in
the JSL. In other cases, such as in the FORM= command,
the variable (FORM1) can only be a file name.
•Value constants
Value constants have arithmetic values. Value constants
should be expressed as decimal numbers. They may also be
expressed as hexadecimal values, octal values, or character
values, but these expressions are not recommended.
Decimal numbers may be signed and may have fractional
digits.
Example:
PDEBEGIN=(1.1,.37);
RECORDLENGTH=132;
OUTPUTIMAGE=(1.30 CM,0.85 IN);
To express value constants as hex, octal, or characters, you
use string constants to define one or two bytes of data.
•String constants
String constants are used to specify a sequence of
characters. The length of string constants is important.
–Ways to express string constants
Using LCDS Print Description Language1-7
String constants may be expressed as any of the
following:
•Hexadecimal
•ASCII
PDL principles and procedures
–Using the # character (case toggle)
–Using a repeat count
T1: TABLE CONSTANT=(3)'*';
•EBCDIC
•Octal
•Kanji
Within a text string, the # character may be used as a
case toggle. In other words, when a text string is
encountered, it is assumed that characters are inserted
into the print line as they appear in the text string (usually
in uppercase). If the system encounters a #, it interprets
the characters as lowercase mode. All letters after the #
are considered lowercase until another # is encountered,
which toggles back to uppercase.
The sequence ## indicates that the actual # character
should be inserted and should not be treated as a toggle
for lowercase mode.
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:
is equivalent to:
T1: TABLE CONSTANT=('***');
Following are additional examples of the use of a repeat
count:
T1:TABLECONSTANT=(3)O'27';
T2:TABLECONSTANT=(4)X'C1';
–Types of string constants:
The following table gives explanations and examples of
the different types of string constants.
1-8Using LCDS Print Description Language
Table 1-2. Types of string constants
ConstantDefinitionExample
PDL principles and procedures
Hexadecimal 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 immediately be preceded by
the characters X apostrophe (X’),
then followed by another
apostrophe, to indicate to the PDL
compiler that the expression that
follows is in hexadecimal.
ASCIIUsed as string constants. Each
character results in one byte. The
constants must be preceded by
the characters A apostrophe (A’)
and followed by an apostrophe
character.
The ASCII string type allows
hexadecimal representation of
characters to be embedded in a
string. This is done by preceding
the hexadecimal representation of
the character with an ! character.
The three character sequence
required for the 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.
IDEN PREFIX=X'C1C2C3C4';
IDEN PREFIX=A'ABC!44EF'
is equivalent to
IDEN PREFIX=X'414243444546'
Using LCDS Print Description Language1-9
PDL principles and procedures
Table 1-2. Types of string constants (Continued)
ConstantDefinitionExample
EBCDICEBCDIC constants are used for
value and string constants. They
must be preceded by the
characters E apostrophe (E’) and
followed by an apostrophe
character (’). The EBCDIC string
type allows hexadecimal
representation of characters to be
embedded in a character string.
This is done by preceding the
hexadecimal representation of the
character with an ! character.
Each character represented in
EBCDIC results in one byte. Each
three character sequence
representing a character
hexadecimally results in one byte.
NOTE: If no character type is
specified, EBCDIC is the default.
OctalOctal constants should be used
only as string constants because
of the control program conversion
process. Each octal character
results in three bits.
Each octal character pair is
converted internally to an 8 bit
octal character 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
characters letter O apostrophe (O’)
and immediately followed by the
apostrophe (’) character.
IDEN PREFIX='DJDE';
TABLE CONSTANT='ABCDE';
IDEN PREFIX=E'ABC!C4EFG'
is equivalent to the hexadecimal
IDEN PREFIX=X'C1C2C3C4C5C6C7’
RECORD CONSTANT=O'07070707'
1-10Using LCDS Print Description Language
Table 1-2. Types of string constants (Continued)
ConstantDefinitionExample
PDL principles and procedures
H2 and H6H2 and H6 constants generate
H2000 BCD and H6000 BCD
codes, respectively. Use of H2 and
H6 is identical to use of E and A
prefixes described in the previous
sections of this table.
Since H2000 and H6000 BCD are
defined as 6-bit codes, no
specification greater than X’3F’
generates a legal character. If
anything from X’40’ to X’FF’ is
coded, an error message appears
and the bad character is replaced
with a blank.
String constants may be replaced
by an optional repeat count. A
repeat count must be enclosed in
parentheses and must be in the
range of 1 to 255.
For the system to read and process any command you put in
your JSL, you must place all elements in the proper order and
use the correct symbol or amount of space to separate them.
Syntax rules
When you enter your PDL commands at the print server,
workstation, or host keyboard, you must follow these syntax
rules in order for the system to recognize the commands.
•Abbreviations: Command and parameter keywords can be
shortened to the first three letters; for example, POSITION
may be entered as POS, OUTPUT as OUT, etc.
NOTE: The only exception to this abbreviation rule is the
parameter FOR, which the system could interpret as
FORMAT, or FORM, or FORMS. Therefore, be sure to use
the full spelling to represent FORMAT or FORM(S).
•Blank spaces: You may use blanks anywhere in the JSL
except in keywords and constants.
•Continuation lines: The FreeFlow Print Server LCDS
systems accept continuation lines in DJDEs. The following is
an example of a DJDE using a continuation line.
NOTE: Use of continuation lines is not recommended
because the results are unpredictable
Incorrect structure for FreeFlow Print Server LCDS
systems:
Valid structure for FreeFlow Print Server LCDS systems:
DJDEFONTS=(fn1,fn2,fn3,...,fn13),;
DJDEFONTS=(fn14,fn15,fn16),;
•End of a command: Place a semicolon (;) at the end of
every PDL command.
•End of a JSL: Use the END; command to signal the end of a
JSL or other file such as a PDE, CME, or STOCKSET.
•End of all JSLs: To signal the end of all JSLs, PDEs, CMEs,
1-12Using LCDS Print Description Language
TSTs, or STOCKSETS that are being processed, enter END
followed by a semicolon (;) twice, as shown below.
PDL principles and procedures
END; END;
•Multiple part options: Use parentheses to enclose multiple
parts of a parameter option.
Example:
CRITERIA CONSTANT=(0,120,EQ,T1);
•Order of right part components: If you want to specify
more than one component of a parameter right part, enter the
components in the order they are shown in the command
description and separated by commas.
Example: The MESSAGE OTEXT parameter has two
alternative options, one of which has four components
enclosed in parentheses. (The square brackets indicate that
a component is optional. The braces indicate that the
command contains alternative options, only one of which may
be used. Alternatives are separated by the “|” separator
character.)
OTEXT={(sc [,{passnum|END}][,WAIT])|NONE}
•Placeholders: To specify a particular component but not the
optional components preceding it, do not enter more than
one comma as a “place holders” for the component you do
not specify. The component must be optional as indicated by
square brackets in the syntax definition for the parameter.
When the comma preceding the optional component appears
inside the square brackets, then it is provided only if the
component is provided.
Example: If you want to specify an operator message
(OTEXT) and the WAIT parameter, but wish to use the
default value for passnum, enter:
OTEXT=(‘load blue paper’, WAIT);
The passnum component is not supplied in the example, and
its default value is used instead.
•Singular or plural: You may use either the singular or plural
form of the FONT, FORM, and GRAPHIC parameters. (The S
in FONTS, FORMS, and GRAPHICS is optional.)
•Separation of parameters: Use commas and blanks to
separate parameters within a command.
BANNER TEST=C1, HCOUNT=1, TCOUNT=2;
Using LCDS Print Description Language1-13
Example:
PDL principles and procedures
NOTE: Commas and blanks cannot be used
interchangeably. Many commands require commas to
separate the parameters, and blanks are not valid delimiters.
The syntax diagram in each command and parameter
description shows which delimiters to use.
•Uppercase text: Use UPPERCASE letters when coding PDL
commands. Comments, however, need not be in uppercase.
Command
example
The following LINE command example contains three
parameters. The right part of the VFU parameter is a reference
to an identifier “VFU1.” The right part of the DATA parameter has
two components that are value constants, and OVERPRINT
uses keyword constants.
Table 1-3.
LINEVFU=VFU1, DATA=(1,10),
OVERPRINT=(PRINT,DISP);
Command syntax conventions
The command descriptions use the syntax conventions shown in
the table below.
Table 1-4. Syntax conventions
SymbolTermFunction
( )ParenthesesEnclose options in a command right part that consist of two or more
components, separated by commas.
{ }BracesEnclose a set of choices for a right part component, or the entire right
|SeparatorSeparates alternative command right part options, one of which must
[ ]Square
brackets
,CommaSeparates multiple parameters or components of a parameter right
OUTPUT
(example)
value
(example)
Uppercase
letters
ItalicsDenote a variable you must define.
1-14Using LCDS Print Description Language
part of a command for which there are two or more alternative
(“either–or”) options, only one of which must be selected.
be selected. (Means “or.”)
Enclose components that are optional and not required for the
command.
part (means “and”).
Denote a keyword for a command, parameter, or option.
Sample PDL commands
The following table lists a set of commands in the order that they
might appear in a JSL. It shows the components of PDL
commands and a variety of right part options.
The commands are displayed below in table form so you can
more easily distinguish their components. When coding a JSL,
you may want to use tabs to separate these parts. You may also
prefer to place all parameters for a command on the same line
with the command keyword.
PDL principles and procedures
Table 1-5. Sample PDL commands
Command
Identifier
VFU1:VFUASSIGN=
VFU2:VFUASSIGN=
T1:TABLECONSTANT= ('CLIPS');
C1:CRITERIACONSTANT=
T2:TABLECONSTANT= ('1');
C2:CRITERIACONSTANT= (0, 1, NE, T2);
CME1:CMELINE=
CME4:CMELINE=
keyword
Parameter
keywordsParameter options
(1, 1),
TOF=
BOF=
TOF=
BOF=
LINENUM=
POS=
CONSTANT=
POSITION=
FONT=
1,
55;
(1, (4, 59)),
4,
127;
(14, 5, EQ, T1),
(6, 3);
3,
59,
'FIRST QUARTER';
(1, 60),
5,
2;
PDE2:PDEPMODE=
CODTAB:CODEDEFAULT=
RECORDSTRUCTURE=
LINEVFU=
Using LCDS Print Description Language1-15
BEGIN=
FONTS=
ASSIGN=
LENGTH=
DATA=
OVERPRINT=
PORTRAIT,
(1.1,.37),
(P08TYA, P08SCA);
EBCDIC,
(X'4A', X'B4');
FB,
132;
VFU1,
(1, 10),
(PRINT, DISP);
PDL principles and procedures
Table 1-5. Sample PDL commands (Continued)
Command
Identifier
ACCTUSER=
OUTPUTFORMS=
ROUTERTEXT=
RDELETETEST= (C1, AND, C2);
IDENPREFIX=
keyword
PDL command categories
PDL commands are classified according to their functional
categories: input, logical processing, or output (print formatting)
commands. DJDEs are in a separate category, because they are
specified in the data stream instead of a JSL. Descriptions of the
commands are listed according to command category, within the
following chapters:
Parameter
keywordsParameter options
BIN,
DEPT=
FORMAT=
MODIFY=
RFORM=
SKIP=
OFFSET=
'MEDCAR';
XER111,
PDE2,
CME4;
('ENGINEERING', 2, 56, 109),
XERCOV;
‘$DJDE',
10,
1;
•“Specifying input parameters”
•“Using logical processing”
•“Specifying print format parameters”
•“DJDE descriptions”
For a summary of all commands, refer to:
•“PDL command and DJDE summary” (Appendix A)
•“PDL command quick reference” (Appendix B)
1-16Using LCDS Print Description Language
The Job Source Library (JSL)
The PDL commands that you issue to the printing system must
be entered together in a file called a “job source library” (JSL).
The JSL file is then compiled to convert it to an object file called
a “job descriptor library” (JDL), which the system can read. The
printing system then responds to the commands contained in the
JDL file and prints the job the way you want it to appear.
You create a JSL by entering PDL commands at either of the
following:
•Your host computer, using a host based editing facility
•Your print server, using the UNIX Text Editor
You can store your JDL files for different jobs on the print server
internal disk, from which the system retrieves the JDL specified
for the job. You can also store JDLs and JSLs on diskette,
cartridge tape, or open reel tape and import them to the disk
when you are ready to use them.
PDL principles and procedures
In order to create a JSL you need to know the following:
•What a JSL specifies
•Before creating a JSL: considerations and decisions
•How to code a JSL
•How to compile a JSL into a JDL
•Compatibility of the DP with other LPS that use PDL
commands
Using LCDS Print Description Language1-17
PDL principles and procedures
What does a JSL specify?
A JSL is a set (“library”) of commands that specify various
aspects of a print job, including:
•What portion of the variable and fixed data to use
•Placement, font, and point size for the variable and fixed data
•Which fonts, forms, images, signatures, and logos to use
•What paper stocks to use for the job
•Page layout
•Banner page recognition and processing
•How many copies to print
•Messages to the operator
•Use of black or colored ink for text and images (see the
second note below).
NOTE: You cannot create forms at the FreeFlow Print Server,
because it does not have a forms compiler. Forms specified in a
JSL must be created as separate files at your host, a
workstation, or the controller of another laser printing system.
You can then import these forms onto the system disk from
diskette or tape, or download them from your host system using
the FILE DJDE or the File Transfer Protocol (FTP) process.
NOTE: You can create highlight color JSLs on a monochrome
system using many of the color related PDL commands and
parameters. The JSLs you create on the monochrome system
can be used on the Xerox highlight color laser printing systems
(4850 LPS, 4890 LPS, and DP92 LPS). If you use color JSLs to
print jobs on monochrome systems, the jobs print in black and
shades of gray. (The shades of gray that appear on the printed
output depend on the inks that are specified in the JSL for the
colored areas.)
JSL command levels
There are many PDL commands available for your job source
libraries, many ways of organizing them, and virtually infinite
combinations you can use to create applications with PDL. There
are, however, a few programming rules that you must follow
when creating a JSL. If the JSL is not structured according to
these rules, the system may not recognize or obey the
commands you enter.
1-18Using LCDS Print Description Language
PDL principles and procedures
Refer to “Coding a JSL” in this chapter for the procedure for
creating a Job Source Library.
PDL commands are organized within a JSL in groupings called
“command levels.”
•JDL or system level commands
•Catalog level commands
•Job or JDE level commands
You may code commands within these levels following the JDL
command, which identifies the start of the system level. The
system level must have at least the SYSTEM or JDL command.
The catalog level is not required, and there must be at least one
job specified in the JOB level. Some JSLs define only one print
job, but it is more common to find JSLs that define multiple jobs.
The following table outlines the command levels and some
typical specifications that are included in these various levels.
Table 1-6. Command levels and their general purpose
Command levelGeneral purpose
JDL or system levelEstablishes installation defaults.Commands at this level apply by
default to all jobs (JDEs) within the JSL. Command specifications
found in a job level, override specifications made at the system level.
NOTE: Some of these commands require an identifier, by which
other commands in the JSL can reference them. Commands with
identifiers are usually coded first; for example, the CODE and PCC
commands. Commands within this level with identifiers, apply to all
jobs and catalogs within the JSL.
Catalog levelGroups PDL commands for easy reference at the job level. Catalog
command sets are defined before the JOB or JDE command that
references them. The catalog command sets are usually all defined
before the first JDE or JOB command; therefore, they are considered
to be coded at a separate level, called the “Catalog level.”
Job or JDE levelDefines how individual print jobs are processed. JDE level
commands apply only to the job under which they are listed.
Using LCDS Print Description Language1-19
PDL principles and procedures
The following table illustrates a sample JSL file format and
provides examples. Note that comments are used to designate
the beginning of each level.
/* This sample JSL shows the JSL command levels*/
JDLSMP:JDL;
/* System level commands coded here*/
VFU1:VFUASSIGN=(1,1), TOF=1, BOF=66;
VFU9:VFUASSIGN=(1,9), TOF=9, BOF=66;
Table 1-7. Sample JSL file format
VOLUMEHOST=IBMOS;
RECORDLENGTH=133;
LINEVFU=VFU9, DATA=(1,132);
OUTPUTFORMS=CPPR1, DUPLEX=NO, COPIES=2;
/* Catalog commands coded here if needed*/
CAT1:CATALOG;
LINEVFU=VFU1;
OUTPUTFORMS=FORM2
/* Job level commands coded here*/
JOBCPP:JOB;
JOB2:JOBINCLUDE=CAT1;
JOB3:JOBINCLUDE=CAT1;
OUTPUTDUPLEX=YES
END;
1-20Using LCDS Print Description Language
PDL principles and procedures
JDL name
Begin your JSL by deciding on a name for the compiled JDL and
entering the “JDL” command on the first line of the JSL. The
JDLNAME is a 1 to 6 character alphanumeric identifier
specifying the name of the JDL to be created.
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;.”
The format for naming a JDL is:
JDLNAME: JDL;
For example, you might name a JDL containing short edge feed
(large paper size) jobs:
JDLSEF: JDL;
When a JSL is coded, the word SYSTEM is sometimes used in
place of JDL. The meaning is exactly the same. In the following
example, the JDL name SAMPL corresponds to the name of the
JDL to be used when printing a job. The command can be stated
in the following ways:
SAMPL: SYSTEM;
SAMPL: JDL;
JDL or system level commands
PDL commands coded at the JDL or system level establish
default print job characteristics. Commands that are common to
all the jobs in the JSL are listed at this level so that they need not
be coded in every job in the JSL. System level commands,
however, may be overridden by commands at the job or JDE
level.
NOTE: The JDL level is the highest level in a JSL. When you
enter the following command levels, you may wish to indent
them under the system level commands.
Coding system level commands with identifiers
System level commands that require identifiers are typically
coded first. These commands must be placed in the JSL either
before or in the same job as any other commands within the
library that reference their identifiers. The identifier that begins
the command is typically placed at the left margin (at the
beginning of the line).
Using LCDS Print Description Language1-21
PDL principles and procedures
The VFU (vertical format unit) commands in the JSL illustration
shown in table 1-7 are examples of commands with identifiers.
(In this JSL, the VFU command identifiers are called “VFU1” and
“VFU9.”)
The types of commands described in the following sections are
usually coded first at the system level (following the JDL
command) because:
•They require identifiers.
•They typically apply to all jobs within a JSL.
These commands include:
•VFU commands
•TABLE commands
•CRITERIA commands
•PDE commands
•CME commands
•CODE commands
•VOLUME commands
•RECORD commands
•BLOCK commands
NOTE: Make sure that the first command line of the JSL is the
JDL identifier command. The system level ID commands then
follow. For example:
XSML: JDL;
VFU1: VFU ASSIGN=(1,1), TOF=1, BOF=66;
“XSML” is the name of the complete JDL. The VFU command is
at the system level and has the identifier “VFU1.”
1-22Using LCDS Print Description Language
PDL principles and procedures
Specifying VFUsThe VFU (vertical format unit) command specifies the vertical
tabbing for the print job. There can be more than one VFU
identified. Each VFU command requires an identifier. All VFUs
are typically specified at the beginning of the system level; for
example:
/* System level commands*/
VFU1:VFUASSIGN=(1,11), ASSIGN=(12,66),
TOF=11, BOF=66;
VFU2:VFUASSIGN=(1,(11,77)),
ASSIGN=(12,(66,132)), TOF=11,
BOF=132;
VFU3:VFUASSIGN=(1,1), TOF=1, BOF=132;
Adding logical
processing
specifications
Logical processing commands are invoked when the system
locates satisfactory test criteria. These test criteria are set up for
record fields and, if met, allow special processing to take place
for such things as banner pages, record selection or deletion,
page selection from auxiliary paper trays, and page offsetting.
An example of logical processing tests and criteria is provided in
this command set:
T1:TABLECONSTANT=('PAGE 1');
T2:TABLECONSTANT=('INPUT RECORDS');
T3TABLECONSTANT=('JOB');
C1:TABLECONSTANT=(122,6,EQ,T1),
LINENUM=(1,10);
C2:TABLECONSTANT=(14,13,EQ,T2);
C3:TABLECONSTANT=(14,3,EQ,T3);
These commands are often placed at the system level because
they require identifiers. However, depending on how many of the
jobs they apply to within the JSL, they could be coded at any of
the other levels.
Using LCDS Print Description Language1-23
PDL principles and procedures
Specifying formats
(PDEs)
Using copy
modification
entries
There are many standard formats or print description entries
(PDEs) available for your JSL. These formats are listed in the
“PDE command” section of the “Specifying print format
parameters” in Chapter 4. PDEs, like VFUs, require
identification; for example:
PDE1:PDEBEGIN=(0.18IN,0.66IN),
FONT=(L0112B,L01BOA),
PMODE=LANDSCAPE;
PDE2:PDEBEGIN=(1.03,.51),
BEGIN=(6.30,.51),
FONTS=P1012A, PMODE=PORTRAIT;
Copy modification entries (CMEs) allow you to change certain
parts of static data in report output and to change fonts within
variable data. Below are some sample CMEs:
CME1:CMELINE=(9,–), POS=1, FONT=1;
CME2:CMELINE=3, POS=59,
CONSTANT='FIRST QUARTER’;
Defining character
code translation
tables
CODE commands define character translation tables used to
convert input job data into printed characters. For example:
C1:CODEDEFAULT= EBCDIC;
ASSIGN= (’\’, ’/’);
Coding other system level commands
System level commands without identifiers should be indented
under the commands with identifiers. One exception is the JDL
name command, which precedes the identifier commands and is
not indented.
The following sections discuss several other commands that are
usually coded at system level and that do not require identifiers.
1-24Using LCDS Print Description Language
PDL principles and procedures
Setting up input
parameters
You may want to start by specifying the input data characteristics
for the application. The basic input processing commands are
BLOCK, CODE, PCC, RECORD, TCODE, and VOLUME. Input
processing characteristics vary depending on the data source.
For example, if your JSL is for an online application, the BLOCK
command is not applicable. Also, parameters within a command
may apply to offline only, online only, or both. For example, with
the VOLUME command, the parameters CODE and HOST can
apply to both online and offline; EOV applies only to offline
applications; and OPTIMIZE applies only to online applications.
Following are examples of typical input processing commands.
•Online:
VOLUMEHOST=IBMONL, CODE=EBCDIC;
RECORDLENGTH=136;
•Offline:
VOLUMEHOST=IBMOS,LABEL=STANDARD,CODE=EBCDIC;
Specifying LINE
command
parameters
Specifying ACCT
command
parameters
BLOCKLENGTH=2660, PREAMBLE=4, LTHFLD=2,
FORMAT=BIN;
RECORDLENGTH=135, PREAMBLE=4, LTHFLD=2,
STRUCTURE=VB, OFFSET=2, FORMAT=BIN;
The LINE command references VFUs from the system level and
allows you to instruct the system on which parts of the data in
each record will be printed. For this reason, it typically follows the
RECORD command. For example:
LINEDATA=(1,132), PCCTYPE=IBM3211,
PCC=(0,NOTRAN), VFU=VFU1;
The ACCT command often follows the LINE command and can
be coded into any command level.
ACCT USER=TRAY;
Using LCDS Print Description Language1-25
PDL principles and procedures
Catalog level commands
The catalog level allows the coding of commands common to
several JDEs. A catalog can then be referenced in an INCLUDE
parameter in any following JDE commands. A catalog section of
a JSL begins with the CATALOG command and ends with the
appearance of another CATALOG command or a JOB
command. CATALOG commands may contain the same
commands that appear in the JOB command.
The CATALOG command has the form:
catname: CATALOG;
The CATNAME is a 1 to 6 character alphanumeric identifier, of
which at least one character must be alphabetic. The catalog
name is referenced by JDEs after the CATALOG command set
has been defined.
For example:
POWER: CATALOG;
In this command, POWER is the catalog level identifier to be
used in the INCLUDE parameter of a JOB command. To
reference the catalog named POWER in a job, the job level
command would be:
JOB1: JDE INCLUDE=POWER;
Job or JDE level commands
A JSL contains one or more elements called “jobs” or “Job
Descriptor Entries.” A JDE, along with its system level
commands, describes the options that apply to one printing task.
A JDE contains one input format, one set of processing
instructions, and one set of output instructions. The identifier for
each JDE (job) is a user defined name that you invoke to run the
job.
PDL commands that are coded within the job command level
override the system commands. For each job, values not
specified in any of the command sets are taken from the PDL
defaults. Refer to the “PDL command and DJDE summary” table
in Appendix A for a list of all command defaults.
PDL commands coded at a catalog command level can be
incorporated as shown in the command syntax below.
CATNAME is a 1 to 6 character alphanumeric identifier of a
previously defined catalog name.
1-26Using LCDS Print Description Language
PDL principles and procedures
Examples of JOB
commands
Following are some examples of job commands.
JOB2:JDE;
JOB3:JDEINCLUDE=CAT2;
JOB4:JDE;
LINEVFU=VFU2;
OUTPUTFORMS=AY2F;
A JOB or JDE command remains in effect until another JOB or
JDE command or an END command is encountered. The
identifier in a JOB or JDE command, as in JOB2, JOB3, or JOB4
in the previous example, is used with the identifier on the JDL or
SYSTEM command to initiate a print job.
Coding job or JDE level commands
The commands discussed in this section are usually coded at
the JOB or JDE level of the JSL, because they normally vary by
individual job. However, you may want to code them at the
catalog level if you have grouped jobs together that have the
same characteristics as defined in the commands.
Defining stock
requirements
There are several ways to specify paper stocks with PDL. One
method is the STOCKSET command, which can be referenced
in lower level commands. Each formatted page is then
associated with the active STOCKSET command and the active
OUTPUT FEED parameter. If no FEED parameter is specified,
the INIFEED parameter of the STOCKSET command takes
effect.
•Use the OUTPUT command and the PAPERSIZE and
SYSPPR parameters to specify physical and system paper
size. The OSTK and TRANS parameters allow you to specify
tab or transparency stocks, and the NTO1 parameter enables
you to instruct the printer to print the last page of a report first.
•The FEED parameter of the OUTPUT command can either
specify a stock reference assigned in the STOCKSET
command or bypass this referencing and specify a stock
name called out in the current STOCKSET.
•The INIFEED parameter of the STOCKSET command is the
default if no OUTPUT FEED parameter is present.
MESSAGEOTEXT=('ALL FORMS DUPLEX ONLY!!!', 1, WAIT);
Job level
command
examples
There are many specifications you can select to define the
manner and look of your printed application. You can also have
messages displayed to operators to advise them of special
circumstances. This is done with the MESSAGE command:
NOTE: The MESSAGE OTEXT command shown above is one
example, and is not necessarily the recommended method for
switching media. Refer to the “OUTPUT STOCKS” and
“OUTPUT FEED” command descriptions in the “Specifying print
format parameters” chapter for further information.
Similarly, the ROUTE command sends printed information
preceding the report to operators. Most output specifications are
selected from parameters of the OUTPUT command. As with
other commands, these can be specified at any command level,
but are most often specified at the job level because of the many
variations possible.
Here are some examples of commands that are coded at the job
or JDE level:
Comments are optional statements you may include in the
source file to identify sections of the JSL, describe selected PDL
commands and their functions, or provide messages for anyone
who modifies the JSL later. The system does not perceive these
comments as commands and ignores them.
Comments may appear anywhere within the JSL and may
consist of multiple records. Comments must be preceded by the
character sequence slash asterisk (/*), and terminated by the
character sequence asterisk slash (*/). For example:
/*System commands are coded here.*/
Nested commentsA comment may also be nested within another comment. There
is no practical limit to the level of nesting possible, as long as
each nested comment is preceded by a slash and an asterisk (/*)
and succeeded by an asterisk and a slash (*/). An acceptable
nested comment format is as follows:
/*
comment
/*
nested comment
*/
*/
Ending a JSL
What may follow
the END;
command
Note that the illustration above ends with two */ markers: the first
for the nested comment and the second for the main comment.
A JSL terminates with the END command. When you are
finished constructing your JSL, you must let the system know
you are finished by entering the END; command, as shown
below. This also applies to CMEs, PDEs, TSTs, and
STOCKSETs you are coding.
END;
After you end a JSL, you may still code certain items following
the END; command.
Subsequent JSLs: Following the END; command for one JSL,
you may code additional JSLs. If one JSL is to follow another,
the next command after the END; command should be another
“JDL” command.
Using LCDS Print Description Language1-29
PDL principles and procedures
CMEs, PDEs, TSTs, and STOCKSETs: Following an END;
command for a JSL, you may code one or more CMEs (CME
command), PDEs (FORMAT command), TSTs (ROUTE
command), or stocksets (STOCKSET command). If the CME,
PDE, TST, or stockset that you are coding will be used by more
than one JSL file or is referenced by a DJDE, compile and
catalog it as a separate file (not part of any JSL). Refer to
“Compiling a JSL,” later in this chapter, for the procedure.
Ending all JSLsThe end of all JSLs, CMEs, PDEs, and so forth to be processed
is indicated by two consecutive END; commands as shown
below.
END; END;
Sample completed JSL
The following figure shows the entire JSL constructed from the
command level examples in this section.This is an example of an
online JSL. Note that HOST=IBMONL indicates the source and
structure of input data. The VOLUME=HOST command indicates
whether the JSL is for an offline (tape) or online job.
Before creating a JSL: considerations and decisions
Before starting to develop the JSL for your application, you must
make the following key decisions, based on your site specific
needs and the design of the application.
•Input data
•Output specifications
•Type of application to create
•Special features
•Interactions between JSLs, catalogs, and jobs
•Stock size
•Page orientation
•Font types
•Hints and tips
Using LCDS Print Description Language1-31
PDL principles and procedures
Input data
Before starting to develop the JSL for your application, you
should know the following information about the input data.
•The input source, such as:
–The host that supports the 3211 or 4245 host interface
–Open reel or cartridge tape, which are offline devices
–System disk
–Combination of two or more of these sources
•Computer on which the data was created
•Block and record lengths and structure
•Code in which the data is encoded, such as ASCII and
EBCDIC
•How printer carriage control (PCC) information should be
processed
•For tapes: the label format used
Output specifications
Before starting to develop the JSL for your application, you must
know the following about the printed output.
•Will you modify an existing JSL or create a new one?
•Will the orientation be landscape (horizontal) or portrait
(vertical)?
•Will you use more than one type or color of stock in the print
job?
•What fonts will be used?
•Will you use a form? If so, you need to specify the form in
your JSL. If do not have an existing form that you can use,
you will need to create it and load it onto the system disk.
You may specify the first form for your job in the Queue
Manager, LCDS Setup, Output, or On-line Job Manager
windows on the print server, when you are ready to print. This
form selection overrides any initial form specified in the JSL.
(If you do not specify an Initial Form at the user interface, the
form defined in the JSL is used.)
•What paper sizes will be used?
•Will copy modification entries (CMEs) be used?
1-32Using LCDS Print Description Language
PDL principles and procedures
•Will the output be delivered face up, N to 1 (last page first),
and collated?
•Will the data be printed on one side of the page (simplex) or
on both sides (duplex)?
•Will graphics be used?
•What types of applications will be printed? For example:
–Forms
–Reports
–Letters
–Billing statements using variable data, that is, information
that varies from customer to customer.
•What are the conventions at your site, if any, for naming
forms, JSLs, files, and jobs?
This information helps you plan your application: the type of input
data to specify, the type of application to design, and how to
customize the application so that it meets its intended purpose
rather than using system defaults.
Special features
Before starting to develop the JSL for your application,
determine the following:
•Will you display operator information, such as messages, on
the print server screen?
•Will you select paper trays?
•What will the page layout be? For example, a large form may
require an entire page but, if smaller formats are usable, you
may want to print two, or even four logical pages on each
physical page.
•Will you use dynamic job descriptor entries (DJDEs) to
change the application on a page or report basis? Refer to
the “Using DynamicJob Descriptor Entries (DJDEs)” chapter
for an explanation of DJDEs and their coding process.
Using LCDS Print Description Language1-33
PDL principles and procedures
Interactions between JSLs, catalogs, and jobs
Before starting to develop the JSL for your application, consider
the interactions, similarities, and differences between various
JSLs, catalogs, and jobs. Remember: although a printing system
can have only one JOB or JDE in effect at a time, you can still
create JSLs with multiple JOBs or JDEs, and switch between the
JDEs by using DJDEs in the data stream.
•What characteristics are used globally, if any, for all of the
applications at your site? For example, do all jobs use the
same host, format, paper size, page orientation, block or
record length, test criteria, DJDEs, error responses,
accounting requirements, fonts, or forms?
•What names will you call the JSL and catalogs or individual
jobs within the JSL? Use names that will be meaningful to
you and others who may use the application.
Paper sizes and page frames
The printing system considers paper sizes in terms of page
frames, which are boundaries associated with a page as a unit of
printing or imaging. The system defines three page frames:
•Physical page
•System page
•Logical page
In addition to paper size, you must consider edgemarking and
non-imaged elements when you design the pages of your
applications.
System pageThe “system page” is the maximum image area of the printer for
the paper size. The system page size varies, depending on the
size of the paper for your job.
Physical pageThe “physical page” is the size of the paper itself. You may select
any page dimensions within an 8 by 10 inch / 203 by 254 mm
minimum and a 14.33 by 17 inch / 364 by 432 mm maximum.
If your system is configured with the small paper kit option, your
minimum page size is 7 by 10 inches or 178 by 254 mm.
1-34Using LCDS Print Description Language
PDL principles and procedures
Logical pageA “logical page” is a user defined page image that is bordered by
Top of Form and Bottom of Form and left and right margin
specifications. Up to 63 logical pages can be defined on a
physical page.
NOTE: You are not able to specify right margins on logical
pages. The right margin size is determined by the left margin and
the line length.
Edgemarking“Edgemarking” occurs when text or graphics are printed outside
the physical sheet, giving the appearance of printing on the edge
of the paper. Refer to the “OUTPUT OSTK” command
description in the “Specifying print format parameters” chapter
for more information on edgemarking.
NOTE: Edgemarks must start within the system page, although
they may print mostly outside the page boundaries.
Elements that do
not print
Orientation
Elements of a page, that is, text and graphics, may begin at the
edge of the physical page and may even extend off the page.
However, if any part of a printed element begins off the system
page, then no part of the element is imaged.
•If a line of variable data begins off the system page, no part of
the line is printed.
•A ruled line must originate inside the system page in order for
the line to print.
•If a ruled line begins off the system page, no part of the line is
printed.
There are two types of text orientation on a page:
•Portrait
•Landscape
The vertical and horizontal positions for each of these
orientations are shown in the following figures.
Using LCDS Print Description Language1-35
PDL principles and procedures
Figure 1-2. Vertical and horizontal positions
in portrait mode
1. Left margin (horizontal position or hpos)
2. Character cell
3. Top margin (vertical position or vpos)
Figure 1-3. Horizontal and vertical positions in landscape
mode
1. Left margin (hpos)
2. Character cell
3. Top margin (vpos)
1-36Using LCDS Print Description Language
PDL principles and procedures
Portrait orientationThe following figure shows portrait orientation dimensions for a
document using FMT6 (the standard portrait format for impact
printer output).
Figure 1-4. Page layout for FMT6: Impact printer format, 8.1
lines per inch
Using LCDS Print Description Language1-37
PDL principles and procedures
Landscape
orientation
The following figure shows landscape orientation dimensions for
a document using FMT1 (the standard landscape format for
impact printer output).
Figure 1-5. Page layout for FMT1: Equivalent impact printer
format, 8.1 lines per inch
Fonts
A font is a character set that has a unique type style, type size,
and orientation. Both fixed pitch and proportionally spaced fonts
are available for use on your printing system. Each font
character occupies an area called a “character cell.” All
character cells in a fixed pitch font are the same width. Character
cells in a proportional font vary in width.
1-38Using LCDS Print Description Language
PDL principles and procedures
Figure 1-6. Fixed pitch and proportional font character
spacing
1. Fixed pitch character cell
2. Proportionally spaced character cell
Because the length of a line printed with a proportional font is
relatively unpredictable, fixed pitch fonts are used for variable
data on a report to avoid overprinting of forms by variable data.
Proportional fonts are normally used for form data such as titles
and headings. A business letter is an example of the use of
proportional fonts for variable data. An example of the difference
in line length is illustrated in the following figure.
Figure 1-7. Character spacing examples
1. Proportional spacing
2. Fixed pitch spacing
Fonts are available in various families (for example, OCR and
Titan), sizes, and faces (for example, italic and bold). Refer to
the Font Reference Manual, delivered with your system, for more
information on fonts and for samples of the font families, sizes,
and faces available for use with your printing system.
Using LCDS Print Description Language1-39
PDL principles and procedures
In addition to typeface, style, and size, a font can be defined by
its orientation:
•Landscape
•Portrait
•Inverse landscape
•Inverse portrait
Custom fonts, signatures, and logos may be ordered from Xerox
through your sales representative.
Overriding PDL commands
The system default values are listed in the “PDL command and
DJDE summary” in Appendix A. The printing system uses the
defaults for parameters you do not specify in the JSL. When you
are creating a JSL, you do not have to code the command
parameters for which your jobs specify the defaults.
NOTE: Some parameters have no defaults. If you do not specify
a value for these, they are not included in the job description.
DJDEs do not have default values.
The coding may be further simplified by placing commands
common to more than one job at the catalog command level.
The PDL processor evaluates user coded commands and
applies the highest priority, error free definition to the job for
printing. This process, termed the “hierarchy of replacement,” is
discussed in the subsequent paragraphs and illustrated in the
“Command override sequence” figure.
The following figure shows a diagram of the command override
sequence.
1-40Using LCDS Print Description Language
PDL principles and procedures
User interface
window overrides
Setting late
binding attributes
Figure 1-8. Command override sequence
Some PDL commands and DJDEs that are specified in the JSL
can be overridden by queue properties that have been selected
on user interface queue management windows.
•Quantity: The highest priority override is the Quantity (copy
count) specification that can be set on the Queue Manager or
the Online Manager window. This parameter must be set
before the job is decomposed.
•Late binding attributes: Other specifications are known as
“late binding attributes” or “post scheduling properties” of the
queue, because they are implemented after the job has been
sent to a queue and scheduled for printing. The procedure for
setting late binding attributes is described in the next section.
In order for late binding attributes to take effect in the jobs you
are printing, you must do the following for the queue that will be
used:
1. On the Print Services window, click the [Queue Manager]
icon. The queue list is displayed.
Using LCDS Print Description Language1-41
PDL principles and procedures
2. On the queue list, double-click the name of the queue to
3. On the Properties window, click the tab that contains the
1-42Using LCDS Print Description Language
Figure 1. Print Services window with Queue Manager
selected
which your job will be sent. The Properties window for the
selected queue opens.
attributes for which you want to specify an override. You are
able to set late binding attributes for LCDS jobs on the
following tab windows:
•[Stock]: Includes stock name, type (including
transparency), size, weight, and color, with access to the
Stock List. Alternatively, you can select the name of a tray
from which to feed, regardless of the stock that is loaded
in it.
PDL principles and procedures
–The FreeFlow Print Server on the DP EPS supports
unlimited stock media to be assigned to a tray.
–The FreeFlow Print Server on the Nuvera 1xx MX DPS
supports up to 15 different media to be assigned to a
tray.
•[Output]: Includes sides imaged (1-sided or 2-sided),
finishing, slip sheets, rotation of page image, delivery
(face up or down), order (1 to N or N to 1), output bin
selection (location), collation, and optimization of
throughput speed for jobs containing mixed sizes of stock.
•[Alignment]: Includes unit of measure for the adjustment,
the amount of page image displacement, and printing a
test pattern.
–The DP EPS allows a shift of full-page size; IOT
alignment is not used. The image is shifted on the
page by the amount specified, starting on the next
sheet.
–The Nuvera 100/120 MX DPS supports alignment of +/
- 11 millimeters in both process and cross-process
directions. The image is shifted on the page by the
amount specified, starting in approximately 20 sheets.
NOTE: The features on the Properties, PostScript/PCL,
ASCII, and LCDS tab windows are not late binding attributes.
The items on the Properties tab, including queue and printer
name, input mode (streaming, spooling, etc.), destination
(print or save), and job notes, must be set prior to job
submission.
The items on the PostScript/PCL, ASCII, and LCDS tab
windows must be set before the job is decomposed. If they
are not specified at that time, the system uses the queue
defaults.
4. On each tab window, select the Override check box for each
queue attribute that you want to override all PDL commands
and DJDEs.
NOTE: If [Override] is not selected for an option on the
window, that option has no effect on the job. Instead, the
parameter default in the JDL and JDE is used. If no JDL is
specified, the system uses the default for the command itself.
Using LCDS Print Description Language1-43
The following figure shows the Output tab on a queue
Properties window, on which the [Override] check boxes for
the [Location], [Order], and [Delivery] have been selected.
PDL principles and procedures
5. Click [OK]. The Properties window closes, and the properties
1-44Using LCDS Print Description Language
Figure 2. Output tab on Queue Properties window with
[Override] options selected
NOTE: The [Initial Form] selection that appears on some of
the user interface windows functions differently from the other
options that can override JDL commands. [Initial Form] is
overridden by DJDEs, even if its [Override] option is selected.
for which you selected [Override] are implemented for the
next job.
PDL principles and procedures
Specifying
overrides while a
job is printing
If you want to specify late binding overrides that will immediately
take effect on a job that is currently printing, do the following:
1. Click [Pause Printing] on the Print Services window to halt
printing.
2. Follow the procedure for specifying late binding attributes,
described in the previous section.
Example:
The following example illustrates a situation in which you might
want to use a late binding attribute on a job that is currently
printing:
As a large job starts to print, you notice that the printed sheets
are going to the sample tray. You know that the sample tray is
not large enough to accommodate the entire job. On the Queue
Properties window, you click the [Output] tab, then select a
stacker bin from the menu in the Output group box. You click the
[Override] check box, then click [OK] at the bottom of the Output
window.
When you resume printing, the output immediately starts going
to your selected stacker bin.
Hierarchy within a
job descriptor
library (JDL)
The following sample JSL for online printing contains three JDEs
or jobs. The VOLUME CODE parameter, which specifies the
encoding of the input data, appears in four places:
1. According to the system command level (or JDL) command
set, the default encoding of the input data is ASCII (VOLUME
CODE=ASCII).
2. According to the catalog command level, the encoding of the
input data is EBCDIC (VOLUME CODE=EBCDIC).
3. According to the commands for job 2, the encoding of the
input data is Printable EBCDIC (PEBCDIC). The PDL
command VOLUME CODE=PEBCDIC overrides both
catalog and system command level definitions.
4. In Job 3, the encoding of the input data is EBCDIC, because
the INCLUDE parameter of the JOB command specifies the
CATGRP catalog which, in turn, specifies EBCDIC in its
VOLUME command CODE parameter.
Using LCDS Print Description Language1-45
PDL principles and procedures
NOTE: This JSL contains some highlight color commands and
parameters: IDR, ILIST, ICATALOG, and IDEFAULT. These
commands are processed, but most have no effect on the output
if the JSL is used to print on the FreeFlow Print Server LCDS
systems. However, if the JSL is used on a highlight color printing
system such as the Xerox 4890 LPS, the commands are
followed. Refer to “Printing highlight color applications on
FreeFlow Print Server LCDS systems” in this chapter for
information on how color commands are treated by the FreeFlow
Print Server LCDS systems.
The following tips may help you as you create your JSL.
•The only required elements in a JSL are:
Using LCDS Print Description Language1-47
–A JDL name, which is the name of the file created by
compiling the JSL
–One or more job names (JDEs)
–END; command at the end of the JSL.
PDL principles and procedures
System defaults can be used for all other specifications,
although typically each application has its own specific
characteristics.
•Use tab spacing to create columns for the command
identifiers, commands, and parameters in your JSLs. While
not required by the system, this organization makes it much
easier to identify command sets, their commands, and the
parameters of each command quickly, reducing the chance
of error.
The JSL in the following figure is set up in column format with
tabs. Generally, only the JDL name, identifiers, and the END
command begin in the first column of the JSL. Other
commands are indented.
SMPLST:JDL;
V1:VFUASSIGN=(1,5), ASSIGN=(2,10),
Table 1-9. Sample JSL
ASSIGN=(3,15), TOF=5, BOF=66;
VOLUMEHOST=XEROX,CODE=EBCDIC,
LABEL=NONE;
RECORDLENGTH=133, STRUCTURE=FB;
LINEDATA=(1,132), PCCTYPE=XEROX,
PCC=(0,NOTRAN), VFU=V1;
T1:TABLECONSTANT= (132) '*';
C1:CRITERIACONSTANT=(2,132,EQ,T1),
LINENUM=(1,5);
CME1:CMELINE=(9,–), POS=1, FONT=1;
JOB1:JDE;
OUTPUTDUPLEX=YES, FORMS=BARS,
MODIFY=CME1;
JOB2:JDE;
OUTPUTFORMS=NONE, DUPLEX=NO, COPIES=2;
JOB3:JDE;
END;
1-48Using LCDS Print Description Language
BANNERTEST=C1, HCOUNT=1, TCOUNT=0;
PDL principles and procedures
•After deciding on the command levels you will use, make a
test run of the job to see the output and to make any
necessary adjustments.
•Design forms to accommodate placement of data on the
page.
NOTE: It is best to start with the standard formats (print
description entries or PDEs) that are predefined on the
system. Each of these formats (FMT1 through FMT11)
matches standard form layouts.
•If you are not sure which specifications to select, run a job
using the system defaults, then adjust the JSL to meet your
requirements. You can modify an existing JSL in the same
manner.
•Remember the command override sequence. It is much
easier to specify generic or global characteristics at the
system level, for example, than to specify the same
specifications repeatedly for each job or catalog.
Coding a JSL
•Remember that the specifications you make in your JSL can
be changed easily. By including the IDEN command, you can
allow DJDEs to override PDL commands on a page or record
basis. Refer to the “Using the IDEN command to enable
DJDEs” section of the “Using Dynamic Job Descriptor Entries
(DJDEs)” chapter for further information. Also, certain
selections entered at the user interface can alter the print job
in such areas as the number of copies to be printed and
paper feed specifications.
•It is sometimes helpful to sketch the page layout, including
page orientation, logos, fonts, and the point of origin for
printing on the page.
If you want to create a JSL using specifications other than
command defaults, you have many PDL commands available to
you, and many ways of organizing them.
NOTE: Not all of these steps are necessary for every JSL you
create. Your application determines what parts can be omitted.
Using LCDS Print Description Language1-49
PDL principles and procedures
Before you start
Before you start to code your JSL, be sure you have done the
following:
1. Identify the source media and data format.
2. Design the layout of your print job.
3. Build forms for the job, if necessary.
4. Identify logical processing requirements.
5. Determine whether you will use catalogs.
Short JSL coding procedure
The fastest and easiest way to create a JSL is to build it from an
existing one, such as the default JSL (named DFAULT.JSL),
provided with your system software. The following steps
describe how to create a JSL “the short way.”
1. Open a Text Editor window by following these steps:
a. On the print server screen, right-click in the background to
display the Workspace menu.
b. From the Workspace menu, select [Programs]. The
Programs pull-down menu opens beside the Workspace
menu.
1-50Using LCDS Print Description Language
PDL principles and procedures
Figure 1-9. Workspace and Programs menus
Using LCDS Print Description Language1-51
PDL principles and procedures
c. From the Programs menu, select [Text Editor]. A Text
Editor window opens.
Figure 1-10. Text Editor window
2. Bring the default JSL (stored in the “lcds” folder on the
system disk) into the Text Editor, using the following
procedure.
a. From the File menu on the Text Editor menu bar, select
[Include...]. The Text Editor – Include a File window
opens.
1-52Using LCDS Print Description Language
PDL principles and procedures
Figure 1-11. Text Editor – Include a File window
b. In the [Enter path or folder name:] text field at the top of
the Include a File window, enter one of the following
directory paths and press <Return>.
/opt/XRXnps/resources/lcds/
or
/var/spool/XRXnps/resources/lcds/
NOTE: The file and folder names are case–sensitive. Be
sure to enter the directory path exactly as it is shown
above, with regard to uppercase and lowercase letters.
Remember to include the slashes (/) at the beginning and
end.
c. A list of files appears in the Files field below the text box in
which you entered the path to the folder. Scroll through
the file list until you locate the file called DFAULT.JSL.
This is the default JSL. (You can also use ONLINE.JSL, if
you are creating the JSL for an online job.)
Using LCDS Print Description Language1-53
PDL principles and procedures
d. Click the file name DFAULT.JSL, then click [OK]. The
3. Using the default JSL as a base, enter any changes,
additional commands or parameters, and deletions that you
need to make in order to construct your new JSL.
NOTE: You should consider carefully the ID name that you
enter in the JDL or SYSTEM command (the first line of the
JSL), because this identifier determines the name of the JDL
file when your new JSL is compiled.
The JDL name must be one to six characters in length, not
including the extension (following the dot).
4. When you have completed entering all the desired
commands and parameters, select [Save As] from the File
menu on the Text Editor window menu bar. The Text Editor –
Save As window appears.
default JSL is displayed in the Text Editor window.
1-54Using LCDS Print Description Language
Figure 1-12. Save As window
PDL principles and procedures
5. In the [Enter path or folder name:] text field, enter one of the
following paths to the “lcds” folder:
/opt/XRXnps/resources/lcds/
or
/var/spool/XRXnps/resources/lcds/
NOTE: The file and folder names are case–sensitive. Be
sure to enter the directory path exactly as it is shown above,
with regard to uppercase and lowercase letters. Remember
to include the slashes (/) at the beginning and end.
The “lcds” folder, where the DFAULT.JSL and all other
system LCDS resource files are stored, is the recommended
folder for storing your JSLs. You have write access to this
folder, which means you can add files and create new folders
within it.
6. Enter the name of your new JSL in the [Enter file name:] text
field at the bottom of the Text Editor – Save As window.
Following are some rules for JSL names:
•The name must end with the .JSL file extension.
•The name must be one to six characters in length (not
including the .JSL extension).
CAUTION
Be sure to give a new name to the JSL file that you have
created. Otherwise, your new JSL may overwrite the default
JSL in the “lcds” folder. (Overwriting can occur if you access
the default JSL by selecting [Open] from the File menu on the
Text Editor window instead of [Include]. Refer to step 7 of this
procedure.)
•Recommended:
It is a good idea to use the same name for the JSL that
you specified in the JDL or SYSTEM command at the
beginning of the JSL coding. If the two names are the
same, the JSL file name can be easily determined from
the JDL file name in the future.
7. Click [OK]. Your new JSL is stored on the system disk. You
can now close the Text Editor window.
8. Compile the JSL to create a JDL file. Refer to “Compiling a
Using LCDS Print Description Language1-55
JSL” in this chapter for the procedure.
PDL principles and procedures
Full JSL coding procedure
If you do not want to use an existing JSL as a pattern and you
prefer to build the entire JSL yourself, follow these steps.
1. Open a Text Editor window by following these steps:
a. On the print server screen, right-click in the background to
b. From the Workspace menu, select [Programs]. The
display the Workspace menu.
Programs pull-down menu opens beside the Workspace
menu.
1-56Using LCDS Print Description Language
Figure 1-13. Workspace and Programs menus
c. From the Programs menu, select [Text Editor]. A Text
Editor window opens.
PDL principles and procedures
Figure 1-14. Text Editor window
2. In the Text Editor window, code the JDL name, starting at the
left edge of the window workspace.
3. Code the system or JDL level ID commands with their
identifiers.
Recommended:
•Before beginning your system level commands, code a
comment line stating that the following entries are system
level commands.
•For each command, at the beginning of the line, enter the
identifier, followed by a colon (:) and the command
keyword. Tab or space over until the cursor is
approximately 20 character spaces from the left edge of
the Text Editor workspace, then enter the first parameter
keyword.
•For each subsequent parameter of the system level
command, tab or space over about 20 character spaces
to enter the parameter, aligning it under the previous
parameter.
Using LCDS Print Description Language1-57
•Code the VFU (vertical format unit) first.
PDL principles and procedures
4. Code the rest of your system level commands (those not
requiring identifiers), to specify your input processing
commands. Refer to the “Specifying input parameters”
chapter for information on coding these commands.
Recommended:
For each of these commands, tab or space over about 10
character spaces to enter the command keyword. Then tab
or space over until the cursor is about 20 spaces from the left
edge of your Text Editor workspace to begin entering the
parameter keywords.
5. Code the IDEN command at the system level if you plan to
6. Identify any dynamic print requirements for DJDEs.
7. If you are using catalog level commands, code them next,
1-58Using LCDS Print Description Language
Figure 1-15. Text Editor window with JSL
showing system level commands with identifiers
use dynamic job descriptor entries.
with their identifiers.
PDL principles and procedures
Recommended: Do the following when you are coding
catalog commands.
•Place a comment on the line above the first CATALOG
command line, indicating that the following commands are
catalog level.
•Place the catalog identifier, followed by a colon (:) and the
CATALOG keyword, at the left margin, aligned with the
system level identifiers.
•On the command lines following the catalog identifier line,
tab or space over about 10 character spaces to enter the
rest of the catalog level command keywords.
8. Code the first JDE identifier, followed by a colon (:) and the
JDE keyword. The JDE name must be one to six characters
long.
NOTE: If the JDE uses a catalog, enter the
INCLUDE=catalogname command following the JDE
identifier on the same line, with the semicolon (;) following the
catalog name. For example:
2: JDE INCLUDE=CATPOW;
Recommended:
•Place a comment on the line above the first JDE
command line, indicating that the following commands are
JOB or JDE level.
•Tab or space over approximately 10 character spaces to
enter the job identifier, followed by a colon (:) and the JDE
keyword.
9. Code the JDE level commands for the first job in the JSL.
Recommended: On the command lines following the JDE
identifier line, tab or space over about 15 character spaces to
enter the rest of the JDE level command keywords for that
job.
10.Repeat steps 8 and 9, above, for each additional JDE that
you want to specify.
11. Enter the END; command to complete the JSL.
12.When you have completed entering all the necessary
commands and parameters, select [Save As] from the File
menu on the Text Editor window menu bar. The Text Editor –
Save As window appears.
Using LCDS Print Description Language1-59
PDL principles and procedures
Figure 1-16. Text Editor – Save As window
13.In the [Enter path or folder name:] text field, enter one of the
following paths to the “lcds” folder:
/opt/XRXnps/resources/lcds/
or
/var/spool/XRXnps/resources/lcds/
The “lcds” folder, where the DFAULT.JSL and all other
system LCDS resource files are stored, is the recommended
folder for storing your JSLs. You have write access to this
folder, which means you can add files and create new folders
within it.
14.Enter the name of your new JSL in the [Enter file name:] text
field at the bottom of the Text Editor – Save As window.
Following are some rules for JSL names:
1-60Using LCDS Print Description Language
PDL principles and procedures
CAUTION
Be sure to give a new name to the JSL file you have created.
Otherwise, your new JSL may overwrite the default JSL in the
“lcds” folder. (Overwriting can occur if you access the default
JSL by selecting [Open} from the File menu on the Text
Editor window instead of [Include].
•The name must end with the .JSL file extension.
•The name must be one to six characters in length (not
including the .JSL extension).
15.Click [OK]. Your new JSL is stored on the system disk. You
can now close the Text Editor window.
16.Compile the JSL to create a JDL file. Refer to “Compiling a
JSL” later in this chapter for this procedure.
Sample online JSL
The following figure shows another example of an online JSL.
Note how comments are used to explain and identify parts of the
JSL.
The second part of creating the JSL is compiling it. Each JSL file
must be compiled (converted) into an object file (Job Descriptor
Library or JDL) before it can be read by the system to print a job.
The Xerox Job Description Compiler (XJDC) software on your
print server performs this conversion. The process is
diagrammed below.
After you have finished entering all the commands for your JSL,
including the last END; command, and saved the .JSL file in the
“lcds” folder, you can begin the compilation process.
The command that invokes the XJDC compiler has some
different syntax rules from the PDL commands that you used to
create the JSL. Keep in mind the following rules when you enter
this command:
Using LCDS Print Description Language1-65
PDL principles and procedures
•Do not omit any slashes (/). These symbols separate different
directory levels of folders in the UNIX file system. The slash
at the beginning of the command is actually the identifier or
“name” of the parent (root) directory of the file system.
•Enter all command text in lowercase letters.
NOTE: This rule does not apply to UNIX file and folder
names that contain uppercase letters. Be sure to enter any
file or folder names exactly the way they appear in the
directory. (For example, if you enter the “XRXnps” folder
name as “xrxnps,” the system cannot find it.)
•Leave spaces only where the command syntax shows them;
do not add any spaces where they are not indicated.
•Italics indicate variables that you must specify. For example,
when entering a command, you would replace the word
filename with the actual name of the file.
Follow these steps to compile a JSL:
1. On the print server workspace, open a Terminal window by
following these steps:
a. Right click in the print server workspace (screen
background) to display the Workspace menu.
b. From the Workspace menu, select [Tools]. The Tools
menu is displayed next to the Workspace menu.
Figure 1-18. Selecting [Tools] from the Workspace
menu
1-66Using LCDS Print Description Language
c. Select [Terminal] from the Tools menu. A Terminal
window opens.
PDL principles and procedures
Figure 1-19. Terminal window with % prompt
displayed
2. Move the pointer onto the Terminal window. A blinking cursor
should be visible next to the prompt (a % sign, sometimes
preceded by the name of your system).
3. At the % prompt, enter the following command to compile the
JSL (be sure to leave spaces where they are indicated).
The options variable may be either omitted or replaced with
one or more of the options that are shown on the following
table. Options may be specified in any order.
You may shorten the option name to its first three characters
(shown in uppercase in the following table).
The first option must be preceded by a hyphen. When you
specify multiple options, you must separate them by
commas. Refer to the following example.
NOPrintGenerates a printed JSL only when it contains errors.
REPlaceSpecifies that an existing JDL file may be replaced by a new output file of the
same name. This is the default.
NOReplaceSpecifies that, if the new JSL has the same name as an existing one, the old
file is retained as a backup file and is given a “.backup” extension. REPLACE is
the default.
SINglebyteSpecifies use of single byte character code and printer carriage control
translation files.
DOUblebyteSpecifies use of double byte character code and printer carriage control
translation files.
TRUncateRestricts command lines in the JSL to the first 72 characters.
NOTruncateAccepts JSL command lines that are longer than 72 characters.
LABelGenerates a 128 byte Xerox standard label.
NOLabelSuppresses the 128 byte Xerox standard label.
DISplayDisplays all XJDC messages.
NODisplaySuppresses all XJDC messages.
VxSoftware version number.
x = 10, 2, 35, 3615, 37, 38, 39, 40, 50, 3A, or M10
For FreeFlow Print Server LCDS systems, the version number is M10.
PAPersize=s
(VM10 only)
DATe = dSpecifies the date format.
PAGinate=nSpecifies the number of lines per page.
Specifies the size of paper the job should print on.
s = USLEGAL, USLETTER, or A4
d = US or EUROPEAN
n = 0 or 5 through 999 (0 specifies no pagination.)
OUTpath=pSpecifies the base directory path for output files.
p = / foldername1 / foldername2 /...
The default is the current directory.
1-68Using LCDS Print Description Language
PDL principles and procedures
If the JSL compiles correctly with no errors, the JDL object
file is created from the JSL, and a message is displayed in
the Terminal window, indicating that the compilation was
successful.
The system places the newly created JDL file (along with the
.LST and .RSC files that are created at the same time) in the
“lcds” resources folder where your JSL is located.
4. If the JSL does not compile correctly, correct any errors in the
JSL and recompile it.
Files produced by the compilation procedure
When XJDC compiles a JSL, it produces the following files:
•Object file (JDL): The JDL, which contains all the
information from the JSL, but in a format the system can
read. If the JSL was compiled successfully, the object file, or
Job Descriptor Library file, is created. The JDL file name is
the identifier that is specified by the JDL command that starts
the JSL. It has a .JDL extension.
NOTE: If you compile one of the other file types (other than a
JSL) that are supported by the XJDC compiler, the file
extension could be .CME, .IDR, .LIB, .PDE, .STK, or .TST. Its
file name is the name that is specified by the first command in
the file; that is, the CME, IDR, LIB, PDE, STK, or TST
command.
•JSL Source Listing file: Shows the JSL as you coded it, but
with the lines and columns numbered. Also indicates the
location of any errors, along with messages explaining the
errors. The Source Listing file name is the same as the JSL
name, except that it has a .LST extension.
•Resource Listing file: Contains a list of the resources that
are specified in the JSL, such as font names and form
names. The Resource Listing file name is the same as the
JSL name, except that it has a .RSC extension.
•Log file: Contains all messages that were displayed on the
screen during compiling. This file is appended each time
XJDC is invoked, and it is placed in the following directory:
/opt/XRXnps/XRXxjdc/data/
Using LCDS Print Description Language1-69
The Log file name is “XJDC.LOG.”
PDL principles and procedures
Correcting errors in a JSL
If errors are encountered in a JSL while it is being compiled, the
following message appears in the Terminal window:
**********JSL CONTAINS ERROR(S)**********
Figure 1-20. Terminal window displaying compiling
messages for a JSL with errors
The system does not create a .JDL file in the “lcds” folder, but it
does create a .LST file, which shows where the errors are.
1. Open and inspect the .LST file to locate the errors that
prevented the JSL from compiling.
To open a .LST file:
a. Open a UNIX Text Editor window. Refer to the “Full JSL
coding procedure” earlier in this chapter for instructions.
b. From the File menu on the Text Editor window, select
[Open] to display the Text Editor – Open a File window.
1-70Using LCDS Print Description Language
PDL principles and procedures
Figure 1-21. Text Editor – Open a File window
c. In the Folders field, double-click the name of each of the
folders that comprise the path to the “lcds” folder, in the
order shown below:
/opt/XRXnps/resources/lcds
d. In the Files field of the Open a File window, click the name
of the .LST file for the JSL you attempted to compile; or
In the Files text field on the Open a File window, enter the
name of your .LST file. The name syntax is as follows:
JSLNAME.LST
e. Click [OK] on the Open a File window. The .LST file
appears in the text window. This file contains the
following:
•The JSL as you coded it, but with the lines and
columns numbered
•Below each line that contains errors, a message that
explains each error that is on the line
•The <<<<<<<< symbol at the end of each error
message line.
Using LCDS Print Description Language1-71
PDL principles and procedures
Figure 1-22. A .LST file for a JSL containing errors
2. Open another Text Editor window and display your JSL in this
new window. (The procedure for displaying the JSL is
described under “Opening a file in the Text Editor,” above.)
3. Enter the indicated corrections to your JSL, referring to the
.LST file in the other Text Editor window as needed.
4. On the Terminal window, recompile the corrected JSL, using
the compiling procedure that is described earlier in this
section.
1-72Using LCDS Print Description Language
Dynamic job descriptor entries (DJDEs)
Dynamic job descriptor entries (DJDEs) are parameters
embedded within the input data stream. DJDEs modify the
printing environment established by a job descriptor entry (JDE)
as the job is printing. Dynamic job descriptor entry processing
allows certain JDE parameters to be changed for individual
pages or records.
The IDEN command, coded in a JDE, notifies the system that
DJDE records are included in the input data stream, specifies
where the DJDEs commands are embedded in the data record,
and specifies how to identify the DJDE records.
Benefits of using DJDEs
There are several reasons to use DJDEs to change job
parameters:
PDL principles and procedures
•The printing system does not need to stop between reports
nor does it require operator intervention. The operator starts
a job on the printing system and typically returns to the
system for minor operational activity only.
•Forms may be changed on specific pages.
•Many variations on VFU channel, margin, Top Of Form (TOF)
and Bottom Of Form (BOF) assignments may be applied to
reports as they are created instead of being stored in the
printing system in JDL files. This dynamic processing
reduces the number of JDEs that need to be maintained.
•DJDEs can be used to satisfy unusual processing
requirements more easily.
•Varying numbers of copies can be generated automatically
with routing or distribution notification sent to the operator.
•Print resources (such as forms and fonts) or nonprint data
can be downloaded onto the system disk through the print
data stream.
Using LCDS Print Description Language1-73
PDL principles and procedures
Dumps
The dump feature is a troubleshooting tool for print jobs. It allows
you to generate a hardcopy of the command and data
transmission between the host computer or the magnetic tape
and the printing system while a job is being transmitted and
printed.
Online dump
The online dump provides a printout of all the command and
data transmission taking place between the host computer and
the printing system.
Starting and ending online dump sessions
To print a dump of an online job you wish to troubleshoot, follow
these steps:
1. Specify the DFLT JDE and the OLDUMP JDL on the Online
Job Manager window at the print server. (The OLDUMP JDL,
which was loaded on your system at installation, contains the
VOLUME HOST=OLDUMP and CODE=EBCDIC commands
as well as the DFLT JDE.)
2. Run the job you intend to troubleshoot.
3. Terminate the dump session by clicking the End button on
the Online Job Manager window.
Online dump format and content
Each host command directs the printer to perform an operation
or provides control information used during printing. The control
information could be printed with carriage control only or printer
control, such as load FCB. All print commands and some control
commands transmit data to and from the printing system. The
dump format for each of these commands contains a HEADER
and DATA segment. The HEADER segment consists of the
fields shown in the following table.
1-74Using LCDS Print Description Language
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.