copyrightable material and information now allowed by statutory
or judicial law or hereinafter granted, including without limitation,
material generated from the software programs which are
displayed on the screen such as icons, screen displays, looks, etc.
Printed in the United States of America.
Xerox® and all Xerox products mentioned in this publication are
trademarks of Xerox Corporation. Products and trademarks of
other companies are also acknowledged.
IBM® and all IBM products mentioned in this publication are
trademarks of International Business Machines Corporation.
Changes are periodically made to this document. Technical
updates will be included in subsequent editions.
Table of contents
Introductionvii
About this manualvii
Contentsvii
Conventions viii
Related publications viii
Xerox publicationsviii
IBM publications ix
1.Overview1–1
HFDL features 1–1
Prerequisites 1–2
Operating environment 1–2
Downloading and printing a sample5–10
Accessing compiled forms5–12
Editing an existing form5–12
Specifying monochrome forms5–12
6.Messages6–1
Message indicators6–1
Appendices
A.System considerationsA–1
Line density limitsA–1
Local density and page setup errorsA–1
Boxes and their imageA–2
Text in boxesA–2
Using lines within sectionsA–2
B.FMT grid format properties B–1
C.Approved abbreviations for reserved words C–1
D.Comparison of HFDL and FDLD–1
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMSv
HOST FORMS DESCRIPTION LANGUAGE
E.Supported paper sizes E–1
GlossaryGLOSSARY–1
IndexINDEX–1
viHOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
About this manual
Introduction
This manual describes the Host Forms Description Language
(HFDL) and how you use it to create an electronic version of
your form. The HFDL commands and statements you use
comprise the Forms Source Language (FSL). The host computer
compiles the FSL and stores it in the database. Using the
resources management utilities, you can access and print your
forms on Xerox laser printing systems (LPS) connected to your
host computer.
This manual is designed for users who are familiar with the MVS
operating system and have experience using Xerox printers. For
more information, refer to the “Overview” chapter.
This manual describes HFDL commands and statements, and how
to plan and lay out your forms.
Contents
Before using this manual, become familiar with its contents and
conventions.
This manual contains the following sections:
Chapter 1“Overview” describes the HFDL features, operating environment,
and hardware and software requirements. It also lists supported
Xerox laser printing systems and common forms you can create
and manage with HFDL.
Chapter 2“Planning your forms” describes how to plan and design forms.
It shows you how to determine page orientation and format, add
colors, select paper size, and use the design ruler.
Chapter 3“Using HFDL commands” describes the available commands and
how to set up your forms. It also contains the command
statement conventions and definitions you use to create the FSL
and examples of the JCL.
Chapter 4“Creating a sample form” describes how to create a form using
HFDL.
Chapter 5“Managing and printing sample forms” describes how to compile,
store, and download forms to the printer.
Chapter 6 “Messages” lists the error messages that may appear during
forms compilation.
Appendix A“System considerations” describes the printer limitations you may
encounter during the creation of complex forms.
Appendix B“FMT grid format properties” lists the grid and origin
substitutions you can use for the supported paper sizes.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMSvii
HOST FORMS DESCRIPTION LANGUAGE
Appendix C“Approved abbreviations for reserved words” lists the
Appendix D“Comparison of HFDL and FDL” compares the commands
Appendix E“Supported paper sizes” lists the paper sizes that HFDL supports.
Conventions
“Supported paper sizes” appendixReferences to chapters, sections, and appendices appear in
ICATALOGCommands, operands, and parameters that you enter appear in
abbreviations you can use for reserved words.
available for FDL, HFDL 2.1D, HFDL 3.1, and HFDL 3.2.
For detailed lists of virtual keyboard maps and font character
maps used with HFDL, see the “Virtual keyboard and font
character maps” appendix in the
Xerox Print Resources
Manager/Host Forms Description Language 3.2 for IBM MVS
Managing Resources
This manual uses the following conventions:
In this manual, the word "character" refers to an "alpha-numeric
character," except where noted.
quotation marks.
bold.
manual.
Host Forms Description Language 3.2
for IBM MVS Creating Forms
Related publications
Xerox publications
Document names, library names, variable information, and user–
defined data you enter appears in
LPISystem commands and parameters appear in uppercase letters.
Notes are hints that help you perform a task or understand the
text.
CAUTION: Cautions appear immediately before any action that
may destroy the data stored on your network or damage your
equipment. Make sure you understand the potential impact of
the action before you perform it.
You can find additional information related to HFDL in the
following publications.
Xerox related publications include the following:
PublicationNumber
italic.
Xerox 871 Communications
Module System Guide
600P86733
Xerox 3700 Laser Printing System
Release Five Series Reference Manual
720P84320
Xerox 4235 Laser Printing System
Operations Guide
720P82510
Xerox 4235 Laser Printing System Production
Print Mode PDL/DJDE Reference
720P82530
Xerox 4235 Laser Printing System Operator
Maintenance and Problem Solving Guide
viiiHOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Xerox Print Resources Manager/
Host Forms Description Language 3.2
for IBM MVS Managing Resources
720P30560
Xerox Print Resources Manager/
Host Forms Description Language 3.2
for IBM MVS Installation Guide
IBM publications related to the HFDL include the following:
720P30550
IBM MVS/ESA JCL Reference
IBM MVS/ESA User’s Guide
IBM MVS/XA JCL Reference
IBM MVS/XA User’s Guide
IBM MVS/XA JCL
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMSix
HOST FORMS DESCRIPTION LANGUAGE
xHOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
HFDL features
1.Overview
The Host Forms Description Language (HFDL) operates in a
standard IBM/MVS environment that includes Xerox high–speed,
high–volume centralized printers. You use Xerox Print Resources
Manager (XPRM) to store form files and resources in the XPRM
database.
This chapter describes the HFDL features, prerequisites,
operating environment, and the supported printers. Refer to the
Xerox Print Resources Manager/Host Forms Description Language
3.2 for IBM for MVS Managing Resources
information.
HFDL, combined with XPRM, provides the following features:
manual for more
•Flexible language statement syntax. The syntax allows you
to quickly and easily develop your form electronically. The
syntax is similar to the source language that resides on the
Xerox laser printing system (LPS) printer and that the Forms
Description Language (FDL) compiler uses. HFDL also
allows additional command extensions, such as dot leaders,
which the FSL compiler does not support.
•More online printer time. Through HFDL and XPRM, you
have the ability to compile and store forms on your host
computer, freeing up your Xerox laser printer for other
printing jobs.
•Powerful utilities. The XPRM utilities allow you to manage
your resources through a system interface. These utilities
allow you to access stored forms for updating, downloading
to printers, or deleting.
•Additional flexibility. You have the ability to download
host–generated forms, which were compiled in different
formats, to specific laser printers.
•Increase in several FDL limits.
•Standard entries. You have the ability to enter standard
HFDL reserved words and identifiers in uppercase or
lowercase letters.
•Host system interface. XPRM provides an enhanced
resource management capability through a host system
interface. This allows you to take advantage of the
enhanced features offered by the new family of Xerox laser
printers such as the Xerox 4135 LPS Printer, the Xerox 4235
LPS Printer, the Xerox 4700 Color Document Printer, and
the Xerox 4850 HighLight Color LPS Printer.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS1–1
HOST FORMS DESCRIPTION LANGUAGE
Prerequisites
•Conversion from .FRM to metacode. This feature is
implemented as a stand-alone utility program. For details
see Appendix D.
HFDL also allows you to take advantage of the added
features of the Xerox 4650 Printer (600 dpi forms).
You should have a working knowledge of your Multiple Virtual
Storage (MVS) operating system, and be able to perform the
following procedures:
•Create and edit a text file on your system.
•Use JCL to compile a job on your system.
•Use JCL to access a file through your resource management
interface, and download your selected file to your Xerox
laser printing system.
Operating environment
Hardware requirements
Software requirements
Xerox laser printer support
The host computer, peripheral devices, printers, and software
make up your printing system. This section describes the
hardware and software requirements to operate HFDL.
HFDL 3.2 operates on IBM S/370 and S/390 series computers
running the MVS/XA or MVS/ESA operating system.
HFDL operates in batch mode under the IBM MVS/ESA and
MVS/XA operating systems. It does not use operating system
features specific to any MVS release level. Any specific
requirements for your site are provided during installation and
described in the
MVS Installation Guide.
HFDL supports Xerox centralized and decentralized printers.
Host Forms Description Language 3.2 for IBM
Centralized printers
Centralized printers are high–speed, high–volume printers
generally used in central locations for printing data processing
output from mainframe computers. They may be attached to the
host computer by an S/370 channel or attached remotely by an
871 Communications Module (CM) or BARR SNA.
Table 1–1 lists the centralized printers that HFDL supports and
the associated operating system software (OSS).
1–2HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
OVERVIEW
Table 1–1.Supported centralized printers
Centralized printersOSS version
4050V2.1, V3.5, or V3.8
4090V2.1, V3.5, or V3.8
4135V3.6
4650V3.5 or V3.8
4850V3.7, V3.8, or V5.0
4890V4.0 or V5.0
8790V2.1 or V3.9
9790V2.1 or V3.9
Decentralized printers
HFDL also supports some Xerox decentralized printers. These
printers are generally in remote locations away from the
mainframe. An SNA/RJE communications link or a BSC/RJE
communications link connects them to the host. Also, the Xerox
Flex Box protocol converter allows you to connect the Xerox
4235 printer to the host.
Table 1–2 lists the decentralized printers that HFDL supports and
the associated OSS.
Table 1–2.Supported decentralized printers
Decentralized printersOSS version
3700V5.2
4235V1.2 or V1.5
4700V1.0 (XES mode)
HFDL 3.2 generates forms on the Xerox 4235 and Xerox 4700
printers operating in XES mode.
Contrasting HFDL with a typical forms application
HFDL allows you to create electronic versions of your forms,
compile them, store them in your system database, and
download them to your printer as needed. This eliminates the
need to stock large quantities of preprinted forms.
(XPPM and XDPM modes)
Once you download your form to a Xerox LPS, the printer
merges your form with variable data. This capability allows you
to create, store, and print any number of forms, in any order, on
plain paper.
In a typical forms application that does not use HFDL, you have
to prepare and load preprinted forms (often printed in large
quantities) on a printer connected to a computer. You can load
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS1–3
HOST FORMS DESCRIPTION LANGUAGE
only one set of forms at a time, and must remove and replace
any forms currently loaded with the preprinted forms you want.
The typical forms application usually requires a stock of
preprinted forms. If there are different forms, storage costs can
be high. If you have to modify preprinted forms, you usually
must discard old versions, making your costs even higher.
Forms you can create with HFDL
The following list provides examples of general business forms
you can create with HFDL:
•Bar codes
•Billing statements and invoices
•Calendars
•Checklists
•Financial statements
•Floor plans
•Flow diagrams
•Marketing surveys
•Order forms
•Organizational charts
•Packing and shipping slips
•Production and inventory control forms
•Reorder lists
•Reports
•Routing forms
•Schedules
•Status report forms.
Depending on your business, you may need to create forms to
meet specific industry standards. HFDL allows you to create the
following types of specialized forms:
•Bank statements
•Government compliance forms
•Insurance forms
•Tax return forms.
1–4HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Determining format
2.Planning your forms
This chapter describes the parameters you must determine and
specify when designing your form.
Careful planning and design are critical to creating electronic
versions of your forms. Form planning and design specify such
things as page size, orientation, layout, fonts, inks, and highlight
colors.
For additional information about designing complex forms and
Xerox laser printer capabilities, refer to the “System
considerations” appendix.
Before you create a form with HFDL command statements, you
must plan its layout, content, and appearance according to the
requirements described in the following sections.
Page orientation
The orientation of a page is either portrait or landscape. Figure
2–1 shows these orientations.
Figure 2–1.Page orientation
PORTRAIT
LANDSCAPE
The landscape orientation, sometimes called the horizontal
format, refers to a page whose horizontal side is longer than its
vertical side.
The portrait orientation, sometimes called a vertical format, refers
to a page whose vertical side is longer than its horizontal side.
Use the portrait orientation for text material such as letters,
manuals, reports, and forms that need the tall vertical format.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS2–1
HOST FORMS DESCRIPTION LANGUAGE
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
Page frames
Landscape format is ideal for forms, spreadsheets, and reports
that require columns across the page. For example, the
landscape orientation is appropriate for a Gantt chart that lists six
or twelve months horizontally, and lists the tasks vertically.
Large paper size forms in short edge feed (SEF) made for the
Xerox 4135 printer require you to specify the FONTS command
in the opposite orientation. For example, for a portrait
orientation, use landscape fonts, and for a landscape orientation,
use portrait fonts. Make sure you specify the orientation you
want. For example, for a portrait form, specify PORTRAIT for the
orientation, and for a landscape form, specify LANDSCAPE.
The page frame is a set of boundaries associated with a page as a
unit of printing or imaging. There are three types of page
frames: system, physical, and virtual. Figure 2–2 shows the
relationship between the system, physical, and virtual page.
Figure 2–2.Page frames
2–2HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
SYSTEM PAGE
PHYSICAL PAGE
VIRTUAL PAGE
NOTE CORRESPONDING
EDGES OF PHYSICAL AND
SYSTEM PAGES. THIS IS
IMPORTANT WHEN
CONSIDERING
EDGE–MARKING.
For additional information about page frames, refer to the
LPS Forms Creation Guide
.
Xerox
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
System page
The system page is the maximum area the printer allows you to
image graphics and text. The system page is slightly larger than
the physical page. If the default paper sizes have been
established for your printer, the system page has little bearing on
your form design.
PLANNING YOUR FORMS
If you decide to place marks along the edge of the physical page
(edge–marking) in your form, be familiar with the edge–marking
limitations. To accommodate edge–marking, the system page
must be larger than the physical page. Since the system page
boundaries correspond to at least two edges of the physical page
boundaries for all paper sizes, you can only use edge–marking on
the two edges of the physical page that do not correspond to
the system page.
The product guide for each printer contains specific information
about edge–marking.
Physical page
CAUTION: Unexpected results occur if you plan a form for a
physical page paper size that is not available.
The physical page is the actual paper size. On a Xerox LPS, you
define the default size of the physical page during system
generation (SYSGEN). During planning, you must consider the
default paper size or other paper sizes available for your printer.
See the “Supported paper sizes” appendix for more information.
Form origin
Virtual page
The virtual page is the area you specify for printing. The virtual
page can be as large as the physical page (actual paper size), but
can never be larger than the physical page. If you do not specify
the virtual page size, the defined (planned) area of the virtual
page is the same as the physical page.
Since the Xerox 4700 Color Document Printer has a limitation on
the print area of the physical page, make sure that the virtual
page does not include the area the printer grippers cover. Refer
to your printer documentation for more information on print area
limitations.
All form data described by HFDL is positioned on the page
relative to a point, called the form origin
.
The form origin is a
reference point from which you place all elements on a form
using HFDL commands. The form origin is a point that is offset
from the upper left corner of the virtual page. You can specify
this point during form description. If you do not define a virtual
page and specify a form origin, the default form origin is the
origin of the physical page.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS2–3
HOST FORMS DESCRIPTION LANGUAGE
Figure 2–3 shows the location of the form origin of the virtual
page in relation to the actual page size.
Figure 2–3.Form origin location
LANDSCAPE FORM ORIGIN
FORM ORIGIN OFFSET FROM
VIRTUAL PAGE
LANDSCAPE PAGE
PORTRAIT FORM ORIGIN
FORM ORIGIN OFFSET FROM VIRTUAL PAGE
Positioning form elements
VIRTUAL PAGE (USER DEFINED)
PORTRAIT PAGE
DEFAULT SIZE= ACTUAL PAPER SIZE
(PHYSICAL PAGE)
You can place the following elements on a form with HFDL:
•Boxes
•Fixed text
•Images
•Lines
•Logos and signatures
•Sections.
x
You locate an element by determining the horizontal (
y
vertical (
form. These coordinates (
) distance from the upper–left corner (origin) of the
x, y
) comprise the origin of the
) and
document. The form origin (upper left corner of the page) is
always (0,0).
Form elementElement origin
Vertical ruled lineTop of the line at the midpoint of the
thickness of the line.
Horizontal ruled lineLeft end of the line at the midpoint
of the thickness of the line.
Box (outlined)Upper–left corner of the box at the
midpoint of the thickness of the
outline.
Box (shaded)Upper–left corner of the box.
2–4HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Grids
PLANNING YOUR FORMS
Form elementElement origin
Fixed text (single line)Upper–left corner of the first
character cell when the line appears
upright.
Fixed textUpper edge of the topmost character
(multiple lines)cell and the leftmost edge of the
leftmost character cell when viewed
in an upright position.
GraphicsUpper–left corner of the image.
Logos and signaturesUpper–left corner of the first
character cell.
Sections (of a form)Upper–left corner of the section.
You specify the location of a form element (alphanumeric
character, line, or box) on a page in terms of its horizontal and
vertical displacement from the form origin. You can use these
units of measure to define this displacement:
•Characters per inch (cpi) horizontally
•Dots per inch (300 dpi)
•Linear units (inches or centimeters)
•Lines per inch (lpi) vertically
•Xdots (600 dpi).
X and Y coordinates
If you draw a horizontal and vertical line through the form origin
x
to create
expressed as
provide the
x
for
and y coordinates, the location of the form origin is
y
=0, x=0. When specifying both coordinates,
y
value first. Figure 2–4 shows the correct placement
and y coordinates.
Figure 2–4.X and Y coordinates
0,0
x
0,0
PORTRAIT
LANDSCAPE
x
y
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS2–5
y
HOST FORMS DESCRIPTION LANGUAGE
Data types
If you draw additional lines horizontally and vertically away from
the form origin so that each additional line is one unit of
measure apart, you create a grid. You can now position form
elements by specifying a grid position.
Negative coordinates
You can use negative x and y values to place the form elements
above and to the left of the form origin. You can only specify
negative values within the system page boundaries.
Unit value
You can specify the unit of measure you want to use to position
form elements on the page. However, predefined formats
automatically select the grid values for you. The “FMT grid
format properties” appendix lists the predefined grid format
properties for various page sizes.
There are two types of data: forms data and variable data. Make
sure you consider them when you create forms for printing on
Xerox LPS printers.
Forms data
Forms data is the information on a form that remains the same,
such as form titles and column titles. Typically, fixed–length
forms data changes only when you modify the form. Forms data
is the only data you enter in the design process.
When designing a column size you must consider the amount of
variable data the column accommodates, not the size of the
fixed–length column title.
Variable data
Variable data is the data you overlay in the space provided by the
designed form. Variable data varies in length. An example of
variable data is a name and address.
You must allow sufficient space in the columns to accommodate
the variable data. Otherwise, variable data may be invalid or
unusable. For example, if you do not provide sufficient space for
an address, the zip code could be truncated. Spacing for
variable data is extremely important and is more accurately
calculated with fixed spacing of the font characters.
2–6HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Fonts
Fixed and proportionally spaced fonts
PLANNING YOUR FORMS
Fonts are character sets, each having a unique typeface (Times,
Roman or Helvetica), type size (points), and type style (normal,
bold, or italic).
Fonts must reside in the host database and on the printer.
Check with your System Administrator to identify the fonts
available on your printer. If you specify a font that does not
reside in the host database, you receive an error message when
you compile the form.
You can use fixed and proportionally spaced fonts on Xerox LPS
printers. Each character occupies an area of the form cell called
a character cell. With fixed fonts, all character cells in the set are
the same width. With proportional fonts, character cells vary in
width.
Usually, you use fixed fonts for variable data and proportional
spacing for forms data. Figure 2–5 shows examples of fixed and
proportional spacing.
Font orientation
Figure 2–5.Character spacing
CHARACTER CELL
PROPORTIONAL SPACINGFIXED SPACING
In addition to typeface, style, and size, you can also define fonts
by their orientation:
•Landscape
•Portrait
•Inverse landscape
• Inverse portrait.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS2–7
HOST FORMS DESCRIPTION LANGUAGE
Figure 2–6 shows the font orientations relative to the physical
page.
Figure 2–6.Font orientation
PORTRAIT FONT
LANDSCAPE FONT
LANDSCAPE PAGE
PORTRAIT PAGE
Font orientation when using short–edge paper feed
Normally, stock feeds into the printer moving in the direction of
the page length. You assign each job a font with a landscape
orientation (characters align along the long edge of the page) or
a font with a portrait orientation (characters align along the short
edge of the page).
Some printers, such as the Xerox 4135 LPS, support paper sizes
up to 14.33 by 17 inches by allowing the stock to feed into the
printer moving in the direction of the page width. This is the
short edge feed (SEF) option. This reversal of the feed edge
reverses the font orientation the job must use. When printing a
landscape document using the SEF option, specify portrait fonts.
When printing a portrait document using the SEF option, specify
landscape fonts.
2–8HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Virtual keyboard and font character maps
You can create virtual keyboard and font character maps and
store them in the XPRM database after installation. During the
compilation of forms, you can set the compiler to use the
character maps to enable keyboard–to–font character mapping.
Use the KEYBOARD parameter of the COMPILE command to
specify the keyboard map you want to use. The keyboard
characters are mapped to the corresponding graphic
representations of the characters in the Xerox printer fonts. For
more information on setting the compiler, refer to the “Using the
COMPILE command” section in the “Managing and printing
sample forms” chapter.
Normally, mapping is not required in the United States, but it is
required in the following situations:
•When there are differences between your terminal keyboard
configurations
•To accommodate varying character sets
•To accommodate the internal organization of characters
within different fonts.
PLANNING YOUR FORMS
Keyboard emission
Keyboard
character
"
You must use a keyboard character map to access a font
character map. In the United States, use the U.S. English
keyboard character map.
Generally, you map the keyboard character to the corresponding
character in each font used in the form. Figure 2–7 shows this
process. In the example, the neutral double quote (") on the
keyboard is mapped to the neutral double quote in the font.
Figure 2–7.Mapping process
Virtual keyboard
character map
EBCDIC
Hexadecimal
code point
7F000/042
Keyboard
table
7F
Xerox
character
identifier
Xerox
character
identifier
Font character map
ASCII
Hexadecimal
code point
F2000/042
Font
character
that prints
"
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS2–9
HOST FORMS DESCRIPTION LANGUAGE
Keyboard emission
You can also use the mapping process to assign a different
character to a key. Figure 2–8 shows you how to map a little
used keyboard character, such as the cent sign (¢), to a new font
character required in your form, the fraction one–half ( ).
Figure 2–8.Mapping to a different font character
Virtual keyboard
character map
Font character map
Keyboard
character
¢
Hexadecimal
code point
4A
Keyboard
table
Virtual keyboard character maps
Xerox
character
identifier
Xerox
character
identifier
000/2754A 000/275
ASCII
code point
1F
Font
character
that prints
You cannot map the following keyboard characters to a different
character: A to Z, a to z, and 0 to 9.
When you press a key on the terminal keyboard, it emits a
unique code. This special code is referred to as a hexadecimal
code point.
A specific hexadecimal code point corresponds to the same
character, regardless of the keyboard you are using. For
example, hexadecimal code point C1 always corresponds to an
uppercase A.
Keyboards may vary from country to country, so there are a few
hexadecimal code points that correspond to different characters
depending on the keyboard you are using. For example, on a
U.S. English keyboard, hexadecimal code point 4A corresponds
to the cent symbol (¢); on a UK English keyboard, hexadecimal
code point 4A corresponds to the dollar symbol ($). U.S. English
is the default keyboard, but you can customize a virtual keyboard
character map for each unique keyboard configuration you need.
A unique Xerox character identifier is assigned to each character
in the Xerox centralized and decentralized fonts. The printer
uses the Xerox character identifier to locate the graphic
representation of the character. The Xerox character identifier
matches the hexadecimal code point to the character it
represents. For example, the Xerox character identifier 0/101
corresponds to the uppercase A.
For more information on keyboard character maps, see the
“Virtual keyboard and font character maps” appendix in the
Xerox
Print Resources Manager/Host Forms Description Language 3.2
for IBM MVS Managing Resources
2–10HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
manual.
Font character maps
Adding color to forms
PLANNING YOUR FORMS
Once the compiler equates a keyboard code point to a Xerox
character identifier, another translation must locate the graphic
representation of the character within the font. A font character
map identifies the location of each graphic character within a
font. The graphic representation is the actual bitmap that prints
the character in the form. Usually the character is in ASCII
format. For example, hexadecimal code point 41 is the ASCII
code for the uppercase A.
Some character sets may not support all font graphic characters.
For example, Character Set E does not contain the left brace ({).
For more information on font character maps, see the “Virtual
keyboard and font character maps” appendix in the
Xerox Print
Resources Manager/Host Forms Description Language 3.2 for
IBM MVS Managing Resources
manual.
The Xerox highlight color LPS printers and the Xerox 4700 Color
Document Printer allow you to use color to emphasize important
parts of your form. With a highlight color printer, you can use
different shades of a single color to highlight parts of your form.
The 4700 printer uses full color technology, which allows you to
choose from a wide selection of colors. The following examples
show typical color enhancements for forms:
•Highlighted titles
•Highlighted columns representing totals or important results
•Lines setting off groups of columns or items or used as a
border for your form
•Boxes filled with any of the colors and tints available in the
ink catalog.
You use the HFDL command statements to control color. For
more information, refer to the “Using HFDL commands” chapter.
On a highlight color printer, text, lines, and box borders always
print in the primary color of the printer, even if you specify a
different color, tint, and so on.
You can send a form using red, blue, or green palettes to either
a highlight color printer or a full color printer. To convert red,
blue, and green highlight colors to full color versions, recompile
the form with VERSION=XC on the COMPILE command. The
full–color palette is available only on the 4700 printer.
Ink color availability and control
When planning colors, you should determine if your company
has any regulations and controls for using colors on forms. You
may need to use a specific ink list, which contains an ink catalog,
palette, and ink for items such as logos and form titles. Contact
your System Administrator to determine the available ink colors.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS2–11
HOST FORMS DESCRIPTION LANGUAGE
Choosing paper size
Forms design ruler
For additional information regarding default ink palettes, catalogs,
color models, ink priority and substitutions, and modifying
output, refer to the
Once you determine the actual page size (physical page)
available for your printer, you can specify any size within the
physical page size for your form.
Contact your System Administrator to determine available paper
sizes.
For a list of paper sizes for the family of Xerox laser printers, refer
to the “Supported paper sizes” appendix.
Careful spacing and form measurements can help ensure a
smooth conversion to an electronic format. As an option, a
design ruler can be ordered to measure character and line
spacing on your draft form or paper original. Contact your
appropriate Xerox customer representative for ordering
information.
Xerox LPS PDL/DJDE Reference Manual.
Ruler scales
The design ruler is approximately 15 inches long, with eight
scales, four on each side. The scales are defined as follows:
Side 1Scale 1 (10/INCH)—Output character spacing. You can also use
this scale to measure inches, graduated in tenths.
Scale 2 (6/INCH)—Output line spacing for 6 lines per inch (lpi).
Scale 3 (8/INCH)—Output line spacing for 8 lpi.
Scale 4 (12/INCH)—Output line spacing for 12 characters per
inch (cpi) or 12 lpi.
Side 2Scale 5 (13.6/INCH)—Default output character spacing for 13.6
characters per inch (cpi).
Scale 6 (8.1/INCH)—Default output line spacing for 66 lines per
landscape page.
Scale 7 (10.7/INCH)—Output line spacing on for 88 lines per
landscape page.
Scale 8 (15/INCH)—Output line spacing for 15 cpi or 15 lpi.
2–12HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Suggested uses
PLANNING YOUR FORMS
You can use the design ruler for character spacing or line
spacing. For example, you can use scale 1 for 10 characters per
inch (cpi) or 10 lines per inch (lpi). Typically, you use side 1 of
the ruler for measuring impact–printed computer output reports
in which the character spacing is 10 cpi (scale 1) and line spacing
is 6 lpi (scale 2) or 8 lpi (scale 3). You use side 2 for measuring
LPS output.
The default spacing for the LPS is 13.6 cpi (scale 5) and 8.1 lpi
(scale 6). These defaults allow optimal readability for the
standard format of 132 columns by 66 lines.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS2–13
HOST FORMS DESCRIPTION LANGUAGE
2–14HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
3.Using HFDL commands
You use the Host Forms Description Language (HFDL) keyword
commands to translate your form design into a format for the
host computer. The command set representing your form
becomes the Forms Source Language (FSL), which the host
compiles and stores. You can download the compiled form to a
Xerox LPS or XES printer. This chapter describes the HFDL
commands and their functions.
Creating forms with HFDL commands
The HFDL command language syntax is usually the same as the
Forms Description Language (FDL) command language syntax.
You should be familiar with the FDL commands and how to use
them at the printer.
For more information on FDL commands and printer usage
to the
the “Troubleshooting syntax errors” section in the
Notes
Xerox Laser Printing Systems Forms Creation Guide
HFDL Release
.
,
and
refer
Available specifications
The “Comparison of HFDL and FDL” appendix in this manual
compares the commands for HFDL 2.1D, HFDL 3.1, HFDL 3.2,
and FDL.
The HFDL commands allow you to specify the following features:
•Form name identifies the forms you are developing.
•Page orientation specifies a page as portrait or landscape.
•Font selection specifies the fonts you want to use.
•Vertical and horizontal grid positions specify grid position
and position form elements in line printer measurements
(line number and character position) or inches, centimeters,
dots, and xdots.
•Highlight and full color enhance graphs, charts, forms, and
other publications.
•Shading mixes color with black to produce shades of a
primary color (red, green, or blue).
•Caption position specifies locations of captions on a page
or selects automatic placement within a specified area.
•Logo and graphic position specifies the location of
selected logos and graphics on a page.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–1
HOST FORMS DESCRIPTION LANGUAGE
Command format
Each HFDL command consists of a command identifier,
parameters, and reserved words associated with the function.
The following conventions apply:
•A semicolon (;) terminates a command.
•A comment line begins with the word COMMENT, followed
by a comment and semicolon (;).
•A blank space separates reserved words and parameters.
•Commas are legal only as shown in the command syntax
flow charts.
Command information appears within the first 72 columns of
each record. Commands can continue for multiple records;
however, there is a limit of 4,096 characters allowed in one text
block. Multiple commands can appear in one record if you
separate them with semicolons.
The system ignores records containing all blanks. You can use
them to separate command statements.
Reserved words
Special characters
Reserved words appear in bold uppercase text in the command
syntax flow charts in this chapter. You can abbreviate many
n
reserved words to the first three characters (except FMT
n
you must specify the integer
abbreviations for reserved words” appendix for the list of
abbreviations you can use. Avoid using reserved words as
section or form names.
Use the following special characters to meet certain requirements
within the command statements:
•A single quote (’) encloses a text string, for example, ’This
is a font count’ produces “This is a font count” in the
printed version. When you use a reserved word such as
“font” in a string, it is not processed as a command.
•A pound symbol (#) within a text string shifts the text
between uppercase and lowercase characters, and vice
versa. Each string begins with an uppercase character. For
example, F#IRST produces “First” in the printed version.
To shift back to uppercase characters, you must enter
another pound symbol (#) character in the text string. For
example, R#EV#A produces “RevA” in the printed version.
). Refer to the “Approved
, where
You can substitute the pound symbol (#) with any other
character by using the SHIFT operand at the COMPILE
command. Refer to the "Command Syntax" section in the
"Managing and printing sample forms" chapter for
information on how to use this operand.
•An exclamation point (!) specifies a character in the font
character set, not the keyboard character. Enter an
exclamation point (!) and the ASCII hexadecimal code point
for the character you want to print. For example, 65!7B
3–2HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
produces 65°. No mapping or translation is done to these
characters.
You can substitute the exclamation point (!) with any other
character by using the LITERAL operand at the COMPILE
command. Refer to the "Command Syntax" section in the
"Managing and printing sample forms" chapter for
information on how to use this operand.
•Special characters print only if you type them twice in
succession. For example, ‘IT’’S HERE!!’ produces “IT’S
HERE!” in the printed version.
Understanding the command syntax flow charts
Many HFDL statements offer several options. This chapter
represents HFDL command syntax in the form of flow charts,
which allow you to visualize the main command statement and
the way options branch from that statement.
If you want to enter a command in its short form, without
options, follow the main command line in the flow chart until
you reach a semicolon. Otherwise, follow the branching below
the main command line to include any parameters you want.
USING HFDL COMMANDS
Setting up your form
The main command line contains the required words and
operands. Under the command line, or under a branching line,
you can use optional words to clarify the command. Parameters
that are vertically stacked (one above the other) under the main
command line or under a branching line indicate choices for that
particular parameter. Ellipses (...) indicate multiple occurrences
of the preceding parameter.
Words, characters, or phrases shown in lowercase are variables.
Replace these variables with names or values that you have
selected.
Before you enter commands to describe a form, you enter setup
commands to specify the following:
•FORM specifies the name and resolution of the form.
•PAPER specifies the paper size.
•LANDSCAPE/PORTRAIT specifies page orientation and
virtual page size.
•GRID specifies grid unit and form origin.
•FONTS specifies fonts.
•ICATALOG and PALETTE specifies ink catalog and palette.
•INK specifies inks and colors valid only when using Xerox
color printers.
•IRESULT specifies results when objects imaged with
different inks overlap on Xerox highlight color printers only.
The name parameter of the FORM command is required. The
other commands are optional. If you do not specify the optional
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–3
commands, the defaults are used. If you want to include text on
the form, you must specify the FONT command.
You must first specify the FORM command when you describe
your form. You must also completely contain it in the first
record of the form description.
Enter a form name between one and six characters. This is the
only required parameter in the FORM command. FORM must
be the first command of the form file and must precede any
comments. Once the form is compiled, this name identifies the
form stored on the printer.
identifies the name you want to use for the form. The
form name must be from one to six characters.
IS
600
SPI
name
required parameter, but you can omit the remainder of the
FORM command.
RESOLUTION: You can specify the resolution (300 or 600 SPI)
or leave the resolution blank. IS and SPI are optional. The 600
SPI resolution is only valid on the Xerox 4650 LPS.
Default300 SPI if you do not specify SPI. There are no defaults for the
name
form
.
ExamplesLong form:
FORM NEWFOR, RESOLUTION IS 600 SPI;
Short form:
FORM NEWFOR;
Use the PAPER command to specify the paper size for your
form. This command replaces the ALIN option (from HFDL
version 2.1).
aaaaaaaa
is a
;FORM
If you specified a predefined form using the GRID command, the
paper size is determined automatically and you do not need to
use the PAPER command.
If you use the PAPER command to specify a paper size at run
time, make sure the paper size matches the size specified in the
JDE or JDL for the variable data.
Before printing your form, verify that the printer contains the
correct paper size. Use the printer status key on the printer
console. An error message displays if a paper size mismatch
occurs at run time. The job aborts and your form does not print.
3–4HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
USING HFDL COMMANDS
Refer to the output statement PAPER SIZE command in the
ParametersSIZE and IS are optional words you can use for clarity in the long
form of the language coding.
USLETTER, USLEGAL, A3, A4, and B4 are the standard paper
sizes you can use with the Xerox LPS.
Width (w) and length (l) represent the decimal paper size for
printers that allow you to print forms in nonstandard paper sizes.
units
indicates the unit of measure you want to use when
specifying the size of the page. The
INCHES, CENTIMETERS, DOTS, and XDOTS. You can use two
decimal places when you specify inches and centimeters. You
must express DOTS and XDOTS in integers.
USLETTER
USLEGAL
A3
A4
B4
,
l
BY
units
you can choose are
unitsunits
;
DefaultInches, if you do not specify units.
ExamplesLong form:
LANDSCAPE/PORTRAIT command
Refer to the “Supported paper sizes” appendix for more
information.
If you do not specify the PAPER command and a predefined
format is not defined in the GRID command, HFDL assumes
USLETTER.
PAPER SIZE IS USLETTER;
PAPER SIZE IS 8.5 INCHES BY 11 INCHES;
Short form:
PAPER USLETTER;
Use the LANDSCAPE/PORTRAIT command to specify the
orientation of the form, and the size and origin of the virtual
page.
If you specified the predefined format in the GRID command,
the form orientation is established automatically and you do not
need to use the LANDSCAPE/PORTRAIT command.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–5
HOST FORMS DESCRIPTION LANGUAGE
PORTRAIT
Figure 3–3 shows the command syntax flow.
Figure 3–3.LANDSCAPE/PORTRAITcommand syntax
PAGE
SIZEIS
n
units
;LANDSCAPE
,
n
WIDEHIGH
ParametersLANDSCAPE specifies the landscape form orientation. If you
BY
only specify LANDSCAPE, grid units and form origin correspond
to the standard grid format (FMT1).
PORTRAIT specifies the portrait form orientation. If you only
specify PORTRAIT, grid units and form origin correspond to the
standard grid format for the portrait page (FMT6), unless you
change them with the GRID command.
Refer to the “FMT grid format properties” appendix for more
information.
PAGE, SIZE, and IS specifies the width and height of the virtual
page.
The value you use to specify the special page size is n. You must
use positive numbers and you cannot exceed the size specified
in the PAPER SIZE command. You can use two decimal places
when you specify inches. You must express DOTS and XDOTS
as integers.
units
indicates the unit of measure you want to use when
specifying the size of the virtual page. The
are INCHES, CENTIMETERS, DOTS, and XDOTS. You can use
two decimal places when you specify inches and centimeters.
You must express DOTS and XDOTS as integers.
units
units
you can choose
DefaultsIf you do not use the LANDSCAPE/PORTRAIT command, HFDL
uses these defaults:
•LANDSCAPE (orientation)
•FMT1 (grid units and form origin)
•8.5 by 11 inches (virtual page)
units
•INCHES (if you do not specify
ExamplesLong form:
PORTRAIT PAGE SIZE IS 8.5 INCHES WIDE BY 11 INCHES HIGH;
Short form:
PORTRAIT;
It allows HFDL to default to the FMT6 predefined format.
3–6HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
).
GRID command
GRID
n
n
USING HFDL COMMANDS
Use the GRID command to specify the dimensions of the grid
unit and the location of the form origin with respect to the
virtual page origin. All HFDL description commands create and
place form elements (lines and boxes) relative to the form origin.
Figure 3–4 shows the command syntax flow.
Figure 3–4.GRIDcommand syntax
ISUNIT
format – id
,
units
,
BY
CPI
,
BY
units
n
n
units
,
LPI
,
,
ORIGIN
unitsunits
ParametersUNIT and IS are optional words you can use as a lead–in to the
format – id
The name of the predefined format that you have selected is
format – id
for more information.
The size of the grid unit is
units (for example, 6 inches). If you specify inches or
centimeters, the value represents one side of a square grid unit.
If you only specify one DOTS or XDOTS parameter, the grid unit
is the same number of dots both horizontally and vertically.
CPI specifies the number of characters per inch for the
horizontal size of the grid unit.
LPI specifies the number of lines per inch for the vertical size of
the grid unit.
ORIGIN specifies the origin of the form relative to the virtual
page origin. ORIGIN establishes the 0.0 X and Y coordinates.
and
units
identifiers.
. Refer to the “FMT grid format properties” appendix
x y
,
n
, expressed in positive numbers of
;
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–7
HOST FORMS DESCRIPTION LANGUAGE
The GRID sizes must fall into the boundaries of the physical
page. The smallest grid allowed is 1 XDOT by 1 XDOT. The
largest grid allowed is 1 physical page by 1 physical page.
Y
specifies the form origin offset downward from the top–left
corner of the virtual page.
X
specifies the form origin offset to the right of the left edge of
the virtual page.
units
indicates the unit of measure you want when specifying the
units
offset origin. The
XDOTS. You can use two decimal places when you specify
inches and centimeters. You must express DOTS and XDOTS in
integers.
DefaultsPredefined formatFMT1, if you do not specify the GRID or
LANDSCAPE/PORTRAIT commands.
Predefined format FMT6, if you specify PORTRAIT
(LANDSCAPE/PORTRAIT command), but not GRID. If you
specify a predefined format, all GRID format parameters are
automatically provided, unless you change them with the
ORIGIN parameters.
INCHES, if you do not specify
are INCHES, CENTIMETERS, DOTS, and
units
.
FONT command
A value of 1,if you omit an
XDOTS.
ExamplesLong form:
GRID UNIT IS 12 CPI BY 8 LPI ORIGIN 0.18 INCH 0.66 INCH;
Short form:
GRID FMT1;
You cannot specify any text in your form until you specify the
fonts you are going to use with the FONT command. Check
with your System Administrator for the fonts available for your
forms.
Figure 3–5 shows the command syntax flow.
Figure 3–5.FONTcommand syntax
FONTS
font name
n
value when you specify DOTS or
,
;FONT
Parameters
3–8HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Font name
Font name
card and a maximum 20-character string for a decentralized font
card. Use a blank space or a comma to separate multiple font
names. There is a maximum of 32 fonts per form.
Do not confuse font names with the FONT command. You can
specify up to 32 font names in a HFDL command structure, such
as font1, font2, through font32. You can specify only one
FONT command in an HFDL command structure.
identifies the standard or custom font for your form.
is a maximum 6-character string for a centralized font
ICATALOG command
When you compile a form in LPS format, fonts convert to
uppercase. When you compile a form in XES format, fonts do
not convert. The system accepts them in uppercase and
lowercase. Refer to the “Managing and printing sample forms”
chapter.
DefaultsNone.
ExamplesLong form:
FONT Font1;
There is no short form.
Use the ICATALOG command to specify the ink catalog to be
used on highlight and full color printers.
The ink catalog is a file that contains color information. It resides
on highlight color printers and in the XPRM database. You can
list all the ink catalogs stored in your XPRM database by using the
LIST COLORMAP command. Refer to the “Resource
management” chapter in the
Managing Resources
USING HFDL COMMANDS
XPRM/HFDL 3.2 for IBM MVS
manual.
Full color printers require the ink catalog name. If you do not
specify a catalog for a highlight color printer, the printer uses its
default catalog.
Figure 3–6 shows the command syntax flow.
Figure 3–6.ICATALOGcommand syntax
name
ICATALOG
IS
Parameter
DefaultPrinter default catalog and palette,if you do not specify the
ExamplesLong form:
name
represents the ink catalog to use for color information.
Your ink catalog name must not exceed six alphanumeric
characters. You cannot use spaces.
ICATALOG (highlight color only).
ICATALOG IS CAT1;
Short form:
ICATALOG CAT1;
;
PALETTE command
Use the PALETTE command to specify the ink palette to use for
color information on highlight and full color printers. The ink
palette is a subset of inks in the ink catalog.
Full color printers require the palette name. If you do not
specify a palette for a highlight color printer, the printer uses its
default palette.
You can list all the pallete names stored in your XPRM database
by using the LIST COLORMAP command. Refer to the “Resource
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–9
HOST FORMS DESCRIPTION LANGUAGE
INK command
management” chapter in the
Managing Resources
Figure 3–7 shows the command syntax flow.
Figure 3–7.PALETTEcommand syntax
PALETTE
Parameter
DefaultPrinter default catalog and palette,if you do not specify the
ExamplesLong form:
name
represents the ink palette you use for ink information.
Your palette name must not exceed 32 alphanumeric characters,
including spaces.
PALETTE (highlight color only).
PALETTE IS ’PAL1’;
Short form:
PALETTE ’PAL1’;
manual.
IS
XPRM/HFDL 3.2 for IBM MVS
'name'
;
INKS
The INK command is only valid on Xerox highlight color and full
color printers. This command specifies all of the inks and colors
you use when you create a form on Xerox highlight color and full
color printers. The inks you specify with the INK command are
referenced as an index number when you use the LINE, TEXT and
BOX commands. They are not referenced as their identification
name.
The ICATALOG and PALETTE commands must precede the INK
command, as the printer uses the palette and catalog specified in
these commands. If you do not specify a catalog or palette for a
highlight color form, the printer uses its default catalog and
palette.
Ink index numbers begin with 1 for the first ink you specify, 2 for
the second, and so forth. This numbered list of ink names is the
ink list you use for your form. The ink you selected for a specific
description command is identified by the associated ink number
found in the ink list. This command follows the FONT
command. The maximum number of ink names that can be
defined is 255.
3–10HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
USING HFDL COMMANDS
Parameters
DefaultThe printer default ink, if you do not specify the INK (highlight
ExampleLong form:
Inkname
you use a reserved word such as BLACK as an ink name, you
must enclose it in single quotes: ’BLACK’. You must also enclose
ink names with embedded blanks in single quotes.
NOSUBSTITUTION specifies that ink substitutes are not allowed
for this ink. If you do not specify this parameter, the printer
attempts to substitute another ink. Full color printers ignore this
parameter.
color only).
INKS RED, PINK;
There is no short form.
Inkname format
This format describes a variety of ways you can specify an ink.
Use this statement to describe forms you are compiling for Xerox
highlight color or full color printers.
Figure 3–9 shows the inkname syntax.
Figure 3–9.Inkname syntax
identifies all of the inks you use to create your form. If
‘color’
palette
catalog
Once you establish an INK command parameter (catalog, palette,
or ink color), it remains in effect until you change it or another
parameter overrides it. A color or palette name containing one
or more blank spaces requires quotes around the name.
DefaultsThe user catalog specified in the ICATALOG command, if you do
not specify a catalog in the INK command.
System default catalog, if you do not specify a default catalog
(highlight color only).
The palette you specify in the PALETTE command, if you do not
specify a palette in the INK command.
System default palette, if you do not specify a default palette
(highlight color only).
When the ink color begins with a digit, you must specify it within
quotes.
ExamplesThis example shows you how to use the single quotes in
describing specific inks:
.
’palette’
.
color
RED or ‘RED’
PAL1.‘RED’, or ‘PAL1’.‘RED’, or PAL1.RED
CAT1.PAL1.‘RED’, or CAT1.‘PAL1’.‘RED’, or CAT1.‘PAL1’.RED, or
CAT1.PAL1.RED
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–11
HOST FORMS DESCRIPTION LANGUAGE
;IRESULT
IS
DEFAULT
BLACK
COLOR
IRESULT command
ParametersDEFAULT uses the printer default IRESULT, which may be BLACK
The color result you receive from overlapping objects is either
black or color for the entire page. The IRESULT command allows
you to specify the result when objects imaged with different inks
overlap. The IRESULT command appears in the HFDL, FDL, and
PDL OUTPUT statements and DJDE. You can use the IRESULT
command only on a Xerox highlight color printer.
or COLOR.
BLACK specifies a black pixel to print when you place two
objects with different inks that overlap, and black and highlight
pixels coincide.
Description commands
COLOR specifies a color pixel to print when you place two
objects with different inks that overlap, and black and highlight
pixels coincide.
DefaultDEFAULT, if you do not enter the command.
ExamplesLong form:
IRESULT IS BLACK;
Short form:
IRESULT COLOR;
Because the IRESULT command is a highlight color command,
the Xerox 4700 printer ignores it.
Once you complete the setup commands, you can use the
following commands in any sequence to enter descriptive data:
•LINE
•BOX
•TEXT AT
•TEXT IN BOX
•LOGO
•GRAPHIC
•SECTION
•DO SECTION
•COLUMN
•INTERWORD
•DOT LEADER
•LET
3–12HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
LINE command
USING HFDL COMMANDS
•COMMENT
•END.
You must place coordinates within the boundaries of the physical
page. If coordinates stay within the physical page, but extend
beyond the virtual page, HFDL issues a warning message. The
size of the lines table, currently set at 1,500, determines the
maximum number of lines and boxes. Text must fit on the
physical page. You can enter up to 4,096 characters in a text
block.
Use the LINE command to specify one or more lines in the same
direction on your form.
Figure 3–11 shows the LINE command syntax.
Figure 3–11.LINE command syntax
AT
C
IN
AND
o
units
DRAW
n
HORIZONTAL
LINE
LINES
VERTICAL
units
FROM
C
s
HAIRLINE
TO
units
USINGUSINGSOLID
C
e
units
INK
n
0
BROKEN
DOTTED
1
2
;
REPEATHORIZONTALLY
VERTICALLY
EVERY
AT
C
i
units
C
a
units
,
ParametersCo allows you to specify a line origin location on the form grid,
measured from the origin AT location, the point at which the line
begins. If the line is horizontal, C
y
vertical direction (
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–13
–axis coordinate); if the line is vertical, C
represents the origin in the
o
o
HOST FORMS DESCRIPTION LANGUAGE
represents the origin in the horizontal direction (x–axis
coordinate).
units
indicates the unit of measure for specifying the line origin.
units
The
are INCHES, CENTIMETERS, DOTS, and XDOTS. You
can use two decimal places when you specify inches and
centimeters. You must express DOTS and XDOTS in integers.
DRAW is an optional reserved word.
n
The number of lines you want drawn on your form is
.
HORIZONTAL or VERTICAL specifies the direction of your lines.
LINES specifies thatthis reserved word is required.
units
IN
command. IN
is a shorthand method of specifying units for the entire
units
overrides all other units used. For example,
if you want to draw a line using inches but specify grid FMT1, IN
units
uses inches as the grid for all units in the specific LINE
statement.
FROM, TO specifies the coordinate at the coordinate start (C
point and the coordinate end (C
) point.
e
SOLID, BROKEN, or DOTTED specifies the type of line you want
to draw.
HAIRLINE, 0 point (invisible), 1 point, or 2 points specifies the
thickness of the line you want to draw.
n
specifies the ink color index from the ink list for a Xerox
INK
highlight or full color LPS printer.
REPEAT specifies that you want a selected line repeated
according to the following commands.
HORIZONTALLY or VERTICALLY specifies the orientation of the
lines you want repeated.
EVERY C
increment (C
AT C
coordinate (C
indicates that you want a line repeated at the
i
) you have specified.
i
indicates that you want the line repeated at the absolute
a
) you have specified.
a
DefaultsHORIZONTAL, if you do not specify a line orientation.
SOLID, if you do not specify a line type.
1, if you do not specify a line weight.
VERTICALLY, if you do not specify the REPEAT orientation.
)
s
ExamplesLong form:
AT 3 INCHES DRAW 5 HORIZONTAL LINES IN INCHES FROM 4
INCHES TO 10 INCHES USING SOLID 1 USING INK 3 AND
REPEAT HORIZONTALLY EVERY 0.50 INCHES;
Short form:
AT 3 5 LINES 4 TO 10 REPEAT EVERY 0.50;
BOX command
Use the BOX command to describe the size and shape of a box
on your form. Similar to lines, you can repeat boxes at fixed
intervals or at specified locations. The origin of the box is its
upper left corner at the midpoint of the thickness of the outline.
If you are using the 4850 HighLight Color or 4700 LPS printer,
3–14HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
USING HFDL COMMANDS
the BOX command allows you to outline the frame of the box in
color.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–15
HOST FORMS DESCRIPTION LANGUAGE
ParametersCyspecifies the y–axis coordinate for the box origin location.
specifies the x–axis coordinate for the box origin location.
C
x
units
indicates the unit of measure for specifying the box origin.
units
The
are INCHES, CENTIMETERS, DOTS, and XDOTS. You
can use two decimal places when you specify inches and
centimeters. You must express DOTS and XDOTS in integers.
n
The number of boxes you want to draw is
units
IN
command. IN
is a shorthand method of specifying units for the entire
units
overrides all other units used. For example,
.
if you want to draw a box using inches but specify grid FMT1, ININCHES uses inches as the grid for all units in the specific BOX
statement.
The width of the box you have specified is
p.
The height of the box you have specified is q.
SOLID, BROKEN, or DOTTED specifies the type of line.
HAIRLINE, 0 point (invisible), 1 point, or 2 points specifies the
thickness of the line for your box.
n
specifies the INK number you selected from the ink list to
INK
draw the line in color for use on a Xerox highlight or full color
LPS printer. You may specify the same, or different, ink numbers
for the outline of the box.
n
FILL and INK
specifies the ink you want to use to fill a box.
The box fill can be a color or a tint of color. The ink you specify
must be defined in the ink list of the INK command.
SHADING specifies shadowing: LIGHT, MEDIUM, or HEAVY.
REPEAT specifies that you want a box repeated according to the
following commands.
HORIZONTALLY or VERTICALLY specifies the orientation of the
repeated boxes.
EVERY C
increment (C
AT C
indicates that you want a box repeated at the
i
) you have specified.
i
indicates the absolute x or y coordinate where you want
a
the box repeated in a horizontal or vertical direction.
DefaultsSOLID, if you do not specify the line type.
1, if you do not specify the line weight or shading.
0, if you do not specify the line weight but do specify shading.
MEDIUM, if you do not specify the degree of SHADING.
HORIZONTALLY, if you do not specify the REPEAT orientation.
When you specify a box and shade with one command and do
not specify a line type for your box, your box will be shaded but
you will not have a line around it.
ExamplesLong form:
AT 4,6 DRAW 4 BOXES 14 WIDE BY 4 HIGH USING SOLID
HAIRLINE INK 2 AND REPEAT EVERY 5;
Short form:
AT 4,6 BOX 14 WIDE BY 4 HIGH;
3–16HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
TEXT AT command
USING HFDL COMMANDS
Use the TEXT AT command to incorporate text into your form.
To include text in a form, you must specify at least one font.
You use the FONT setup command to specify the font, and you
can only specify one FONT command. The fonts you specify
with the FONT command are referenced as an index number.
They are not referenced as their font name. Font index numbers
begin with 1 for the first font you specify, 2 for the second, and
so on.
The number of fonts you can specify for a form depends on the
point size, how many fonts you use, and the size of the font
memory of the printer. Once you specify a font index number in
a TEXT command, it remains in effect until you specify a new font
index.
When you use multiple text segments within a TEXT AT
command and they reference different font indexes, the last font
you use remains in effect until you specify a new font index.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–17
HOST FORMS DESCRIPTION LANGUAGE
HORIZONTAL
VERTICAL
ALIGNED
TEXT
LEFT
RIGHT
CENTER
TOP
BOTTOM
JUSTIFIED
Figure 3–13 shows the TEXT AT command syntax flow.
Figure 3–13.TEXT AT command syntax
n
SPACEDPER LINE
units
POINTS
LPI
COLUMN
IN
USING
ATC
’text’
FONT
n
INK
n
ANDUSING
y
units
,
C
x
units
;
DOT
LEADER
USING
FONT
n
NEW
LINE
3–18HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
USING HFDL COMMANDS
ParametersHORIZONTAL or VERTICAL specifies the direction of the text
relative to the page orientation.
n units
SPACED defines the amount of vertical space (in
) a line
of text occupies. If you specify a value (not zero), it replaces the
line spacing value of the font being used for this TEXT AT
command. An LPI value specifies line height in terms of lines
per inch. All other specifications are actual line height
units
measurements. The n
value must be positive. The units are
INCHES, CENTIMETERS, CPI, LPI, DOTS, and XDOTS. You can
use two decimal places when you specify inches and centimeters.
You must express DOTS and XDOTS in integers. POINTS
specifies that you want the TEXTSPACED in n POINTS (1/72
inch).
ALIGNED specifies the text justification alignment (LEFT, RIGHT,
CENTER, TOP, BOTTOM, JUSTIFIED). See the
Printing Systems Forms Creation Guide
for alignment examples.
Xerox Laser
You can center multiple horizontal strings beneath each other or
right– or left–justify them. You can center multiple vertical
strings alongside each other or align them on the top or bottom.
The JUSTIFIED alignment mode allows you to justify text. In
simple justification (with no COLUMN), you must specify where
the lines break. You can justify lines by finding the longest line
in a block of lines, then justify other text strings to this length.
This method of justification is best for justifying small blocks of
text or when you must justify the last line of a paragraph. You
can use the JUSTIFIED parameter with the INTERWORD SPACE
and the COLUMN SIZE IS commands. In this mode, text begins
at the coordinates you specify and extends to the right column
boundary. Line breaks occur automatically. Enter text in one
continuous string without line breaks.
ExampleJUSTIFIED parameters:
TEXT JUSTIFIED AT 1,1 ‘This is a sample’
This produces the following text on the form:
This is a sample
of justified text
in block format.
You specify IN COLUMN for any alignment mode and use it with
the COLUMN SIZE IS command. Line breaks occur automatically
when you use TEXT ALIGNED IN COLUMN or TEXT JUSTIFIEDIN COLUMN. You can enter a complete paragraph of text in
one continuous string. A quote indicates the end of a paragraph
rather than a line break. The system ignores multiple line breaks.
Columns do not have a fixed location on the page. You place
them relative to the TEXT command you specify. The horizontal
coordinate you specify sets the left column boundary. You set
the right column boundary to the sum of the column width and
the left column boundary.
You can include a maximum of 4096 characters in one
continuous text string.
‘of justified text’ ‘in block format.’;
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–19
HOST FORMS DESCRIPTION LANGUAGE
ExampleText justified in a column:
COLUMN 1 INCH WIDE;
TEXT JUSTIFIED IN COLUMN AT 1,1
‘four four four five five five six six six’
This produces the following text on the form:
four fourfour
five fivefive
six sixsix
n
FONT
specifies the index number of the font you selected.
Refer to the FONT command for additional information.
n
specifies the index number of the ink color you selected
INK
from the ink list to use with a Xerox highlight or full color LPS
printer. The specified INK is in effect for this command and not
for subsequent TEXT commands.
defines the coordinate you selected on the y–axis where the
C
y
text origin is located.
defines the coordinate you selected on the x–axis where the
C
x
text origin is located.
‘text’
specifies a text string that appears exactly as you enter it
(except for special characters).
DOT LEADER specifies dot leaders you have selected to place
between text or at a column boundary. Dot leaders extend the
full width of the column you specify in the COLUMN command,
’text’
unless interrupted by a
string. You can place dot leaders
between two text strings and a right boundary previously defined
by you in the COLUMN command. If you place dot leaders
between two text strings, the right most text string aligns with
the right column boundary.
Do not use DOT LEADER in the JUSTIFIED mode. DOT LEADER
overrides any alignment mode and places the text flush with the
column boundaries.
n
USING FONT
specifies a change of font for the next body of
text which is not the dot leader string. When you specify dot
leaders and a change of fonts together, the DOT LEADER
n
keywords must precede the FONT
keywords.
NEW LINE specifies a new line to follow a text string. You can
only use the NEW LINE keyword once between text strings.
NEW LINE is similar to a blank text string (’ ’). If you want to use
multiple blank lines between text strings, use multiple blank text
strings (’ ’ ’ ’ ’ ’), not NEW LINE. NEW LINE is ignored if it is not
n
used with DOT LEADER or FONT
.
DefaultsHORIZONTAL and CENTER, if you do not specify the orientation
and alignment for the TEXT AT command.
Use the font index of the last TEXT command, if USING FONT is
not entered. If you omit FONT in all TEXT commands, FONT1
from the FONT list is used.
units
DOTS, if you do not specify
.
If a TEXT command containing a dot leader is not preceded by a
COLUMN command, the system uses a default column width of
6.5 inches (portrait) or 9.5 inches (landscape).
3–20HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
USING HFDL COMMANDS
Single dots repeated, if you do not use a DOT LEADER
command to specify the DOT LEADER text string.
ExamplesThe following is an example of a DOT LEADER used between
two text strings:
TEXT AT 1,1 ’John Doe’ DOT LEADER ’987–6543’;
This produces the following text on the form:
John Doe......................................................987–6543
The following is an example of a DOT LEADER following a text
string and ending at the column boundary:
TEXT AT 1,1 ’Sales Tax’ DOT LEADER NEW LINE ‘Total Now
Due’ DOT LEADER;
Total Now Due..............................................................
The following is an example of the long form of the TEXT AT
command:
HORIZONTAL TEXT SPACED 12 POINTS PER LINE ALIGNED
CENTER IN COLUMN USING FONT 1 AND USING INK 1 AT 1,
1 ’Phone List’ NEW LINE ’John Doe’ DOT LEADER ’987–6543’;
TEXT IN BOX command
The following is an example of theshort form:
TEXT SPACED 12 POINTS PER LINE ALI CEN INK 1 AT 1,1
’Phone List’ NEW LINE ’John Doe’ DOT LEA ’987–6543’;
Use the TEXT IN BOX command to incorporate text into a box
on your form. The command syntax format designates the
proper type and placement of text in a box according to the
planned form. This command format is similar to the TEXT AT
command, except it includes those parameters necessary to
designate the placement of text in a box.
You must define a box with matching coordinate values before
you can reference it in a TEXT IN BOX command. You can
create boxes and adjoining boxes with BOX commands, LINE
commands, or both.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–21
HOST FORMS DESCRIPTION LANGUAGE
HORIZONTAL
VERTICAL
ALIGNED
TEXT
LEFT
RIGHT
CENTER
TOP
BOTTOM
JUSTIFIED
Figure 3–14 shows the TEXT IN BOX command syntax flow.
Figure 3–14.TEXT IN BOX command syntax
n
SPACEDPER LINE
units
POINTS
LPI
COLUMN
IN
FONT
USING
INC
n
AND
BOX
TOPLEFT
CENTER
BOTTOM
LEFT
CENTER
RIGHT
CENTER
RIGHT
TOP
CENTER
BOTTOM
‘text‘
FONT
DOT
USING
USING
y
units
n
INK
NEWLEADER
n
C
x
,
units
;
LINE
BOX
INNEXT
HORIZONTAL
VERTICAL
3–22HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
ParametersHORIZONTAL or VERTICAL specifies the text orientation of the
text within the box. Do not confuse TEXT alignment with TEXT
placement in the box. You can align horizontal text LEFT or
RIGHT. You can align vertical text TOP or BOTTOM.
n units
SPACED defines the amount of vertical space (in
) you
want a line of text to occupy. If you specify a value (not 0), it
replaces the line spacing value of the font being used for this
TEXT AT command. All specifications except LPI are actual line
height measurements. An LPI value specifies line height in lines
n units
per inch. The
units
are INCHES, CENTIMETERS, DOTS, and XDOTS. You can
value you specify must be positive. The
use two decimal places when you specify inches and centimeters.
You can express DOTS and XDOTS only in integers. POINTS
n
specifies that you want the TEXT SPACED in
POINTS (1/72
inch).
ALIGNED specifies that you want the text aligned LEFT, RIGHT,
CENTER, TOP, BOTTOM, JUSTIFIED. See the
Printing Systems Forms Creation Guide
for alignment examples.
Xerox Laser
The ALIGNED and JUSTIFIED commands including IN COLUMN,
are not recommended with the TEXT IN BOX command. These
are more appropriate with the TEXT AT command. If you want to
use JUSTIFIED IN COLUMN, refer to the “TEXT AT command”
section for a description of how to use these parameters.
n
FONT
specifies the index number of the font you selected.
Refer to the “FONT command” section for additional
information.
n
specifies the index number of the ink color you selected
INK
from the ink list to use with a Xerox highlight or full color LPS
printer. The specified INK is in effect for this command and not
for subsequent TEXT IN BOX commands.
IN specifies the position in a box where you want to place the
text. There are nine positions as follows:
defines the coordinate of the box origin on the y axis.
y
defines the coordinate of the box origin on the x axis.
C
x
’text’
specifies a text string that displays on the form exactly as
CENTER CENTER
BOTTOM CENTER
RIGHT CENTER
BOTTOM RIGHT
you enter it (except for special characters).
DOT LEADER specifies dot leaders you have selected to place
between text or to a column boundary. Dot leaders extend the
full width of the column you specify in the COLUMN command,
unless interrupted by a
between two text strings and a right boundary previously defined
in the COLUMN command. If you place dot leaders between
two text strings, the right most text string aligns with the right
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–23
column boundary.
’text’
string. You can place dot leaders
HOST FORMS DESCRIPTION LANGUAGE
Do not use DOT LEADER in the JUSTIFIED mode. DOT LEADER
overrides any alignment mode and places the text flush with the
column boundaries.
n
USING FONT
specifies a change of font for the next body of
text which is not the dot leader string. When you specify dot
leaders and a change of fonts together, the DOT LEADER
n
keywords must precede the FONT
keywords.
NEW LINE specifies a new line to follow a text string. You can
only use the NEW LINE keyword once between text strings.
NEW LINE is similar to a blank text string (’ ’). If you want to use
multiple blank lines between text strings, use multiple blank text
strings (’ ’ ’ ’ ’ ’), not NEW LINE. NEW LINE is ignored if it is not
n
used with DOT LEADER or FONT
.
IN NEXT HORIZONTAL or VERTICAL BOX specifies the text to
place in an adjacent box (horizontally or vertically). Adjacent
boxes must have a common, congruent side. For example, INNEXT HORIZONTAL BOX... produces the results shown in Figure
3–15.
Figure 3–15.IN NEXT HORIZONTAL BOX
IN NEXT VERTICAL BOX... produces the results shown in Figure
3–16.
Figure 3–16.IN NEXT VERTICAL BOX
DefaultsHORIZONTAL, if you do not specify the box orientation. The
same applies for [IN] [NEXT] [HORIZONTAL/VERTICAL] [BOX...];
The font index of the last FONT command, if USING FONT is
not entered. If you omit FONT in all text commands, then FONT1 from the FONT list is used.
units
DOTS, if you do not specify
.
CENTER, if you do not specify the alignment. The same applies
for the IN [TOP, .......BOTTOM] BOX.... for text placement
within a box.
3–24HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
LOGO command
ExamplesLong form:
HORIZONTAL TEXT SPACED 12 POINTS PER LINE USING FONT 1
AND USING INK 1 IN CENTER CENTER BOX 4 3 ‘FIRST’
‘NATIONAL’ ‘TRUST’ IN NEXT HORIZONTAL BOX ‘FIRST’
‘DEPOSIT’ ‘INSURANCE’;
Short form:
TEXT 12 POINTS INK 1 IN BOX 4 3 ‘FIRST’ ‘NATIONAL’ ‘TRUST’
BOX ‘FIRST’ ‘DEPOSIT’ ‘INSURANCE’;
Use the LOGO command to place logos in the form. The logo
is a special font of one or more characters, which carries with it
the relative position of the characters to make up the logo.
Although a logo may comprise many characters, it is positioned
as a single unit. There is an option that overrides the colors
given to a color logo file. For example, if you reference a logo
in a color other than blue on a blue form, you must specify
’USING INK
logo. If you do not use this option, the printer requests an ink
substitution prior to printing the form. Logos you specify in a
form you are printing on a Xerox highlight color LPS printer must
be in color format. You receive a ‘LOGO NOT FOUND’ message
if you reference a black and white logo in a highlight color (HC)
form. The command format designates the proper placement of
a logo according to the planned form.
USING HFDL COMMANDS
n
’ to override the existing color specification of the
LOGO
name
Parameters
CAUTION: The XPRM database does not support XES logos. To
include a logo on an XES form, you must convert the logo to a
font and load it into the XPRM database as a font.
Figure 3–17 shows the LOGO command syntax flow.
Figure 3–17.LOGO command syntax
AT
C
y
units
,
INK
C
x
units
n
USING
,
name
identifies the unique file name (or font identifier) for the
logo. A logo name may consist of one to six characters.
defines the y–axis coordinate for the logo origin location.
C
y
defines the x–axis coordinate for the logo origin location.
C
x
units
indicates the unit of measure for placement of the logo.
units
The
are INCHES, CENTIMETERS, DOTS, and XDOTS. You
can use two decimal places when you specify inches and
centimeters. You must express DOTS and XDOTS in integers.
;
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–25
HOST FORMS DESCRIPTION LANGUAGE
GRAPHIC command
INK n specifies the ink number from the ink list that overrides
the corresponding ink specified in the ink list of the logo file. If
the logo has a NOSUBSTITUTION flag, then ink overrides are
not allowed (highlight color only).
When you incorporate a logo into your form, make sure you do
not exceed the font memory capacity.
DefaultNone.
ExamplesLong form:
LOGO NEW1 AT 1,1 USING INK 3;
There is no short form.
A form may consist only of graphic images. You can have up to
16 images per page. Xerox highlight color LPS printers allow you
to print colored graphics on your form. For highlight color
forms, you can also override any ink specified in the ink list of a
color graphic file.
You must specify each graphic associated with a form in the
forms source language (FSL) file with the GRAPHIC command.
Figure 3–18 shows the command syntax flow.
GRAPHIC
SCALE
Parameters
name
n
Figure 3–18.GRAPHIC command syntax
AT
C
y
C
x
unitsunits
INK
USINGIS
n
,
,
name
identifies the IMG or XES graphic file name you specify.
This is the name of the graphic stored on the printer.
defines the coordinate on the y–axis to locate the logo origin.
C
y
defines the coordinate on the x–axis where you want the logo
C
x
origin located.
units
indicates the unit of measure for placement of the graphic.
units
The
can use two decimal places when you specify inches and
centimeters. You must express DOTS and XDOTS in integers.
are INCHES, CENTIMETERS, DOTS, and XDOTS. You
;
n
SCALE
have selected. The scaling factor value
specifies the scaling of the printed graphic that you
n
must be an integer.
You can only scale on a factor from 1 to 8.
n
specifies the ink number from the ink list which overrides
INK
the corresponding ink list of the graphic (highlight color only).
DefaultNone.
3–26HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
SECTION command
ExamplesLong form:
GRAPHIC SYMBOL AT 1,1 SCALE IS 4 USING INK 3;
There is no short form.
Use the SECTION command when a form consists of identical
blocks of commands. You can save time by defining one section
and then repeating it at the locations you want.
You can also use this command to define an entire form as a
section. Within the section, you can use any other command,
statement, or specification except another SECTION command,
DO SECTION command, FORM command, or END command.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–27
name
specifies the name of the SECTION you want to use to
invoke the SECTION command. You may define and invoke
more than one section, but you must terminate each section with
the command END SECTION or ENDSECTION before you define
another section. Do not use a reserved word or keyword as a
name
section name.
is a maximum 16-character string.
HOST FORMS DESCRIPTION LANGUAGE
SECTION definitionsThe BEGIN SECTION command informs the compiler that what
ExamplesLong form:
BEGIN SECTION NUSEC; LOGO NEW0 AT 0,0 USING INK 2;
TEXT AT 1,1 USING FONT 3 AND INK 1 ’Acme Weather Balloons’
END SECTION;
There is no short form.
follows includes the END SECTION command and lines up to
form a logical collection of commands that may be invoked as
needed to build a complete form.
Most HFDL commands may be found within a SECTION and
these commands are documented in the SECTION command
description. The key point to remember is that coordinates
within the SECTION definition are relative to 0, 0. Also, if the
GRID command is specified, then the GRID is only valid within
the bounds of the defining SECTION. The GRID command is a
local variable and it's scope is that of the defining SECTION.
Other statements within the section will then use the local GRID
command to determine the placement of lines, boxes, text, etc.
Remember that these placement values are still relative to 0, 0.
The final placement of the elements is defined by the DO
SECTION command.
SECTION invocationA SECTION is invoked by using the DO SECTION command.
DO SECTION command
This command names the desired SECTION as well as the origin
of the SECTION. The AT parameter takes on the role of the
ORIGIN command for the SECTION and is used to determine
the final placement of lines, boxes, text, etc. The final placement
is computed as follows:
xFinal=xOrigin + xValue * xGrid
and
yFinal=yOrigin + yValue * yGrid
xValue and yValue are taken from the selected command.
xGrid and yGrid are taken from the active GRID command.
xOrigin and yOrigin are taken from the DO SECTION command
that invokes the section.
If a GRID command has not been defined within the SECTION,
the GRID that is in effect for the FORM is used.
Use the DO SECTION command to invoke a defined section.
You must first define a section before you can invoke it. You can
repeat sections at absolute or incremental coordinates. You can
also repeat a section in the same location. This command is
useful for sections containing relative coordinates.
Figure 3–20 shows the DO SECTION command syntax flow.
3–28HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
USING HFDL COMMANDS
Figure 3–20.DO SECTION command syntax
DO
AND
SECTION
C
y
unitsunits
REPEAT
Parameters
name
n
C
x
TIMES
AT
,
HORIZONTALLY
VERTICALLY
EVERY
ATC
C
i
units
a
units
,
name
specifies the name of the section you want to invoke.
n
TIMES specifies the number of times you want the section
repeated.
;
specifies the y–axis where you want the section origin
C
y
located.
specifies the x–axis where you want the section origin located.
C
x
units
indicates the unit of measure for placement of the section
units
origin. The
are INCHES, CENTIMETERS, DOTS, and
XDOTS. You can use two decimal places when you specify
inches and centimeters. You must express DOTS and XDOTS in
integers.
REPEAT specifies the number of times you want a section
repeated in the orientation you specified.
HORIZONTALLY or VERTICALLY specifies the orientation of the
lines you want repeated.
EVERY C
indicates that you want to repeat a section at the
i
increment you have specified.
indicates that you want to repeat the section at the
AT C
a
absolute coordinate you have specified.
DefaultVERTICALLY, if you specified REPEAT.
ExamplesLong form:
DO SECTION NUSEC 3 TIMES AT 1,1 AND REPEAT
HORIZONTALLY EVERY 4;
Short form:
DO NUSEC 3 AT 1,1 REPEAT HORIZONTALLY EVERY 4;
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–29
HOST FORMS DESCRIPTION LANGUAGE
COLUMN command
Parameters
Use the COLUMN command to establish the column width
when you specify TEXT ALIGNED JUSTIFIED IN COLUMN. You
can also use the COLUMN command to establish a right
boundary for the DOT LEADER command.
units
indicates the unit of measure for the column width. The
units
are INCHES, CENTIMETERS, DOTS, and XDOTS. You can
use two decimal places when you specify inches and centimeters.
You can express DOTS and XDOTS only in integers.
DefaultsThe default units specified for the GRID command, if you do not
units
specify
Column width of 6.5 inches (portrait) or 9 inches (landscape), if
you do not specify column width using the COLUMN command.
ExamplesLong form:
COLUMN SIZE IS 3.8 INCHES WIDE;
Short form:
COLUMN IS 3.8 IN WIDE;
The INTERWORD command specifies the interword multiplier
used to determine the interword gap.
The interword gap formula
The interword gap is the blank space between words in printed
text. It is determined in HFDL with this formula:
.
WIDESIZEIS
;
interword gap = interword multiplier
where
base gap
•the width of ASCII code point X’20’, usually a “blank”
•an EN space, which is 1/2 the point size of the font
interword multiplier
• the value specified by the INTERWORD command
•1.0, if no INTERWORD command is specified.
HFDL uses the interword gap you specify as the minimum value.
For fully justified text, HFDL adjusts the interword gap when
needed.
3–30HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
is one of these values, based on the first named font:
is one of these values:
*
base gap
USING HFDL COMMANDS
Specifying the base gap
The base gap for text not fully justified is always ASCII code
point X‘20’, the “blank”.
The base gap for fully justified text is determined by the
SPACING operand of the COMPILE command. If SPACING is
specified in the JCL for such a job, the base gap is the EN space.
If SPACING is specified in the JCL for a job which does not
include fully justified text, SPACING is not used, and the base
gap remains ACSII code point X‘20’, the “blank”.
For an example of how to specify the SPACING operand, refer to
the “Command syntax” section of the “Managing and printing
sample forms” chapter of this manual.
Specifying the interword multiplier
The INTERWORD command specifies the interword multiplier in
the formula above. The command is not an FDL command; it will
not work on a form compiled at the printer.
Figure 3–22 shows the syntax for the INTERWORD command.
INTERWORD
Figure 3–22.INTERWORD command syntax
n
SPACE
n
is the interword multiplier used to determine the interword
IS
gap. This value is multiplied by the base gap.
Examples:
INTERWORD SPACE IS 0.8;
INTERWORD 0.8;
Using SPACING and INTERWORD together
For justified text, use the SPACING operand of the COMPILE
command along with the INTERWORD command to specify the
size of the interword gap.
Table 3-1 illustrates how the two parameters work together to
determine the interword gap.
;
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–31
HOST FORMS DESCRIPTION LANGUAGE
Table 3-1. Determining interword
The interword
multiplier:
applied to the base
gap, specified by:
equals an
interword gap of:
INTERWORD .5no SPACING operand0.5 *the width of
ASCII code point
X‘20’
INTERWORD .5COMPILESPACING
1
0.5 *the EN space
INTERWORD 1.0no SPACING operand1.0 *the width of
ASCII code point
X‘20’
INTERWORD 1.0COMPILE SPACING
(no INTERWORD
no SPACING operand(1.0) * the width of
command specified,
defaults to 1.0)
(no INTERWORD
COMPILE SPACING
1
1.0 *the EN space
ASCII code point
X‘20’
1
(1.0) * the EN space
command specified,
defaults to 1.0)
1
Valid for fully justifed text only
DOT LEADER command
Use the DOT LEADER command to define the character string
you specify when you use DOT LEADER in the TEXT AT
command. The text string portion of the TEXT AT command
allows for DOT LEADER requests.
Use the LET command to define variable names. You can specify
all x and y coordinates with either literal values or variable names.
If you use variable names, you must first define them with the
LET command. The LET command allows an
n
to equal an
alphabetic character and may be up to 16 characters in length.
You can define up to 50 variables for each form (two to ten
variables for each form is typical). You can define the maximum
number of variables in one LET statement or in individual
statements. You can place LET statements anywhere in the form
following the FORM statement, and you can redefine variables
any number of times.
You can only set variables to a specific numeric amount. You
cannot specify units in the LET statement. However, you can
specify units (if needed) when the variable is used as a
coordinate. For example, if variable Y1 is set to 3 in a LET
statement and a line is drawn at Y1 inches, it is drawn at 3
inches. If the grid units are dots and no units are specified, then
the line Y1 is drawn at 3 dots.
value. Variable names must begin with an
identifier
(variable)
Figure 3–24 shows the LET command syntax flow.
Figure 3–24.LET command syntax
LET=
Parameters
DefaultNone.
ExamplesLong form:
identifier = identifier
select for the LET command. The first
variable and the second
LET X1 = 5.5, X2 = 4.0, Y1 = 3.0;
There is no short form.
Relative coordinate
You can specify all coordinates as literal values or variables. You
must first define variables in the LET statement. Refer to the “LET
command” section for additional information. If you use
variables outside of the LET command, they are called relative
coordinates. These coordinates can also have a positive or a
negative value. This allows you to place text items relative to
one another. If you want to shift the whole block of text up or
identifier
identifier
n
,
specifies the variable name and value you
identifier
identifier
specifies the variable value n.
specifies the
;
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS3–33
HOST FORMS DESCRIPTION LANGUAGE
down, you only have to change the initial values. You can shift
text automatically when you add or delete text items.
HFDL uses spaces to delimit keywords. Therefore, relative
coordinates must not contain spaces between the variable name
Y1 and the value +.5.
ExamplesThe following examples show the long form of the relative
identifier
coordinate.
+ or – specifies a positive or negative value that you can apply
to the
coordinate variables.
In this example, you can define the Y coordinate as the value of
Y1 plus 3 centimeters:
AT Y1+3 CM
In this example, you can define the Y coordinate as the value of
Y2 minus 4.5 grid units:
AT Y2–4.5
There is no short form.
In the examples above, the value of Y1 and Y2 change. When
you refer to Y1 in the FSL, it is 3 larger. Likewise, Y2 is 4.5
smaller.
Use the COMMENT command to retain a record of your
comments in the source statement. Comments do not appear
on the form, and the compiler ignores them. You do not need
to enclose the COMMENT command text in single quotes.
This chapter describes how to create a simple form electronically
using the Host Forms Description Language (HFDL). The forms
shown in the following figures are examples only and appear
smaller than the actual forms.
The steps on the following pages include both long and short
forms of commands. The long form of a command may include
optional keywords and system default values that you may omit
as you become familiar with the forms creation process.
To make the form description easier to read, you can enter a
comment before each command. For example, before specifying
column headings, you might enter the following:
COMMENT DEFINE TITLES;
The program does not read comments.
You can enter HFDL commands on the same line or you can
enter each command on a separate line to make your form
description easier to read. You must end each command with a
semicolon. Refer to the “Using HFDL commands” chapter for
complete information on HFDL commands and their parameters
and defaults.
Figure 4–1 shows the landscape form that you can create using
the procedures in this chapter.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS4–1
HOST FORMS DESCRIPTION LANGUAGE
Setting up the form
Follow these steps to set up the basic elements of your form:
1.Use the FORM command to specify both a unique form
name that identifies the form to the system and a
resolution.
In this example, the form name is XEROX2 and the
resolution is 300 SPI.
FORM XEROX2, RESOLUTION IS 300 SPI;
2.Specify the physical paper size.
This example specifies U.S. letter size:
PAPER SIZE IS USLETTER;
3.Specify the grid unit and form origin. The form origin
should coincide with variable data origin and form grid units
should correspond with the character and line spacing of
the variable data.
The example below shows the long form of the command
using FMT1 values:
GRID UNIT IS 13.6 CPI 8.1 LPI ORIGIN .18 IN .66 IN;
This example shows the short form of the command:
GRID FMT1;
You do not need to use the LANDSCAPE/PORTRAIT
command to specify page orientation and virtual page size if
you specify a predefined format in the GRID command.
4.Specify the fonts you want to use.
In this example, you specify a large font (UN214A) for the
report title, a smaller font (UN107A) for the column
headings, and a very small font (UN104A) for the form
identifier:
FONTS UN214A, UN107A, UN104A;
When you refer to these fonts in later descriptive
commands, the first font specified (UN214A) is identified as
FONT 1, the second as FONT 2, and the third as FONT 3.
This example shows entering all of these setup commands
in their long form:
FORM XEROX2 RESOLUTION IS 300 SPI;
PAPER SIZE IS USLETTER;
GRID UNIT IS 13.6 CPI 8.1 LPI ORIGIN .18 IN .66 IN;
FONTS UN214A, UN107A, UN104A;
4–2HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Since the sample form uses the default resolution, default
physical page size, and default grid format, you can omit these
commands. This example shows entering all of the setup
commands required in their short form:
FORM XEROX2;
FONTS UN214A, UN107A, UN104A;
Using the sample description command
After you finish setting up the sample form, follow these steps to
enter descriptive data:
1.Draw 14 parallel horizontal lines as shown.
Physical and virtual page origin
Form origin (0,0)
-1
7
11
15
CREATING A SAMPLE FORM
132
55
59
The following example shows the long form of the LINE
command:
AT 7 DRAW 14 HORIZONTAL LINES FROM –1 TO 132
USING SOLID 1 AND REPEAT VERTICALLY EVERY 4;
The LINE command draws lines in a horizontal direction
under character row 7 and every fourth row thereafter,
beginning two character positions to the left of character
position 1 and ending at character position 132.
SOLID 1 specifies the appearance of the lines, which are
solid and one point wide. Make sure that you stay within
the boundaries of the system page when you specify a
negative character position.
VERTICALLY is the default direction of the repetition
process when printing is horizontal, since the usual intent is
to draw parallel lines.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS4–3
HOST FORMS DESCRIPTION LANGUAGE
If you omit optional keywords and system defaults, the
short form of the command looks like this example:
AT 7 14 LINES –1 TO 132 EVERY 4;
2.Draw 15 parallel vertical lines as shown.
-1 4 1239 48 55 64 72 79 87 96 104 112 121 132
7
59
This example shows the long form of the LINE command:
AT –1 DRAW VERTICAL LINES FROM 7 TO 59 USING SOLID
1 AND REPEAT HORIZONTALLY AT 4, 12, 39, 48, 55, 64, 72,
79, 87, 96, 104, 112, 121, 132;
The LINE command draws lines in a vertical direction,
beginning at character position –1 and repeated at the
specified intervals, with each line extending from character
row 7 to character row 59. HORIZONTALLY is the default
direction of the repetition process when printing is vertical.
The following example, which omits optional keywords and
system defaults, is the short form of the command:
AT –1 VERTICAL LINES 7 TO 59 AT 4, 12, 39, 48, 55, 64, 72,
79, 87, 96, 104, 112, 121, 132;
3.Use the BOX command to draw an invisible box and center
it above the table.
This example shows the long form of the command:
AT 2, –1 DRAW 1 BOX 133 WIDE BY 5 HIGH USING SOLID
0;
The BOX command draws an invisible box 133 grid units
wide by 5 grid units high under character row 2, beginning
two character positions to the left of character position 1.
Use SOLID 0 as the thickness of the box line when you
want to draw an invisible box. Notice that the horizontal
sides of the box begin and end at the same character
positions as the horizontal lines of the table.
This example shows the short form of the command:
AT 2, –1 BOX 133, 5 SOLID 0;
4–4HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
CREATING A SAMPLE FORM
4.Position the title in the center of the invisible box.
This example shows the long form of the TEXT IN BOX
command:
HORIZONTAL TEXT ALIGNED CENTER USING FONT 1 IN
CENTER BOX 2, –1 ’COMPOSITE STOCK INVENTORY
STATUS REPORT’;
The TEXT IN BOX command places the title COMPOSITE
STOCK INVENTORY STATUS REPORT in the center of the
box whose upper left corner begins at character row 2, at
character position –1. FONT 1 is UN214A, the first font you
specified with the FONT command; FONT 2 is UN107A, the
second font specified.
5.Specify the column headings.
This example shows the long form of the command:
HORIZONTAL TEXT ALIGNED CENTER USING FONT 2
IN CENTER BOX 7, –1 ’CAT’ ’NO’
IN NEXT HORIZONTAL BOX ’ITEM’ ’NO’
IN NEXT HORIZONTAL BOX ’DESCRIPTION’
IN NEXT HORIZONTAL BOX ’REOR’ ’POINT’
IN NEXT HORIZONTAL BOX ’REOR’ ’QTY’
IN NEXT HORIZONTAL BOX ’OPEN’ ’STOCK’
IN NEXT HORIZONTAL BOX ’VENDOR’ ’RECEIPTS’
IN NEXT HORIZONTAL BOX ’STOCK’ ’ORDERS’
IN NEXT HORIZONTAL BOX ’COMM’ ’STOCK’
IN NEXT HORIZONTAL BOX ’SALES’ ’ISSUES’
IN NEXT HORIZONTAL BOX ’BACK’ ’ORDERS’
IN NEXT HORIZONTAL BOX ’VENDOR’ ’RETURNS’
IN NEXT HORIZONTAL BOX ’STOCK’ ’TRANSFERS’
IN NEXT HORIZONTAL BOX ’CURRENT’ ’STOCK’;
This command places a column heading in each column of
the table, using FONT 2. The system automatically centers
column headings.
The TEXT IN BOX command simplifies the task of placing
text in a series of adjacent boxes. You only need to specify
the coordinates of the upper–left corner of the first box.
Subsequently, when you enter a BOX command, the system
automatically recognizes the coordinates of a box directly
to the right of the current box. The keywords IN NEXT
HORIZONTAL are optional. It is also possible to specify the
box directly below the current box, however, you must
enter the keywords IN NEXT VERTICAL.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS4–5
HOST FORMS DESCRIPTION LANGUAGE
This example shows the short form of the command:
TEXT FONT 2 IN BOX 7, –1 ’CAT’ ’NO’
BOX ’ITEM’ ’NO’
BOX ’DESCRIPTION’
BOX ’REOR’ ’POINT’
BOX ’REOR’ ’QTY’
BOX ’OPEN’ ’STOCK’
BOX ’VENDOR’ ’RECEIPTS’
BOX ’STOCK’ ’ORDERS’
BOX ’COMM’ ’STOCK’
BOX ’SALES’ ’ISSUES’
BOX ’BACK’ ’ORDERS’
BOX ’VENDOR’ ’RETURNS’
BOX ’STOCK’ ’TRANSFERS’
BOX ’CURRENT’ ’STOCK’;
6.Apply shading to the form.
This example shows the long form of the command:
At 11, –1 DRAW 6 BOXES 133 WIDE BY 4 HIGH USING
SHADING MEDIUM AND REPEAT VERTICALLY EVERY 8;
This command draws six shaded boxes 133 grid units wide
by 4 grid units high and an identical series of shaded boxes
every eighth row. The coordinates of the upper left corner
of the first box are character row 11, character position –1.
This example shows the short form of the command:
AT 11, –1 6 BOXES 133, 4 SHADING VERTICALLY EVERY 8;
7.Place the form’s identifier and date of issue at the bottom
of the form.
This example shows the long form of the command:
HORIZONTAL TEXT USING FONT 3 AT 61, –1 ’XEROX2
(5/93)’;
This command places the words XEROX2 (5/93) at character
row 61, character position –1, or on the line immediately
below the table, flush with the left edge of the table. Font
3 is UN104A, the third font specified in the FONT
command.
This example shows the short form of the command:
TEXT FONT 3 AT 61, –1 ’XEROX2 (5/93)’;
8.Terminate the form description with an END command, as
follows:
END;
4–6HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
JCL requirements
5.Managing and printing
sample forms
When you have created your form design using Host Forms
Description Language (HFDL) commands, you can compile, batch
process, store, and print a sample of it. After this process
completes, your form becomes available for use. This chapter
describes the COMPILE command and the job control language
(JCL) to invoke the HFDL compiler.
During installation, your System Administrator or system installer
modifies the items in your JCL, as appropriate, for your specific
site.
You enter items in the JCL that are specific to your job when you
are ready to compile your form with HFDL. If you are not
familiar with the items you need to change in the JCL, contact
your System Administrator.
Using the COMPILE command
Command coding conventions
Command syntax
You use the COMPILE command to indicate how you want to
compile the form. The COMPILE command is the only
command available for compiling forms.
Use the following conventions when you code the COMPILE
command:
•Follow the command syntax carefully.
•Enter operands in uppercase or lowercase characters.
•Type operands in the first 72 columns of a record.
COMPILE FSL=DDname[(name)] optional other parameters
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS5–1
HOST FORMS DESCRIPTION LANGUAGE
ParametersFSL is the only valid resource you can use.
FSL=DDname
[(PDS member name)]where DDname = XFFSL
and PDS member name is the member name of the PDS where
the FSL is stored. The DDname can be either a sequential or a
partition data set. When the DDname is sequential, the PDS
member name is not applicable.
OperandsLISt produces the full compiler listing. To specify no listing,
delete this operand.
VERsion=Other specifies the form version you want to compile.
2 produces a form suitable for the version 2 and version 3
printers (4050, 4090, 4135, 4650, 8790, 9790). HC produces a
form suitable for a Xerox highlight color LPS printer. X1 or XC
produces a form suitable for Xerox decentralized printers. The
default is 2.
Form versions are not significant unless you are creating a
highlight color form or an XES form. Version HC only prints on a
Xerox highlight color printer. You should use version HC for
compiling any form that you will use on a highlight color printer,
even if it is a black and white form. When you specify VERS=2
or VERs=10 and you have referenced color anywhere in the
form, VERSION is automatically set to HC. When you specify
VERs=X1 and you have referenced color anywhere in the form,
VERSION is automatically set to XC. Version XC only prints on a
Xerox full color decentralized printer.
OBJect specifies that the database stores the compiled form.
The default is not to store the compiled form in the database.
SPACING is used for fully justified text. It specifies the base gap
used in this formula to determine the interword gap:
interword gap = interword multiplier * base gap
If you include this operand for the COMPILE command, the base
gap is the EN space. The EN space is 1/2 the point size of the
first named font.
If you omit this operand, the base gap is the width of ASCII code
point X’20’. This code point is usually a “blank”, and is always
derived from the first named font.
This operand is valid for fully justified text only.
The INTERWORD command specifies the interword multiplier in
the interword gap formula above. Table 5-1 illustrates how the
INTERWORD command and the SPACING operand work together
to determine the interword gap for fully justified text.
5–2HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
MANAGING AND PRINTING SAMPLE FORMS
Table 5-1. Determining interword gap
The interword
multiplier:
applied to the base
gap, specified by:
equals an
interword gap of:
INTERWORD .5no SPACING operand.5 * the width of ASCII
code point X‘20’
INTERWORD .5COMPILESPACING
1
.5 * the EN space
INTERWORD 1.0no SPACING operand1.0 * the width of ASCII
code point X‘20’
INTERWORD 1.0COMPILE SPACING
(no INTERWORD
no SPACING operand(1.0) * the width of ASCII
command specified,
1
1.0 * the EN space
code point X‘20’
defaults to 1.0)
(no INTERWORD
COMPILE SPACING
1
(1.0) the EN space
command specified,
defaults to 1.0)
1
Valid for fully justifed text only
HFDL uses the interword gap you specify as the minimum value.
For fully justified text, HFDL adjusts the interword gap when
needed.
For the INTERWORD command description and syntax, refer to
the “Using HFDL commands” chapter of this manual.
The example in Figure 5-2 shows MYFORM being compiled with
SPACING specified. The EN space will be used along with the
value specified by the INTERWORD FSL command to determine
the interword gap for this form.
Figure 5-2.SPACING compile syntax
COMPILE FSL=XFFSL(MYFORM) VERSion=HC SPACING
GROup=name specifies a user–assigned optional “name” to the
form. This allows you to group forms in the database for
subsequent listing, downloading, and so on. For example, list all
forms with GROUP=MEDINS. The maximum size of the field is
8 bytes.
KEYboard=name specifies the keyboard map you want to use in
the compilation of the form. name is a maximum 8-character
string. The compiler retrieves the requested keyboard map and
associated font map. Then the compiler maps the characters
entered on the form to the corresponding graphic
representations in the Xerox printer fonts. If no keyboard name
is entered, no keyboard mapping occurs. The font characters are
translated directly from EBCDIC to ASCII and then located in the
font based on their ASCII value. For more information, refer to
Xerox Print Resources Manager/Host Forms Description
the
Language 3.2 for IBM MVS Managing Resources
manual.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS5–3
HOST FORMS DESCRIPTION LANGUAGE
MEMber=selection specifies which member(s) you want to
compile. Specify only one member by using the exact member
name for selection. Specify a group of members by using a
DOS style command such as * and ?. Specify all members in the
partition data set by substituting selection with *.
FORm=selection specifies which member(s) you want to
compile in a multi-form file. Specify only one form by using the
exact form name for selection. Specify a group of forms by
using a DOS style command such as * and ?. Specify all forms in
the partition data set by substituting selection with *.
LITeral=character specifies a user-assigned character for
introducing a literal. A literal is a character from the font
character set, as opposed to a keyboard character. The character
must be coded in ASCII hexadecimal after the literal character.
The default literal introduction character is the exclamation point.
To use the exclamation point as a normal keyboard character
without having to key it twice in succession, override the default
literal introduction using this operand.
Table 5-2 shows an example of how a different literal
introduction character can be used to make frequent keying of
the exclamation point easier:
Table 5-2.Coding alternative literal introduction
characters
To print:
When literal intro is
!, key:
When literal intro is
&, key:
65% 65!25 65&25
SOLD!SOLD!!SOLD!
The code point for % is 25.
SHIFT=character specifies a user-assigned character for shifting
text between uppercase and lowercase. The default shift
character is the # character. To use the # character as a normal
keyboard character without having to key it twice in succession,
override the default shift using this operand.
Table 5-3 shows an example of how a different shift character can
be used to make frequent keying of a normal # character easier:
Table 5-3.Coding alternative shift characters
To print:
When shift
character is #, key:
When shift
character is *, key:
RevAR#EV#AR*EV*A
#4##4#4
PAPersize=name specifies the default paper size you want for
your form. name is one of the following values: LT, LG, A4, A3,
or B4.
5–4HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Command syntax examples
MANAGING AND PRINTING SAMPLE FORMS
Figure 5–3 shows an example of the command you use to
compile a form called MYFORM where the DDname is XFFSL and
the database will store the compiled form.
Figure 5–3.Sample COMPILE syntax
COMpile FSL=XFFSL(MYFORM) LISt OBJect
This example compiles MYFORM with a full compiler report in
version 2 format.
The example in Figure 5–4 shows compiling MYFORM without a
compiler listing. This example compiles MYFORM with no
compiler listing in the HC form format. The database does not
store the compiled form.
Figure 5–4.Highlight color COMPILE syntax
COMPILE FSL=XFFSL(MYFORM) VERsion=HC
Batch processing COMPILE commands
The example in Figure 5–5 shows how to compile a number of
member names that are MMBRxx in a partition data set XFFSL.
For each member that matches the indicated criteria, only a form
name starting with FORM will be compiled. All the forms are
compiled for the 4700 printer.
Figure 5–5.Multiple member and multiple form COMPILE
syntax
COM FSL=XFFSL VER=XC MEM=MMBR?? FOR=FORM*
The example in Figure 5–6 shows how to compile a form stored
in a sequential data set XFFSL with the user definable literal
character set to "$" and the shift character set to "@." The form
is compiled for the decentralized printers.
Figure 5–6.User definable literal and shift COMPILE
syntax
COMPILE FSL=XFFSL VER=X1 LITERAL=$ SHIFT=@ OBJECT
Batch processing allows you to perform multiple sets of
COMPILE commands in one step. You use the BATCH
command instead of the COMPILE command. You can also
perform nested batch processing, in which a batch command is
nested within another batch command. Figure 5–7 shows the
BATCH command syntax.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS5–5
HOST FORMS DESCRIPTION LANGUAGE
Figure 5–7.BATCH command syntax
BATCH DDname[(PDS member name)]
The
PDS member name
identifies the file that contains the
COMPILE commands. The PDS member must be in the same
data set as the FSLs you are compiling.
If you are compiling forms in the XYZFORMS data set, and the
DDname is XFFSL, you can create the batch command statement.
Figure 5–8 shows an example of the BATCH command with
XFFSL as the DDname and BATCH01 as the PDS member name.
Figure 5–8.Sample BATCH command
BATCH XFFSL (BATCH01)
The XYZFORMS data set contains the BATCH01 PDS member,
which contains the COMPILE commands for the forms you are
compiling.
An example of the batchfile is:
HFDL compiler JCL
COMPILE FSL=XFFSL(XYZFM1) LIST OBJECT VER=2
COMPILE FSL=XFFSL(XYZFM2) LIST OBJECT VER=HC
COMPILE FSL=XFFSL(XYZFM3) LIST OBJECT VER=X1
COMPILE FSL=XFFSL(XYZFM3) LIST OBJECT VER=XC
The Virtual Storage Access Method (VSAM) data sets store the
HFDL compiler resources (fonts, logos, forms, and colormaps).
These, along with printer device definitions, comprise the XPRM
database.
Table 5–4 identifies the DDnames that the compiler uses to
reference data sets for centralized printers. You must include a
DD statement for each in your compiler invocation JCL.
Table 5–4.Resource DDnames for centralized printers
DDnameDescription
XSFNTATT Data set containing font and logo attributes.
XSFORMSData set containing forms. Each record contains a
resource occurrence in Xerox LPS printer file format
– .FRM or .FR6.
XSSUPTAB Data set containing database references.
XSFRMATT Data set containing form attributes.
5–6HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
MANAGING AND PRINTING SAMPLE FORMS
Table 5–5 identifies the DDnames that the compiler uses to
reference data sets for decentralized printers.
Table 5–5.Resource DDnames for decentralized printers
DDnameDescription
XSFNTATTData set containing font and logo attributes.
XSFORMSData set containing forms. Each record contains a
resource occurrence in Xerox LPS printer file
format – XES.
XSFRMATTData set containing form attributes.
XSCLRATTData set containing color attributes.
XSSUPTABData set containing database references.
Centralized and decentralized resources are in the same data
sets.
Table 5–6 identifies the DDnames and the statements required in
addition to the resource data sets for centralized printers.
Table 5–6.HFDL execution DDnames for centralized
printers
DDnameDescription
SYSPRINTWrites the compiler listings when the LIST
parameter of the COMPILE command is coded.
Compile errors and the copyright message are
written to SYSPRINT as well.
SYSTERMIndicates a malfunction. Contact your system
administrator. Information is not written to this
DDname under normal conditions.
XFLOGCondition codes log for all forms compiled. This
file is useful when you compile forms and would
like to find out quickly which form causes the
program to return the condition code to other
than 0.
FSL
DDname
Data set containing the forms source language
that is input to the compiler (FSL). This data set
may be a sequential disk file or a member of a
partitioned data set (PDS).
XFINPTemporary data set that the compiler uses.
XFIFFTemporary data set that the compiler uses.
XFFRMTemporary data set that the compiler uses.
XFTMPTemporary data set that the compiler uses.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS5–7
HOST FORMS DESCRIPTION LANGUAGE
Table 5–7 identifies the DDnames and the statements required in
addition to the resource data sets for decentralized printers.
Table 5–7.HFDL execution DDnames for decentralized
printers
DDnameDescription
SYSPRINTWrites the compiler listings when the LIST
parameter of the COMPILE command is coded.
Compile errors and the copyright message are
written to SYSPRINT as well.
SYSTERMIndicates a malfunction. Contact your system
administrator. Information is not written to this
DDname under normal conditions.
XFLOGCondition codes log for all forms compiled. This
file is useful when you compile forms and would
like to find out quickly which form causes the
program to return the condition code to other
than 0.
FSL
DDname
Data set containing the forms source language
that is input to the compiler (FSL). This data set
may be a sequential disk file or a member of a
partitioned data set (PDS).
XFINPTemporary data set that the compiler uses.
XFIFFTemporary data set that the compiler uses.
XFFRMTemporary data set that the compiler uses.
XFTMPTemporary data set that the compiler uses.
XFIFOTemporary data set that the compiler uses.
You must customize the HFDL compiler job control language
(JCL) to meet the standards and conventions for your MVS
installation. The minimum changes that you should make follow
below.
•Modify the JOB statement to meet installation standards.
•Modify the DSNAMEs in the DD statements for the resource
data sets, execution data sets, and XSSUPTAB to meet
installation standards.
•Modify the UNIT name for the temporary data sets.
•Modify the EXEC statement for each compilation for specific
form names and parameters governing the compile.
•Do not remove the COND parameter as shown in step 2 in
Figure 5–10. These parameters are required for proper
condition code handling.
For complex forms, increase your region size and temporary data
set space allocation to avoid ABENDS.
5–8HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
MANAGING AND PRINTING SAMPLE FORMS
If you want to download and print a form sample following the
compilation, the DDnames listed in Table 5–8 are required.
Table 5–8.Data sets required to download and print
DDnamesDescription
XSUIN XPRM Utility commands are read from the file
specified by the XSUIN DD statement. XSUIN may
specify either instream data or reference a
sequential data set or a member of a partitioned
data set (PDS).
XSUACTLAll messages from the XPRM utility are written to
XSUACTL.
XSSUPTAB Identifies the data set that contains the printer
device definitions.
Printer
DDname
A DD statement for a printer to which the utility
will download and sample the form. For more
information on this DDname see the
Xerox Print
Resources Manager/Host Forms Description
Language 3.2 for IBM MVS Managing Resources
manual.
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS5–9
HOST FORMS DESCRIPTION LANGUAGE
//LOGONIDXJOB ’RUN HFDL COMPILER’,REGION=8M user job card parameters
//*
/*JOBPARM LINE=0
//STEP1EXEC PGM=HFDL32,PARM=’COMPILE FSL=XFFSL(XVERL) LIST OBJECT’
//STEPLIBDDDSN=HFDL.V3R2M00.LOAD,DISP=SHR
//DDDSN=XPRM.V3R2M00.SASCRDLB.C550,DISP=SHR
//DDDSN=XPRM.V3R2M00.LOAD,DISP=SHR
//SYSPRINTDDSYSOUT=*
//SYSTERMDDSYSOUT=*
//*****The following data sets are specific to the form compiler
//*----Condition codes log for all files compiled
//XFLOGDDSYSOUT=*
//*----The fsl source file is a customer defined pds or seq
//XFFSLDDDSN=HFDL.SOURCE.FSL,DISP=SHR
//*----The inp file is a temporary file
//XFINPDDDSN=&&INP,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,1)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//*----The iff file is a temporary file
//XFIFFDDDSN=&&IFF,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,1)), DCB=(RECFM=FB,LRECL=320,BLKSIZE=10240)
//*----The compiled forms are temporary files until stored
//*in the database
//XFFRMDDDSN=&&FRM,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,10,10)),DCB=(RECFM=F,LRECL=128,BLKSIZE=128)
//XFTMPDDDSN=&&TMP,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,1)),DCB=(RECFM=FB,LRECL=320,BLKSIZE=10240)
//******The following data sets are the resource data sets
//*---- XSFNTATT is a VSAM dataset containing FONT and LOGO
//*ATTRIBUTES
//XSFNTATTDDDSN=XPRM.V3R2M00.XSFNTATT,DISP=SHR
//*---- XSFORMS is a VSAM dataset containing FORMS
//XSFORMSDDDSN=XPRM.V3R2M00.XSFORMS,DISP=SHR
//*---- XSFRMATT is a VSAM dataset containing FORM ATTRIBUTES
//XSFRMATTDDDSN=XPRM.V3R2M00.XSFRMATT,DISP=SHR
//XSSUPTABDDDSN=XPRM.V3R2M00.XSSUPTAB,DISP=SHR
//*
//******THE JCL FOR DOWNLOAD AND SAMPLE VIA XPRMUTIL GOES HERE
Figure 5–9 shows an example of the JCL you use to compile a
form and store it in the database.
Figure 5–9.Invoking the HFDL compiler
Downloading and printing a sample
If you want to download and print a sample of the form, run the
XPRMUTIL job step immediately following the compile step.
Figure 5–10 shows an example of a JCL you use to compile,
store, download, and sample a form on the printer.
5–10HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
MANAGING AND PRINTING SAMPLE FORMS
Figure 5–10.Downloading and printing a sample
//LOGONIDXJOB ’RUN HFDL COMPILER’,REGION=8M user job card parameters
//*
/*JOBPARMLINE=0
//STEP1EXEC PGM=HFDL32,PARM=’COMPILE FSL=XFFSL(XVERL) LIST OBJECT’
//STEPLIBDDDSN=HFDL.V3R2M00.LOAD,DISP=SHR
//DDDSN=XPRM.V3R2M00.SASCRDLB.C550,DISP=SHR
//DDDSN=XPRM.V3R2M00.LOAD,DISP=SHR
//SYSPRINTDDSYSOUT=*
//SYSTERMDDSYSOUT=*
//*****The following data sets are specific to the form compiler
//*----Condition codes log for all files compiled
//XFLOGDDSYSOUT=*
//*----the fsl source file is a customer defined pds or seq
//XFFSLDDDSN=HFDL.SOURCE.FSL,DISP=SHR
//*----the inp file is a temporary file
//XFINPDDDSN=&&INP,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,1)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//*----the iff file is a temporary file
//XFIFFDDDSN=&&IFF,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,1)),DCB=(RECFM=FB,LRECL=320,BLKSIZE=10240)
//*----The compiled forms are temporary files until stored
//*in the database
//XFFRMDDDSN=&&FRM,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,10,10)),DCB=(RECFM=F,LRECL=128,BLKSIZE=128)
//XFTMPDDDSN=&&TMP,DISP=(NEW,PASS),UNIT=SYSDA,
//SPACE=(TRK,(10,1)),DCB=(RECFM=FB,LRECL=320,BLKSIZE=10240)
//*****The following data sets are the resource data sets
//*---- XSFNTATT is a VSAM dataset containing FONT and LOGO
//*ATTRIBUTES
//XSFNTATTDDDSN=XPRM.V3R2M00.XSFNTATT,DISP=SHR
//*---- XSFORMS is a VSAM dataset containing FORMS
//XSFORMSDDDSN=XPRM.V3R2M00..XSFORMS,DISP=SHR
//*---- XSFRMATT is a VSAM dataset containing FORM ATTRIBUTES
//XSFRMATTDDDSN=.XPRM.V3R2M00.XSFRMATT,DISP=SHR
//XSSUPTABDDDSN=.XPRM.V3R2M00.XSSUPTAB,DISP=SHR
//*
//* ****THE FOLLOWING JCL IS FOR DOWNLOAD AND SAMPLE
//STEP2EXEC PGM=XPRMUTIL,COND=(8,LE,STEP1)
//STEPLIBDDDSN=XPRM.V3R2M00.LOAD,DISP=SHR
//DDDSN=XPRM.V3R2M00.SASCRDLB.C500,DISP=SHR
//SYSPRINTDDSYSOUT=*
//SYSTERMDDSYSOUT=*
//XSUACTLDDSYSOUT=* ACTIVITY LOG
//XSFONTSDDDSN=XPRM.V3R2M00.XSFONTS,DISP=SHR
//XSFNTATTDDDSN=XPRM.V3R2M00.XSFNTATT,DISP=SHR
//XSFORMSDDDSN=XPRM.V3R2M00.XSFORMS,DISP=SHR
//XSFRMATTDDDSN=XPRM.V3R2M00.XSFRMATT,DISP=SHR
//XSSUPTABDDDSN=XPRM.V3R2M00.XSSUPTAB,DISP=SHR
//ddnameaDDSYSOUT=*,DCB=(RECFM=FBA),
//DEST=prtrid
//XSUIN DD*
REPRO FORM WHERE(NAME=XVERL) OUTDEV(HCPRNTR) SAMPLE;
//*
HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS5–11
HOST FORMS DESCRIPTION LANGUAGE
Accessing compiled forms
Editing an existing form
Specifying monochrome forms
Use the XPRMUTIL utility to access a compiled form for deletion,
sample printing, or downloading to Xerox LPS printers. If you are
not familiar with this utility, contact your System Administrator or
refer to the
Description Language 3.2 for IBM MVS Managing Resources
manual
If you want to edit an existing form, select the forms source
language (FSL) with your ISPF editor, make the necessary
changes, and then compile your edited form with HFDL.
Xerox Print Resources Manager/Host Forms
.
Specifying the monochrome mode for a Xerox highlight color
LPS printer allows you to process monochrome forms (using only
the black primary color) much faster and at a higher quality than
printing forms in version 2 or 10 format. If you use the
monochrome mode, you also reduce the toner consumption of a
Xerox highlight color LPS printer. You can specify the
monochrome mode in the input Parm (VERSION=HC) if you
want to compile and print a monochrome form on a Xerox
highlight color LPS printer.
To print a monochrome form on a Xerox full color printer, you
specify the version X1.
5–12HOST FORMS DESCRIPTION LANGUAGE 3.2 FOR IBM MVS CREATING FORMS
Message indicators
6.Messages
This chapter lists the error messages that appear when problems
occur, an indication of the cause of the message, and the action
you can perform to correct the problem.
The letters in the error numbers indicate the severity of the error
as follows:
•E (error) indicates a syntax or similar error.
•F (fatal) indicates a serious error that can prevent you from
compiling your form or may abnormally end (ABEND) your
session.
•I (informative) indicates the status or activity of the system
where no action is needed by the operator.
•W (warning) indicates an error in the description of your
form. It also indicates the action you may be required to
take to correct the problem.
XFG6001FNo parameters found
IndicationThere were no parameters in the EXEC statement of the JCL.