UP 13765_ALLY_SWdev Env_Utilities_System Managers Guide_Jun88 13765 ALLY SWdev Env Utilities System Guide Jun88

UP-13765_ALLY_SWdevEnv_Utilities_SystemManagersGuide_Jun88 UP-13765_ALLY_SWdevEnv_Utilities_SystemManagersGuide_Jun88

User Manual: UP-13765_ALLY_SWdevEnv_Utilities_SystemManagersGuide_Jun88

Open the PDF directly: View PDF PDF.
Page Count: 128

DownloadUP-13765_ALLY_SWdev Env_Utilities_System Managers Guide_Jun88 UP-13765 ALLY SWdev Env Utilities System Guide Jun88
Open PDF In BrowserView PDF
•

UNISYS

AllY®
Software
Development
Environment
System Manager's

Guide
Copyright © 1987 Unisys Corporation.
All rights reserved.
Unisys is a trademark of Unisys Corporation.
ALLY is a registered trademark of
Foundation Computer Systems, Inc.
Foundation Computer Systems is
a wholly owned subsidiary of Unisys Corporation.

June 1988
Priced Item

Printed in U S America
UP-13765

NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THE DOCUMENT.
Any product and related material disclosed herein are only furnished pursuant
and subject to the terms and conditions of a duly executed Program Product
License or Agreement to purchase or lease equipment. The only warranties
made by Unisys, if any, with respect to the products described in this document
are set forth in such License or Agreement. Unisys cannot accept any financial
or other responsibility that may be the result of your use of the information in
this document or software material, including direct, indirect, special or
consequential damages.
You should be very careful to ensure that the use of this information and/or
software material complies with the laws, rules, and regulations of the
jurisdictions with respect to which it is used.
The information contained herein is subject to change without notice. Revisions
may be issued to advise of such changes and/or additions.

Foundation Computer Systems (Foundation) has written this
manual for use by Foundation customers. The information contained in this manual shall not be reproduced in whole or in part
without Foundation's prior written approval.
Foundation reserves the right to make changes in specifications
and other information contained in this manual without prior
notice. The reader should, in all cases, consult Foundation to
determine whether any such changes have been made.
ALLY is a registered trademark of Foundation Computer Systems, Inc.
SVT-121O and SVT-1220 are trademarks of Unisys Corporation.
DEC LP05, VT100, and VT220 are trademarks of Digital Equipment
Corporation.
Esprit ill is a trademark of Hazeltine Corporation.
MS-DOS is a trademark of Microsoft Corporation.
Televideo 925 is a trademark of Televideo Systems, Inc.
UNIX is a trademark of AT&T Bell Laboratories.
XEROX is a trademark of Xerox Corporation.
i!j

Copyright 1988 by Foundation Computer Systems, Inc.
All rights reserved

Preface
This manual describes ALLY release 2.0.
This manual contains information for system managers on how
to establish and maintain an ALLY environment on UNIX and
MS-DOS systems. If you are running ALLY under another
operating system, see the ALLY installation guide for your system.
The manual has nine chapters and four appendixes.
Chapter 1 explains ALLY's directory structure and files, ALLY
environment variables, AFILE naming conventions, paths to
help and error AFILEs, and compatibility among ALLY
releases.
Chapter 2 describes how to invoke ALLY with commands and
command files.
Chapter 3 describes each section of ALLY's Format File.
Chapter 4 describes the key-definition file and shows an example.
Chapter 5 discusses the terminal definition file and shows an
example.
Chapter 6 explains the Terminal Definer utility.
Chapter 7 describes the printer definition file and shows an
example.
Chapter 8 explains the Printer Definer utility.
Chapter 9 discusses how to route your printer output to different
destinations.
Appendix A lists ALLY subdirectories and the files they contain
in the UNlX environment.
Appendix B lists ALLY files in the MS-DOS environment.
Appendix C lists the mnemonics for all ALLY commands.
These mnemonics are used in Macro Utility text files and in the
key-definition file.
UP-13765

p-1

Preface

Appendix D contains a table of the ASCII character set with
decimal, hexadecimal, and octal codes.

The ALLY Documentation-What to Read
The following illustration show" you how the ALLY documentation is organized.

If you want to develop ALL Y applications, we sugge>.;t that you
start by reading the ALLY system'>.; introductory brochure, Imroductiofl to ALLY. Then, you can build the application in Building
a Simple Application.
If you want to install ALLY, you should read the installation
guide for your system.
Note that the documentation for the runtime system of ALI.Y
includes only the installation guide for your system, AflX Command Reference Manual, and AlvfU User' 5' Guide.
Introduction
to ALLY
(UP-12500)

Introductory
reading:

Installing
ALLY:

Building a
Simple
Application
(UP-12501)

ffYOu want
information
about:

Installation
Guide
System
Manager's
Guide
(UP-13765)

AllY

Read.: :

ADLUser's
Guide
(UP-12507)

F002-0814-00

p-2

UP-13765

Preface

Conventions

You should read carefully the description of documentation conventions before reading this manuaL
We use the following conventions in this manual:
Single quotes (" ')

Identify command names.

Boldface type (bold)

Highlights text you are to enter. Boldface
is also used within command syntax statements.

Double quotes ( .. ")

Identify text strings within text sections.
These strings are typically located in
exam pies or as part of the prompts that
ALL Y sends to your display.
Sometimes the exact content of a text
string is affected by the traditional rules
of punctuation. In these cases, we place
the closing quotation mark at the end of
the text string. For example, instead of:
You see the prompt "Macro number:."
We say:
You see the prompt "Macro number:".

Brackets

« x> )

Enclose a specific key (x = key) to be
typed. AngleJJfackets are used in command syntax and key assignment lines.
For example:
< ,>

the "comma" key on the
numeric keypad
< Return> the "Return" key

the "Do" key
the "function" key 18
< F18>
<2>
the "2" on the numeric
keypad
Empty brackets

UP-13765

« »

Represent a form that requires input in
menu path sequences, e.g., 1 2 < > 3 4.

p-3

Preface

Space

« Space> )

Square brackets ([])

Represents a blank to be entered. A
 request asks you to type the
space bar once.
Enclose an argument for the commandline invocation of a utility. For example,
newprint [printer name} [output file}.

The key-definition files that are supplied with ALLY assign keys
to several commands. For convenience, we assume that the following ALLY commands are assigned as shown.
Command
'add new line'
'up'
'down'
'right'
'left'
'define macro'

Key Assignment



<-+>
<+->
(See template)

The < t>, < J.>, < --+>, and < +-> key assignments typically
use a terminal's cursor-control keys.
End of Preface

p-4

UP-13765

Contents
Chapter 1. The ALLY Environment
Introduction .............................................................
The ALLY Directory Structure ....................................
The ALLY Directory Structure Under UNIX ..... .........
The ALLY Directory Structure Under MS-DOS ...........
ALLY Environment Variables .....................................
Using Environment Variables ...................................
Displaying Environment Variables ....... ....... ............
Defining Environment Variables ............................
Changing an Environment Variable Name ...............
AFILE Naming Conventions .......................................
Paths to Help and Error AFILEs .................................
Changing Paths to Message AFlLEs ..........................
Changing Paths with the Dialog .............................
Changing Paths with Directives ..............................
Paths to Application Message AFILEs ........................
Compatibility Among ALLY Releases ...........................
Upward Compatibility.............................................
Downward Compatibility.........................................

1-1
1-1
1-2
1-3
1-3
1-5
1-5
1-6
1-7
1-8
1-8
1-10
1-10
1-11
1-11
1-13
1-13
1-14

Chapter 2. Invoking ALLY
Introduction .............................................................
Using Commands ......................................................
Using Command Files ................................................
Invoking ALLy........................................................
Invoking an Application ..........................................
Invoking the Dialog ................................................
Invoking the Application Maintenance Utilities ............
Invoking ALLY Utilities .........................................
The AFILE Compactor ........................................
The AFILE Merger .............................................
The AFILE Message Builder .................................
The AFlLE Migrator ...........................................
The AFILE Script Writer .....................................
The Data Migrator ..............................................
The Macro Utility...............................................
The Printer Definer .............................................
The Terminal Definer ..........................................

2-1
2-2
2-3
2-3
2-4
2-5
2-6
2-7
2-7
2-7
2-8
2-8
2-9
2-9
2-10
2-10
2-10

UP-13765

1

Contents

Chapter 3. The Format File
Syntax of the Format File ...........................................
AFILE Compactor Section ..........................................
AFILE Merger Section ..............................................
AFILE Message Builder Section ...................................
Directives for Message Text Type ..............................
Directives for Paths to Error and Help AFILEs ............
AFILE Migrator Section ................................... .........
AFILE Script Writer Sections ......................................
Data Migrator Section ................................................
Macro Utility Section............ ...... ...............................
Terminal and Printer Definer Section ............................

3-1
3-4
3-5
3-7
3-8
3-9
3-10
3-11
3-12
3-13
3-14

Chapter 4. The Key-Definition File
Command-to-Key Assignments ....................................
Syntax of a Key-Definition File ...................... ..............
Sections of a Key-Definition File ...............................
Conflicts in Command-to-Key Assignments ....................
Comments in a Key- Definition File ...............................
The Ignore Command ................................................
Making Commands Unavailable to Users .......................
User-Defined Key-Definition Files . ......... ......................
Sample Key-Definition File .........................................

4-1
4-2
4-3
4-5
4-7
4-7
4-8
4-9
4-9

Chapter 5. The Terminal Definition File
Introduction .............................................................
Terminal Capability Entries .........................................
Terminal Capability Codes .......................................
Sample Terminal Description File .................................
A Complete Terminal Description Section ...................
Highlighting Capabilities ..........................................
Permanent Highlighting ........................................
Transient Highlighting .........................................
Highlighting Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Line-Draw Capability Section ............................. ......
Options for Cursor Movement Capability .......................
User-Defined Terminal Definition Files .........................

5-1
5-1
5-3
5-5
5-7
5-10
5-11
5-11
5-11
5-14
5-16
5-18

2

UP-13765

Contents

Chapter 6. The Terminal Definer Utility
Introduction .............................................................
Terminal Definer Input ..............................................
The Terminal Definition File ....................................
The Key-Definition File ..........................................
Terminal Definer Options ...........................................
Terminal Definer Output ............................................
Invoking the Terminal Definer from the Dialog ...............
Invoking the Command File for the Terminal Definer .......
Terminal Definer Error Messages .................................

6-1
6-2
6-2
6-2
6-3
6-4
6-4
6-7
6-9

Chapter 7. The Printer Definition File
Introduction .............................................................
Syntax of the Printer Definition File ..............................
Printer Features..... ................ .... ...... .... ..... ................
Printer Capability Codes.............................................

7-1
7-2
7-4
7-6

Chapter 8. The Printer Definer Utility
Introduction .............................................................
Invoking the Printer Definer from the Dialog ..................
Invoking the Command File for the Printer Definer ..........
Printer Definer Error Messages ....................................

8-1
8-1
8-4
8-4

Chapter 9. Managing Printer Output
Introduction ............ ........ ....... ......... ........ ..... ........ ....
Spooling ..................................................................
Overriding Printer Specifications ..................................

9-1
9-2
9-3

UP-13765

3

Contents

Appendix A. UNIX ALLY Directory Structure

Appendix B. MS-DOS ALLY Directory Environment

Appendix C. ALLY Command Mnemonics

Appendix D. ASCII Character Codes

4

UP-13765

Contents

Figures

1-1
1-2
1-3
1-4
1-5
1-6

ALLY Directory Structure Under UNIX .................
Changing an Environment Variable Name .. ....... .......
Paths to Help and Error Files in Trunk AFILEs .. ......
Changing Paths with the Dialog .................... .........
Paths to Application Help and Error AFILEs ...........
Location of the Dialog Form for Integrity Reports .....

1-3
1-7
1-9
1-10
1-12
1-14

2-1 Commands and Command Files .............................

2-2

3-1 Syntax of a Format File ...................... ......... ...... ...
3-2 Sample AFILE Compactor Section .........................
3-3 Sample AFILE Merger Section ..............................
3-4 Set 5 Entries for Message Type ..................... .........
3-5 Format File Entries 83 and 84 from Set 5 .................
3-6 Format File Entries 56 and 63 from Set 5 .................
3-7 Sample AFILE Migrator Section ............................
3-8 Sample AFILE Script Writer Section......... ........ ......
3-9 Sample Data Migrator Section ...............................
3-10 Sample Macro Utility Section ... ...... ......................
3-11 Sample Terminal and Printer Definer Section ..........

3-2
3-5
3-6
3-9
3-9
3-10
3-10
3-11
3-12
3-13
3-14

4-1 Sample Entries in a Key-Definition File ...................
4-2 Scroll Percentage ................... , ....... ......................
4-3 Comments in a Key-Definition File.........................

4-3
4-4
4-7

5-1 Sample Printer Definition File................................
5-2 Hazeltine Esprit III Terminal Section ......................

5-6
5-14

The Terminal Definer ..........................................
Dialog Path to the Terminal Definer .......................
Invoking the Terminal Definer ...............................
Terminal Definer Conflict Checking Options .............

6-1
6-5
6-6
6-7

7-1 Sample Printer Definition File................................

7-3

8-1 The Printer Definer .............................................
8-2 Dialog Path to the Printer Definer ..........................
8-3 Invoking the Printer Definer..................................

8-1
8-2
8-3

6-1
6-2
6-3
6-4

UP-13765

5

Contents

Tables

1-1
1-2
1-3
1-4
1-5

Subdirectories in the ALLY Directory.....................
ALLY Environment Variables .......................... .....
Commands to Display Environment Variables .. .........
Commands to Define Environment Variables ............
AFILE Naming Conventions .................................

1-2
1-4
1-6
1-6
1-8

3-1 Sections of the Format File ...................................

3-4

5-1
5-2
5-3
5-4
5-5

ALLY Terminal Capability Codes ..........................
ALLY Highlighting Codes ....................................
Televideo Highlighting Sequences ...........................
Line-Draw Codes ................................................
Cursor Movement Options ....................................

5-4
5-10
5-13
5-14
5-17

6-1 Terminal Definer Options .....................................

6-3

7-1 ALLY Printer Capability Codes .............................

7-6

6

UP-13765

Chapter 1
The ALLY Environment
Introduction
This manual contains information for system managers on how ~o
establish and maintain an ALLY environment under UNIX and
MS-DOS. If you are running ALLY under another operating systern, see the ALLY installation guide for your system.
This chapter describes the following aspects of establishing and
maintaining ALLY's working environment:
•
•
•
•
•
•

the structure and contents of the ALLY system's directories
location of important files
environment variables
AFILE naming conventions
paths to help and error AFILEs
ALLY's compatibility policy

The ALLY Directory Structure
Each ALLY release is stored in a directory named allyx_yz,
where x_yz is the release number. For example, the directory for
ALL Y Release 2.00 is named ·'ally2_00." The structure of the
ALL Y directory depends on the operating system you are using.
The next two sections describe the directory structure for UNIX
and MS-DOS.

UP-13765

1-1

Chapter 1

The ALLY Directory Structure Under UNIX
When you install ALLY Release 2.00 on a UNIX system, ALLY
creates several subdirectories in the "'alIy2_00" directory. These
subdirectories are listed in Table 1-1.
Table 1-1. Subdirectories in the ALLY Directory

Subdirectory

Contents

/afiles/

Subdirectories that contain AFILEs that ALLY uses

/allyexe/

ALL Y executable files

/bin/

Operating-system command files to invoke ALLY
facilities

/formats/

Format File used by ALLY utilities

/objects/ *

Compiled sample source code used by an external
link that allows ALLY to communicate with a
high-level language

/printers/

Printer description files

/srcl *

A subdirectory that contains sample source code
used by an external link that allows ALLY to communicate with a high-level language

/term/

Terminal definition files

* Development systems only
Figure 1-1 shows the structure of ALLY's top-level directory
under UNIX.

1-2

UP-13765

The ALL Y Environment

• Development systems only

F002-0893-00

Figure 1-1. ALLY Directory Structure Under UNIX

The files in these UNIX subdirectories are listed in Appendix A.

The ALLY Directory Structure Under MS-DOS
On MS-DOS systems ALLY creates only one directory. This
directory is installed by default in the C: drive. The H\ally2_00"
directory contains the files that are listed in Appendix B.

ALL V Environment Variables
You can assign the names of files used by your ALLY application
to operating-system environment variables. When an application
executes, ALLY looks for the variable's value in the operating
system's environment variable assignments.

UP-13765

1-3

Chapter 1

Environment variables allow you to specify short variable names
instead of longer path names. It is easier to change an environment variable's value than it is to change the value in an AFILE.
Environment variables can also make your applications more transportable across operating systems by minimizing changes due to
syntax differences.
Table 1-2 describes three operating-system environment variables
that ALLY uses.
Table 1-2. ALLY Environment Variables
Variable

Value

ally

The path, or search list, to the top-level
ALL Y directory

TERM

The name of a terminal type (e.g., svt1220)

allyprinter

Overrides the default printer spooling
device or queue name

The "'ally" environment variable is the path to the ALLY directory. Therefore "'ally" must be defined for each user process on
UNIX systems and each time you reboot on MS- DOS. ALLY
must also know what type of terminal you are using. ALLY can
get this information from:
• the "'TERM" variable setting on UNIX systems. On MSDOS systems, ALLY uses the "'pcterm" terminal description .
• an argument to an ALLY invocation command.
The "'allyprinter" environment variable is described in Chapter 9.

1-4

UP-13765

The ALLY Environment

Using Environment Variables
You can specify environment variables for the following parts of
an application:
• help and error library AFILE names.
• utility file names (e.g., the terminal definition and keydefinition files).
• data source file names for some access methods, including
FX and C- ISAM. (See the developer notes for other access
methods.)
• print file characteristics for form/report packets.
• global printer specifications (printer definition file, output
file, spooling information).
Using ALLY environment variables involves three steps:
1)

Displaying the values of environment variables.

2)

Defining the value of environment variables with
operating-system commands before your ALLY application executes.
.

3)

Directing ALLY to use an environment variable by
enclosing the name in braces in the Dialog.

Displaying Environment Variables
In standard UNIX installations, you can display the setting of an
environment variable by typing the following command:
echo $variable_name

Table 1-3 lists the UNIX and MS-DOS commands used to display
all of the environment variables that are defined for a user process.

UP-13765

1-5

Chapter 1

Table 1-3. Commands to Display Environment Variables
Operating System

Command

UNIX Berkeley 4.x

printenv
env
set

UNIX System 5
MS-DOS

Defining Environment Variables
Table 1-4 lists UNIX and MS-DOS commands used to define an
environment variable.

Table 1-4. Commands to Define Environment Variables
Operating System

Command

UNIX C-shell
UNIX Bourne shell

setenv variable value
variable = value
export variable
set variable = value

MS-DOS

The MS-DOS "set" command defines a variable for the duration
of a PC session. If you include the "set variable= value" command in an ""autoexec. bat" file, the variable is automatically redefined whenever you reboot the system.
UNIX users can place the appropriate commands in the "" .cshrc"
(C-shell) file or "" .login" (Bourne shell) file in their home directories.
After you have defined an environment variable's value with
operating system commands, you direct ALLY to find an environment variable by enclosing the name in braces during a Dialog
session (Figure 1-2).

1-6

UP-13765

The ALL Y Environment

Changing an Environment Variable Name
Suppose you want to run your application with a Format File in a
different directory. You can do this by assigning an environment
variable, for example '"local," that contains the path to the new
Format File. To use this Format File, type '"{local}" as part of
the name (Figure 1-2).
Macro Ut.ility

Farma.t File: {ally}/farma.ts/allyfmt
Macro file:

0

Text file:
Dec:aopil.e a macro:
O:mpi1e a macro:

Macro Ut.ility

Farma.t File: {1ocaJ}/allyfmt
Macro file:

0

Text file:
Decnnpi J e a macro:

Capile a macro:

F002-0909-00

Figure 1-2. Changing an Environment Variable Name

UP-13765

1-7

Chapter 1

AFILE Naming Conventions
Table 1-5 shows the conventions that ALLY uses to name different types of AFILEs.
Table 1-5. AFILE Naming Conventions
AFILE Type

Extension

Application

.a

Error message

.e

Help message

.h

Using these conventions, here are some examples of how ALLY
AFlLEs are named:
amu.a

AFlLE that contains the Application Maintenance
Utilities (AMU) application

amu.h

AFlLE that contains help messages for the AMU's
forms and menus

amu.e

AFILE that contains error messages for AMU errors

commen.h

AFILE that contains help messages for command
menus

errors.e

AFILE that contains error messages for general
application-execution errors

Paths to Help and Error AFILEs
All ALLY applications can access a collection of general help and
error messages. These messages are grouped in AFILEs called
library AFILEs.

1-8

UP-13765

The ALL Y Environment

When creating an application, you start with an AFILE "skeleton," called a trunk AFILE. The Dialog creates the trunk
AFfLE for you when you specify a new AFILE name. A trunk
AFILE contains default paths to Dialog-specific help and error
AFILEs. These AFILEs, in turn, point to ALLY's general help
and error AFILEs (see Figure 1-3). Note that every AFILE,
including error AFILEs, can have both an error AFILE and a
help AFILE.

Errors

·1

~H_el_p____________

commen.h

I

~
r---------------.L::J
Errors

Help

ALLV's error AFILE for the Dialog is "dialog.e"
ALLV's general error AFILE is "errors.e"
ALLV's help AFILE for the Dialog is "dialog.h"
ALLV's help AFILE for command menus is "commen.h"
F002-0830-00

Figure 1-3. Paths to Help and Error Files in Trunk AFILEs

UP-13765

1-9

Chapter 1

Changing Paths to Message AFILEs
You can create your own help message and error message
AFILEs to provide messages specific to your application. Your
application should point to its specific help and error AFILEs.
These AFILEs should point to ALLY's general help and error
AFlLEs.
There are two ways to replace default paths with paths to userdefined message AFILEs:
1)

With Dialog forms in the "Maintaining and Managing
Applications" branch.

2)

With special directives in a text file that the AFILE Message Builder utility uses to build a message AFILE.

Changing Paths with the Dialog
You can change paths to library AFILEs with application-specific
paths by using two Dialog forms in the "Maintaining and Managing Applications" branch (Figure 1-4).
;; ~plicatlon
:( Definition,
,:, Maintenance,

J

J.~.M.~ment

I

I

Runtime
Diagnostic
Options

ALLY Utilities

I

I

Help, Error, and
Ubrary AFiLE
Characteristics

Security
Information

,

I
Ubrary AFiLE
information HelpAFlLE

)

Ubrary AFI LE
Information Error AFiLE

I
Integrity
Report

I

1
F002-0901-00

Figure 1-4. Changing Paths with the Dialog

1-10

UP-13765

The ALL Y Environment

Use the Library AFILE Information-Error AFILE form to
change the path to your error AFILE. Use the Library AFILE
Information-Help AFILE form to change the the path to your
help AFILE. You can use these Dialog forms to change paths to
message AFILEs in your application's AFILE or any of its message AFILEs. Refer to the Dialog User's Guide (UP-12505) for
more information.

Changing Paths with Directives
The AFILE Message Builder utility creates a message AFILE
from a text message file. Unless you change the paths, this message AFILE is linked to ALLY's general helps and errors.
When you build an error or help AFILE for your application, you
can include two special directives in the message text file. These
directives signify the path and file name to additional error and
help AFILEs. If you do not include these directives, your message AFILE is automatically linked to ALLY's general help and
error AFILEs. These directives are:
$efn$

The path and file name of an error AFILE

$hfn$

The path and file name of a help AFILE

Refer to the Utilities User's Guide (UP-1250B) for more information about the AFILE Message Builder.

Paths to Application Message AFILEs
Figure 1-5 shows the paths when an application has its own help
and error AFILEs.

UP-13765

1-11

Chapter 1

Application
error AFILE

Errors

Errors

Application
helpAFILE

Help

ALLY's general error AFILE is "errors.e"
ALLY's help AFILE for command menus is "commen.h"
F002-0831-00

Figure 1-5. Paths to Application Help and Error AFILEs
If the paths to the library AFILEs are not complete, ALLY cannot find the message text when an error condition occurs or a user
asks for help. Instead of message text, ALLY displays for:

errors

An internal ALLY number associated with the
ALL Y error condition

helps

An error message that ALLY cannot find the message text

1-12

UP-13765

The ALL Y Environment

Compatibility Among ALLY Releases
Parts of ALLY applications, such as AFILEs and the Format
File, have version numbers that ALLY checks. The ALLY
installation guide for your system lists specific version numbers
that are valid for your ALLY release.
ALLY supports two types of compatibility:
Upward compatibility

Any new ALLY release can run any
application AFfLE built with an older
ALLY release.

Downward compatibility

AFlLEs created with new ALLY
releases will execute under some older
ALLY releases.

Upward Compatibility
When you execute the Dialog on an older application, ALLY asks
you if you want to update the AFlLE to the newer version
number. If you respond by typing "Y," the AFILE is
upgraded. You can also upgrade an AFILE with the AFILE
Migrator utility or by compacting it with the AFILE Compactor
utility.
NOTE: Once the AFILE is upgraded, you may not be able to
execute it with an older ALLY release. Therefore, you may
want to make a back-up copy of the old version of an AFILE
before converting it ..

UP-13765

1-13

Chapter 1

You can transport applications from one operating system to
another even if hoth systems are not running the same ALLY
release. However, if you transport an AFILE hetween different
ALL Y releases that do not both support the data's access method,
you may have to:
• redefine the DSD
• transport the data with the Data Migrator utility

Downward Compatibility
The AFILE Migrator utility will provide downward compatibility
for releases after ALLY version 2.00. That is, you can use a
release 2. + AFILE Migrator to revert an AFILE to a lower
release number.
If you transport an AFILE to a lower release number, you should
check the integrity of the whole application. The integrity report
will list any elements (e.g., AFILE item types or ADL functions)
that are not supported in the lower version AFILE. Figure 1-6
shows the location of the Dialog form (Integrity Report) that you
use to check your application's integrity.

i:~

Application .
Definition,
i1; Maintenance,
*-~ & Management

jij

I

' I
I
I
1
....---.r....-.-t
,---..ji"",,----.. r.::.x.~:"'::'~;_~.""'~:=~N."""~"! 1""'--'---,
~",----..., r - -........._.....,
Security
Information

Global
Information

Help, Error, and
Ubrary AFILE
Characteristics

Runtime
: Diagnostic;
.. ..?~~~.~!. ;

..~.~~Y.~~~i~~ :

Integrity
Report

h.

F002-0902-00

Figure 1-6. Location of the Dialog Form for Integrity Reports

End of Chapter 1

1-14

UP-13765

Chapter 2
Invoking ALLY
Introduction
This chapter describes two methods for invoking ALLY and the
ALL Y utilities from your operating system. You can invoke
ALLY:
• with a command
• with a command file
A command invokes an ALLY executable file directly. A command consists of the path and file name of an executable file, followed by required arguments.
A command file also invokes an executable file. In addition, command files check the arguments for validity, provide a default
path to the executable file, and provide default values for some of
the command's arguments. Because command files provide
default values for arguments, they require less typing than commands do.
Arguments to both commands and command files are positional.
Specify ··none" as a position ··placeholder" for arguments that do
not have a value (e.g., password or symbol table file).
Figure 2-1 shows the relationship of commands and command
files to the executable files that they invoke.

UP-13765

2-1

Chapter 2

Command File

Default paths
Default values for
certain arguments
Command

Validity checking
for argument values

F002·0878-00

Figure 2-1. Commands and Command Files

Using Commands
When you invoke ALLY and its utilities with a command:
• All of the command arguments are positional and required .
• The executable file name, and any other argument that
specifies a file, must include the file's path.
On UNIX systems, these executable files are in the "'/allyexe/"
subdirectory. On MS-DOS systems, the executable files have an
extension of .•. exe" and are in the "'allyx_yz" directory (x_yz is
the release number).

2-2

UP-13765

Invoking ALL Y

Using Command Files
When you invoke ALLY and its utilities with the command files
that are shipped with your ALLY release:
• the arguments are positional. However some have defaults
and are not required. Because the arguments are positional, you must specify a value for each argument that precedes the last one you want.
• The default values for ALLY command files specify that
AFILEs have internal symbol tables and are not passwordprotected (if you do not provide values for these arguments).
• A command file provides a default path to the executable
file.
• A command file that invokes a utility uses the Format File
installed with your ALLY release.
• A command file provides a default value for the terminal
description file, if the executable file requires one.
• On UNIX systems, the command files are in the '"/bin/"
subdirectory and are written in the Bourne shell syntax.
On MS-DOS systems, the command files have an extension
of '" . bat" and are in the '"allyx_yz" directory.
• The "ally" environment variable must be defined before
you invoke command files.

Invoking ALLY
This section describes the two versions of the ALLY execution
system, and then shows the syntax of the commands and command files that are shipped. The commands show the executable
file names; note that they end with an "x." You can type a command file name followed by the single argument "help" to display
information about the arguments that have default values and are
thus optional.

UP-13765

2-3

Chapter 2

There are two versions of the ALLY execution system: the
development system and the runtime system.
The development system runs:
• the Application Developer's Dialog
• the ALLY utilities
• any ALLY application
• the ALLY Text Editor
The runtime system:
• runs any application built with the Dialog
• does not run the Dialog; therefore users cannot change an
application
• runs the ALLY Text Editor
• includes a set of utilities, called the Application Maintenance Utilities (AMU), that allows users to tailor applications for different terminals and printers

Invoking an Application
The following command runs an AFILE.
allyrunx [terminal description fileJ [AFILEJ [macro fileJ
[entry pointJ [debug 10gJ

The arguments for this command are:
terminal description file

is the name of the file that contains
information about your terminal.

AFILE

is the name of the AFILE that you
want to run.

2-4

UP-13765

Invoking ALL Y

macro file

is the name of a file, defined in a previous ALLY session, that contains
ALL Y keystrokes. This allows you to
reuse macro files, rather than having
to define macros in each session.
Specify "none" if you do not want to
include a macro file.

entry point

is the name of the entry point in the
application. By convention,
"MAIN_TASK" is the name of the
default entry point.

debug log

is the name of the file to which you
want the AFILE debugger messages
written. The debugger selectively
traces the execution of ALLY actions,
tasks, and data transfers. Specify
"none" if you do not want a debug
log.

The following command file runs an AFILE.
ally [AFILE] [terminal description file] [entry point]

Only the first argument is required, because the other two have
defaults.

Invoking the Dialog
Because the Dialog is an ALLY application, the arguments to run
the Dialog are the same as the arguments shown previously for
running any application. The Dialog's AFILE name is
""dialog.a. "

UP-13765

2-5

Chapter 2

The following command invokes the Dialog:
allydevx [terminal description fileJ [dialog.aJ [macro fileJ
[MAIN_TASK] [debug log J

Type the name of the Dialog AFILE, preceded by its path, for
the second argument. Note that the entry point must be
""MAIN_TASK. "
The Dialog command file is:

I dialog [terminal description file]
The terminal description file argument is optional because the
default value is the same as your "'TERM" environment variable.

Invoking the Application Maintenance Utilities
The command to invoke the Application Maintenance Utilities
(AMU) is:
amux [terminal description fileJ [amu.aJ [macro fileJ
[MAIN_TASKJ [debug 10gJ

Type the name of the AMU AFILE, preceded by its path, for the
second argument. Note that the entry point must be
"'MAIN_TASK."
The AMU command file is:

I amu

[terminal description file]

The terminal description file argument is optional.

2-6

UP-13765

Invoking ALL Y

Invoking ALLY Utilities
This section shows the syntax of the commands and command
files that are shipped with the ALLY utilities. The commands
and the command files are listed below.
See Chapter 6 and Chapter 8 for details about the arguments for
the Terminal Definer and Printer Definer utilities. Refer to the
Utilities User's Guide (UP-12508) for details about arguments for
the other utilities' command files. You can type a command file
name followed by the single argument ""help" to display information about the arguments that have default values and are thus
optional.

The AFILE Compactor
The AFILE Compactor command is:
compactx [Format File] [input AFILE] [output AFILE]
[symbol table file] [password] [options]

The AFILE Compactor command file and its arguments are:
acompact [input AFILE] [output AFILE] [symbol table file]
[password] [options]

The last three arguments (symbol table file, password, and
options) have default values.

UP-13765

2-7

Chapter 2

The AFI LE Merger
The AFILE Merger command is:
mergex [Format File] [master AFILE] [master AFILE
password] [second AFILE] [second AFILE password]
[output AFILE] [symbol table file] [output AFILE password]
[options]

The AFILE Merger command file and its arguments are:
amerge [master AFILE] [master AFILE password] [second
AFILE] [second AFILE password] [output AFILE] [symbol
table file] [output AFILE password] [options]

The last argument (options) has a default value.

The AFILE Message Builder
The AFILE Message Builder command is:
newmsgx [Format File] [AFILE] [symbol table file]
[password] [Dialog AFILE] [options] [text file(s)]

The AFILE Message Builder command file and its arguments are:
newmsg [AFILE] [options] [text file(s)] [password] [symbol
table file] [Dialog AFILE]

Note that the order of the arguments in the command is different
from the order in the command file. This is because the command file has default values for the password, symbol table file,
and Dialog AFILE; thus these arguments are optional.

2-8

UP-13765

Invoking ALL Y

The AFI LE Migrator
The AFILE Migrator command is:

amigratx [Format File] [input file] [output file] [symbol table
or password] [r or w] [v]
The AFILE Migrator command file and its arguments are:

amigrate [input file] [output file] [symbol table or password] [r or w] [v]

The AFILE Script Writer
The AFILE Script Writer command is:

scriptx [Format File] [input AFILE] [output text file]
[password] [options]
The AFILE Script Writer command file and its arguments are:

ascript [input AFILE] [output text file] [password] [options]
The last two arguments (password and options) have default
values.

The Data Migrator
The Data Migrator command is:

dmigratx [terminal description file] [Format File] [AFILE]
[password] [DSD name] [text file] [r or w]

UP-13765

2-9

Chapter 2

The Data Migrator command file and its arguments are:

dmigrate [AFILE] [password] [OSD name] [text file]
[r or w]
Note that the command file does not require the terminal descrip
tion file argument.

The Macro Utility
The Macro Utility command is:

mmigratx [Format File] [input file] [output file] [c or d]
The Macro Utility command file and its arguments are:

mmigrate [input file] [output file] [c or d]

The Printer Definer
The Printer Definer Command is:

newprntx [Format File] [printer name] [output file] [printer
definition file]
The Printer Definer command file and its arguments are:

newprint [printer name] [output file]
Note that the command file does not require the printer definition
file argument.

2-10

UP-13765

Invoking ALL Y

The Terminal Definer
The Terminal Definer command is:
newtermx [Format File] [terminal name] [output file]
[key-definition file] [terminal definition file] [option]

The Terminal Definer command file and its arguments are:
newterm [terminal name] [output file] [key-definition file]
[option]

The last argument (option) has a default value. Note that the
command file does not require the terminal definition file argument.

End of Chapter 2

UP-13765

2-11

Chapter 3
The Format File
The Format File contains the message text that the ALLY utilities
produce. Error text and status messages are stored in the Format
File and in ALLY's error AFILE (errors.e). This simplifies
translating ALLY applications to other languages, because you
need to edit only the text in the Format File and the files used to
build the Herrors.e" AFILE.
When ALLY is shipped, the Format File is named Hallyfmt. ,. On
UNIX systems, the Format File is in the "/formats/" subdirectory.
On MS-DOS systems, the Format File is in the "allyx_yz" directory (x_yz is the release number).
Before you attempt to make any changes to the Format File,
make a copy so that you will always have a valid version. Even a
change that appears innocuous (e.g., the addition of a blank character) can prevent the utilities from functioning properly.
Format File entries are associated with entry numbers and are
separated by delimiter characters. You should never change the
entry numbers, their positions, or the characters that delimit
them. Changes to the text strings used in reports that the utilities
produce are necessary only when you are translating the application to another language.

Syntax of the Format File
Figure 3-1 shows the beginning of a Format File as it is shipped
with ALLY.

UP-13765

3-1

Chapter 3

III

CD

CIP'iRIGHf 1005, 1983, 1QJ7, 19fE Fcundat.ian Ccmputer Systans
This software cx:nt:a.ins c:x:.mfident.i.a.l and pr-oprletary
:infarma.t:.ian of Fcundat.ian Ccmputer Systems, Inc.

0

Set 0

&rar AFIlE path name
II/{a.ily}/afiles/errars/errars.el

0

End of set 0

III III
Set 1

0

Beginning of strings used. by the AFIlE CaDpact.ar
131 Stat.:istics (storage in bytes): I
141 Displayed text. I
151 Di.splayed text. highlighting I

~6~-J:

=lld

-

~~
F002-0904-00

Figure 3-1. Syntax of a Format File
1)

The first three characters in a Format File are the delimiter characters. The vertical bar character (I) is the delimiter in the Format File that is shipped with ALLY.
All three delimiters can be the same or different characters. Do not use delimiter characters that you might use
as text in entries or comments.

3-2

2)

Anything after these initial three delimiter characters, up
to the next start delimiter, is treated as a comment.

3)

The Format File is made up of several sections (called
sets) that contain entries. The entry for the first section
(Set 0) must be the path and file name to ALLY's errors
AFILE, shown here for UNIX systems. The utilities
need this path in order to produce the text for error conditions that can arise.

UP-13765

The Format File

4)

Each set begins with the three delimiter characters and
ends with the same three delimiter characters that began
it. By convention, the three delimiters that end a set and
the three delimiters that start the next set are on the
same line.

5)

Each entry contains:
6)

the first delimiter character, followed by an entry
number.

7)

a delimiter character after the entry number, indicating the start of the entry.

8)

a delimiter character after the entry, that indicates
the end-of-entry and the start of an optional comment.

The next characters can be either comments or the delimiters for
the next section. (Space or text between two sets of delimiters is
treated as a comment.) The delimiters do not have to be the
same as those of the previous section.
Although you can change the entry text, you cannot change the
entry number or the item that is associated with the number. The
parts of a Format File that you must not change are:
• delimiters, once you have defined them
• entry numbers
• any specials symbols that are not in a comment
Table 3-1 lists the sections (sets) of the Format File that are provided with ALLY and the utilities that use them.

UP-13765

3-3

Chapter 3

Table 3-1. Sections of the Format File
Set Number

o
I
2
3
4
5
6
7
8
9
10
11

Used by
All utilities
The AFILE Compactor
The AFILE Script Writer
The AFILE Script Writer
The Terminal and Printer Definers
The AFILE Message Builder
(reserved)
The AFILE Merger
The Macro Utility
The AFILE Migrator
The Data Migrator
The AFILE Script Writer

AFILE Compactor Section
The AFILE Compactor uses set 1 of the Format File
(Figure 3-2). Entries in set 1 provide the text for the statistics
report that the AFILE Compactor produces.

3-4

UP-13765

The Format File

Set 1

Beginning of strings used by tlle AFII.E Caopact.ar
10lundefined I
111.1
121
I
131 Stat.:ist.ics (storage in bytes) : I
141 D:i.splayed text I
151 D:i.splayed text highlighting I
161 ItEms I
171 NL streams I
181 First. block I
191 Used I
1101 Empty I
1111 Total c:aopact.ed file size I
1121 ClJaracter strings I
1131 Symbols I
1141 Back painters I
I 15 InalS I

Figure 3-2. Sample AFILE Compactor Section

AFILE Merger Section
The AFILE Merger utility uses set 7 of the Format File (Figure
3-3). For the most part, the AFILE Merger entries provide the
text for the messages that report global information differences in
the two AFILEs being merged.

UP-13765

3-5

Chapter 3

Set 7

Beginning of strings used by the .AFIlE Merger10 ICllaracter sart.:ing sets are different
11 Inane I
121~1

131Difference in ~J:ha;rs
141A ncn-ccntex:t was encoun.tered when a. cx:ntex:t was expected
151 Input .AFIlE 1 is not at. the c:urrent .AFIlE version level I
161 Input .AFIlE 2 is not at. the c:urrent AFllE version level I
171 One (][" JIDre differences found in first bloc:::kB of lnp1t AFII.Es
181 Global var::i.able conflict I
191 Ehtty point cx:nflict I
110 I **UmJsed** I

-* Difference in first blcx:k detected by
1111 **UmJsed** I

~

***

1121 Difference in m:ach:ineJlags
1131Difference in IlllIILVIlL.PJ:ffers
1141 Difference in helpJnfo I
1151 Difference in errar-Jn:fo I
1161Difference in spoo]-Sievice I
1171Difference in printerJiesc:cipt.:ion
1181 Difference in prinVile I
1191Difference in globa.l.JIern.Ltype
12> IDifference in pra.tlLsepaz'a.
121 IDifference in prev.Jrtrlng I
1221 Difference in top.Jrtrlng I
1Z3IDifference in ~I
12AIDifference in ~I
125IDifference in def....IDJDl..iil,trl
I a> IDifference in def....s:har...,Pttr I
I'ZT IDifference in IJllIIL.def_vall
12BIDifference in char.J3ef_vall
129IDifference in date....de:Cvall
13>IDifference in ~I
131IDifference in ari:thIlet.:i.01ags1
132IDifference in ~esl
133IDifference in globa.Lsxntro]Jlags I
134IDifference in menu.....pranpt I
1361 Difference in def-Sia.te..JJBSkB I
13:> IDifference in da.t.e.Jrt;rlng I
I~ I **UmlSed-1
*- Messages rel.a.t.ed to integrity check ***
1381 Int.egrl.ty

errarB

found in AFllE

Ehd of strings used by the .AFIlE Merger111111

Figure 3-3. Sample AFILE Merger Section

3-6

UP-13765

The Format File

AFILE Message Builder Section
The AFILE Message Builder utility uses set 5 of the Format File.
Set 5 entries:
• define defaults for message AFILE structures and values
that are constant for most applications at a site
• define special strings, called directives, that control
highlighting or signify the type, beginning, and end of each
message
• provide default values for invocation command arguments,
such as ""none" for an external symbol table file or password
• provide special directives for paths to user-defined help and
error AFILEs that override default paths to ALLY's helps
and errors
When the Message Builder creates a message AFILE from an
input text file, that AFILE has:
• error message text for each message in the text file that
starts with the ""$e$" directive
• help message text for each message in the text file that
starts with the ""$h$" directive
• embedded string text for each message that starts with the
""$s$" directive
• legend text for each message that starts with the ""$1$"
directive
The text is displayed exactly as it is entered in the input text file,
except that the directives and control characters (other than "tab"
and '"newline") are removed. It is a good idea to limit the length
of all lines to eighty characters to eliminate difficulty when:
• working with text editors that have an eighty-column length
limitation. (ALL Yedit does not have this limitation.)
• transporting message files to different computer systems.

UP-13765

3-7

Chapter 3

Each error message, help message, embedded string, and legend
must be assigned the same number as the internal AFILE number
of an event that calls the message. The message number (or
numbers) is specified after the message start directive ("$e$,"
"$h$," or "$1$").
You can associate a message with more than one number, so that
the same message can be used by many fields, menus, choices, or
forms/reports. The number(s) must be the first characters after
the start directive and must be specified on one line, unless a continuation character is present at the end of the first line. The continuation character is defined by entry 49, which is a back slash
(\) in the Format File that is shipped with ALLY. Separate the
message numbers with the character specified by entry 122, which
is the message header number separator. Entry 122 is a space in
the Format File that is shipped with ALLY. Do not specify duplicate message numbers.

Directives for Message Text Type
Set 5 entries 1 through 3, 67, and 124 are directives that identify
text as either a help or error message, a legend, or an embedded
string. Entry 67 is the directive for assigning a second-level help
message (a help message for a help message). Entry 4 is the
directive that signals the end of the message. These entries are
shown in Figure 3-4.
The numbers that follow these message type directives are those
that you have assigned as help, error, and legend numbers for
parts of your application. Directive 34 specifies the default help
number assigned to help and error messages that do not have an
explicitly assigned message number.

3-8

UP-13765

The Format File

111 $e$ . er:rar header

121 $&$1 E!IIbedded string header
131 $h$lhelp header
141 N Iend of message
1341327541 fanrVrepart help IUlIIIber
Irg I$help$lmessage help...J]UlDher
11241 $l$llegerxi header

Figure 3-4. Set 5 Entries for Message Type

Directives for Paths to Error and Help AFILEs
The Format File provides default paths and file names to ALLY's
general error and help AFILEs. The AFILE Message Builder
uses these default paths when it builds message AFILEs. The
default path to ALLY's general error AFILE is entry 83. The
default path to ALLY's general help file is entry 84. Figure 3-5
shows entries 83 and 84 from Set 5 in the Format File for UNIX
systems.
1831 {ally}/afiles/errars/errars. e er:rar .AFII..E
1841 {ally}/afiles/cxmoen/c:xmnen.h help .AFII..E

Figure 3-5. Format File Entries 83 and 84 from Set 5
You can change the default paths to user-defined error and help
AFILEs by including special directives that override these defaults
at the beginning of your text file for input to the Message Builder
utility. This establishes paths from the application's help and
error AFILEs to ALLY's general help and error AFILEs. The
overriding directive for a user-defined error AFILE is entry 56.
The overriding directive for a user-defined help AFILE is entry
63. Figure 3-6 shows entries 56 and 63 from Set 5 in the Format
File for UNIX systems.

UP-13765

3-9

Chapter 3

1561$efn$IIdirecti.ve far user-defined error AFllE
1631$h:fn$IIdirecti.ve far user-defined help AFllE

Figure 3-6. Format File Entries 56 and 63 from Set 5

AFILE Migrator Section
The AFILE Migrator section of the Format File is set 9 (Figure
3-7).
Set 9

Beg:imrl.ng of stclngs used by tile AFllE Migrator
10lAFllE item naDE. AFllE item type. AFllE versicn:rmmber I
111L'S) AFllE item naDE. access metlJcd IDlI!Iber I
121 **UmlBed** I
131Dale I no ert.er:na.l symbol table file
141. I
151.1
161M:IWIE1
171The I
181 version of tile AFllE Migrator did not. recog:ll.ze tile I
access metlJcd of tile fol.l.cvrlng L'S) AFllE itEms.
The L'S) AFllE itEms are fran an AFllE with versicn:rmmber I
191 Far a descrlpt.:i.cn of tile access metlJcd mmiber. see tile cb:umentat..:i.c:n
far tile version of AlLY tila.t ~ versicn I
1101 AFIlEs.1
1111 The AFllE exnta:ins tile fol.l.cvrlng unrecognized types of AFllE itans.
Far a descrlpt.:i.cn of tile fol.l.cvrlng item type IIIJIIIbers.
see tile doc:ument.at..: far tile version of AlLY that. suppart.s tile AFllE
version mmiber listed. I
End of strings far tile AFllE Migrator

"""
Figure 3-7. Sample AFILE Migrator Section

3-10

UP-13765

The Format File

AFILE Script Writer Sections
The AFILE Script Writer sections of the Format File are:
Set 2

Contains ALLY internal item names

Set 3

Contains error messages

Set 11

Contains control strings that govern Script Writer
execution and the text for Script Writer output

You can change only the ASCII text strings in set 11 that are used
to produce Script Writer reports. Figure 3-8 shows part of the
Script Writer's section 11.
Set 11

Begimrlng of strings used by the AFII.E Scri.pt Writer

}MU15
$7$
($1~)
$547$$:36$

Devel.qler cxmoent:

$32.'Vh $15$ $515$$36$
$3.'3$%$3/$

No text defined far this ~
MarD.l wl:ndcw:
Pn:mpt area.:

($6a3$,$607$) to ($6CB$,$509$)
($511$,$5l2$) to ($513$,$514$)$51($$61$

~Merm-style Opt.:icns Set: ~
- Numeric menu. ~$
- F\mct.i..cn-key menu. %'Ii68$$2$
- OnSOL :roam. merm ~
- Let.t.et- merm %$68$$4$
- Ward menu. ~
- Ream bigillghting ~
- Case sensitive ~

- Minima.l ma;tch %1£B$$B$
- .1tEping a.11.cuved ~
- Paths a.11.cuved ~~

Figure 3-8. Sample AFILE Script Writer Section

UP-13765

3-11

Chapter 3

Data Migrator Section
The Data Migrator uses set 10 of the Format File (Figure 3-9).
These text strings produce the descriptions of the elements in a
DSD.
Set 10

Beginning of strings used by the Iet.a. MigIClt.ar ut.i.1ity

1121), I
1131) I
1141Ml/ID/YYYY tH24:MI: $1
1151 cxntirming witlxm. date strlngs
I
I 161FUlATI
I 171FlXI
I 181'IRAILIH:; a.ANKS I
I 191Itan pcrlnterl
1:iD I String pointer I
1211 References 1 byte flag I
1221 References 2 byte flag I
123IAFIIE
I
124lreferences bit. I
12) I negative logic I
I~I positive logic I
IZT ImDber far:mat.1
1331 width I
1:i91 pr-ec:i.sicn I
13> I string far:mat.1
1311 length I
1321 date picbIre I
1331 Call type IDJIIIber I
134IAptzo to an act.ic.n I

Figure 3-9. Sample Data Migrator Section

3-12

UP-13765

The Format File

Macro Utility Section
The Macro Utility uses set 8 of the Format File (Figure 3-10).
Most of these text strings are the names of ALLY commands.
Set 8
Begimrlng of strings used by the M:Jcro ut.ility
10171
11171
12171
13171
141AHRrACTI(N1
161 EXlTACITCN I
161.ABR1T}B{ I
171 EXlTI'.AS{ I
181.AHRrAPPL I
191EXlTAFF'L1
110 IREFRESi I
111IKfHPI
I12lfHlLl
1131fEI'~~1

I 14 IPRNIBlW I
1161 FRN'IVtUd1
1161 EJCPAlOYI),I{ I
1171~1

I 181MJVEW1lV I
1191 I»'INBYDN I
I:;D I mnI.»IlJN I
121. IEJCPI.!JEVIJN I
1221 REEI2E'IDN I
1231lE'MACHl I
124IMACItFIlE I
12) 1MA£H.FIlE I
I~ I SA'VEMACREI
I'ZT 1I.IWl.Wlm I
1281 EJCEMAa) I
129IEJCEMAClI

Figure 3-10. Sample Macro Utility Section

UP-13765

3-13

Chapter 3

Terminal and Printer Definer Section
The Terminal Definer and Printer Definer share set 4 of the Format File (Figure 3-11). Most of the text strings in set 4 describe
problems that prevent the terminal or printer description files
from being created.
Set 4

Begimrl.ng of strings used. by the Terndna.l Def:iner and Printer Def1ner ut.i1it.ies

101WARNIN3: I
111ERRrR : I
121keyname I
131 :in line Ill.lIIIber' I
141 :in keydef file I
151 invalid cx:tal c:haracter
161 invalid -Q or -8 :in centrol sequence:rwmbers I
171 bas incarrec:t. fcmoa.t I
181 exec::ut.icn stopping I
191 key cxnflict I
1101 at.. lines I
1111 and I
1121 not found I
1131 teIm:ina.l I
11411
I 151 line Ill.lIIIber'I
1161 cannot. open term::Ief database file I
1171 not found :in t:e:rnrlef database I
1181**Unused**1
1191 cannot. open autpIt file I
12> I printer I
1211 not:in print.def database I
1221 cannot. open key definit:.:i.cn file: I

End of strings used. by the Terminal Def1ner and Printer Def1ner ut.i1it.ies
111111

Figure 3-11. Sample Terminal and Printer Definer Section

End of Chapter 3

3 .. 14

UP-13765

Chapter 4
The Key-Definition File
ALL Y provides extensive support for keyboards. Because ALLY
commands can be assigned to different keys or key sequences,
ALL Y and ALLY applications are as independent of keyboards
as they are of terminals and printers.
A key-definition file assigns commands to terminal keys. The
Terminal Definer utility uses the key-definition file to build a
terminal-description file that defines the terminal to ALLY.
There must be a key-definition file for each terminal on which
ALLY executes. Key-definition files for several terminals are
included in your ALLY release.

Command-to-Key Assignments
You can assign any ALLY command to any terminal key or keys.
You make these key assignments in a key-definition file.
Each key on an asynchronous terminal sends one or more octal
codes to the operating system. The terminal manufacturer determines the code or sequence of codes that a key transmits. The
documentation supplied by the terminal manufacturer lists the
octal code(s) transmitted by each key. You assign a command to
a key or keys by specifying in the key-definition file the
mnemonic for the command next to the octal code for one or
more keys.
Certain keys are defined to be used in combination with another
key; that is, you type one key and while pressing it, you type
another key. The ""Ctrl" key is often used in combination with
another key in this fashion.
You can also assign commands to a key combination, or to a
series of keys, where you type one key and then type another key.
For example, suppose the command to refresh the terminal screen
is assigned to the key series,  and . To invoke the
"refresh' command, you first type  and then type  ,
instead of continuing to press < PFI > while you type < PF2> .

UP-13765

4-1

Chapter 4

It is useful to understand all of the ALLY commands that can be
invoked by key. A list of ALLY command mnemonics is
included in Appendix C. You can refer to the ALLY Command
Reference Manual (UP-12509) for a complete description of each
ALLY command.

Syntax of a Key-Definition File
Because there are more ALLY commands than keys, ALLY provides key-definition files with the most commonly used commands
assigned to keys. The remaining commands can be used through
the Command Menus. However, you must assign the "do' command to a key in order to access the Command Menus.
There are eight sections in a key-definition file. The first two are
global sections that affect the remaining six local sections. Key
assignments in a local section apply only to that section. Therefore, different commands can be assigned to the same key (or
keys) from one local section to another. It is important to note
that a key can have a different command assigned to it for different ALLY subsystems (e.g., menus, forms/reports,
ALLYedit).
For example, < Return> can invoke the "next field' command in
forms/reports and the "add new line' command in ALLYedit
because the commands are in different local sections of the keydefinition file.
The syntax rules for a key-definition file are:
• Each mnemonic must be followed by a colon (:).
• The octal code or code sequence for the key (or keys) that
invokes the command must follow the colon.
• A line that begins with a semicolon (;) is a comment.
• Each section must terminate with an ""at" sign (@) at the
beginning of a line.
Figure 4-1 shows the format of a key-definition file. The Terminal Definer displays an error message if the key-definition file
deviates from the correct format. A complete key-definition file
is included at the end of this chapter.
4-2

UP-13765

The Key-Definition File

·
··' - ; Funct.i.cn

0c:ta.1. Code

wimlp:

CB3
CB3
CB3
CB3
015

wi.ndam~

winri~:

winleft:
windale:

133
133
133
133

101
100
1m
104

Key Assignment

up arrow
dovm arrow
right arrow

left arrow
carriage return

Q

Mnemonic

Key assignment

Comment

Figure 4-1. Sample Entries in a Key-Definition File

Sections of a Key-Definition File
The sections of the key-definition file are arranged in the following order:
•
•
•
•
•
•
•
•

global flag definitions and scroll percentage
global commands
text editing commands
form/report commands
window commands
menu cursor roam commands
menu function task commands
menu prompt line terminators

Each section is briefly described in the following pages.
Global Flag Definitions and Scroll Percentage Section

The commands in this section are global to ALLY and are not
active commands. Rather, they are flags and variables that
specify initial settings for things such as case sensitivity for searching and the amount to scroll a page when editing. The OFF setting for these flags and variables is octal 000 and the ON setting is
octal 001. The default for the scroll percentage variable is 012,
which leaves ten percent of the screen on page scroll (Figure 4-2).

UP-13765

4-3

Chapter 4

10%
F002-0563-00

Figure 4-2. Scroll Percentage

Global Commands Section

The global commands in this section:
• invoke macros and help messages
• activate and manipulate tasks, including Command Menus
• abort and exit from an action, a task, and an application
They are called global commands because they can be used in any
ALLY subsystem (text editor, image editor, form/report, etc.).
Text Editing Commands Section

These text editing commands apply whether you are editing a text
file or a field in an ALLY application.
Form/Report Commands Section

ALL Y forms and reports are unified and use the commands in
this section.
Window Commands Section

These commands are for changing window size or location, and
for moving the cursor within windows (e.g., 'scroll window').
Window commands are typically assigned to the four arrow keys
and the .. Return" key.
4-4

UP-13765

The Key-Definition File

Menu Cursor Roam Commands Section

These commands allow users to move among menu choices when
in menu-roam mode. These commands are usually assigned to
the four arrow keys.
Menu Function Task Commands Section

These commands allow users to make menu choices with function
keys.
Menu Prompt Line Terminators Section

These commands specify how the user can exit from the menu's
prompt line. Users can go to the first or last roam-mode choice
(if that mode is active), pick a choice, or go to the previous or top
menu.

Conflicts in
Command-to-Key Assignments
The Terminal Definer displays error or warning messages if there
are conflicts in key assignments (i.e., two or more commands are
assigned to the same key or keys). Note that an error or warning
is issued if the complete command assigned to one key is the same
as the beginning of a command assigned to another key. For
example, the following command assignments are in conflict with
each other:
exemacO:
exemacl:

004 013
004 013 010

An error message is issued if there are key-assignment conflicts
between a command in a global section and any other section in
the key-definition file. A warning message is issued if there are
key-assignment conflicts between commands within a section or
between local sections.

UP-13765

4-5

Chapter 4

It is important to note that a key can have a different command
assigned to it for different ALLY subsystems. However,
command-ta-key assignments in global sections take precedence
over local key assignments.
You can assign the same command to more than one key (or set
of keys) within a section. This allows the user to choose what
keys to use when invoking the command. The following example
shows the 'find' command assigned to two different keys.

I fjnd,oaa

117122, fF3
f:ind:CB3 133 001 175; Find key

A conflict occurs when a key (or given set of keys) has more than
one command assigned to it. It is acceptable to have conflicts
among sections and even within sections; however, key-assignment
conflicts can cause some commands to become unavailable.
The rules for resolving key-assignment conflicts are:
• The commands in global sections of a key-definition file
supercede those in any other section. Thus, if a command
in the form/report section and a command in the global section are assigned to the same key (or keys), the global command assignment overrides the form/report command
assignment.

• If you assign more than one command to the same key (or
keys) within a section of the key-definition file, the first
command assignment overrides any later assignments to
that key within the section.
• If you assign a window command and another local command to the same key ( or keys), the window command is
invoked only when you type the key while in a window
command function.
For example, if "window up' (window command) and 'up'
(text editing command) share a key assignment, 'window
up' is invoked only if the preceding command invoked a
window operation ("scroll window', 'resize window', or
"move window').
Do not assign commands to AQ «Ctrl>Q) and AS «Ctrl>S),
because the octal codes associated with AQ (021) and AS (023) are

4-6

UP-13765

The Key-Definition File

part of the XON/XOFF protocol that ALLY uses to coordinate
input and output with terminals. The Terminal Definer displays
an error message and ignores a command assigned to a key that
has 021 or 023 in its octal sequence. Also, because ALLY
ignores the ASCII NUL character (octal 000), do not include the
NUL character in key sequences.

Comments in a Key-Definition File
In a key-definition file, everything on a line following a semicolon
(;) is treated as a comment and is ignored by the Terminal
Definer. The comment symbol can be placed anywhere on the
line.
The following example shows two placements of the comment
symbol. First, all heading lines are commented out. On the last
line, the Terminal Definer processes the mnemonic and octal code
for the 'help' command but ignores the key assignment comment.

I;~~~
;

Key Assignment

GUIW.. 

em

001
001
001
001
001
001
001
001

-KD

-A-C
-A"'M
-A'L
-A-X
-A"R
-A1"'M

em
~1

015
117 115

CPA

aa:>



em

117164

em

117 166

002

017 CXB 003
017004003
017017003
017 m:> 003
em 117 12:>
017014003
em 133 a33
em 117 12:>
CXB 017
em 117 12:>
em 117 12:>
em 117 123
em 117 166
em 117 155
em 117 1<12
em 133 1<12
em 117 164
em 133 CE6
em 117 162
em 117 154
em 117 122
em 133 ail
017 CXE 004
em 133 em

CE2 176
117 170

em

em
em

117 163
117 162

; IE.
;3-ER:Os
; PF14
"B
; -o-C-c
; -o-D-C
; -o-o-C
; -O-C-C
; PF16
;. -o-r.-C
; F18 key
; PF18

; -c-o

;PF13
;PF12
; W4

; 6

,

; dovm ar:row
; dovm ar:row

; 4
176

; Next. Screen key

; 2

176
176

;
; PF3
; Fmd key
; -o-F'1>

; Rem::we

continued

UP-13765

The Key-Definition File

glblrepl.ace :
hight.cmarlt:
hight.cmarlt:

h:i.ghtypeset:
heme:
ignore:
ignore:
ignore:
ignore:
ignore:
igcare:
igcare:
ignore:
igncre:
ignore:
ignore:
ignore:

ignore:
ignore:
:insertJ.:ine :
j~:

ldtcmarlc:
ldtcmarlc:
left:
left:
left:
:rEIIDVeb1k:
rarDVeblk:
mark:
nert.line:
nert.line:
nexbiacrd:

prevwcrd:
readfile:
redraw:
replace:
replace:
right:
right:
save:
BEJtdraNIDde :

set.overtype :
setpat:;ype:

UP-13765

033
01.7
033
01.7
033
033
033
033
033
033
033
033
033
033
033
033
033
033
033
033
033
01.7
033
033
033
01.0
01.7
033
033
01.2
033
033
033
CXB

em

117
01.0
133
01.0
117
117
117
133
133
133
133
133
133
133
133
133
133
133
133
117
117
01.0
133
117
133

120 033
01.0
003 003
CXE
170
120 033
120 033


171
lCB
lCB
167
CXE
CXE
CXE
CXE

; 1
; fF1. 1

; 9
; right arrow
; right arrow

; 7
lrc-E
-O-O"E
lrO"E
-o-c-E

continued

4-13

Chapter 4

em

togc:asesens :
1:Lyh aND:Xle:
togoVeL

type:

1:.cgpiiL type :

tq>:
turtJ..ehl:
turtJ..e1d:
turtJ..ecl.ear :
uldt.aoarlc :
ul.dturtJ..e:
unbax::
undelline:
undelwcrd:

up:
up:
uppage:
uppage:
wrltefile:

117 12) em
017 CXB C72A
017004 C72A
017 017 C72A
017 em C72A
em 117 12) em
017 C72A 010
017 C72A 014
017 C72A CXB
017010025
017 C72A 025
025
em 117 12) em
em 117 12) em
em 117 101
em 133 101
em 117 165
em 133 CE6 176
CXB CfZT

117 122

FF1 PF3

117 165

FF1 5

-O-c-r
-o-D-r
-O-O-r
-O-c-r
-O-r-H

-01"'1.

-O-rc

-orru
-o-nJ
-U

117 123
117 155

FF1 W4
FF1
up
up

al".['OW
al".['OW

5
Prev Screen
-c;-w

Q

Ft:H.VRERRr

a:MdANlE

,
insafter :
insbefare:
buduDde:
qbe:
qvdlere:
qJmY:

delrec:
cxmn::lt:
roll1::eck:
dupda.te:

(Xl)
(Xl)
(Xl)
(Xl)
(Xl)
(Xl)
(Xl)
(Xl)
(Xl)
(Xl)

pall:
ppage:

(Xl)

prest:

(Xl)

pickfie1d:
putfie1d:
pJeXt.:

(Xl)

pprev:
phaDe:
p1ast:

4-14

(Xl)

(Xl)

011
011
002
025
025
025
004
CXB
C1Z2
C72A
C72A
C72A
C72A
013
013
016

r-rA
r-rB

002
C1ZT
CXE

rB
"F""lrB
TU"'W
"'FVE

001.

ro
r-C
004

rR
"'F1"'D

001.

"""-A

em

~

C1Z2
025
004

"'F1"'R
rK"U

em
em em
em
014 em

""rN"P
rP""P
""F"rP

(Xl)
(Xl)
(Xl) (Xl)
(Xl)

002

-F'1C1)

r-r.-p

continued

UP-13765

The Key-Definition File

roT
01.4 roT
01.6 roT
aa:> roT

7"'F"G
-F"L-G
7"'trG
-F-p'"G

(Xl)

01.4 QZ2
01.6 QZ2

rpnw:

(Xl)

aa:>

pdx:me:
prlast:
prnext:

(Xl) (Xl)
(Xl)

ptprev:
fhaDe:

(Xl)
(Xl) (Xl) (Xl)

flast:
:f:neltt:
:f:neltt:
:f:neltt:
:f:neltt:
fprev:
fprev:
fprev:
fpickva.l:

(Xl)

7"'L-R
-F"N-R
-F"P'"R
-F"F"A
-F"L-A
-F"N-A
7"'P'"A
-F"F"F
7"'L-F
-F"Nr

fl.i.stva.l :
f:insnelCt :
frfunct.i.cn :

(Xl)

rghcme:
rg1ast:

(Xl)

rgnert.:

(Xl)

rgpr-ev:
rllaDe:

(Xl)
(Xl) (Xl) QZ2

rlast:
:rnex:t.:

(Xl)

(Xl) (Xl)

(Xl)

(Xl)

QZ2

001.
01.4 001.
01.6 001.
aa:> 001.

01.4
01.6

(Xl)
(Xl)

,""M

01.6

em
em

117 100
133100

(Xl)

aa:>

em
em

117 101.
133 101.

(Xl)

(Xl)

em aa:>
em 01.4

winleft:
winleft:
windale:
windale:

a

UP-13765

;
;
;
;
;

dcvm arrow
dcvm arrow
r-P'"F
up arrow
up arrow

r-v-P

r-v-L

(Xl)

01.1 01.6
01.1 (Xl)

7"'r-N
7"'r-F

em
em
em
em
em
em
em
em
em

117
133
117
133
117
133
117
133
117

up arrow
up arrow
cbm arrow
cbm arrow
rifltt. arrow
right arrow
left arrow
left arrow
• -~On
c:arr:I..age retuIn

(Xl)

a

wi.nup:
winup:
windcvm:
windcvm:
winright:
winright:

~R

01.6

101.
101.
100
100
103
103
104
104
156

continued

4-15

Chapter 4

,
prevm::h:
prevm::h:
prevm::h:
prevm::h:
nextmc:h:
nextmc:h:
nextmc:h:
nextmc:h:
h::ueD::h:

em
em
em
em
em
em
em
em

prcmpt:

em

select:

015

a

117
133
117
133
117
133
117
133

up ar:row
up ar:row
left ar:row
left ar:row
down ar:row
down ar:row
right ar:row
right ar:row
'"H
-p
"'M

101
101
104
104
102
102
1CX3
1CX3

010

CXX3
CXX3
CXX3
CXX3

menu:
menu:
menu:
menu:

015 au
015 Cl:i2
015 a33
015 Cl)4

a

em
em
em
em

117
133
117
133

101
101
102
102

prevmenu:

C125

tcpDeml:
tenn:inatar :
kmpprint:

024 015
015
017015

em

rcamlast:
rcamlast:
roamfirst:
roamfirst:

a

;
;
;
;
;
;
,
;

up ar:row
up ar:row
down ar:row
down ar:row
previous menu
t:.q> menu
"'M-CR
'lr'M""P

End of Chapter 4

4-16

UP-13765

Chapter 5
The Terminal Definition File
Introduction
This chapter describes the terminal definition file that the Terminal Definer uses when it builds an encoded Terminal Description
file. The chapter also explains terminal capabilities, shows a sample terminal definition file that describes two terminals, and
explains their entries.
The terminal definition file defines:
• capabilities for terminals on which ALLY can run
• the character sequences that invoke these capabilities
The terminal definition file is divided into sections, with each section describing a different terminal. The section for a given terminal defines the number of lines the terminal displays, the keys
that move the cursor, the terminal's highlighting and line-draw
capabilities, and its initialization sequences.
If there is not a section in the terminal definition file for your terminal type, you can write one. Look in the file named Htermdef'
to see if there is a definition section for your terminal type. (On
UNIX systems, the "termdef' file is in the "/term/" subdirectory.)

Terminal Capability Entries
There are three types of terminal capability entries: Boolean,
numeric, and string. The sequences that invoke a terminal's
characteristics are described in the manufacturer's documentation
for the terminal.

UP-13765

5-1

Chapter 5

The Terminal Definer utility recognizes a standard notation for
control characters in capability entries. The caret C) signifies the
character generated by pressing the control key « Ctrl» on a
terminal along with the key specified (e.g., "H means press the
control key along with "H").
Boolean

Boolean entries specify whether a terminal has a given feature.
ALL Y has two Boolean capability codes:
bs

means that "H backspaces (moves the cursor one space
to the left).

im

means enter insert mode.

Numeric

Numeric entries specify counts and sizes for various terminal
characteristics. The code is followed by a pound sign (#) and an
integer number. For example, an entry of u:li#24:" specifies that
the terminal displays 24 lines.
String

A string entry specifies that a capability is available, and provides
the ASCII character sequence, or string, that invokes the capability. A string-capability code is followed by an equal sign (=) and
the invocation sequence. For example, ":nd= "L:" specifies that
"L moves the cursor one space to the right.
Some terminals require a delay between executing a function and
receiving the next character from ALLY. The length of this
delay in milliseconds must be given as a decimal integer between
the equal sign and the string. For example, "":cl=50\E[2J:" indicates that a ""clear screen" takes 50 milliseconds on the terminal,
and is invoked with the ASCII ESCAPE character (represented
by U\E"), followed by these three characters: [2J. After sending
this sequence, ALLY sends enough pad characters to provide the
delay.

5-2

UP-13765

The Terminal Definition File

To list the character sequence for a string entry, use either the
character itself or its octal code preceded with a back slash (\).
For some commonly used ASCII characters that do not have a
printable letter equivalent, use the following symbols:
\E
\n
\r
\t
\f

ASCII
ASCII
ASCII
ASCII
ASCII

ESCAPE character, octal 033
line feed (or new line), octal 012
carriage return, octal 015
horizontal tab, octal 011
form feed, octal 014

Because the colon (:) is the capability entry delimiter, a colon that
is part of a string entry must be represented with its octal code
(\072). The Televideo 925 entry ""h5=\041\EG\072:" illustrates
the use of a colon within an entry. This entry defines the terminal sequence for invoking underline and blink highlighting.

Terminal Capability Codes
All terminal capability codes consist of two letters. Table 5-1 lists
the code for each terminal capability, identifies its type, and
describes the code. Codes for highlighting and line-draw capabilities are presented later in the chapter.

UP-13765

5-3

Chapter 5

Table 5-1. ALLY Terminal Capability Codes
Type

Description

co
dc
dl
do
ei
ic

string
string
Boolean
string
string
string
number
string
string
string
string
string

im
is

Boolean
string

ke
ks

string
string

li
nd
pc

number
string
string

rd
rl

tc

string
string
string
string
string

te
ti
up

string
string
string

Insert a blank line before the cursor line
Move the cursor one space left (backspace), if not with
Move the cursor one space left (backspace) with ~H
Clear from the cursor position to the end of the line
Oear the entire terminal display
Move the cursor to a specific line and column
Number of columns displayed on a terminal line
Delete one character at the cursor position
Delete the line that the cursor is on
Move the cursor down one line
End insert mode and enter overtype mode
Insert a character at the cursor position,
shifting text to the right
Enter insert mode
Initialize the terminal for cursor movement
and screen editing
Exit special "keypad transmit" mode
Enter "keypad transmit" mode, where the
numeric keypad sends special command
sequences instead of numbers
Number of lines displayed on a terminal
Move the cursor to the right without overwriting text
Pad character for delays
(if not ASCII NUL \000)
Downward scroll in a region of the display
Left scroll in a region of the display
Right scroll in a region of the display
Upward scroll in a region of the display
Cross-reference to another terminal that
shares capabilities not listed
in this terminal's description
Terminate cursor-motion mode
Initialize cursor-motion mode
Move the cursor up one line

Code
al
be
bs
ce
cl
cm

IT

ru

5-4

~H

UP-13765

The Terminal Definition File

Sample Terminal Description File
Terminal definition files are usually created by defining a terminal
that has extensive capabilities. You can append sections for additional terminals to the file as needed by:
• defining only the capabilities that differ from the first terminal defined
• referencing the first terminal defined (with a '"tc=" entry)
The first terminal defined in ALLY's terminal definition file is
the Televideo 925. This terminal requires character positions on
the screen to store a change in highlighting style. These positions,
or spaces, cannot be used to display data. This is called permanent highlighting and is associated with a physical area on the
screen.
The second terminal defined is the Hazeltine Esprit III because it
also uses permanent highlighting. In addition, it has line-drawing
capabilities. Figure 5-1 shows a terminal definition file with two
sections that describe the Televideo 925 and the Hazeltine Esprit
III.
The Televideo 925 section is described first. Note that the Televideo entries have been separated with blank lines for readability.
However, the terminal definition file can have blank lines only
between two sections; there cannot be blank lines within a section.
Explanations of the capability codes defined in each section follow
Figure 5-1.

UP-13765

5-5

Chapter 5

CD

o

# The Tel.evi.deo 005
V71 tvi9..i51 0051 televideo 005: \

00

CD

r--

:00#8):\

:li#'2A:

CD 0
:bs:

@

:Irl=l.:

@ @
:i~~:

0-

0

:lJF=l(:

:dt:F-v:

: ClIF\,E=.%+-

@

@

@

~

:\

:a1.=\EE:

:dc=\EW:

:dl.=\ER:

:ei.=\Er:

@

@

@

@

@

:cs=\Et.:

:cl.=\E*:\

@

@

::1JF\Fq:\

@

: iJF:\EL'\EOO\E.\047\E(\Ea\EX\El\Ex.4\r\2:X): \

:hCF\041.\BD:h1=\041.\ECB:hlF\041\,B:;4:~\041. \ED<: \
:114=\041\m2:h5=\041. ~\(J12 :bB=\041\BE :h7=\041\ED>: \
:b8=\341\f:) \c:m~C\c:m'8D:h9=\341 \ro \c:m~C\c:m\ECB: \
:hA=\341\f:) \c:m~C\c:m\,B:;4 :hfF\341\ro \c:m~C\0J)\ED<: \
:lC=\341\f:) \c:m~C\c:m\m2:hD=\341\ro \c:m~C\0J)~\(J12: \
:hE?\341\f:) \OCJJ~C\c:m\EIE:bF=\341\ro \c:m~C\c:m\ED>:
# Hazeltine esprit III - s1mil.ar to the televideo line
V71 esp31 III 1Esprit III: \

: iJF:\EL'\EOO~' ~(\Ea\EX\El\Ex.4\r\2:X)\ED\Er\Eh~!2\

\Be \E.\\lAO~:\
:~\3:X)\E$\c:m\E5:

:gc=:F\:HItH..CK:

:t.c=tvlil.i5:
F002-0912-00

Figure 5-1. Sample Printer Definition File

5-6

UP-13765

The Terminal Definition File

A Complete Terminal Description Section
The main components of the Televideo 925 section in the sample
terminal definition file are:
• terminal names and editing capabilities
• initialization sequences
• highlighting capabilities
Explanations of the entries and the syntax rules are listed in the
following pages. The numbers refer to Figure 5-1.
Terminal Names and Editing Capabilities

1)

A comment can precede or follow each terminal description. The Terminal Definer considers any line that
begins with the pound sign (#) in the terminal definition
file to be a comment.

2)

The first entry in a section contains at least three names
for a terminal, separated by the vertical bar (I) and terminated by a colon (:).

3)

The first name must be a two-character field that does
not contain blanks. Usually this name is a letter followed
by a digit, in this case, "'v7." However, these two characters can be any that you choose to assign to a terminal.
This name does not have to be unique within the terminal definition file.

4)

The second name must be the mnemonic by which
ALLY and the utilities reference the terminal. This
should be a relatively sbort name consisting of letters and
digits, in this case, "tvi925" for the Televideo 925 terminal.

5)

The third and subsequent names can contain blanks. At
least one should fully identify the terminal. In
Figure 5-1, the terminal is also known as "'925," and its
complete name is "televideo 925."

UP-13765

5-7

Chapter 5

6)

Each line preceding the last line of a section must end
with a back slash .'\". A back slash signifies that the
next line is a continuation of the section. The back slash
must be the very last character on the line; do not leave a
blank after it.

7)

The remaining entries in a section describe the terminal
capabilities. Each entry consists of a two-character code
(e.g., nd) followed by a number or a character string and
terminated by a colon (:). The order in which the capability codes are listed is arbitrary.

8)

The Televideo's display is twenty-four lines long.

9)

You can leave space between fields for readability.

10) The Televideo's display is eighty columns wide.
The Televideo can move the cursor:
11) One space to the left (backspace) with "H.
12) One space to the right with "L.
13) One line up with "K.
14) One line down with "Y.
15) To a given line and column. (This entry is explained in
the section, "Options for Cursor Movement Capabilities"
at the end of this chapter.)
The next group of codes describes the sequences that invoke the
insert/delete character and line functions:
16) Move the text at the cursor position to the right to insert
a character.
17) Move the current line down one line to insert a blank
line.
18) Delete the character at the cursor position.
19) Delete the line at the cursor position.

5-8

UP-13765

The Terminal Definition File

20) Enter overtype mode.
21) Enter insert mode.
The next codes describe the two strings that:
22) Clear the display from the cursor position to the end of
the line.
23) Clear the whole display at one time.
Initialization Sequence

The initialization sequence contains the characters that ALLY
sends to a terminal when execution begins. An initialization
sequence sets up the terminal screen and keyboard for cursor
movement and other screen editing functions. It should turn off
unused features such as automatic margins, protected fields, and
initial highlighting.
24) The initialization sequence for the Televideo 925:
•
•
•
•

sets the terminal to conversational mode
sets highlighting to normal display
turns off protect and half-intensity modes
turns off the automatic homing of the cursor when it
gets to the end of the screen
• turns off monitor mode
• turns on the function keys for editing
• sets the terminal's "send" character to carriage return.
Highlighting Capabilities

25) The last entries describe the highlighting invocation
sequences.

UP-13765

5-9

Chapter 5

Highlighting Capabilities
ALL Y uses four types of highlighting-underline, reverse video,
blink, and altered intensity (higher or lower than normal).
ALL Y can use sixteen combinations of these four types. The
codes for these are hO through h9, and hA to hF (A through F
are the hexadecimal digits for decimal 10 through 15). Table 5-2
lists the ALLY highlighting codes by the type of highlighting they
produce.

Table 5-2. ALLY Highlighting Codes

Code

Type

hO
hI
h2
h3
h4
h5
h6
h7
h8
h9
hA
hB
he
hD
hE
hF

string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string

Highlight Codes
Reverse
Underline
Video

Blink

Altered
Intensity

x
x

x
x

x
x

x
x

x
x
x
x

x
x

x
x

x
x

x
x

x
x
x
x

x
x
x
x
x
x
x
x

For example, the code "hO" sends the terminal sequence that
turns off all highlighting, and HhA" sends the sequence that produces reverse video with altered intensity. Each ALLY highlighting code turns on the highlighting styles it represents and turns off
all the others.

5-10

UP-13765

The Terminal Definition File

Permanent Highlighting
The video attribute codes for the Televideo 925 and Hazeltine
Esprit III terminals require a space on the display screen. That is,
one character space on the screen must be reserved for the code
that turns on highlighting and another space must be reserved for
the code that turns off highlighting. This is called permanent
highlighting because it is associated with a physical area on the
screen. Because permanent highlighting can require up to three
spaces before and after the highlighted area to mark it, these
spaces cannot display characters.
Permanent highlighting marks the beginning and end of an area
on the terminal screen to be permanently highlighted. If new text
overwrites text in a permanent area, the new text is highlighted.

Transient Highlighting
Another type of highlighting, called transient, is associated with
the highlighted text and does not require extra display space.
Text sent to the terminal between the time that transient
highlighting is turned on and the time that transient highlighting is
turned off is highlighted. If the text changes, the highlighting
disappears. Because transient highlighting does not require space
for marks before and after the highlighted text, the entire area
can be used to display characters.

Highlighting Sequences

,

The first part of a highlighting entry, called a flag byte, comes
before the invocation sequence. The flag byte is not sent to the
terminal, but instead, tells ALLY how a terminal handles
highlighting. Some terminals must have multiple codes to invoke
a highlighting style. For example, the Televideo 925 must send a
code for reverse video and a code for altered intensity to highlight
an area with reverse video at altered intensity. The SVT-1220,
however, needs only one code to highlight with reverse video at
altered intensity.

UP-13765

5-11

Chapter 5

The flag byte tells ALLY whether a highlighting sequence consists
of a single code or multiple codes. The flag byte for multiple
highlighting codes tells ALLY which codes are for permanent
highlighting and which are for transient.
To calculate the value of the flag byte, sum the octal codes (from
the list below) in the highlighting sequence, plus the number of
spaces (0-3) needed to mark the beginning and end of a permanent highlight area. The octal code values that comprise a
highlighting sequence are:
\200
\100
\040

Transient-On
Transient-Off
Permanent

The value of the flag byte reflects the number of codes (one to
three) the highlighting sequence contains. For example, a
highlighting sequence containing only a transient-on code has a
flag byte value of octal 200. The flag byte for a sequence containing a transient-on code, a transient-off code, and a permanent-on
code requiring one space to set, has an octal value of
200+ 100+040+ 1, or 341. Note that there is only one code for
permanent highlighting (\040). Permanent highlighting remains
on until the code to turn off highlighting (hO) is sent.
If the highlighting sequence consists of more than one code, they
must be in the order listed above. Each code that is followed by
another code must end with \000. For example, in the entry
""h8=\341\E)\000\E(\000\EGO:" the first \000 tells ALLY that
this is the end of the transient-on code and that the beginning of
the transient-off code follows. If a sequence string must contain
an ASCII NUL (\000), encode that NUL as \2()O to avoid confusion.

The following expansions of two of the sixteen highlighting
sequences for the Televideo 925 terminal illustrate this process.
The sequence ""h2=\041\EG4:" turns on reverse video. The flag
byte, \041, tells ALLY that the sequence contains a permanent-on
code requiring one space to set. To highlight text in reverse
video, ALLY sends .... \EG4" to the terminal, then sends the text,
and then sends ""\EGO" to turn off highlighting. (The \EGO
sequence is defined in the Televideo's terminal definition file for
the ALLY code that turns off all highlighting, ""hO".)

5-12

UP-13765

The Terminal Definition File

The sequence '"h8=\341\E)\000\E(\000\EGO:" turns on altered
intensity. The value of the flag byte, \341, tells ALLY that the
sequence contains a transient-on part '"\E)", a transient-off part
'"\E(", and a permanent-on part '"\EGO" that requires one space
to mark. To highlight text in altered intensity, ALLY sends to
the terminal '"\EGO\E)", then the text, then '"E(\EGO".
Table 5-3 separates the Televideo highlighting sequences to make
them more readable.
Table 5-3. Televideo Highlighting Sequences
Terminal
Definition Flag
Code
Byte
:hO
:h1
:h2
:h3
:h4
:h5
:h6
:h7
:h8
:h9
:hA

:hB
:hC
:hD
:hE
:hF

\041
\041
\041
\041
\041
\041
\041
\041
\341
\341
\341
\341
\341
\341
\341
\341

Sequence That Invokes
Transient-On Transient-Off Permanent-On

\Et

\Et
\Et
\Et
\Et

\Et
\Et

\Et

\E(O
\E(O
\E(O
\Ee
\Ee

\Ee

\E(O
\E(O

\EGO
\EG8
\EG4
\EG<
\EG2
\EG\072*
\EG6
\EG>
\EGO
\EG8
\EG4
\EG<
\EG2
\EG\072*
\EG6
\EG>

* 072 is the octal representation of a colon
° In the terminal definition entry, this part of the sequence is
followed by the separator \000.

UP-13765

5-13

Chapter 5

Line-Draw Capability Section
In addition to the standard Televideo 925 terminal features, the
Hazeltine Esprit III terminal can produce line-draw characters for
making boxes with corners on the display. Table 5-4 describes the
line-draw codes available.

Table 5-4. Line-Draw Codes

Line-Draw Codes
Description

Code

Type

gc

string

List of letters that specify
line-draw characters

hG

string

Initialize line-draw characters and strings
(used with the characters in gc entry)

Figure 5-2 shows the section of the sample terminal definition file
that describes the Esprit. This section lists only an initialization
sequence and the line-draw sequences, and references the Televideo 925 for the remainder of its characteristics. We have inserted
blank lines for readability, but a terminal definition file can contain blank lines only between sections.

o

# Hazelt..ine esprit III - s1m:i..lar to the t.e1evideo line
v'T1 esp31 III IFsprlt III: \

o

:i.s=\EL'\EOO\E:4\E'\E<'ar\EX\El\Ex4\r\aX)\ED\&\Eh\E!2\
\Fe \E.\\111\E" : \
:bG=\3X>\E$\CXX)~:

o

:ga=FCHf.t1LCIUI:

:1:L=tvi.~:

CD

0

Figure 5-2. Hazeltine Esprit III Terminal Section

5-14

UP-13765

The Terminal Definition File

1)

The description begins with a comment about the terminal.

2)

This entry lists the names by which this terminal is
known.

3)

The Esprit III requires a separate initialization sequence
to ensure that line-draw mode is off when ALLY initializes the terminal.

4)

The ""hG" entry has a flag byte that tells ALLY that the
sequence contains a transient-on code and a transient-off
code for turning line-draw mode on and off. To draw
boxes and lines on the Esprit III, ALLY must send it
""\E$", followed by the letter(s) listed in the ""gc" entry
to draw the lines, followed by ""\E%" to turn off line
drawing.

Une-Draw Capability

5)

The ""gc" entry lists letters for the eleven line-draw characters that the Esprit III can produce. The letters that
represent the line-draw characters must be listed in this
order:
1
2
3
4
5

upper-left corner
upper-right corner
lower-left corner
lower-right corner
left T-bar (intersection of horizontal line with
the middle of a vertical line to its left)
6
upper T-bar
7 right T-bar '
8
lower T-bar
9 horizontal line
10 vertical line
11 a cross (vertical line and horizontal line both
intersecting in the middle)

6)

The last entry, ""tc= tvi925, " tells ALLY to obtain the
remaining capabilities for the Esprit III from the
"tvi925" entry. The "tc" entry, if included in a
terminal's description, must come last in the section.

UP-13765

5-15

Chapter 5

The ""tc" entry references the characteristics of another
terminal in the terminal definition file. The terminal
being described shares all of the capabilities of a terminal
referenced by ""tc" except those itemized in the
terminal's section. ALLY checks the terminal named in
the ""tc" entry for each capability not listed in the
terminal's description.
A terminal definition file usually contains a full description for the terminal with the most capabilities. Sections
for other terminals that share many of these capabilities
list only capabilities that are different, and end with a
"tc" entry.

Options for Cursor Movement Capability
This section describes the options for the ""move cursor to line X,
column Y" terminal definition entry, "cm". The cursor movement options are listed and described in Table 5-5. These options
are specified after the sequence that signals cursor motion in a
""em" sequence.
A '"move cursor" sequence directs a terminal to move its cursor
to a specified line and column. Terminal manufacturers use different ways to encode this, so the ""cm" terminal definition entry
must be capable of describing many different formats. The
manufacturer's documentation for the terminal specifies its
requirements.
Some terminals require that the "move cursor" sequence give the
line first, then the column, while other terminals require the
opposite. Some terminals number lines and columns beginning
with zero, while others begin with one. Some require complex
encodings of the line and column numbers. These are all specified with options in the '"cm" sequence.
The ""cm" sequence options are marked with percent signs, '"%,"
followed by one or more letters that specify the option. The line
and column numbers are substituted in the ""cm" string in place of
the option when the string is sent to the terminal.

5-16

UP-13765

The Terminal Definition File

Table 5-5. Cursor Movement Options
Option

Description

%0

The order of the values to be sent out for region scrolling.

%r

Reverse the line and column output order-send column
first, then line. By default, ALLY substitutes the line
number followed by the column number.

%i

Increment the line and column numbers. By default,
ALLY starts lines and columns at 0; with this option,
ALL Y starts lines and columns at 1.

%>ab

IT either the line or the column number is greater than
the value of the number in the 'a' position (expressed in
octal), then add to that number the value of the number
in the 'b' position (also expressed in octal). In the example "%>\010\050," a line value of 5 is left as is, and a
column value of 12 is converted to 52 (octal 050 is
decimal 40, plus 12 is decimal 52).

%n

Exclusive-Or the line and column numbers with octal
140.

%8

Convert the line and column numbers to BCD (Binary
Coded Digits) before sending them.

%D

For each line and column number: divide by 16, multiply
the remainder by 2, and subtract the result from the line
or column number. This is required by the Delta Data
terminal.

%%

Send a single percent sign.

The remaining options must be placed in the sequence after any
of the preceding options.

UP-13765

5-17

Chapter 5

Option

Description

%d

Send the line or column number as an integer. For
example, ALLY sends column 25 as the two characters
"25. "

%2

Same as %d, but send the number as two digits. For
example, ALLY sends 2 as "02" and 79 as "79."

%3

Same as %d. but send the number as three digits. For
example, ALLY sends 6 as "006" and 125 as "125."

%+ n

Add the octal value of the number in the 'n' position to
the number and send the result as one character. For
example, "%+ A" sends 5 as ASCII "F" (5 + 101,
which is the value of A, = 106, which is the value of F).

%.

Send the number as the ASCII character equivalent of its
octal value. For example. ALLY sends column 39 as a
single quote (') since ASCII 39 equals octal 047, and
octal 047 is a single quote.

The sequence to move the cursor to line X and column Y on the
Televideo 925 is "cm = \E= %+ %+ ". It begins with the two
ASCII characters, ESCAPE and equal sign (\E=), followed by
the ASCII character whose octal value is the line number added
to the octal value of an ASCII blank .. ", followed by the ASCII
character whose octal value is the column number added to an
ASCII blank. For example, ALLY sends "\E= &" to the terminal to move the cursor to row 0, column 6.

User-Defined Terminal Definition Files
If you create separate terminal definition files and store them in a
different directory, they are preserved when you install a new
ALLY release. However, if you define a terminal by appending
its description to the terminal definition file that is shipped with
ALL Y, it is lost when you install a new ALLY release.

End of Chapter 5

5-18

UP-13765

Chapter 6
The Terminal Definer Utility
Introduction
The Terminal Definer builds the terminal description file that provides ALLY's portability from terminal to terminal. ALLY, and
applications built with it, execute on most RS232 ASCII terminals
that support a "position cursor to x,y" function. The terminal
description file contains information about the highlighting abilities, line drawing abilities, and optimizations for each terminal an
application uses. Figure 6-1 shows the basic operation of the Terminal Definer.

Terminal
Definition

File
----t.~1

Terminal
Description

Key
Definition

File

File

F002·0556-00

Figure 6-1. The Terminal
Definer
,

UP-13765

6-1

Chapter 6

Terminal Definer Input
The Terminal Definer utility requires input from:
• the Format File
• the terminal definition file
• the key-definition file
The sections of the Format File that the Terminal Definer uses
are described in Chapter 3. The next two sections discuss the
terminal-definition and key-definition files.

The Terminal Definition File
The ALLY terminal definition file provides the Terminal Definer
with information about the capabilities of the terminals that an
application uses. The terminal definition file supplied with ALLY
contains descriptions for several common terminals. [f a terminal
that your application uses is not currently listed in the terminal
definition file, you can build a terminal definition file for it.
Chapter 5 describes the terminal definition file.

The Key-Definition File
Any ALLY command that can be invoked by a key can be
assigned to any key or key sequence. (Throughout this manual,
"key sequence" can be substituted for ""key.") These assignments
are made in a terminal's key-definition file. The key-definition
file assigns commands to keys by specifying the key's octal code or
code sequence next to the command mnemonic. Chapter 4
describes the key-definition file.

6-2

UP-13765

The Terminal Definer Utility

Terminal Definer Options
The Terminal Definer displays error or warning messages if there
are conflicts in the commands assigned to keys (i.e., two or more
commands assigned to the same key or keys). The Terminal
Definer issues an error message if there are command-assignment
conflicts between a global section key and a key in any other section in a key-definition file. The Terminal Definer issues a warning message if there are key-assignment conflicts between commands within a section or between commands in local sections.
It is acceptable to have conflicts among sections and even within
sections; however, key-sequence conflicts can cause some commands to become unavailable to users. The rules for resolving
key-assignment conflicts are described in Chapter 4.

Table 6-1 shows the Terminal Definer options for checking conflicts in key assignments in the key-definition file.
Table 6-1. Terminal Definer Options
Option

Action

Every key with global keys

Compare every key in
the key-definition file
for conflicts with the
keys assigned in the
two global keys sections.

Each key with every key

Compare each key in
the key-definition file
with every other key
in that file for an
assignment conflict.

Each key with the same section

Compare each key in
the key-definition file
with other keys in the
same section for an
assignment conflict.

UP-13765

6-3

Chapter 6

Option

Action

No conflict checking

Do not com pare keys
in the key-definition
file for assignment
conflicts.

Terminal Definer Output
The output produced by the Terminal Definer is an encoded file
that contains all of the information needed for an ALLY application to run on a specific terminal. This output file is optimized
for ALLY execution time.
The name of this encoded file is the first argument you specify
when you invoke ALLY. The distributor, application developer,
or end-user can run the same application on different terminals by
changing this single argument in the ALLY command. Or, a system manager can build these arguments into operating-system
command files for each terminal in the system.

Invoking the Terminal Definer
from the Dialog
Figure 6-2 shows the location of the Dialog forms you use to
invoke the Terminal Definer.

6-4

UP-13765

The Terminal Definer Utility

Main Menu :.
Application .
Developer's
Dialog

I

Application
Definition,
Maintenance,
& Management

I
ALLY Utilities

I
I
AFILE:

Auxiiiary
Utilities

Utilities

I
Terminal
Definer Utility
I

F002·0583·01

Figure 6-2. Dialog Path to the Terminal Definer
Figure 6-3 shows the Dialog form that you use to run the Terminal Definer.

UP-13765

6-5

Chapter 6

Te:rmina.l Definer Ut.ility

FCIl1IIa.t File:

{ally}/farmatB/allyfmt

Desc:ript.icn file to build:
Terminal name:

0)

Key-definit.ian file:

0

0

Terminal deiinit.icn file:

G)

CD
CD

{ally}/teno/ternrlef

Display conflict c:hec::king opt.ians:

(X/1J) N

Figure 6-3. Invoking the Terminal Definer
1)

The name of the current Format File is filled in. Type
< Return> to use this file, or, edit or delete the
displayed name to use a different Format File.

Enter the following information in the remaining fields:
2)

Specify a name for the file that is to contain the
terminal's character mapping information. The file name
must be compatible with your operating system's naming
conventions.

3)

Type the ALLY mnemonic from the terminal definition
file that identifies the terminal for which you are building
this description file.

4)

Type the name of the file that specifies the key-tocommand assignments for the terminal named above.

5)

The name of the file that lists terminal capabilities when
ALL Y is shipped is filled in. If you want to use a different terminal definition file, type in the name of the
one you want.

6)

Type < Return> to accept the default level of conflict
checking-that keys are not checked for assignment con
flicts. The cursor moves to the confirmation field.
Type "Y" to display the subform (Figure 6-4)
that lists the conflict checking options.

6-6

UP-13765

The Terminal Definer Utility

Tm:m:i.:na.l Definer Ut:.i.lity

Format Fil.e:

{ally}/fOIllla.ts/ally£mt.

Descript.icn file to build:
Tm:m:i.:na.l name:

Key--definit.i..an file:

Fach key with g.1.oba.l keys:
Fach key with every key:
Fach key with same sect:.:i.an:
No cxmflict c:hecking:

Figure 6-4. Terminal Definer Conflict Checking Options

Type "X" or "Y" in the field of a level of
conflict checking that you want to select.
After you enter the required information and use the "exit action'
command, the Terminal Definer executes. The cursor moves to
the lower-left corner of the form while the Terminal Definer runs.
After the processing is completed, the cursor moves to the menu
titled Auxiliary Utilities.

Invoking the Command File
for the Terminal Definer
The command file for this utility automatically uses the current
Format File and terminal definition file.
The Terminal Definer command file and its arguments are:
newterm [terminal name] [output file] [keydef file] [option]

This command requires only the first three arguments. If you
choose to specify only three arguments, the Terminal Definer does
not check for conflicts in key assignments.

UP-13765

6-7

Chapter 6

You must specify these arguments:
terminal name The ALLY mnemonic from the terminal definition file that identifies the terminal for which the
terminal description file is being built.
output file

The terminal description file produced that contains the key-mapping information for the terminal specified by "'terminal name."

keydef file

The name of the file that contains the commandto-key assignments for your keyboard.

options

One of the options that specifies the level of conflict checking for key assignments. The Terminal
Definer options for conflict checking level are
listed below.
a

com pare each key wi th every other key for a
conflict in assignment

g

compare each key with the keys assigned in
the two global sections for an assignment conflict

n

do not check for conflicts in key

o

compare each key with other keys in the
same set for an assignment conflict.

assignment~

Invocation Example

[ newterm tvi925 descript tv;l925.kdf a

]

This example invokes the command file for the Terminal Definer
to build a terminal description file for a Televideo 925 terminal.
The description file produced is named "'descript." The ALLY
mnemonic that identifies the Televideo 925 terminal in the terminal definition file is ""tvi925." Its key-definition file is named
""tvi925.kdf". The "'a" option checks all keys for command
assignment conflicts.

6-8

UP-13765

The Terminal Definer Utility

Terminal Definer Error Messages
The Terminal Definer produces an error message if it finds:
• no entry in the terminal definition file for the named terminal
• an invalid octal number in the key-definition file (such as
089)
• an illegal character

CQ or "S)

in the key-definition file

• a line in the key-definition file that is not in the correct format
• a conflict between two command-to-key assignments
• an incorrect number of arguments
• an inaccessible terminal definition file

End of Chapter 6

UP-13765

6-9

Chapter 7
The Printer Definition File
Introduction
ALL Y applications can use any standard ASCII printer. The
printer definition file provides the Printer Definer utility with
information about the features of the printers that ALLY applications use. These features include boldfacing and underscoring.
The Printer Definer uses the printer definition file to create an
encoded file that identifies a printer to ALLY. ALL Y provides a
printer definition file named "printdef' that describes several
printers. (On UNIX systems, this file is in the'"/printers/"
subdirectory.) Look at this file to see if there is a printer description for your printer.
If a printer your application uses is not currently in the printer
definition file, you can either add its description to the "printdef'
file or create a separate printer definition file in a different directory. The latter method preserves printer descriptions that you
create when you install a new ALLY release. The printer definition file is very similar to the terminal definition file. Before you
try to create a printer description for a printer definition file, you
should read Chapter 5, which explains how to create terminal
descriptions for a terminal definition file.

ALL Y provides commands that print:
•
•
•
•

the current display image
the current page of a form/report
all remaining pages of a form/report
all pages of a form/report

UP-13765

7-1

Chapter 7

All images, whether a single screen or an entire report, are
translated from ALLY's standard internal format to a format suitable for the specified printer. The printer definition file gives
ALL Y information on how to translate display images to print
files. When a print command is issued, ALLY routes the request
to the appropriate printer and transforms the material to a printable form by translating:
• formatting characters (such as newlines and page-breaks)
from a display format to a format for printing
• highlighting (such as reverse video) to a form that can be
printed
ALL Y tries to optimize the print format for the printer's requirements.

Syntax of the Printer Definition File
The printer definition file encodes printer features in the same
way that the terminal definition file encodes terminal features. A
printer description in the printer definition file starts with a list of
names, or mnemonics, by which a printer is known (e.g.,
XEROXP for the Xerox 2700 II Laser Printer with portrait font).
The remainder of the printer description enumerates capabilities
and the characters necessary to invoke them.
Figure 7-1 shows the format of printer definition file entries for
the Xerox 2700 II Laser Printer. There are two descriptions for
the Xerox 2700:
XEROXP

Portrait font that prints pages that are 63 lines long,
80 columns wide

XEROXL

Landscape font that prints pages rotated sideways, 63
lines by 132 columns

7-2

UP-13765

~

"""'" ""'" II laser prlntar with

_t

The Printer Definition File

fa><

# Assumes that font 1 is a ten c:ha:racter per :inch. fan:~.
#
3

XPI:xERllXPIXEBJX:-2700 laser printer wI partrait font:
:i!F\E+P ,AlLY\012\E1 \EhDOO,15,15, 15, 4$\012: fFL.\012\E+X\012: \
: ff="L: ,

'-\El>'

:us=\aIv:

,....\En,

F002-0905-00

Figure 7-1. Sample Printer Definition File

1)

Comment lines begin with a pound sign (#).

2)

A description section begins with the printer's mnemonics, separated by""'''.

3)

Continuation lines within each entry end with ""\".

4)

Each printer capability is represented with a two-letter
code. A capability can be Boolean, numeric, or string
(see Table 7-1). The manufacturer's documentation for
the printer specifies the sequences that invoke each capability.

5)

Fields are delimited with a colon (:). Fields can be
separated with spaces for readability.

UP-13765

7-3

Chapter 7

Printer Features
Printers vary in the way they handle margins, pagination, and
highlighting.
Page Margins

Characters exceeding the printer's maximum line length are
printed on the next line, starting in column one. Note that this
can affect pagination.
Pagination

To move the printer to the next page, a form feed (also called a
page eject) normally follows each page that is printed. When a
page exceeds the printer page length, the extra lines are printed
on the top of the next physical page. A form feed follows the last
line on the page.
The form-feed string causes the printer to go to a new page. If
this string is set to null (:ff= :), ALLY assumes the printer does
not provide the form-feed function. In this case, ALLY outputs
blank lines to reach a new page. It is important to note that there
is a difference between omitting the form-feed string and setting it
to null. If you omit the form-feed string, the default value is "L
(see Table 7-1).
Aside from how the printer advances to the next form, you can
specify a string to pad output with leading and trailing blank pages
before and after each print job. Even if these strings are not
specified, ALLY automatically advances to the next form after
the last page so that the next print job does not start on the same
page as the previous job.

7-4

UP-13765

The Printer Definition File

Highlighting

ALL Y supports sixteen highlighting styles for a display. However, standard printers are capable of only a few styles of text
emphasis. Therefore, ALLY supports only two terminal display
highlighting modes for printed output: reverse video and underline, and the combination of these two.
Reverse video is translated to boldface, and underline on the
display is translated to underlining on the printed page. All other
display highlighting is ignored.
Highlighting is accomplished in the best way available on each
printer. For efficiency and visual effect, highlighting is usually
done by issuing the appropriate start and stop highlighting commands. Where the string to be highlighted spans multiple print
lines, ALLY automatically turns off highlighting at the end of
each line and turns on highlighting again at the beginning of the
next line.
These highlighting commands are not available on some printers.
In this case, ALLY uses a carriage return string to return to the
start of the line and then overprints the highlighted string.
Highlighting is not possible on printers that do not have either
special commands to turn highlighting on and off or an explicit
carriage return string. In addition, the last character of each line
cannot be highlighted when the printer supports automatic margins.

UP-13765

7-5

Chapter 7

Printer Capability Codes
Table 7-1 lists each printer capability, identifies its type, and
describes it.

Table 7-1. ALLY Printer Capability Codes
Name

Type

Description

am
ap
bc
bs
co
cr
ff
fs
is
Ii
nl
os
se
so
ue
us

Boolean
Boolean
string
Boolean
number
string
string
number
string
number
string
Boolean
string
string
string
string

Automatic margins
Automatic end of page
Backspace if not AH
Backspace with AH
Number of columns in a line
Carriage return (default AM)
Form feed (default AL)
If printer is a tty, set flag bits (default 0)
Printer initialization string
Number of lines on a page
Newline character (default 0)
Printer overstrikes
End standout mode
Begin standout mode
End underscore mode
Start underscore mode

End of Chapter 7

7-6

UP-13765

Chapter 8
The Printer Definer Utility
Introduction
The Printer Definer, shown in Figure 8-1, requires input from the
Format File and the printer definition file. The printer definition
file provides the Printer Definer with information about the capabilities of the printers that your application uses. See Chapter 7
for information about the printer definition file.

Printer
Definition
File

Printer
----t.~1 Description

File

F002-0557-00

Figure 8-1. The Printer Definer

Invoking the Printer Definer
from the Dialog
Figure 8-2 shows the location of the Dialog forms you use to
invoke the Printer Definer.

UP-13765

8-1

Chapter 8

Main Menu
Application :
Developer's
Dialog

I

Application
Definition,
Maintenance,
& Management

I

............

ALLY Utilities

I

: Auxiliary
Utilities

AFIl"E
Utilities·

j,

I

I

I
Printer
Definer Utility

F002-0818-00

Figure 8-2. Dialog Path to the Printer Definer

Figure 8-3 shows the Dialog form that you use to invoke the
Printer Definer.

8-2

UP-13765

The Printer Definer Utility

Printer Definer" Ut:.i..lity

Format File:

{ally}/farmats/allyfmt

Descrlpt.:i.c:n file to brl.l.d:

0

Printer name:

0

Printer definit.:i..c:n file:

(2)

{ally}/printers/print.def

0

Figure 8-3. Invoking the Printer Definer

1)

The name of the current Format File is filled in. Type
< Return> to use this file, or, edit or delete the
displayed name to use a different Format File.

Enter the following information in the remaining fields:
2)

Specify a name for the printer description file you want
ALL Y to build. This name must be compatible with
your operating system's naming conventions.

3)

Type the ALLY mnemonic from the printer definition
file that identifies the printer for which the printer
description file is being built.

4)

The name of the current printer definition file is filled in.
Type < Return> to use this file. To use a different file,
type in the name of the file that lists the capabilities of
the printer for which you are building the description
file.

After you enter the required information and use the "exit action'
command, the Printer Definer executes. The cursor moves to the
lower-left corner of the form while the Printer Definer runs.
After processing is completed, the cursor moves to the menu titled
Auxiliary Utilities.

UP-13765

8-3

Chapter 8

Invoking the Command File
for the Printer Definer
The command file for this utility automatically uses the current
Format File and printer definition file.
The Printer Definer command file and its arguments are:
newprint [printer name] [output file]
You must specify for the arguments:
printer name

The ALLY mnemonic from the printer definition
file that identifies the printer for which the printer
description file is being built.

output file

The printer description file to be produced for the
printer specified by "printer name."

Printer Definer Error Messages
The Printer Definer produces an error message if it finds:
• an output file that cannot be opened
• a printer without an entry in the printer definition file

End of Chapter 8

8-4

UP-13765

Chapter 9
Managing Printer Output
Introduction
Print commands for ALLY applications can be issued either:
• automatically by any form/report, or
• explicitly by the user.
ALL Y builds the print file and sends it to the printer with the
operating system's standard facilities. You tell ALLY how you
want to handle printing for an AFILE by providing information
about the following:
• The printer description file is the encoded file produced by
the Printer Definer utility that tells ALLY how to interpret
screen images for the printer that prints your application's
reports.
If you have more than one printer, you can choose which

printer to use for printing your application's forms/reports
by specifying a different printer description file. You do
this by modifying the application with the Dialog.
• The printer output file contains the interpreted screen
images of your application's reports. This is the default
destination for form/report output. Each print request to
this file writes over the previous file contents. The file is
not printed until you invoke your operating system's print
command.
You specify a printer output file for your application
AFILE with the Dialog. If you do not specify a printer
output file, the print image is written to a temporary file
that is deleted when the file is printed.

UP-13765

9-1

Chapter 9

• The spooling information names the destination for ALLY
print requests, and can be a physical device or a printer
queue. It can also be the name of a file if you have
assigned "copy" as the value of the Hallyprinter" environment variable. (See the section, "Overriding Printer
Specifications," for information about the "allyprinter"
variable.)
You specify spooling information for your AFILE with the
Dialog and set environment variables with operating system
commands.

Spooling
Translated display images are written to a print file and sent to
the operating system's print spooler. Images can also be spooled
to a standard text file that can be edited.
If spooling devices are available, spooling is the default. ALL Y
provides a program that simulates a spooler for UNIX operating
systems without print spoolers. The "spoolcmd" file is ALLY's
interface to UNIX printers. There are two "spoolcmd" files
located in the "/printers/" subdirectory:

spoolcmd

for UNIX systems with spooling devices.

spoolcmd.noq

for UNIX systems without spooling devices.

Follow the steps below if you are not using spooling devices:
1)

Make a backup copy of the "spoolcmd" file by copying
the file to a file with a different name. For example,
cd printers
cp spoolcmd spoolcmd.que

2)

Write the ·'spoolcmd.noq" file over the "spoolcmd" file
with the 'copy' command. For example,
cp spoolcmd.noq spoolcmd

9-2

UP-13765

Managing Printer Output

ALLY requires a passive spooling device, that is, one that does
not interpret the characters sent to it. If your spooling device is
not a passive service, you need to change the printer definition file
specifications for special and control characters.

Overriding Printer Specifications
You can append the contents of the printer output file to a spooling file and override an application's global printer specification
by defining an environment variable named ""allyprinter.·' You
assign a value to the '"allyprinter" variable with an operating system command before running an application.
The ""allyprinter" environment variable can be set to one of three
values:
none

Sends interpreted screen images of your
application's reports to the printer output file.
Use ""none" when you do not want your output
to be routed to a printer. Each print request to
this file writes over the previous file contents.

copy

Sends interpreted screen images of your
application's reports to the printer output file,
and then appends the file's contents to the spooling file.
The file is not printed until you invoke your
operating system's print command. The printer
subsystem continues to append images from the
printer file to the spooling file until you delete
the spooling file.

UP-13765

9-3

Chapter 9

Sends interpreted screen images of your
application's reports to the printer output file
and then routes the file to the specified printer
queue.
Specify a valid spooling device for queue_name.
A queue name specified for the value of "allyprinter" overrides the default spooling device
that is displayed in the Dialog's and AMU's Global Printer Information form.
Neither "none" nor "copy" is case sensitive, though "allyprinter"
is. The Hallyprinter" variable overrides all other printer routing
information for the application. If the "allyprinter" variable is
not defined, output is sent to the printer output file and routed to
the printer or device that is defined for the application. See
Chapter 1 for more information about environment variables.

End of Chapter 9

9-4

UP-13765

Appendix A
UNIX ALLY Directory Structure
This appendix lists the subdirectories and files contained in the
top-level release 2.00 ALLY directory named '"ally2_00."

Subdirectory

afiles

Contains
Subdirectory File
* Development systems only
allyedit
allyedit.a
amu
amu.a, amu.e, and amu.h
commen
commen.h
dialog*
dialog.a*, dialog.e*, and dialog.h*
errors
errors.e
storybook
start.a, HOURS.A, salary.fx,
EMPLOYEE.fx, HOURS.fx

allyexe

allydevx*
allyrunx
amigratx*
amux
compactx*
dmigratx*
mergex*
mmigratx
newmsgx*
newpmtx
newterrnx
scriptx*

bin

acompact*
ally
allyedit
amerge*
am igrate *
amu
ascript*
dialog*
dmigrate*

UP-13765

A-1

Appendix A

Subdirectory

Contains
Subdirectory File

* Development systems only
mmigrate
newmsg*
newprint
newterm
formats

allyfmt

objects*

usercode.o*

printers

DFLT
LP05
printdef
spoolcmd
spoolcmd.noq

src*
term

incIude*

usercode. in *
svtlOOc
svtlOOc.kdf
svtl210
svtl210.kdf
svtl210a
svt121 Oa. kdf
svtl210c
svtl210c.kdf
svtl210t
svtl210t.kdf
svt1220
svtl220.kdf
svtl220a
svtl220a.kdf
svtl220a132
svt1220c
svtl220c.kdf
svt1220c132
svtl220t
svt1220t.kdf
svt1220t132
termdef

End of Appendix A
A-2

UP-13765

Appendix B
MS-DOS ALLY Directory
This appendix lists the file contents of the release 2.00 ALLY
directory, named Hally2_00." Note that while all ALLY files are
in a single directory, they are separated by type here.

Type of File

AFILE

File Name
* Development systems only
allyedit.a
commen.h
dialog.a*, dialog.e*, and dialog.h*
errors.e
hours. a
start. a
salary.fx
employee.fx
hours.fx

Executable

allydevx. exe*
all yrunx. exe
amigratx. exe*
compactx.exe*
dmigratx. exe*
mergex.exe*
mmigratx.exe
newmsgx.exe*
newprntx.exe
newterrnx.exe
scriptx.exe*

Command file

acorn pact. bat*
ally. bat
allyedit. bat
amerge. bat*
arnigrate. bat*
ascript. bat
dialog. bat*
dmigrate. bat*
install. bat

UP-13765

8-1

Appendix B

Type of File

File Name

* Development systems only
insta1l2. bat
mmigrate. bat
newmsg. bat*
newprint.bat
newterm. bat
Format File

allyfmt

Object code for linking to
3GL driver program *

usercode.obj*

Printer definition file

DFLT
printdef

C-code file for inclusion
in driver program *

usercode.in *

Terminal definition file

pcterm
pcterm.kdf
termdef

Installation information file

devmsgl.doc
devmsg2.doc
devmsg3.doc
readme. doc

System file

aconfig. sys
s~ask.com

End of Appendix B

B-2

UP-13765

Appendix C
ALLY Command Mnemonics
Mnemonic

Purpose

abortaction
abortappl
aborttask
addnl

Abort action
Abort application
Abort task
Add new line

bdelete
bol
bottom
box
budmode

Back delete
Beginning of line
Bottom
Box
Browse, update, delete mode

clrcasesens
clrdrawmode
clrovertype
clrpwrtype
commit
com presswdw
cpfrombuf
cptobuf
ctrlchar

Clear case sensitive
Clear draw mode
Clear overtype
Clear powertype
Commit
Com press window
Copy from buffer
Copy to buffer
Enter control character

definewdw
defmacro
delbol
deleol
delline
delrec
deltomark
delword
down
down page
dupdate

Define window
Define macro
Delete to beginning of line
Delete to end of line
Delete line
Delete current record
Delete to mark
Delete word
Down
Down page
Deferred update

UP-13765

C-1

Appendix C

C-2

Mnemonic

Purpose

eol
exeman
exemacf
exitaction
exitappl
exittask
expandwdw
explodewdw

End of line
Execute macro
Execute macro from file
Exit action
Exit application
Exit task
Expand window
Explode window

fdelete
fhome
find
findanddel
finsnext
flast
flistval
fnext
fpickval
fprev
frfunction

Forward delete
First field
Find
Find and delete
Insert first record in next group
Last field
Move to list of values
Next field
Pick from list of values
Previous field
Invoke local function

glblreplace

Global replace

hightomark
high typeset
home
homemch

Highlight to mark
Set highlight type
Home
Home area

ignore
insafter
insbefore
insertline

Ignore
Insert record after
Insert record before
Insert line

jumptomark

Jump to mark

khelp
kmpprint

Help
Print menu

UP-13765

ALL Y Command Mnemonics

Mnemonic

Purpose

ldtomark
left
loadmacros

Line draw to mark
Left
Load macros

macfmfile
mactofile
mark
menu
movewdw

Macro from file
Macro to file
Set mark
Function key choice
Move window

nextline
nextmch
nextword

Next line
Next area
Next word

overlayblk

Overlay block

pall
phome
pickfield
picktask
plast
pnext
ppage
pprev
prest
prevmch
prevmenu
prevword
prhome
prlast
prnext
prntscrn
prntvnum
prompt
prprev
putfield

Print all
First page
Copy to field-buffer
Pick task
Last page
Next page
Print page
Previous page
Print rest
Previous area
Previous menu
Previous word
First display area
Last display area
Next display area
Print screen
Print version number
Prompt line
Previous display area
Copy from field-buffer

UP-13765

C-3

Appendix C

C-4

Mnemonic

Purpose

qbe
query
qwhere

Query by example
Execute query
Query by where clause

readfile
redraw
refresh
removeblk
replace
resizewdw
rghome
rglast
rgnext
rgprev
rhome
right
rlast
rnext
roamfirst
roamlast
rollback
rprev

Read from file
Redraw
Refresh
Remove block
Replace
Resize window
First group
Last group
Next group
Previous group
First record
Right
Last record
Next record
First area
Last area
Rollback
Previous record

save
savemacros
scrollwdw
select
setcasesens
setdelaycnt
setdrawmode
setovertype
setpwrtype
setrptcnt
shell

Save
Save macros
Scroll window
Choose from roam area
Set case sensitive
Pause
Set draw mode
Set overtype
Set powertype
Set repeat count
Go to OS command line processor

UP-13765

ALL Y Command Mnemonics

Mnemonic

Purpose

task
terminator
togcasesens
togdrawmode
toggletask
togovertype
togpwrtype
top
topmenu
turtleclear
turtlehl
turtleld

Start task
Choose from prompt line
Toggle case sensitive
Toggle draw mode
Toggle task
Toggle overtype
Toggle powertype
Top
First menu
Clear turtle
Highlight with turtle
Line draw with turtle

uldtomark
uldturtle
unbox
undelline
undelrec
undelword
up
uppage

Erase line draw
Erase line draw with turtle
Unbox
Undelete line
Undelete record
Undelete word
Up
Up page

windone
windown
winleft
winright
winup
writefile

Window-action
Window down
Window left
Window right
Window up
Write to file

End of Appendix C

UP-13765

C-5

Appendix D
ASCII Character Codes
@

A

B
C

o
E

F
G
H
I
J
K

L
M

N

o
P
Q

R
S

T
U
V

W

x

Y
Z
[
\

J..

NUL
SOH
STX

ETX
EOT
ENQ
ACK
BEL

BS
HT

LF
VT
FF
CR
SO
SI
OLE
OCl
OC2
OC3
OC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS

AS
US
SP
I

#

$
%
&

+

I

o
1
2
3
4
5
6
7
8
9

<

>

?

UP-13765

00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
00001100
00001101
00001110
00001111
00010000
00010001
00010010
00010011
00010100
00010101
00010110
00010111
00011000
00011001
00011010
00011011
00011100
00011101
00011110
00011111
00100000
00100001
00100010
00100011
00100100
00100101
00100110
00100111
00101000
00101001
00101010
00101011
00101100
00101101
00101110
00101111
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
00111010
00111011
00111100
00111101
00111110
00111111

000
001
002
003
004
005
006
007
010
011
012
013
014
015
016
017
020
021
022
023
024
025
026
027
030
031
032
033
034
035
036
037
040
041
042
043
044
045
046
047
050
051
052
053

054
055
056
057
060
061
062
063
064
065
066
067
070
071
072
073
074
075
076
077

000
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057

058
059
060
061
062
063

00
01
02
03
04
05
06
07

08
09
OA
OB
OC
00
OE
OF
10
11
12
13
14
15
16
17
18
19
lA
lB
lC

10
lE
IF

@
A

B
C

o
E

F
G
H
I
J
K

L
M
N

o
P
Q

R
S
T
U
V

W

x

Y
Z
[
\

~

20
21
22
23
24
25

a
b

c
d

e

26

f

27
28

9
h

29

I
j
k
I
m
n

2A
2B
2C
20
2E
2F
30
31
32
33
34
35

36
37

38
39
3A
3B
3C
3D
3E
3F

o
p

q

s
t
u

v
w

x
y

z
{

I
}

DEL

01000000 100
01000001
101
01000010 102
01000011
103
01000100 104
01000101
105
01000110 106
01000111
107
01001000 110
01001001
111
01001010 112
01001011
113
01001100 114
01001101
115
01001110 116
01001111
117
01010000 120
01010001
121
01010010 122
01010011
123
01010100 124
01010101
125
01010110 126
01010111
127
01011000 130
01011001
131
01011010 132
01011011
133
01011100 134
01011101
135
01011110 136
01011111
137
01100000 140
01100001
141
01100010 142
01100011
143
01100100 144
01100101
145
01100110 146
01100111
147
01101000 150
01101001
151
01101010 152
01101011
153
01101100 154
01101101
155
01101110 156
01101111
157
01110000 160
01110001
161
01110010 162
01110011
163
01110100 164
01110101
165
01110110 166
01110111
167
01111000 170
01111001
171
01111010 172
01111011
173
01111100 174
01111101175
01111110 176
01111111
177

End of Appendix D

064
065
066
067
068

069
070
071

072
073
074
075
076
077

078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

120
121

122
123
124

125
126
127

40
41
42
43
44
45
46
47
48
49
4A
4B
4C
40
4E
4F
50
51
52
53
54
55

56
57
58
59
SA
5B
5C
50
5E

SF
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
60
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
70
7E
7F

0-1

Index
AFILE Compactor utility
Format File section, 3-4
invocation command, 2-7
invocation command file, 2-7
text strings, 3-4
AFILE compatibility
downward, 1-13, 1-14
upward, 1-13
AFILE Merger utility
Format File section, 3-5
invocation command, 2-7
invocation command file, 2-8
text strings, 3-5
AFILE Message Builder utility
directives for message text, 3-7, 3-8
directives in Format File, 3-7
Format File section, 3-7
invocation command, 2-8
invocation command file, 2-8
message text numbers, 3-8
message text strings, 3-7
AFILE Migrator utility
Format File section, 3-10
invocation command, 2-8
invocation command file, 2-9
text strings, 3-10
AFILE naming conventions, 1-8
AFILE Script Writer utility
Format File sections, 3-11
invocation command, 2-9
invocation command file, 2-9
text strings, 3-11
ALLY Command Menus, 4-2
ALLY command mnemonics, 4-2, C-l
in key-definition file, 4-2
ALLY development system, 2-4
invoking the Dialog, 2-5
with a command, 2-5, 2-6
with a command file, 2-6
ALLY directory structure, 1-1
under MS-DOS, 1-3, B-1
files in, B-1
under UNIX, 1-2, A-I
files in, A-I
subdirectories of, 1-2, A-I

UP-13765

ALLY environment variables, 1-3, 1-4
"allyprinter", 9-3
changing names of, 1-7
ALLY execution system, 2-3
development version, 2-4
runtime version, 2-4
ALLY release compatibility, 1-13
among AFILEs, 1-13
downward, 1-13, 1-14
upward, 1-13
ALLY runtime system, 2-4
invoking an application
with a command, 2-4
with a command file, 2-5
invoking the AMU, 2-6
with a command, 2-6
with a command file, 2-6
"allyprinter" environment variable, 9-3
ASCII character codes, D-l
Boldface, p-3
Brackets, p-4
Changing environment variable
names, 1-7
Command files
ALLY, 6-7, 8-4
for ALLY utilities, 2-7
invoking ALLY with, 2-1, 2-3
Printer Definer utility, 8-4
Terminal Definer utility, 6-7
Command-to-key assignments
conflicts in, 4-5, 4-6, 6-6
key combinations, 4-1
key-definition file, 4-1
key series, 4-1
rules for resolving conflicts in, 4-6
Commands, ALLY, C-l
assignments to keys, 4-1
Command Menus, 4-2
ignore, 4-6, 4-7
invoking ALLY with, 2-1, 2-2
mnemonics, 4-1, 4-2, C-l
Compatibility
among ALLY releases, 1-13

i-1

Index

downward, 1-13, 1-14
upward, 1-13
Conventions, p-3
Cursor-movement options,
terminal definition file, 5-16, 5-17
Data Migrator utility
Format File section, 3-12
invocation command, 2-9
invocation command file, 2-9
text strings, 3-12
Defining environment variables, 1-6
Directories, ALLY, 1-1, A-I, B-1
under MS-DOS, 1-3, B-1
under UNIX, 1-2, A-I
Displaying environment variables, 1-5
Double quotes, p-3
Downward AFlLE compatibility
AFILE Migrator utility, 1-14
checking with integrity
reports, 1-14
Empty brackets, p-4
Environment variables
ALLY, 1-3
"aUy", 1-4
"aUyprinter", 9-3
defining, 1-6
displaying, 1-5
operating system, 1-3
"TERM", 1-4
using, 1-5
Error messages
Printer Definer utility, 8-4
Terminal Definer utility, 6-9
Format File, 3-1
AFlLE Compactor section, 3-4
AFlLE Merger section, 3-5
AFlLE Message Builder section, 3-7
AFILE Migrator section, 3-10
AFlLE Script Writer sections, 3-11
changing entry text, 3-3
comments in, 3-3
Data Migrator section, 3-12
delimiter characters, 3-2
directives for message text, 3-7, 3-8

i-2

directives for paths to message
AFILEs. 3-9
first section (set 0), 3-2
Macro Utility section, 3-13
Printer Definer section, 3-14
sections of, 3-2, 3-3
set delimiters, 3-3
syntax of entries, 3-3
Terminal Definer section, 3-14
Help and error AFILEs, 1-8
Highlighting, 7-5
Highlighting sequences
nag bytes in, 5-11, 5-12
sample
(Esprit III), 5-14
(Televideo 925), 5-13
Input files, printer definition, 7-1
Invocation command
AFlLE Compactor utility, 2-7
AFlLE Merger utility, 2-7
AFILE Message Builder utility, 2-8
AFILE Migrator utility, 2-8
AFILE Script Writer utility, 2-9
Data Migrator utility, 2-9
Macro Utility, 2-10
Printer Definer utility, 2-10
Terminal Definer utility, 2-10
Invocation command file
AFILE Compactor utility, 2-7
AFILE Merger utility, 2-8
AFILE Message Builder utility, 2-8
AFILE Migrator utility, 2-9
AFILE Script Writer utility, 2-9
Data Migrator utility, 2-9
Macro Utility utility, 2-10
Printer Definer utility, 2-10, 8-4
Terminal Definer utility, 2-11, 6-7
Invoking ALLY, 2-1, 2-3
with a command, 2-1, 2-2
with a command file, 2-1, 2-3
Invoking ALLY utilities, 2-7
AFILE Compactor, 2-7
AFILE Merger, 2-7
AFILE Message Builder, 2-8
AFILE Migrator, 2-8
AFILE Script Writer, 2-9

UP-13765

Index

Data Migrator, 2-9
Macro Utility, 2-10
Printer Definer, 2-10, 8-1, 8-4
Terminal Definer, 2-10, 6-4, 6-7
with a command, 2-7
with a command file, 2-7
Invoking the AMU, 2-6
with a command, 2-6
with a command file, 2-6
Invoking the Dialog, 2-5
with a command, 2-6
with a command file, 2-6
Key-definition file, 4-1, 4-2
command-to-key assignments, 4-1
comments in, 4-7
conflicts in key assignments, 4-5, 6-6
rules for resolving, 4-6
flag definitions, 4-3
form/report commands, 4-4
format of, 4-2, 4-3
global commands, 4-4
global sections, 4-3
ignore command, 4-7
input to the Terminal Definer, 6-2
local section, 4:4, 4-5
making commands unavailable, 4-8
menu cursor roam commands, 4-5
menu function task commands, 4-5
menu prompt line exit
commands, 4-5
sample (SVT-1220), 4-9
scroll percentage, 4-3
sections of, 4-2, 4-3
syntax of, 4-2
text editing commands, 4-4
user-defined, 4-9
window commands, 4-4
Library AFILEs, see "Message
AFILEs," 1-8
Line-draw capability
ALLY codes for, 5-14
entries for, 5-15
in terminal definition file, 5-15
Macro Utility
Format File section, 3-13

UP-13765

invocation command, 2-tO
text strings, 3-13
Managing printer output, 9-1
"allyprinter" variable, 9-3
overriding global settings, 9-3
printer description file, 9-1
printer output file, 9-1
spooling, 9-2, 9-4
Message AFILEs
changing paths to, I-tO
with directives, 1-11
with the Dialog, 1-10, 1-11
directives for
application paths, 3-9
default paths, 3-9
paths to application, 1-11
Operating system environment
variables, 1-3
Page margins, 7-4
Paths to application message
AFILEs, 1-11
Printer capabilities
ALLY codes for, 7-6
form feed, 7-4
highlighting, 7-6
page margins, 7-4
pagination, 7-4
types of entries, 7-3
Printer capability codes, 7-3
printer definition file, 7-3
Printer Definer utility, 7-1
command file, invocation
example, 8-4
error messages, 8-4
Format File section, 3-14
input files
Format File, 8-1
printer definition, 7-1, 8-1
invocation command, 2-10
invocation command file, 2-10
invoking
from the Dialog, 8-1, 8-2
with a command, 2-10
with a command file, 2-10, 8-4
output file, 8-1
printer description, 8-1, 9-1

;-3

Index

text strings, 3-14
Printer definition file, 7-1
capability entries, 7-3
types of, 7-3
comments in, 7-3
continuation lines, 7-3
form feed, 7-4
landscape font, 7-2
portrait font, 7-2
Printer Definer utility, 7-1
sample (XEROX 2700 II), 7-2
sections in, 7-3
syntax of, 7-3
Printer description file, 8-1, 9-1
Printer highlighting, 7-5
boldface, 7-5
reverse video, 7-5
underline, 7-5
Printer output file, 9-1
Printer spooling, 9-2, 9-4
Running an AFILE
entry point to application, 2-5
reusing macro files, 2-5
with a command, 2-4
with a command file, 2-5
with a debug log, 2-5
Single quotes, p-3
Space, p-4
Square brackets, p-4
Terminal capabilities
ALLY codes for, 5-4
highlighting, 5-10
line-draw, 5-14
cursor movement options. 5-16,
5-17
highlighting, 5-10
highlighting sequences,
flag byte in, 5-11, 5-12
line-draw, 5-14
permanent highlighting, 5-11
transient highlighting, 5-11
types of entries, 5-1
boolean, 5-2
numeric, 5-2
string, 5-2

;-4

Terminal capability codes, 5-3, 5-4
Terminal Definer utility
command file, 6-7
conflict-checking options, 6-8
invocation example, 6-8
conflict checking options, 6-6
each key with every key, 6-3
each key with the same section, 6-3
every key with global keys, 6-3
no conflict checking, 6-3
error messages, 6-9
Format File section, 3-14
input files, 6-1
Format File, 3-14, 6-1
key-definition file, 6-2
terminal definition file, 6-2
invocation command, 2-10
invoking, 6-4
from the Dialog, 6-4
with a command, 2-11
with a command file. 2-11, 6-4, 6-7
options for conflict checking, 6-3. 6-7
each key with every key, 6-3. 6-8
each key with the same section, 6-3,
6-8
every key with global keys, 6-3, 6-8
no conflict checking, 6-3, 6-8
output file, 6-4
terminal description, 6-4
text strings, 3-14
Terminal definition file, 5-1
ALLY codes for line-draw, 5-14
ALLY highlighting
capabilities, 5-9, 5-10, 5-11, 5-14
codes, 5-10
sequences, 5-11
blank lines in, 5-5
boolean entries, 5-2
complete terminal description, 5-7
cursor-movement entries, 5-16
editing capability entries. 5-7
initialization sequence, 5-9
line-draw entries, 5-14, 5-15
numeric entries, 5-2
sample
(Hazeltine Esprit ill). 5-14
line-draw section, 5-14
(Televideo 925), 5-5

UP-13765

Index

sections in, 5-1, 5-5
string entries, 5-2
terminal capability entries, 5-1, 5-2
cursor movement, 5-8, 5-16
highlighting sequence, 5-6, 5-13
initialization sequence, 5-9
input to the Terminal Definer, 6-2
line-draw, 5-15
Terminal Definer, 6-2
terminal name in, 5-7
types of entries, 5-2
user-defined, 5-18
Terminal description file,
output from the Terminal Definer, 6-4
Terminal highlighting sequences, 5-10
flag bytes in, 5-11, 5-12
sample
(Televideo 925), 5-6, 5-13
Trunk AFILEs, 1-9
paths to message AFILEs, 1-9
Upward AFILE compatibility
AFILE Compactor utility, 1-13
AFILE Migrator utility, 1-13
Using environment variables, 1-5

End of Index

UP-13765

;-5



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2014:10:08 09:29:44-08:00
Modify Date                     : 2014:10:08 08:48:35-07:00
Metadata Date                   : 2014:10:08 08:48:35-07:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:d60f119e-0af2-cb44-aad2-10ac94686670
Instance ID                     : uuid:9608b089-5317-c744-b653-b315acfe3164
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 128
EXIF Metadata provided by EXIF.tools

Navigation menu