SC34 0644 0_EDX_5.0_Operator_Commands_and_Utilities_Reference_Dec84 0 EDX 5.0 Operator Commands And Utilities Reference Dec84

SC34-0644-0_EDX_5.0_Operator_Commands_and_Utilities_Reference_Dec84 SC34-0644-0_EDX_5.0_Operator_Commands_and_Utilities_Reference_Dec84

User Manual: SC34-0644-0_EDX_5.0_Operator_Commands_and_Utilities_Reference_Dec84

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

DownloadSC34-0644-0_EDX_5.0_Operator_Commands_and_Utilities_Reference_Dec84 SC34-0644-0 EDX 5.0 Operator Commands And Utilities Reference Dec84
Open PDF In BrowserView PDF
----- ----- --- --------_.-

Series/1

SC34-0644-0

Event Driven Executive
Operator Commands and Utilities Reference
Version 5.0

Library Guide and
Common Index

Installation and
System Generation
Guide

Operator Commands
and
Utilities Reference

SC34-0645

SC34-0646

SC34-0644

language
Reference

Communications
Guide

Messages and
Codes

SC34-0643

SC34-0638

SC34-0636

Operation Guide

Event Driven
language
Programming Guide

Reference
Cards

SC34-0642

SC34-0637

SBOF -1625

Problem
Determination
Guide

Customization
Guide

Internal
Design

SC34-0639

SC34-0635

LY34-0354

----- -- -- -------------_.-

Series/1

SC34-0644-0

Event Driven Executive
Operator Commands and Utilities Reference
Version 5.0

Operator Commands
and
Utilities Reference
SC34·0644

o

o

First Edition (December 1984)
Use this publication only for the purpose stated in the Preface.
Changes are made periodically to the information herein; any such-changes will be
reported in subsequent revisions or Technical Newsletters.
This material may contain reference to, or information about, IBM products
(machines and programs), programming, or services that are not announced in your
country. Such references or information must not be construed to mean that IBM
intends to announce such IBM products, programming, or services in your country.
Publications are not stocked at the address given below. Requests for copies of IBM
p.ublications should be made to your IBM representative or the IBM branch office
serving your locality.
This publication could contain technical inaccuracies or typographical errors. A form
forreaders' comments is provided at the back of this publication. If the form has
been removed, address your comments to IBM Corporation, Information
Development, 3406, P. O. Box 1328, Boca Raton, Florida 33432. IBM may use or
distribute any of the information you supply in any way it believes appropriate
without incurring any obligation whatever. You may, of course, continue to use the
information you supply.

© Copyright International Business Machines Corporation 1984

o
Summary of Changes For Version 5.0

The following changes have been made to this document.

c\

The Job Cross-Reference Chart in Chapter 1. has been updated to include $TRANS, $TRAP,
$DUMP, $MEMDISK, $COMPRES, and $E.
A new utility, $TRANS has been added for Version 5. It replaces the cs command of
$COPYUTI. This utility makes it possible to transport EDX data sets and programs from one
Series/Ito another. Refer to "$TRANS - Transmit Data Sets Across a Bisync Line" on
page UT-581 for this information.
The section "$DASDI - Format Disk or Diskette" on page UT -90 has also been updated to
reflect the ability to use option 0 to create both a stand alone dump and a $TRAP diskette.
The $TRAP section now contains information on how to dump storage to multiple diskettes
for systems larger than SI2K. This information is located in "$TRAP - Save Storage on
Error Condition" on page UT-589.
Changes have been made to the prompt messages for the $DUMP utility. These changes are
located in "$DUMP - Format and Display Saved Environment" on page UT-228.
and PATCH commands of the $DEBUG utility have been updated to illustrate their use
with unmapped storage. A new CLOSE command and new prompts which appear when
$DEBUG is loaded have also been documented in "$DEBUG - Debugging Tool" on page
UT-126.

LIST

Use of the $LOG utility is now required. Additional information regarding CIRCBUFF data is
also contained in this version. Details on use of $LOG can be found in "$LOG - Log Errors
into Data Set" on page UT -457.

o
Summary of Changes For Version S.O

iii

Summary of Changes For Version 5.0

•

iv

SC34-0644

Information about the 4975-01 ASCII printer is now included in the section entitled
"$TERMUTI - Change Terminal Parameters" on page UT -548.

o
About This Book

This book is a reference book containing detailed descriptions of the Event Driven Executive
operator commands, session manager, and system utilities. The commands and applicable
syntax for each operator command and system utility are shown, along with usage examples.

o

Audience
This book is intended for anyone who has to operate the IBM Series/l with the Event Driven
Executive. Readers should have a basic understanding of computer terminology before using
this book.

How This Book Is Organized
The book is divided into the following 4 chapters.

•
•
•

Chapter 1, Introduction contains an overview of the contents of the book.
Chapter 2, Operator Commands contains a description and the syntax of the operator
commands.
Chapter 3, Session Manager contains a description of the session manager facility.
Chapter 4, Utilities contains a description of each system utility used to operate your Event
Driven Executive system. The utilities are presented in alphabetical order.

o
About This Book

v

About This Book
Aids in Using This Book
This book contains the following aids to using the information it presents:
•

•
•

A chart of the main jobs that are done on the Series/l with EDX. The chart is found under
"Job Cross-Reference Chart" on page UT-2. It lists the operator command or system
utility that is used for the job, the session manager option numbers to help you access the
utility with the session manager, and the prefix of the guide in the EDX library that contains
instructions for doing the job.
A table of contents that lists the major headings in this book.
An index of the topics covered in this book.
A glossary that defines terms and acronyms used in this book and in other EDX library
publications.

Illustrations in this book are enclosed in boxes. Many illustrations display output formats
printed while using the Event Driven Executive. In those cases where the actual printer output
exceeds the size of the box, the information is shown in a modified format.
Examples of display screens are also enclosed in a box representing the outline of a screen. A
partial screen is indicated by the top or bottom of the screen. In examples where a response is
required, the sample response is shown in red.

A Guide to the Library
Refer to the Library Guide and Common Index for information on the design and structure of
the Event Driven Executive Library, for a bibliography of related publications, and for an index
to the entire library.
Refer to the Messages and Codes manual for information about return codes issued by each
utility described in this reference.

Contacting IBM about Problems
You can inform IBM of any inaccuracies or problems you find when using this book by
completing and mailing the Reader's Comment Form provided in the back of the book.
If you have a problem with the Series/l Event Driven Executive services, fill out an authorized
program analysis report (APAR) form as described in the IBM Series/l Software Service Guide,
GC34-0099.

vi

SC34-0644

o
Contents

Chapter 1. Introduction UT -1
Operator Commands UT-l
Session Manager UT -2
System Utilities UT-2
Job Cross-Reference Chart UT-2
Chapter 2. Operator Commands UT -11
Entering Commands UT -12
Prompt-Reply Format UT-12
Single-Line Format UT-12
Operator Command Descriptions UT -13
Syntax Conventions UT -13
$A - List Partitions and Active Programs UT -13
$B - Blank Display Screen UT -14
$C - Cancel Program UT-15
$CP - Change Display Terminal's Partition Assignment UT-15
$D - Dump Storage UT -16
$E - Eject Printer Page UT -16
$L - Load a Program or Utility UT-17
$P - Patch Storage UT -18
$S - Control Spooled Program Output UT -19
$T - Set Date and Time UT-27
$U - Invoke Your Own Operator Command UT-28
$VARYOFF - Set Device Offline UT-28
$VARYON - Set Device Online UT -29
$W - Display Date and Time UT -30
Chapter 3. Session Manager UT-31
Invoking the Session Manager UT -32

o
Contents

vii

Contents

Menus UT-32
Logon/Logoff Menu UT-32
Primary Option Menu UT -33
Secondary Option Menu UT -34
Parameter Input Menu UT -35
The Background Option UT -36
Custom Menus UT-36
Data Sets UT-37
Program Function Keys UT -38
Supported Utilities UT -39
Chapter 4. Utilities UT -43
Invoking the Utilities UT -43
Entering Utility Commands UT -44
Cancelling a Utility UT -45
$BSCTRCE - Trace I/O Activity on a BSC Line UT -46
Invoking $BSCTRCE UT -46
$BSCUTI - Format BSC Trace Files UT-48
Invoking $BSCUTI UT -48
$BSCUT2 - Communications I/O Exerciser UT-5l
Invoking $BSCUT2 UT -52
$BSCUT2 Commands UT-53
$CHANUTI - Channel Attach Utility UT-61
Invoking $CHANUTI UT-61
$CHANUTI Commands UT-61
$COMPRES - Compress Disk, Diskette, or Volume UT -64
Specifying Dynamic Storage UT -65
Invoking $COMPRES UT -65
$COMPRES Commands UT -65
$COPY - Copy Data Set UT -72
Copying Programs or Data Members UT -72
Specifying Dynamic Storage UT -73
Invoking $COPY UT -73
$COPY Commands UT-74
$COPYUTI - Copy Data Set with Allocation UT -80
Specifying Dynamic Storage UT -80
Invoking $COPYUTI UT-80
$COPYUTI Commands UT-81
$DASDI - Format Disk or Diskette UT -90
Invoking $DASDI UT -90
Primary Option 0 - Create a Stand-Alone UT-91
Primary Option 1 - Diskette Initialization UT -94
Primary Option 2 - 4962 Disk Initialization UT-I0l
Primary Option 3 - 4963 Disk Initialization UT-105
Primary Option 4 - 4967 Disk Initialization UT-I09
Primary Option 5 - DDSK Disk Initialization UT -117
Primary Option 9 - Exit Initialization UT -125
$DEBUG - Debugging Tool UT-126

r-~\

~C~~

o
viii

SC34-0644

o

Major Features of $DEBUG UT-126
Necessary Data for Debugging UT-127
Invoking $DEBUG UT -128
$DEBUG Commands UT-129
$DICOMP - Display/Modify Profiles UT-144
Invoking $DICOMP UT-144
$DICOMP Commands UT-144
Composer Subcommands UT -14 7
$DIINTR - Graphics Interpreter Utility UT-161
Invoking $DIINTR UT -161
$DIRECT - Directory Organization Sort UT-168
Invoking $DIRECT UT-168
$DIRECT Commands UT -169
$DISKUT1 - Allocate/Delete/List Directory Data UT -177
Loading $DISKUT1 UT-177
$DISKUT1 Commands UT -178
$DISKUT2 - Patch/Dump/List Data Set or Program UT-198
Program and Data Set Member Dumps and Patches UT -198
Absolute Record Numbers UT -199
Invoking $DISKUT2 UT -199
$DISKUT2 Commands UT -200
$DIUTIL - Maintain Partitioned Data Base UT-220
Invoking $DIUTIL UT -220
$DIUTIL Commands UT-221
$DUMP - Format and Display Saved Environment UT -228
Invoking $DUMP UT -228
$EDIT1 and EDIT1N - Line Editors UT-235
Data Set Requirements UT-235
Invoking $EDIT1 or $EDIT1N UT-235
Sequence of Operations UT-236
Special Control Keys UT-238
Editor Commands UT -238
Edit Mode Subcommands UT-247
Line Editing Commands UT -264
$EDXASM - Event Driven Language Compiler UT-265
Required Data Sets UT -265
Invoking $EDXASM UT -266
Data Sets Used in Examples UT-267
Output of the Compiler UT-270
Obtaining Extra Compilation Listings UT -271
Invoking $EDXLIST with $JOBUTIL UT -273
$EDXLINK - Linkage Editor UT-274
Required Data Sets UT-275
$EDXLINK Control Statements UT-275
Specifying Dynamic Storage UT -286
Invoking $EDXLINK UT -287
Operator Termination of $EDXLINK UT-291
$EDXLINK Output UT -292

o
Contents

ix

Contents

AUTOCALL Option UT -294
Using $EDXLINK Control Statement Data Sets UT -295
$FONT - Process Character/Images Tables UT-296
$FSEDIT - Full Screen Editor UT -312
Invoking $FSEDIT UT-312
Work Data Set UT-315
Scrolling UT -316
Program Function Keys UT -317
3101 Display Terminal Switch Settings UT -318
Directory Data Set List Commands UT -319
Primary Options and Commands UT -326
Primary Commands UT -334
Edit Line Commands UT-344
$GPIBUTI Utility UT -352
Invoking $GPIBUTI UT -352
$GPIBUTI Commands UT-352
$GPIBUTI Example UT-360
$HCFUTI - Interact with Host Communications Facility UT -366
Invoking $HCFUTI UT -366
$HCFUTI Commands UT -366
Return Codes UT-370
$HXUTI - H-Exchange Utility UT-371
Invoking $HXUTI UT-372
$HXUTI Commands UT-373
Using the H-exchange utility UT-373
$IMAGE - Define Formatted Screen Image UT -386
Data Set Requirements UT-386
Considerations for Using $IMAGE UT -386
Formatting Screens with $IMAGE UT -387
Invoking $IMAGE UT-389
$IMAGE Commands UT -390
Entering Edit Verification Mode UT-399
$INITDSK - Initialize Direct Access Device;, Volume Control UT -402
Invoking $INITDSK UT -402
$INITDSK Commands UT -403
$IOTEST - Test Sensor I/O; List Configuration UT-423
Invoking $IOTEST UT -423
$IOTEST Commands UT -424
$JOBQUT - Controlling Job Queue Processing UT-430
Invoking $JOBQUT UT -430
$JOBQUT Commands UT -431
$JOBUTIL - Job Stream Processor UT-437
Invoking $JOBUTIL UT-437
$JOBUTIL Commands UT -438
$LOG - Log Errors into Data Set· UT -457
Log Data Set UT -457
Invoking $LOG UT -457
Coding Example UT-457

o
x

SC34-0644

o

$LOG Commands UT-458
$MEMDISK - Allocate Unmapped Storage as a Disk UT -460
Invoking $MEMDISK UT -460
$MEMDISK Commands UT -460
$MOVEVOL - Disk Volume Dump/Restore UT-464
Diskette Usage UT -464
Invoking $MOVEVOL UT -464
Dump Procedure UT -465
Restoration Procedure UT -468
$MSGUTI - Message Utility UT-470
Invoking $MSGUTI UT-470
$MSGUTI Commands UT-470
$PFMAP - Identify 3101(Block Mode)/4978/4979/4980 Program Function Keys UT-475
Invoking $PFMAP UT-475
$PREFIND - Pre finding Data Sets and EDL Overlays UT -4 76
Program Load Process Overview UT -4 7 6
Invoking $PREFIND UT-476
$PREFIND Commands UT -4 77
$PRT2780 and $PRT3780 UT-481
Invoking $PRT2780 and $PRT3780 UT-481
Sample $RJE Session UT -482
$RJE2780 and $RJE3780 UT -484
Interface to Host RJE Subsystems UT -484
Invoking $RJE2780 or $RJE3780 UT -485
Attention Commands UT -486
$SPLUTI - Spool Utility UT -489
$SPLUTI0perations UT-489
Invoking $SPLUTI UT -491
$SPLUTI Commands UT -492
Spool Capacity Change Examples UT -492
Spool Start Type Examples UT -494
$STGUTI - Free Up Nonprogram Areas of Storage UT-497
Invoking $STGUTI UT -497
$STGUTI Commands UT-497
$SUBMIT - Submit/Control Jobs in Job Queue Processor UT-503
Invoking $SUBMIT UT -503
$SUBMIT Commands UT -504
$SIASM - Series/l Assembler UT-509
Required Data Sets UT -509
Invoking $SIASM UT-509
Assembler Options UT-510
Data Sets Used in Examples UT-511
Assembling a Program Using the $L Operator Command UT -511
Assembling a Program Using the Session Manager UT-515
Assembling a Program Using $JOBUTIL UT-516
$SIASM Output UT-516·
$SISIUTI - Series/l-to-Series/l UT-517
Invoking $SIS1UTl UT-517

o
Contents

xi

Contents

$SlSlUTl Commands UT-517
$TAPEUTI - Tape Management UT-522
Invoking $TAPEUTI UT-522
$TAPEUTI Commands UT-523
$TERMUTI - Change Terminal Parameters UT -548
Invoking $TERMUTI UT -548
$TERMUTI Commands UT -548
$TERMUT2 - Change Image/Control Store UT-557
4974 Support UT-557
4978 and 4980 Support UT-557
Invoking $TERMUT2 UT-559
$TERMUT2 Commands UT-559
$TERMUT3 - Send Message to a Terminal UT-573
Invoking $TERMUT3 UT -573
$TRACEIO - ACCA/EXIO Trace Facility UT -576
Invoking $TRACEIO UT -576
$TRACEIO Commands UT-576
$TRANS - Transmit Data Sets Across a Bisync Line UT-581
Invoking $TRANS UT-581
$TRANS Commands UT -582
$TRAP - Save Storage on Error Condition UT-589
$UPDATE - Converting Series/l Programs UT -598
Required Data Sets UT -598
Invoking $UPDATE UT-598
Updating a Program Using the $L Operator Command UT-598
$UPDATE Commands UT-599
Updating a Program Using the Session Manager UT -602
Updating a Program Using $JOBUTIL UT -602
$UPDATE Output UT-603
Considerations When Creating a Supervisor UT -603
$UPDATEH - Converting Host System Programs UT-605
Invoking $UPDATEH UT -605
Updating a Hosting Program Using the $L Operator Command UT -605
$UPDATEH Commands UT -605
Updating a Host Program Using $JOBUTIL or Session Manager UT-607
Glossary of Terms and Abbreviations
Index

o

C)

UT-609

UT -619

()
xii

SC34-0644

o
Figures

C

0

i

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.

Job Cross-reference Chart UT-3
Session manager logon/logoff menu UT -33
Session manager primary option menu UT-34
Example session manager secondary option menu UT -34
Example session manager parameter input menu UT -35
Example secondary option menu for primary option 10 UT-36
Session manager data sets UT-38
Session Manager Options by Utility UT -39
Dumping BSC trace records to a terminal UT -49
Density and sector sizes available according to format UT -94
X, Y coordinate grid and viewing area UT -148
X,Y,Z coordinate grid and viewing area UT-148
Viewing Area in 3-D Mode UT-165
$EDIT1/$EDIT1N commands and subcommands UT-237
$EDXLIST use example UT-272
Multilink $EDXLINK primary-control-statement data set UT-285
$EDXLINK Secondary Control Statement Data Set UT -286
$EDXLINK multilink interactive interface UT -289
$EDXLINK map UT-292
$GPIBUT1 example UT-361
$IMAGE - Command and Edit Mode UT -400
Initialize a disk UT-408
Initialize a diskette UT -410
Initialize a multivolume diskette UT-411
$MOVEVOL parameter input menu UT-465
$PREFIND parameter input menu UT-479
Sample $RJE session UT-482
$RJE attention commands UT-485
Spooling Defaults UT -491
$SlASM parameter input menu UT-515
Sample of output from EX (tape exerciser). UT-530
$JOBUTIL procedure for invoking $TAPEIT for an SL tape. UT-533
$JOBUTIL procedure for invoking $TAPEIT for an NL tape. UT-534
Testing the post code returned by $TAPEIT when UT-534
4978 Display Station keyboard UT-563
4980 Display Station UT-563

.':;d

Figures

xiii

Figures

37. Control Chart for 4978 Display Station UT-564
38. Control Chart for 4980 Display Station UT-565
39. $UPDATE parameter input menu UT-602

xiv

SC34-0644

o

o
Chapter 1. Introduction

Operating your IBM Series/1 Event Driven Executive (EDX) system involves many different
tasks, as follows:
•

C;

Installing the starter system
Generating a tailored operating system
Developing application programs
Operating your system
Determining hardware and/or software problems

•

Customizing your system

To perform these tasks, you use the operator commands and system utilities.

Operator Commands
Operator commands are instructions that represent a request for action by your EDX system.
When you enter an operator command, your EDX system performs the action specified by the
operator command.
Chapter 2, "Operator Commands" contains a description and the syntax of each operator
command, along with examples of its usage.

0 ,'·
,

,

Chapter 1. Introduction

UT -1

Introduction
Session Manager
The session manager is a collection of predefined screens called "menus" that you can use to
access system utilities and application programs from a display station.

o

Chapter 3, "Session Manager" contains an introduction to the session manager and a
description of the facility.

System Utilities
The system utilities are a set of programs that do everyday jobs on your Series! 1. The system
utilities are independent programs that can be run concurrently with other application programs
or utilities.
Chapter 4, "Utilities" contains a description of each system utility. The utilities are presented in
alphabetical order.

Job Cross-Reference Chart
The following chart directs you to the operator command or system utility that will help you do a
particular job. There are four columns within the chart.
JOB

This column lists specific jobs you may want to perform. ,

OPERATOR COMMAND/UTILITY
This column lists the name of the operator command or utility used to perform the
job.
SESSION MANAGER OPTION
If a utility can be accessed through the session manager, the session manager option
number is listed.
GUIDE INFORMATION
If instructions for doing a specific job are included in the Operation Guide, Event
Driven Executive Language Programming Guide, Communications Guide, Problem
Determination Guide, or Installation and System Generation Guide, the page prefix of
the guide is listed.

o
UT -2

SC34-0644

Job Cross-Reference Chart (continued)
The prefix for each guide within the EDX library follows:
PG

Event Driven Language Programming Guide

CO

Communications Guide

CU

Customization Guide

IS

Installation and System Generation Guide

OP

Operations Guide

PD

Problem Determination Guide
Operator
Command/
Utility

Session
Manager
Option

Allocate a data set

$OISKUT1
$TAPEUT1

3.1
3.10

OP, IS

Allocate an H-exchange data set

$HXUT1

3.11

OP

Allocate a member in a graphics data base

$OICOMP

5.2

-

Allocate a volume

$INITOSK

3.7

OP, IS

Allocate a volume under a fixed head

$INITOSK

3.7

OP, IS

Analyze GPIB errors

$GPIBUT1

4.9

CO,PO

Analyze hardware errors

$OUMP

9.1

PO

Analyze program checks

$OUMP

9.1

PO

Analyze tape surface for defects

$TAPEUT1

3.10

-

Browse a source data set

$FSEOIT

1

-

Cancel a program

$C

-

OP

Change hard-copy device

$TERMUT1

4.1

OP

Change print screen PF key

$TERMUT1

4.1

OP

Change spooJ job attributes

$SPLUT1

4.7

OP

Change a tape label

$TAPEUT1

3.10

OP

Job

Guide
Information

Figure 1 (Part 1 of 7), Job Cross-reference Chart

o
Chapter 1. Introduction

UT-3

Introduction
Job Cross-Reference Chart (continued)
'~.
(.J
'

Job
Change a terminal address

Operator
Command/
Utility

Session
Manager
Option

$TERMUT1

4.1

Guide
Information
OP

Close job created by $DEBUG

$DEBUG

-

-

Compile an EDL program

$EDXASM

2.1

PG,OP

Compile and link edit an EDL program

2.2

PG,OP

Compile a program on a S/370 and execute it on a Series/1

$EDXASM
$EDXLlNK
$UPDATEH

2.10

-

Compress one volume or all volumes on a device

$COMPRES

3.4

OP

Controlling the job queue processor

$JOBQUT

10.1

OP

Control printer spooling

$SPLUT1

4.7

OP

Convert object modules to executing code

2.7
2.9

PG

Copy all data sets

$EDXLlNK
$UPDATE
$COPYUT1

3.3

OP

Copy a data set with automatic allocation

$COPYUT1

3.3

IS,OP

Copy all data sets with the same prefix

$COPYUT1

3.3

OP

Copy a basic exchange data set

$COPY

3.5

OP

Copy a disk/ diskette data set to tape

$TAPEUT1

3.10

OP

Copy an H-exchange data set

$HXUT1

3.11

OP

Copy a tape data set to diskette

$TAPEUT1

3.10

OP

Copy a tape data set to tape

$TAPEUT1

3.10

OP

Copy a $TRAP data set to two diskettes

$COPY

3.5

OP

Copy a volume or data set to an allocated volume or data set

$COPY

3.5

OP

Create an upper/lower case data set

1
4.2
4.5

OP

Create your own terminal keyboard characters

$FSEDIT
$TERMUT2
$FONT

-

Date and time, display

$W

-

OP

Date and time, set

$T

-

OP

Figure 1 (Part 2 of 7). Job Cross-reference Chart

UT..4

SC34-0644

1

o

o

Job Cross-Reference Chart (continued)

Job

Operator
Command/
Utility

Session
Manager
Option

Guide
Information

Delete job queue

$JOBQUT

10.1

OP

Delete a data set

$DISKUT1

3.1

OP

Delete all data sets with the same prefix

$DISKUT1

3.1

OP

Delete a volume

$INITDSK

3.7

OP

Determine address of a data set

$DISKUT1

3.1

-

Determine how many records a data set contains

$DISKUT1

3.1

OP

Determine terminal name, address, type and partition assignment

$TERMUT1

4.1

OP

Determine how much free space is on a volume

$DISKUT1

3.1

OP

Determine the hardware supported by supervisor

$IOTEST

9.3

OP, IS

Device, set offline

$VARYOFF

-

OP

Device, set online

$VARYON

-

OP

Display data/volume/storage contents in decimal, EBCDIC, or
hexadecimal

$DEBUG
$DISKUT2

-3.2,9.2

PD,OP

Dump storage to a data set on error condition

$TRAP

-

PD,OP

Dump unmapped storage

$TRAP
$DUMP

-

PD,OP

Estimate progress of compress

$COMPRES

3.4

OP

Eject a page

$E

-

OP

End job queue processing

$JOBQUT

10.1

PD

Enter source statements

$FSEDIT

1

PG,OP

Erase contents of a data set

$DISKUT2

3.2,9.2

-

Erase display screen

$B

-

OP

Format and print BSC trace data sets

$BSCTRCE
$BSCUT1

8.1
8.2

CO,PD

Format and print error log information

$DISKUT2

3.2,9.2

OP, PD

Generate a supervisor

$XPSLlNK

2.8
2.13

IS

Figure 1 (Part 3 of 7). Job Cross-reference Chart

o
Chapter 1. Introduction

UT-5

Introduction
Job Cross .. Reference Chart (continued)

o

Job
Hold a job in the job queue processor

$JOBOUT

Session
Manager
Option
10.1

Identify the program function keys on a 4978 and 4980 display station

$PFMAP

4.6

-

Increase the size of a data set

3.1
3.5
3.6

-

Initialize unmapped storage as a disk

$DISKUT1
$COPY
$DASDI
$MEMDISK
$MEMDISK

-

OP

Initialize a diskette to EDX format

$DASDI

3.6

OP

Initialize a diskette to exchange format

$DASDI

3.6

OP

Initialize a diskette for a stand-alone/$TRAP dump

$DASDI

3.6

OP

Initialize a tape

$TAPEUT1

3.10

OP

Invoke your own operator command

$U

-

Op, CU

IPL a ">'TIote Series/ 1

$S1 S1 UT1

4.8

CO

Job queue processing controller

$JOBOUT

10.1

OP

Job queue job submission utility

$SUBMIT

10.2

OP

Link edit programs

$EDXLlNK

2.7

PG,OP

List all data sets

$DISKUT1

3.1

OP

List data sets by type (program or data)

$DISKUT1

3.1

OP

List all data sets with same prefix

$DISKUT1

3.1

OP

List a directory

$INITDSK

3.7

OP

List all volumes on all disk! diskette devices

3.1

OP

List all volumes on a particular device

$DISKUT1
$INITDSK
$INITDSK

3.7

OP

List information about one data set

$DISKUT1

3.1

OP

List messages in source message data set

$MSGUT1

2.14

OP

Load and execute a program

$L

-

OP

Initialize a disk

Operator
Command/
Utility

Guide
Information
OP

IS,OP

Figure 1 (Part 4 of 7). Job Cross-reference Chart

o
UT-6

SC34-0644

o

Job Cross-Reference Chart (continued)

Job

Operator
Command/
Utility

Session
Manager
Option

Guide
Information

Load 4980 terminal

$TERMUT2

4.2

OP

Loading control image

$TERMUT2

4.2

OP

Loading control store

$TERMUT2

4.2

OP

Locate required data sets/overlays before program execution

$PREFINO

2.11

-

Message-source processing

$MSGUT1

2.14

OP

Modify a source data set

$FSEOIT

1

OP,PG

Partition assigned to terminal, change

$CP

-

OP

Prepare Version 1 and 2 data sets for use with Version 5

$MIGRATE
$MIGAIO
$MIGCOPY

-

IS

Print a formatted $TRAP dump

$OUMP

9.1

OP,PO

Print a stand-alone dump

$OUMP

9.1

OP, PO

Programs, display all active

$AALL

-

OP

Programs, display all active in terminal's partition

$A

-

OP

Recognizing intermittent program errors

$TRAP

-

OP, PO

Recording hardware errors

$LOG

-

PO

Recover a backed-up data set

$MOVEVOL

3.8

OP

Redefine terminal scrolling

$TERMUT1

4.1

-

Rename a disk/ diskette volume

$INITOSK

3.7

OP

Rename a terminal

$TERMUT1

4.1

OP

Restart job queue processing

$JOBQUT

10.1

OP

Retrieve a data set from a host

$EOIT1 N

-

-

Running batch job streams

$JOBUTIL
$SUBMIT

7
10.2

OP

Running multiple jobs

$JOBUTIL
$SUBMIT

7
10.2

OP

Figure 1 (Part S of 7). Job Cross-reference Chart

o
Chapter 1. Introduction

UT -7

Introduction
Job Cross-Reference Chart (continued)

Job

Operator
Command/
Utility

Session
Manager
Option

Guide
Information

Send a data set to a host

$HCFUT1

8.8

CO

Send a message to a terminal

$TERMUT3

4.3

OP

Setting PF keys

$TERMUT2

4.2

OP

Setting a terminal offline or online

$TERMUT1

4.1

OP

Sort a disk/ diskette volume directory

$DIRECT

-

-

Spooling, change forms type

$SALT

-

OP

Spooling, change heading id

$SALT

-

OP

Spooling, change number of copies

$SALT

-

OP

Spooling, change printer

$SALT

-

OP

Spooling, delete a job

$S DEL

-

OP

Spooling, delete a set of jobs

$S DG

-

OP

Spooling, display status of jobs

$S DISP

-

OP

Spooling, display status of resources

$S DISP

-

OP

Spooling, display status of writers

$S DISP

-

OP

Spooling, hold jobs

$S HOLD

-

OP

Spooling, keep a job after printing

$S KEEP

-

OP

Spooling, release held jobs

$S REL

-

OP

Spooling, restart a writer

$S WRES

-

OP

Spooling, start

$L$SPOOL

-

OP

Spooling, start a writer

$S WSTR

-

OP

Spooling, stop

$S STOP

-

OP

Spooling, stop a writer

$S WSTP

-

OP

Storage, change contents (patch)

$p

-

-

Figure 1 (Part 6 of 7). Job Cross-reference Chart

o
UT -8

SC34-0644

o

Job Cross-Reference Chart (continued)

Job

Operator
Command/
Utility

Storage, display contents

$0

Session
Manager
Option
-

Storage map, display for all partitions

$AALL

-

OP

Storage map, display for terminal's partition

$A

-

OP

Submit a job into a host batch job stream

$EOIT1N

-

-

Suspend job queue processing

$JOBQUT

10.1

OP

Test the binary synchronous access method (BSCAM)

$BSCUT2

8.3

CO, PO

Test tape label type to ensure I/O commands executing correctly

$TAPEUT1

3.10

-

Test the operation of sensor I/O features

$IOTEST

9.3

-

Trace I/O activities on a BSC line

$BSCTRCE

8.1

CO, PO

Transport data sets across a bisync line

$TRANS

-

OP

Trap storage image on error condition

$TRAP

-

PO

Trap to two diskettes

$TRAP

-

PO,OP

Verify BSC hardware and software assignments

$BSCUT2

8.3

CO, PO

Verify Series/1-Series/1 attachment performing correctly

$S1S1UT1

4.8

CO, PO

Write a tape label

$TAPEUT1

3.10

OP

Guide
Information
OP

Figure 1 (Part 7 of 7). Job Cross-reference Chart

o
Chapter 1. Introduction

UT-9

Notes

o
UT -10

SC34-0644

o
Chapter 2. Operator Commands

The system operator commands provide system control functions from your terminaL They tell
EDX to do things such as load a program and set the time and date. The 14 operator commands
and their functions are:

(~\

Command

Function

$A

Displa ys partition sizes and addresses and the names, locations, and loading
terminal names of all loaded programs.

$B

Blanks the display terminal screen.

$C

Cancels a running program.

$CP

Changes the partition assigned to a terminal.

$D

Displays the contents of storage.

$E

Ejects a page on the printer.

$L

Loads a program.

$P

Patches storage.

$S

Controls the spooling of program output.

$T

Enters the date and time.

$U

Invokes a user-written routine.

o
Chapter 2. Operator Commands

UT -11

Operator Commands

$VARYOFF

Sets a device offline.

$VARYON

Sets a device online.

$W

Displays the date and time.

o

This chapter shows you how to enter an operator command and describes the function and
syntax of each command. Refer to the Operation Guide for procedures that use the operator
commands.

Entering Commands
You can enter operator commands in one of two ways: prompt-reply or single-line format. With
prompt-reply format you enter the command name and each parameter as the system asks for it.
With single-line format you enter the command name and all the parameters on the same line.
The following examples show you how to use the two formats.

Prompt-Reply Format
Press the attention key. After EDX responds with the greater-than sign (», type the operator
command and press the enter key. EDX responds with a prompt for the next parameter as each
parameter is entered.
>

$L
PGM(NAME, VOLUME, STORAGE): MYPROG,MYVOL ,256
LOADtNG MYP~OG
4p,Oa:30:45,LP~ 0000, PART=2

Single-Line Format
Press the attention key. After EDX responds with the greater-than sign (», type the operator
command and all parameters in the order expected by EDX, and press the enter key.
You can enter all operator commands (except $T - set date and time) in the single-line format.

L,

$L MVPROG,MYVOl,256

o
UT-12

SC34-0644

o

Entering Commands (continued)
Operator Command Descriptions
This section contains a description and the syntax of each operator command arranged in
alphabetical order.

Syntax Conventions
The following conventions are used in the presentation of the operator command syntax:
Uppercase

If a parameter is shown in all uppercase letters, enter it exactly as shown.
if

Lowercase

If a parameter is shown is all lowercase letters, substitute a variable value.

[]

If two or more parameters are enclosed in brackets, chose one of them. The

parameters within the brackets are separated by the or ( I ) character.
If parameters are separated by the or ( I ) character, choose one of them.

$A - List Partitions and Active Programs
Use the $A operator command to list the storage partitions defined for your EDX operating
system. (A partition is a portion of storage in which programs run.) When you enter the $A
command, the system provides the starting address, the name of the terminal from which the
program was loaded, the size of each partition, and whether or not a partition is static or
dynamic. It also tells you the names and address of each program active in each partition.
You can use $A to list all partitions or only the one to which your terminal is assigned.

Syntax:

$A

ALL I blank

Required:
Default:

none
starting address,size, and active programs of
partition currently assigned to

Chapter 2. Operator Commands

UT -13

Operator Commands
Operator Command Descriptions (continued)
Operands

Description

ALL

Displays the starting addresses and sizes of all partitions and the active programs in
each partition.

blank

If you do not enter ALL, EDX displays the starting addresses of the programs active

in the partition where your terminal is running.

$B - Blank Display Screen
Use the

$B

operator command to erase all information on your display terminal screen.

Syntax:

$8
Required:
Default:

UT -14

SC34-0644

none
none

Operands

Description

None

None

o

o

Operator Command Descriptions (continued)
$C - Cancel Program
Use the $C operator command to cancel a program running in the same partition as your
terminal. If there is more than one program of the same name, EDX asks (prompts) you for the
load address of the program. The load address is the storage address where the program starts.
You can find this address using the $A operator command.
Notes:
1. $C should not be used as the normal means of stopping a program.
2. $C should not be used to cancel some of the system utilities. If $C should not be used, the
utility warns you on the first screen it displays.

Syntax:

$C

program

Required:
Default:

program
none

Operands

Description

program

The name of the program to cancel.

$CP - Change Display Terminal's Partition Assignment
Some jobs require that the display terminal be running in the same partition as the object of the
job, such as $C to cancel a program. Use the $CP operator command to change the partition
number for the terminal you are using.

Syntax:

$CP
Required:
Default:

n
n
none

Operands

Description

n

The partition to which the terminal is to be assigned.

o
Chapter 2. Operator Commands

UT -15

Operator Commands
Operator Command Descriptions (continued)
$0 - Dump Storage

a

Use the $D operator command to display, or dump, the contents of an area of storage on the
screen of your display terminal. When you enter the $D command, EDX displays the
hexadecimal contents of the specified storage locations.

Syntax:

$D
Required:
Default:

origin,address,count
origin
address defaults to 0
count defaults to 1.

Operands

Description

origin

The hexadecimal origin address. This can be any address, but if the address
parameter is a displacement into a program, this value is the program load point.

address

The hexadecimal displacement from origin at which the dump is to start.

count

The decimal number of words to dump (maximum value of 16).

C··"

./

$E - Eject Printer Page
Use the $E operator command to advance (eject) one or more pages on the specified printer.
Entering a number with $E advances the paper that number of pages.

Syntax:

$E

Required:
Default:

n printername
none
ejects one page, $SYSPRTR

Operands

Description

n

The number of pages to eject. Defaults to printername.

o
UT -16

SC34-0644

o

Operator Command Descriptions (continued)
$L - Load a Program or Utility
Use the $L operator command to load a program into storage and start it running.

Syntax:

$L

program,volume,storage data sets

Required:
Default:

program
volume defaults to IPL volume; storage
defaults to the amount specified on the
PROGRAM statement of the program to be
loaded

Operands

Description

program

The name of the program being loaded. This is the same as the name of the data
set where the program is stored.

volume

The name of the volume containing the program data set.

storage

The total additional storage (in bytes) to be added to the end of the loaded
program (overrides the STORAGE= parameter specified in the PROGRAM
statement). The number of bytes that must be specified, if any, is determined by
local procedures. If a '*' is specified, the loaded program will receive the
maximum amount of contiguous free space available in that partition.

data sets

The data set and volume names of one to nine data sets being passed to the
program. This parameter is required if DS=?? is coded on the PROGRAM
statement. The data sets must be specified in the order used by the program and
entered in the format: name, volume name, ... If data set names are required and
you do not enter them as part of a single-line command, EDX prompts you for
them.

o
Chapter 2. Operator Commands

UT -17

Operator Commands
Operator Command Descriptions (continued)
$P - Patch Storage

o

Use the $P operator command to change (patch) one or more words of storage. (Refer to the
Problem Determination Guide for instructions on using $P.)
Note: Patching of main storage is only valid for the current session. When the system is
reinitialized (IPL'D) or the executing program is reloaded, the patched data reverts to its original
value.

Syntax:

$P
Required:
Default:

origin,address,count
origin
address defaults to 0
count defaults to 1.

Operands

Description

origin

The hexadecimal origin address (program load point). Use the $A operator
command to determine this address.

address

The hexadecimal address in the program where the patch statts.

count

The decimal number of words being patched. A maximum of 16 words can be
patched.

()
UT -18

SC34-0644

o

Operator Command Descriptions (continued)
$S - Control Spooled Program Output
Use the $S operator command to control the operation of printer spooling from your display
terminal. $S has several subcommands that do these control functions. The syntax for these
sub commands is described on the following pages under:
•
•
•

•

•
•

"$S - List Subcommands" on page UT-20
"$S ALT - Alter Spool Job Printing" on page UT-20
"$S DALL - Delete All Spool Jobs" on page UT-21
"$S DE - Delete a Spool Job" on page UT -22
"$S DG - Delete Generic Spool Jobs" on page UT -22
"$S DISP - Display Spool Status Information" on page UT -23
"$S HOLD - Hold Spool Job(s)" on page UT -23
"$S KEEP - Keep or Release a Spool Job" on page UT -24
"$S REL - Release Spool Job(s)" on page UT-24
"$S STOP - Stop Spooling Facility" on page UT -25
"$S WRES - Restart a Spool Writer" on page UT-25
"$S WSTP - Stop a Spool Writer" on page UT -26
"$S WSTR - Start a Spool Writer" on page UT -27

o
Chapter 2. Operator Commands

UT-19

Operator Commands
Operator Command Descriptions (continued)

0'.'"
"

$S - List Subcommands

Use the

$S

command to obtain a list of the $S subcommands.

Syntax:

$5
Required: none
Default: none

$S ALT - Alter Spool Job Printing

Use the $S ALT command to change the parameters that control the way a spool job is printed.
You can:

•
•
•

Change the number of copies printed.
Change the forms code for the job.
Change the job name used on the spool job separator page.
Redirect one spool job to a different printer.
Redirect all spool jobs from one printer to another printer.
Specify that forms alignment be verified before a job is printed.

(~.)
..

Syntax:

$5 ALT
$5 ALT

'

"\.

id
[COpy n I FORM code I NAME heading I WRIT name I ALIGN YIN]
or
WRIT cwriter nwriter

Required: id and either COpy FORM NAME WRIT or ALIGN
or
WRIT cwriter nwriter
Default: none

o
UT-20

SC34-0644

o

Operator Command Descriptions (continued)
Operands

Description

id

The one-to-three-digit identification assigned to a spool job by the spool facility.
This identification is included on the spool status report generated by the $S DISP ALL
operator command.

COpy

n - The number of copies to be printed (must be from 1 to 127).

FORM

code - The four-character code identifying the forms required to print the spool job.

NAME

heading - A one-to-eight-character heading printed on the spool job separator page.
It defaults to the name of the program which created the spool job.

WRIT

o

ALIGN

The name of the spoolable printer or display terminal. The "WRIT name" form of
this parameter is used to assign a printer or display terminal to a particular spool job.
The "WRIT cwriter nwriter" form is used to redirect spool jobs from one spool
device to another.
name

The name of the spool device for this spool job.

cwriter

The name of the current spool device whose spool jobs are to be
redirected.

nwriter

The name of the new spool device.

YIN - Specifies whether forms alignment is to be verified before the spool job is
printed (Y=yes, N=no). Alignment is verified for the next complete copy of the
job. Alignment is not verified for a job that is printing when this command is
entered or for a job that has been stopped with the $S WSTP command.

$S DALL - Delete All Spool Jobs

Use $S DALL to delete all ready or printing spool jobs.

Syntax:

$5 DALL

Required: None
Default: None

Operands

Description

None

None

o
Chapter 2. Operator Commands

UT -21

Operator Commands
Operator Command Descriptions (continued)
$S DE - Delete a Spool Job

Use $S DE to delete one spool job that is either ready or printing.

Syntax:

$5 DE

id

Required: id
Default: None

Operands

Description

id

The one-to-three-digit identification assigned to a spool job by the spool facility.
This identification is included on the spool status report generated by the $S DISP
ALL operator command.

$S DG - Delete Generic Spool Jobs

Use the $S DG command to delete all ready or printing spool jobs that have a name starting with
a specified prefix.
~--'\,

~J

Syntax:

$5 DG

string

Required: string
Default: None

Operands

Description

string

A one-to-eight-character prefix that specifies the spool jobs to be deleted. All
spool jobs with this prefix are deleted.

o
UT -22

SC34-0644

o

Operator Command Descriptions (continued)
$S DISP - Display Spool Status Information

Use $S DISP to display information about spool jobs, spool resources, and spool writers.

Syntax:

id I ALL I STAT

$S DISP
Required:
Default:

None
ALL

Operands

Description

id

The internal one-to-three-character identification assigned to a spool job by the
spool facility. This identification is obtained by using the $S DISP ALL command.

ALL

Displays the status of all spool jobs, all spool writers, and all spool resources.

STAT

Displays the status of the spool resources.

$S HOLD - Hold Spool Job(s)

Use the $S HOLD command to hold a specific spool job, or all spool jobs, from being printed.
Only active and ready spool jobs can be held.

Syntax:

$S HOLD

idlALL

Required: None
Default: ALL

Operands

Description

id

The one-to-three-character identification assigned to a spool job by the spool
facility. This identification is included on the spool status report generated by the
$S DISP ALL operator command.

ALL

Holds all active and ready spool jobs and all future spool jobs.

o
Chapter 2. Operator Commands

UT -23

Operator Commands
Operator Command Descriptions (continued)
$S KEEP· Keep or Release a Spool Job

o

Use $S KEEP to keep a specific spool job from being deleted or to delete a job that has been
kept. When a kept job is released, $SPOOL prints one additional copy before deleting the job.

Syntax:

$5 KEEP

id yiN

Required: id and either Y or N
Default: None

Operands

Description

id

The one-to-three-character identification assigned to a spool job by the spool
facility. This identification is included on the spool status report generated by the
$S DISP ALL operator command.

Y

Keeps the spool job available after it is printed. The spool job is both held and
kept after printing, with the number of copies set to one. Thus, when released by
using the $S REL command, it is printed (even if printed once already).·

N

Deletes the spool job from the system after it is printed. When released by use of
this operand, the number of copies of the spool job to be printed is set to one, even
if more than one copy was requested before the job was kept.

()

$S REL • Release Spool Job(s)

Use $S REL to release one, or all, held jobs for printing. A released job resumes its place in the
ready queue; that is, its print order is still determined by the order in which it originally became
ready.

Syntax:

$5 REL

id I ALL

Required: None
Default: ALL

o
UT -24

SC34-0644

o

Operator Command Descriptions (continued)
Operands

Description

id

The one-to-three-character identification assigned to a spool job by the spool
facility. This identification is included on the spool status report generated by the
$S DISP ALL operator command.

ALL

Releases all currently held spool jobs. This resets the effect of the $S HOLD ALL
command.

$S STOP - Stop Spooling Facility

Use $S STOP to stop the spooling facility. Spooling stops when any jobs in active or printing
status finish.

Syntax:

$S STOP
Required: None
Default: None

Operands

Description

None

None

$S WRES - Restart a Spool Writer

Use $S WRES to restart a temporarily stopped spool writer. You can restart a writer:

•

at the beginning of the interrupted job
at the line following the last line printed
at a specified number of lines or pages before or after the last line printed

Syntax:

[IMM I JOB I B nnn LIP IF nnn LIP] code

$S WRES

name

Required:

name
nnn and L or P if B or F specified
IMM
code defaults to blanks

Default:

o
Chapter 2. Operator Commands

UT -25

Operator Commands
Operator Command Descriptions (continued)
Operands

Description

name

The name of the writer which is to be restarted.

IMM

Resume printing at the next line of the interrupted spool job.

JOB

Resume printing at the start of the interrupted spool job.

B

Resume printing nnn lines (L) or pages (P) before the line where the job was
stopped.

F

Resume printing nnn lines (L) or pages (P) after the line where the job was
stopped.

nnn

The number of lines or pages backward (B) or forward (F) from the point of
interruption. Specify this parameter if you specified B or F.

o

If the writer scrolls to the start of the spool job, the complete job is printed. If the

writer scrolls to the end of the spool job, the job is not printed.
L

Specifies that nnn is in lines.

p

Specifies that nnn is in pages.

code

The four-character forms code for the forms to be used for jobs printed by this
writer. A new forms code specification takes effect when the writer processes the
next job or the next copy of the current job. Defaults to blanks.

c

$S WSTP - Stop a Spool Writer

Use
•

$S WSTP

to stop a spool writer. You can stop a spool writer:

immediately at the start of the next line of the spool job or at the end of the current job
temporarily, to be restarted with the $S WRES command, or permanently. A spool job that is
permanently stopped is restarted with the $S WSTR command.

Syntax:

$S WSTP
Required:
Default:

name

[IMMIJOB] [TERMINOTERM]

name
IMM NOTERM

()
UT -26

SC34-0644

o

Operator Command Descriptions (continued)
Operands

Description

name

The name of the writer which is being stopped.

IMM

Stop printing at the next line of the spool job.

JOB

Stop printing at the end of the current job.

TERM

Stop permanently. (The dedicated printer is released and writer task is ended.)
Note: A permanently stopped writer task can only be restarted by the $S WSTR
command.

NOTERM

Stop temporarily. The writer can be restarted by the $S WRES command. (The
writer maintains control of the printer device.)

$S WSTR - Start a Spool Writer

Use $S WSTR to start a spool writer and specify a forms code.

Syntax:

$5 W5TR

name code

Required:
Default:

name
code - defaults to blanks

Operands

Description

name

The name of the printer for which the writer is to be started. This is also the name
of the writer.

code

The four-character forms code for the printer forms used with the jobs printed by
this writer. Defaults to blanks.

$T - Set Date and Time
Use the $T operator command to set the date and time in the EDX operating system.
You can only enter $T from a display terminal named $SYSLOG or $SYSLOGA (the system logging
display terminal or its alternate). If you enter it from a terminal with another name, the system
displays the date and time as if you had entered a $W command.
Note: $T must be entered in prompt-reply format.

C',;
,

,<

Chapter 2. Operator Commands

UT-27

Operator Commands
Operator Command Descriptions (continued)

~"-.~

\~,)

Syntax:

$T

date,time

Required:
Default:

date,time
date defaults to 00/00/00
time defaults to 00:00:00

Operands

Description

date

The current date. Can be entered as mm/dd/yy, mm.dd.yy., or mm ddyy.

time

The current time. Can be entered as hh:mm:ss, hh.mm, or hh mm.

$U - Invoke Your Own Operator Command
Use the $U operator command to enter an operator command function that is unique to your
system. Refer to Customization Guide for information on how to write a program for the $U
operator command.
If $U is entered and your system does not have a program to support it, EDX displays the

message "FUNCTION NOT DEFINED."

$VARYOFF - Set Device Offline
Use the $VARYOFF command to set a diskette or tape drive offline. When a diskette or tape
drive is offline, the computer does not control it. When you vary a tape drive offline, the system
rewinds the tape to the beginning.
When you remove a diskette from a diskette unit, issue the $VARYOFF command to vary the slot
used offline. Otherwise, EDX will continue to use that diskette.

Syntax:

$VARYOFF ioda slot
Required:
Default:

ioda
none

o
UT -28

SC34-0644

o

Operator Command Descriptions (continued)
Operands

Description

ioda

The hexadecimal device address of the diskette or tape device being varied offline.

slot

The number of the 4966 diskettes being varied offline. This parameter is valid only
for the 4966 diskette unit. The valid slot numbers for the 4966 magazine unit are:

o
1
2

3
A
B

All diskettes (1,2,3 ,A,B)
Slot 1
Slot 2
Slot 3
Magazine 1
Magazine 2

$VARYON - Set Device Online
Use the $VARYON operator command to set a diskette or tape drive online. Use the $VARYOFF
operator command to cancel each $VARYON command.

e

You do not have to enter $VARYON when you put a new diskette into a 4964 or 4965 diskette
unit. Your system automatically varies these devices online when you shut the door of the
diskette unit. You MUST, however, issue the $VARYON command before attempting to use a tape
unit or a 4966 diskette unit.
'l

,/

Syntax:

$VARYON

ioda slot I file EX

Required:
Default:

ioda
file defaults to 1
maximum value of file is 255

Operands

Description

ioda

The hexadecimal device address of the diskette or tape device being varied online.

slot

The number of the 4966 slot containing the diskette being varied online. This
parameter is valid only for the 4966 diskette unit. The valid slot numbers for the
4966 magazine unit are:

o
1
2
3
A

All diskettes (1, 2, 3, A, B)
Slot 1
Slot 2
Slot 3
Magazine 1

o
Chapter 2. Operator Commands

UT -2 9

Operator Commands
Operator Command Descriptions (continued)
B Magazine 2
file

The decimal file number on the tape being accessed.

EX

Override the tape expiration date. If a tape data set is initialized with an expiration
date, EX must be used to be able to write to that tape data set. The file number
must also be specified.

The "file" and "EX" parameters are valid only for tape devices.

$W - Display Date and Time
Use the $W operator command to display the date and time, according to your EDX system, on
your display terminal.

Syntax:

$W
Required:
Default:

Operands

none
none

Description

None

()
UT-30

SC34-0644

o
Chapter 3. Session Manager

The session manager provides access to system utilities and application programs from a display
terminal. It uses a series of menu screens to direct you to the system utility you need and/or
prompts you for parameters, such as data set names, needed by the option you chose.

CI

This chapter explains the session manager screens and options. It also contains a table that
cross references the system utilities supported by the session manager to the appropriate menu
option.

o
Chapter 3. Session Manager

UT -31

Session Manager
Invoking the Session Manager
The session manager must be active at your display terminal before you can use it. This can be
accomplished by either loading it for that specific terminal, or having it loaded automatically
during initial program load (IPL) of the EDX system. When the session manager is loaded during
IPL, EDX loads a copy for each display terminal recognized by the operating system.
The session manager is loaded for a specific terminal using the $L operator command as follows:

~~i;~N' ,~S~~Ji{ i.
To load the session manager automatically, you must rename the session manager initialization
program from $SMINIT to $INITIAL. This is done using the $DISKUTl RE command as follows:

When the session manager is loaded, it displays the logon menu shown in Figure 2 on page
UT-33.

Menus
The session manager menus, or display screens, list system facilities available through the
session manager. They also display prompts for required parameters.
The session manager has the following menus:
•
•
•

Logon/logoff
Primary option
Secondary option
Parameter input
Custom

Logon/Logoff Menu
The logon menu prompts you for a user ID and an optional alternate session menu if you are
logging on to the session manager, or for the word LOGOFF if you are ending your session
(logging off).
Your user ID must be 1 to 4 unique characters, such as your initials. The session manager. uses
your ID as part of the data set names of six work data sets that it allocates for your session. It
does not use your ID as a password to verify that you are authorized to use the system.

UT -32

SC34-0644

o

o

Menus (continued)
The alternate session menu is an alternate menu that you want displayed instead of the primary
option menu. An alternate session menu is available only if your copy of the session manager
has been customized. (Refer to the Customization Guide for instructions on adding menus to the
session manager.)

$SMMLOG: THIS TERMINAL IS LOGGED ON.TOTHE SESSION MANAGER
08:55:31
ENTER 1~4 CHAR USER .D ==>
(ENTER LOGOFF TO EXIT)
ALTERNATE SESSION MENU
(OPTIONAL)

==>

Figure 2. Session manager logon/logoff menu

Primary Option Menu
The primary option menu lists all of the primary options provided with the session manager. If
your session manager has been customized, you may have additional options, or the options may
be different from the ones listed below. To select an option, enter the number of the option on
the SELECT OPTION prompt line. After you select a primary option, the session manager displays
a secondary option or parameter input menu. (See Figure 3 on page UT -34 for an example of
the primary option menu.)
The basic options are:
1. TEXT EDITING: Accesses the $FSEDIT text editor.

2.

PROGRAM PREP ARATION:

Accesses the program preparation utilities.

3. DATA MANAGEMENT: Accesses the utilities for managing data on disk, diskette, or tape.

4.

TERMINAL UTILITIES:

Accesses the terminal support utilities.

5. GRAPHICS UTILITIES: Accesses the utilities that generate, maintain, and display two- and
three-dimensional fixed graphic backgrounds, and store them in data sets.
6. EXEC PROGRAM/UTILITY: Allows you to load any program. The program can be an EDX
system program, an EDX utility, or an application program.
7. EXEC $JOBUTIL PROC: Allows you to load a previously built $JOBUTIL procedure.
8. COMMUNICATION UTILITIES: Accesses the utilities that support communications.
9. DIAGNOSTIC AIDS: Accesses the utilities that help with problem determination.
10. BACKGROUND JOB CONTROL UTILITIES: Accesses the job queue processing utilities.

Chapter 3. Session Manager

UT -33

Session Manager
Menus (continued)

o

Secondary Option Menu
A secondary option menu lists the utilities that are available under the related primary option.
Primary options 2, 3, 4, 5, 8, 9, and 10 have secondary option menus. Figure 4 shows an
example of the secondary option menu for primary option 2 - Program Preparation.
To select a secondary option, enter the number of the option on the SELECT OPTION prompt line.
After you select a secondary option, the session manager either displays a parameter input menu
or loads the requested utility.

()

o
UT -34

SC34-0644

o

Menus (continued)
Parameter Input Menu
The parameter input menus prompt you for parameters, such as a data set and volume name,
that are required by the requested utility.
Primary options 1, 6, and 7 have a parameter input menu but no secondary option menu. Figure
5 contains an example of the parameter input menu for the $EDXASM utility (primary option 2,
secondary option 1).
Enter the requested parameters in the format expected by the requested utility.
$SMMOZ01:SESSION,MANAGER $EDXASM PARAMETER INPUT MENU
ENTER/SELECT PARAMETERS:
'
PRESS PF3 TO RETURN
SOURCE INPUT

(NAME,VOLUME) ==> MYSRC,MYVOL

OBJECT OUTPUT

(NAME, VOLUME) ==> MYOB J ,MYVOL

OPTIONAL'PARAMETERS==> LI TERM2
(SELECr>F·ROMTHELIST BELOW)
"

'

FOR;GROU NO' ,OR :'BACKGROUND eFI BJ==> F
(:DEfAUC,T' ·JS.$.OREGRGUNO)

, . ~ .....:"';' ~.:.....-~ ';;;;'~'--':"; _.:~ :':"':'~-. i'~_'_'*f·~"';;;";·";' •.:.;..,..;.;... !'*"- -

:AVA tLABLE'PARAMEIEBS:
'NOLl.ST
LI STTERMI:NAL""NAME
. ERRORS TERM INAL""NAME
CONT,ROL.DATA SET ,voLUME
OVERLAY #

--

-''':':''~~..,;.-"

ABBREVI AT ION,:
NO
L I TERMNC-NAME
ERTERMNL-NAME
CO DATA,SET,VOL

OV'#

DEseR'l PJJO~l'
USED TOSUPPR'ESSLIST ING
USE;,LISf*FOR TERMNL
USE ERRORS * FOR TERMNL
$EtiXASM LANGUAGE £ONTROL
NUMBER OF AREAS FROM, 1 ·""6

Figure 5. Example session manager parameter input menu

Chapter 3. Session Manager

UT -35

Session Manager
Menus (continued)
The Background Option
Figure 5 shows that you can specify either the background or foreground option. This choice is
offered with options 2.1, 2.2, 2.7, 2.8, 2.13, 6, and 7. If you run a job in foreground, you
cannot use your terminal until the job has completed. Foreground is adequate for small jobs.
However, if you don't want to tie up your terminal waiting for a large job to complete, run in
background and the job will run on another terminal. Then you can continue to use your
terminal for another job.
If you try to code anything except an "F" or a blank for foreground or a "B" for background,

you will receive an "INVALID PARAMETER INPUT" message.
To submit a job through the background options of 10.1 or 10.2, the system must load the batch
control manager, $JOBQ. For a job to execute in background, 8K bytes of storage must be
available.

Note: See the $JOBQUT and $SUBMIT utilities for the screen examples.
The session manager allocates one additional work data set for the entire system to use for
. background processing. When you log onto the system, the session manager checks to see if this
work data set exists already. If it doesn't, the session manager allocates 400 records for the data
set. If the data set already exists, the session manager continues as usual. Every job submitted
in background that needs a work data set will use this preallocated data set. Since only one job
can run background at a time, there is no problem. If you delete this data set, the session
manager will reallocate it when the next user logs on.
Note: If you never intend to run background jobs, your system manager can move this entry
after the end statement in the data set $SMALLOC, EDX002 with $FSEDIT.

Custom Menus
You can add your own custom menus which give you access to your application programs with
the session manager. Refer to the Customization Guide for instructions on customizing the
session manager.

()
UT-36

SC34-0644

o

Data Sets
The session manager uses the following six work data sets for each person that is logged-on. (If
your session manager has been tailored as described in the Customization Guide, additional data
sets may be used.)

•

$SMEuser
$SMPuser
$SMWuser
$SMluser
$SM2user
$SM3user.

The data sets are allocated after you enter your user ID on the logon menu, unless they were
saved at the end of a previous session. The session manager uses your user ID as part of the data
set name, creating a unique set of data sets for each user.

0', ,
"

Chapter 3. Session Manager

UT -37

Session Manager
Data Sets (continued)
When you log off, the session manager gives you an opportunity to erase all work data sets
except $SMPuser. If you chose to save the data sets, the information they contain will be
available the next time you sign on with the same user ID. Figure 7 lists the six basic
session-manager data sets, their sizes, and their purpose.
Data set
name

Size in
256-byte
records

$SMEuser

400

$SMPuser

30

$SMWuser

30

o

Purpose
Used by the full-screen text editor ($FSEDIT) as a work data set.

Used by the session manger to save your input parameters. This data set is not
deleted at the end of a session, making your parameters available for the next
session.
Used by the session manger to submit procedures via the job procedure utility
($JOBUTIL).

$SMl user1

400

Used by

$SM2user1

400

Used by $EDXLlNK.
data set.

$SM3user l

250

Used by the Series/l Macro Assembler
work data set.

$S1ASM. $EDXASM. $COBOL. $PL/t. $PASCAL

and $FORT as a work data set.

$S1ASM. $EDXASM. $XPSLlNK. $COBOL. $PL/I,

and

$FORT

($S1ASM). $COBOL. $PASCAL.

as a work

and

$pLlI

as a

t"'~'''',

Figure 7. Session manager data sets

~_.,I

Note: If you use option 2.8 or 2.13, the session manager expands $SM2user to 600 records and
then resets it to 400 records.

Program Function Keys
The session manager has four program function (PF) keys defined for special use: PFl, PF2, PF3,
and PF4. They perform the following functions:

PFI Suspends the session manager, allowing you to enter operator commands. Suspending the
session manger is quicker than logging off and back on. To restart the session manager,
press the attention key, and enter $SM. The session manager returns to the menu you were
using when you pressed the PFI key.

These data sets must be deleted and reallocated to new sizes when using the session manger to invoke
compilers and assemblers. Recommended sizes for most programs are 2000 records for $SM1 USER and
$SM2USER and 800 records for $SM3USER.

o
UT -38

SC34-0644

o

Program Function Keys (continued)
When you press the PFI key, the session manager displays the following messages:

PF2 Restores the current menu screen to its appearance when first displayed. Use this key to
erase incorrect entries.
PF3 Returns to the previous menu.
PF4 Return directly to the primary option menu.

Supported Utilities
The following table lists the EDX system utilities that are supported by the session manager and
the primary and secondary option numbers for each. (See Figure 1 on page UT-3 for a table
which includes a list of the jobs that can be done with the session manager, including the
appropriate primary and secondary option numbers for each.)
Note: The session manager menus are independent of the EDX supervisor installed on
your EDX system. Therefore, all the utilities listed on the menu screens may not be a
part of your system.
Utility

Description

Options

$ARJE

Advanced RJ E program and utilities

8.10

$BSCTRCE

Trace I/O activity on a BSC line

8.1

$BSCUT1

Format BSC trace files

8.2

$BSCUT2

Communications I/O exerciser

8.3

$CHANUT1

Channel attach utility

8.9

$COBOL

COBOL language compiler

2.4

$COMPRES

Compress disk, diskette, or volume

3.4

$COPY

Copy data set or volume

3.5

Figure 8 (Part 1 of 3). Session Manager Options by Utility

o
Chapter 3. Session Manager

UT -39

Session Manager
Supported Utilities (continued)

()

Utility

Description

Options

$COPYUT1

Copy data set with allocation

3.3

$DASDI

Format disk or diskette

3.6

$DICOMP

Display and change graphics profiles

5.2

$DIINTR

Graphics interpreter

5.3

$DISKUT1

Allocate, delete, list data set directory data

3.1

$DISKUT2

Patch, dump, or list a data set or program a data set
or proQram

3.2,9.2

$DIUTIL

Maintain partitioned data base

5.1

$DUMP

Format and list saved environment

9.1

$EDXASM

Event Driven Language Compiler

2.1

$EDXASM/$EDXLlNK

Compile and link

2.2

$EDXASM/$XPSLlNK

Compile and link a supervisor program

2.13

$EDXLlNK

Linkage editor

2.7

$FONT

Process 4974, 4978, and 4980 character image
tables

4.5

$FORT

FORTRAN language compiler

2.5

$FSEDIT

Full-screen editor

1

$GPIBUT1

General purpose interface bus utility

4.9

$HCFUT1

Interact with Host Communications Facility

8.8

$HXUT1

H exchange diskette utility

3.11

$IAMUT1

Indexed Access Method Utility

3.9

$IMAGE

Define 4978,4979,4980 or 3101 screen image

4.4

$INITDSK

Initialize disk or diskette, and volume control

3.7

$IOTEST

Test sensor I/O; list hardware configuration

9.3

$JOBUTIL

Job stream processor

7

C)

Figure 8 (Part 2 of 3). Session Manager Options by Utility

o
UT -40

SC34-0644

o

c

Supported Utilities (continued)
Utility

Description

Options

$JOBQUT

Job queue processing controller

10.1

$MOVEVOL

Disk volume dump and restore

3.8

$MSGUT1

Message-source processing

2.14

$PASCAL/$EDXLlNK

Pascal language compile and link

2.12

$PFMAP

Display 4978 and 4980 PF key codes

4.6

$PLI / $E DXLI N K

PLI language compile and link

2.6

$PREFIND

Prefind data sets and EDL overlays

2.11

$PRT2780

2780 spooled RJ E file printer

8.6

$PRT3780

3780 spooled RJ E file printer

8.7

$RJE2780

2780 remote job entry to host

8.4

$RJE3780

3780 remote job entry to host

8.5

$SPLUT1

Spool utility

4.7

$SUBMIT

Job queue job submission utility

10.2

$S1ASM

Series /1 assembler

2.3

$S1 S1 UT1

Series/1 to Series/1

4.8

$TAPEUT1

Tape management

3.10

$TERMUT1

Change terminal parameters

4.1

$TERMUT2

Change 4974, 4978, and 4980 image or control
store

4.2

$TERMUT3

Send message to a terminal

4.3

$UPDATE

Converting Series /1 programs

2.9

$UPDATEH

Convert host system programs

2.10

$VERIFY

Verify Indexed Access Method Files

9.4

$XPSLlNK

Link a supervisor program

2.8

Figure 8 (Part 3 of 3). Session Manager Options by Utility

o
Chapter 3. Session Manager

UT -41

Notes

o

(

~

I

UT -42

SC34-0644

)

o
Chapter 4. Utilities

The system utilities are a set of programs supplied with the Event Driven Executive. They allow
you to interactively communicate with the system and perform tasks necessary for Series/l
application program development and system maintenance.

c'

This chapter provides detailed descriptions (in alphabetical order) of the EDX system utility
programs.

Invoking the Utilities
The Event Driven Executive provides three ways to invoke the utility programs from a terminal:
Session manager

You choose the desired utility program from a predefined option menu.
This is the easiest to use for interactive utilities because you only enter
option numbers (not program names) to access the function needed.

$JOBUTIL

The job stream processor utility is used to invoke a predefined sequence of
utility programs and to pass parameters to those programs. $JOBUTIL can
be invoked by the $L operator command or the session manager.

$L command

Enter the operator command $L (load program), followed by the utility
name. All utilities described in this chapter can be invoked using $L.

o
Chapter 4. Utilities

UT-43

Utilities
Invoking the Utilities (continued)
Any utility invoked results in a loading message being displayed. The following example is for
illustrative purposes only.

o

Here, UTILITY is the name of the utility being loaded. xP indicates the size of the utility in pages
(256 bytes equals one page). 00.00.00 is the time in hours, minutes, and seconds. LP= 0000
indicates that the load point of the utility is at location X'OOOO', and PART= number indicates
the partition in which the utility is loaded. If timer support is not included in your supervisor,
the time is not printed.
Most utility programs are used interactively from a terminal. If you are not familiar with the
commands available under a specific utility, you can enter a question mark in response to the
COMMAND (?): prompt and press the enter key. A list of the available commands for that utility
is displayed.

Entering Utility Commands
You can enter utility commands in one of two ways - prompt-reply or single-line format. With
prompt-reply format, you enter the command name and each parameter as the system asks for
it. With single-line format, you enter the command name and all the parameters on the same
line. The following examples show you how to use the two formats.
Prompt/Reply Format

Type the utility command following the COMMAND (?): prompt and press the enter key.
responds with a prompt for the next parameter as each parameter is entered.

EDX

o
UT-44

SC34-0644

o

Invoking the Utilities (continued)
Single Reply Entry

Type the command name and all the required parameters (information) needed by the command
to perform its function following the COMMAND (?): prompt and press the enter key. When
using the single reply entry, the parameters must be entered in the order that the EDX expects
them.

COMMAND (?): CV IBMEDX EDX002 DATA 1 Y
COpy COMPLETE
949 RECORDS COPIED
COMMAND (?):

Cancelling a Utility
Use the $C operator command to cancel a utility program running in the same partition as your
terminal. If $C should not be used to cancel a utility, the utility warns you on the first screen it
displays.

o

To cancel a utility with the

$C

operator command:

1) Press the attention key.
2) EDX responds with the greater-than sign (».
3) Enter the $C operator command.

4) Press the enter key.

o
Chapter 4. Utilities

UT -45

$BSCTRCE
$BSCTRCE - Trace I/O Activity on a BSC Line
The $BSCTRCE utility traces the I/O activities on a given binary synchronous communication
(BSC) line. You must load $BSCTRCE in the same partition as the application program that is
controlling the traced line. If you load it in any other partition, you will get unpredictable
results.

o

Invoking $aSCTRCE
You invoke $BSCTRCE with the $L command or option 8.1 of the session manager.
After you load $BSCTRCE, it prompts you for the disk or diskette file in which to place the trace
output. $BSCTRCE then prompts you for the line number you want traced. Use the attention
command STOP to end the trace action.
>

$L $SSCTRCE
OSl(NAM~,VOl.UME):

l.OADI~G

TRAer9

~P,11:03:22, lP.6~QO,
NUMB~R{H~X}:9

$SSCTRCE

ENTER LINE

l.ASTTR.ACERECORD

~QUALS

PART=2

19

SaSCTRCLENDED Al'

$L$BSCUTl
LOAOING$BSCLil1

21p ,00: 04: 21!

LP=9200! PART:.: 1

USING VOLUME EOX002
COMMANQ(t): 1,

CV,~ CHANGE VOLUME
OP ,- PRINT'TRACE, F'ILEON PRINTE~
'OU ' -DUMp: TRACE FIL£ON TERMINAL
(tAW LLL, CANC£l) ..
EN ... END PROGRAM
COMMAND (1):

After $BSCUTl displays the commands, it prompts you with COMMAND (?):. Then you can
respond with the command of your choice (for example, cv).
Example: Figure 9 on page UT -49 shows invoking and using $BSCUTl to display specified

trace data records.

o
UT ... 48

SC34 .. 0644

$BSCUT1

o

$BSeUT1 - Format BSe Trace Files (continued)

I

COMMAND (1): DUTRACE9
FIRST RECORD: 32
LAST ~ECO,RO: 33, .
DUMP OFTRACE'FItE TRACE90NEDX002

..

II

*****

RECORD

32

..

I:C=0002 I SW = A009STATUS= '9BDA 000100BO
RESULT: EXCEPT ION - WRONG LENGTHRECORO (SHORT)

II
II

DCB = 8004 0000 0000 0000 0000 2B 10 00022AE4
OPERATION: CHAINED TRANSMIT

II

II
III

DATA LENGTH =
1061
*****

RECORD

2

33*****

CONTINUAT ION OF CHAINED OPERAT ION

DCB..: '20080000000.0 ,00000000 O'OO{) 0200:96F6
OPERATI ON:RECEI VE,\~IJH,TI MEOUT
OATAi..ENGtH= :485
. ..,,::~ ::,:1;';:.:"'
. . . ,;,' ",-,'
1
0227615BF lF64aF5:F94B"F3F4'1l~~t oBe2 1):.)$t16;:~~~;31fJOBI
17 4040 F4F2 F4lJO 0709 F3FOF;1 F6F5F640O'5 I 42A :PR~0;1656Et
33 E705 C3E4 E309 o5C7 400,4 4007 0909<0640 IXECUTING'M :PIOO 1
lJ9 lJOF71E27 615B F1F64BF5 F9,4B F3F;4 400.1 I 7~.1$16.59.3lJ JI
65 0602, 4040F4F2 F~40 CB08F1F2FJ F6F5F6 lOB lJ23HQ 1;2{65.61
81 40C5E705C3ElJ E30905C7'4004lJo07D'9C9 I>EX~CUTINGM,P:Rt I,
97. ,P640. 40F7 1E'2 7615BFJ F6 :4Bf5 :F94B '. F:3,F4
7 •• t$}6.59~3~1
113400106024040 F3FOF04Qt9E 2' :F OF 3 F:JF4 I·:. ·JO~.3 qQ: 1~03J 41
129F.4F$4005,···E7C5 ,.C3E4,E3:C9 ·05C7 . ·40E5 ,. 40Di 1:45 ·.~x~O!JT:+NG;V>PI ..,
145 09C9'0640 40F5lE27615B F1F64BF5.F94B> I~IO, 5: './$16';59·1
, l61F3F44001 D6C2JDlt3~4P8lJ07B:~7;2:,D7C5'·D4JQ~: •• 4,8,#GSP~J
'.77·80F1····F040.D6054007 '09C.9·05E.3, 0,98'2,,4040' ,10100NPR,INTR2' 1
193 D7D9J9D6lJOlJO, F51.E 2761'5BF1F64a 'F5:F'91PRI9:'5.'./!$'J6~591
209 .4. ~F3:F4lJOD1D6 .C240 40F3 F2FO:lJ,OC6 ,CIF6 1~3lJ:.~Oa 320'FG61
LAST·lJ. !J4DS'lE26
'
. lMN.
·1,

C)
/'

to .'

Figure 9. Dumping BSC trace records to a terminal

. . The command for printing the selected records is
terminal is DU, THIS EXAMPLE USES DU.

DP;

the command for dumping records to a

II

You can select a specific range of records for $BSCUTI to display. Enter the first and last
record numbers as the utility requests them. Figure 9 on page UT -46 shows that when
$BSCTRCE ends, it displays the last trace record number. This information provides you with the
range of record numbers that are available in the $BSCTRCE data set.

II

The system displays the record number along with the type of

BSC

operation it represents.

o
Chapter 4. Utilities

UT -49

$BSCUT1
$BSCUT1 --Format BSC Trace Files (continued)
. . This line provides 3 items of diagnostic information:
CC

This is the interrupt condition code. In this example the 2 is the condition code
returned and indicates an exception condition.

ISW

The interrupt status word represents the interrupt status byte in the left-most byte.

STATUS

The 3 words of status are the values stored in the cycle steal status words (cssw)
for the BSC adapter. The CSSWs contain valid diagnostic information when the ISW
bit 0 is set to 1.

o

The detailed descriptions of these codes are contained in the IBM Series/l Communications
Features Description, GA34-0028.
When analyzing the trace records, you must remember that the system writes the trace records
after the BSC operation completes. Therefore, the error indications may not relate directly to the
record with which they are formatted and printed but will relate to the operation as a whole.

II

This line provides a brief interpretation of the condition code field and the interrupt status
byte.

II

These 8 words represent the values stored in the device control block (DCB). Their
meanings are described in detail in the IBM Series/l Communications Features Description,
GA34-0028.

II

This line provides a brief interpretation of what operation was performed by the device
control block whose values are represented on the previous line.

II

This is the number of bytes of data that the current operation receives.

II

This is the first byte of data in the record the system is displaying. Notice that in record
number 33 of the example, the DATA LENGTH = 485 (bytes). Also, the left-most column of the
record's data that the system is displaying shows the first byte position of each line in decimal
values. When the DATA LENGTH of a trace record exceeds 227 bytes, the system displays only
the first 224 bytes of data followed by 'LAST 4' and the last 4 bytes of the data record.

IE

This is the beginning of the display for LAST RECORD selected in the example, record number

33.

o
UT -50

SC34-0644

$BSCUT2

o

$BSCUT2 - Communications I/O Exerciser
The

$BSCUT2

utility is primarily an I/O exerciser and is used to verify the following:

•

Binary synchronous communications access method

•

BSCLINE

•

Customized jumper assignments in the

(BSCAM)

definitions generated in the executing supervisor
BSC

hardware features, such as:

device address
type of connection
tributary station address.
You can use $BSCTRCE to trace the exercising activities of $BSCUT2. You can format and print
the records with $BSCUTI.
For each function you select in $BSCUT2, the system prompts you for the device (line) address,
tributary station address (if multipoint), record length, and other related information. If any
discrepancies exist between the function you are performing and the hardware assignments, the
system prints error messages.
$BSCUT2 checks out binary synchronous operations if at least two binary synchronous adapters
are available on Series/1 processors and if you make the connection between the two adapters.
If you use a switched manual connection, $BSCUT2 does not prompt you to make the connection.
This must be done after you issue the $BSCUT2 command and answer all prompts.

The
•

BSCAM

capabilities that

$BSCUT2

can test are:

Read and write of both transparent and nontransparent data
Operation in limited conversational mode with both transparent and nontransparent data
Operation as a control station on a multipoint line to both poll and select tributaries (text
written only for transparent data)

•

Operation as a tributary station on a multipoint line to be polled and selected (text written
only for transparent mode)

Test Pattern Messages
$BSCUT2

issues a test pattern message for every record it read or wrote in a test.

The first line of a test pattern message gives the task name, record number, and record length.
The second line shows the alphabet repeated to fill up the number of characters specified for
record length.

o
Chapter 4. Utilities

UT -51

$BSCUT2
$BSCUT2 - Communications I/O Exerciser (continued)
TASKR'~~~ ':E'NtER£ORECEJ~ti~NLJHBER'"

o

RECORtr,L~N~!H;#;'j/2 . .. .. . . . ......

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

ABeD. EFGH f 4KLMNOPClRSTUVWXYZABCOEF' GH I JKLMNOPQ.RstUVWXYZ,AB.CDtf.G~ ' . JK. L~NOP.Q..RSj
,

" . . . "'

• "

.'

".

•

","

• ;,

•

• ','

., • ~,. ; ' :

".

'.

:

". '. ,"., .'

,,'"

" <

," ",. ,

." "

" '"

,,"

,.)

"

,','

":

"

'.'.'

•• ,,',

The meanings of the task names are as follows:
•

READ - read of standard or transparent data in standard mode

•

RXVI - read of transparent data in conversational mode
RNVI - read of 'standard data in conversational mode
WRTN - write of standard data in standard mode
WRIT - write of transparent data in standard mode

•

WXVI - write of transparent data in conversational mode
WNVI - write of standard data in conversation mode
MTXl - read of transparent data by a tributary station
MCXl - write of transparent data by a control station

The system repeats the output message in the previous example for the number of records
transmitted.

Invoking $BSCUT2
You invoke $BSCUT2 with the $L command or option 8.3 of the session manager.
> $L$$SCUT2

LOADING $BSCUr2

76P,OO:EJ):31, tP= 9200" PART:i=l

o
UT -52

SC34-0644

$BSCUT2

o

$BSCUT2 - Communications I/O Exerciser (continued)
$BSCUT2 Commands
To display the $BSCUT2 commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

COMMAND (?):
RWI ---RWIX --RWIMP -RWIXMP RI ----WI ----WIX ---EN ----CH ----RWIVX
RWIV --

?

READ/WRITE - NONTRANSPARENT
READ/WRITE - TRANSPARENT
READ/WRITE - MULTIDROP LINE NONTRANSPARENT
READ/WRITE - MULTIDROP LINE TRANSPARENT
READ - TRANSPARENT/NONTRANSPARENT
WRITE -NONTRANSPARENT
WRITE - TRANSPARENT
END THE PROGRAM
CHANGE HARDCOPY DEVICE
READ/WRITE - TRANSPARENT CONVERSATIONAL
READ/WRITE - NONTRANSPARENT CONVERSATIONAL

After $BSCUT2 displays the commands, it prompts you with COMMAND (?):. Then you can
respond with the command of your choice (for example, RI.)
Most of the commands and their explanations are presented in alphabetical order on the
following pages.
()

CH -

Change Hard-copy Device

Use the CH command to reassign the hard-copy device for the terminal or printer output.
Example:

COMMAND (?): CH
NEW HARD-COPY DEVICE? $SYSLOGA
Note: If the hard-copy device you specified is not defined, the system directs the output to the
terminal where you loaded $BSCUT2.
EN -

End $BSCUT2 Program

Use the EN command to end the$BSCUT2 utility.
Example:

o
Chapter 4. Utilities

UT -53

$BSCUT2
$BSCUT2 - Communications I/O Exerciser (continued)
RI -

Read Transparent/Nontransparent

o

The read task does not require NUMBER OF RECORDS since it will read either transparent or
nontransparent data until the system receives EOT. This makes the read task useful for
monitoring any BSC line sending data to the processor. For example, RI can receive data from
the $RJE2780 or $RJE3780 utility operating in the same Series/1 or in another Series/l.
Note: The RI, WI, and WIX commands individually activate the tasks composing RWI and RWIX.
Example:
GOMMAND (1);
RI-"'~-'"

RJ

...

. ...

..

..

...•.... ;

READ- TRANSPARENT/NONTRANSPARENT

READ ADDRESS? SA
READ REel? 80
READ MONITORl Y
RWI -

Read/Write Nontransparent Data

Use the RWI command to read and write nontransparent messages on a line. The system
numbers each message. The record length for write includes the control characters. The read
task receives the messages, analyzes them, and prints them on a hard-copy device. The analysis
includes whether they are transparent or nontransparent and record length received.
Example:

()

and WRITE ADDRESS refer to the device address of the BSC hardware feature. If
you are going to run the test between two processors (one to read and one to write), load
$BSCUT2 on both processors and enter the correct address for read on one processor and the
correct address for write on the other processor. One of the addresses can be invalid and the
task for the invalid address on each processor will fail due to an undefined line. However, the
read/write task will function properly. This is true for all $BSCUT2 commands.

READ ADDRESS

o
UT -54

SC34-0644

$BSCUT2

o

$BSCUT2 - Communications I/O Exerciser (continued)
The RECL prompts refer to the buffer size the system will use and, therefore, the number of
bytes the system will transfer in one transmission over the BSC line. The maximum buffer size
the system permits is 512 bytes. READ (RECL) should always be equal to or greater than WRITE
(RECL) or errors will occur.
NUMBER OF RECORDS determines the number of transmissions the system will make before the
test ends.
The MONITOR function causes each task to report its progress to the terminal. If you enable the
monitor function, the system writes messages such as TASK ENTERED and TASK EXITED to the
terminal.
RWIV -

Read/Write Nontransparent Conversational

Use the RWIV to test limited conversational operation in nontransparent mode. BUFFER LENGTH
is equivalent to RECL.
Example:

o

COMMAND (?): RWIV
RWIV --- READ/WRITE - NONTRANSPARENT CONVERSATlONAL
READ ADDRESS? 58
WRITE ADDRESS? 5A
BUFFER LENGTH? 80
NUMBER OF RECORDS? 5
READ MONITOR? Y
WRITE MONITOR? Y
READ ADDRESS and WRITE ADDRESS refer to the device address of theBSC hardware feature. If
you are going to run the test between two processors (one to read and one to write), load
$BSCUT2 on both processors and enter the correct address for read on one processor and the
correct address for write on the other processor. One of the addresses can be invalid and the
task for the invalid address on each processor will fail due to an undefined line. However, the
read/write task will function properly. This is true for all $BSCUT2 commands.
The RECL prompts refer to the buffer size the system will use and, therefore, the number of
bytes the system transfers in one transmission over the BSC line. The maximum buffer size the
system permits is 512 bytes. READ (RECL) should always be equal to or greater than WRITE
(RECL) or errors will occur. NUMBER OF RECORDS determines the number of transmissions the
system will make before the test ends. The MONITOR function causes each task to report its
progress to the terminal. If the the system enables the monitor function, it writes messages such
as TASK ENTERED and TASK EXITED to the terminal.

o
Chapter 4. Utilities

UT -55

$BSCUT2
$BSCUT2 - Communications I/O Exerciser (continued)
The following is a description of the binary synchronous line transactions:
WRITE TASK
BSCWRITE IV(X)

BSCREAD C
BSCWRITE CV(X)
BSCWRITE CV(X)
BSCREAD C

o

READ TASK
----ENQ------------->
<---ACKO (Response)----Text------------>
<---Text (Response)-----ACKl (Response)->
<---Text----------------Text (Response)->
<---ACKO (Response)-----Text------------>
<---Text----------------ACK1------------>

BSCREAD I
BSCWRITE CV(X)
BSCWRITE CV(X)
BSCREAD C
BSCWRITE CV(X)

This sequence continues until the NUMBER OF RECORDS count is satisfied.
RVV!lV)( -

Read/Write Transparent Conversational

Use the RWIVX command to test limited conversational operation in transparent mode. Each
message is numbered. The record length for write includes the control characters. The read
task receives the messages, analyzes them, and prints them on a hard-copy device. The analysis
includes whether they' are transparent or nontransparent and record length received. BUFFER
LENGTH is equivalent to RECL.
Example:

COMMAND (?): RWIVX
RWIVX .- READ/WRITE - TRANSPARENT CONVERSATIONAL
READ ADDRESS? SA
WR ITE ADDRESS? 58
BUFFER LENGTH? 5
NUMBER OF RECORDSr 10
R£AoMON I TOR? Y
WR I TE MONI TOR? Y
and WRITE ADDRESS refer to the device address of the BSC hardware feature. If
the test is to be run between two processors (one to read and one to write), load $BSCUT2 on
both processors and enter the correct address for read on one processor and the correct address
for write on the other processor. One of the addresses can be invalid and the task for the invalid
address on each processor will fail due to an undefined line. However, the read/write task will
function properly. This is true for all $BSCUT2 commands.

READ ADDRESS

The RECL prompts refer to the buffer size to be used and, therefore, the number of bytes
transferred in one transmission over the BSC line. The maximum buffer size permitted is 512
bytes. READ (REeL) should always be equal to or greater than WRITE (RECL) or errors will occur.

o
UT -56

SC34-0644

$BSCUT2

o

$BSCUT2 - Communications I/O Exerciser (continued)
NUMBER OF RECORDS

determines the number of transmissions to be made before the test ends.

The MONITOR function causes each task to report its progress to the terminal. If the monitor
function is enabled, messages such as TASK ENTERED and TASK EXITED are written to the
terminal.
The following is a description of the binary synchronous line transactions:
WRITE TASK
BSCWRITE IV(X)

BSCREAD C
BSCWRITE CV(X)
BSCWRITE CV(X)
BSCREAD C

This sequence continues until the

o

RWIX -

READ TASK
----ENQ------------->
<---ACKO (Response)----Text------------>
<---Text (Response)-----ACKl (Response)->
<---Text----------------Text (Response)->
<---ACKO (Response)-----Text------------>
<---Text----------------ACK1------------>

NUMBER OF RECORDS

BSCREAD
BSCWRITE CV(X)
BSCWRITE CV(X)
BSCREAD C
BSCWRITE CV(X)

count is satisfied.

Read/Write Transparent Data

Use the RWIX command to read and write transparent messages on a line. Each message is
numbered. The record length for write includes the control characters. The read task receives
the messages, analyzes them, and prints them on a hard-copy device. The analysis includes
whether they are transparent or nontransparent and record length received.
Example:

COMMAND (?): RWIX
RWIX --- READ/WRITE - TRANSPARENT
READ ADDRESS? 5A
WRITE ADDRESS? 5B
READ REeL? 80
WRITE RECL? 80
NUMBER OF RECORDS? 10
READ "MONITOR?Y" .
WRI TEMON>ITOR~f;£(

o
Chapter 4. Utilities

UT -57

$BSCUT2
$BSCUT2 - Communications I/O Exerciser (continued)
READ ADDRESS and WRITE ADDRESS refer to the device address of theBSC hardware feature. If
you are going to run the test between two processors (one to read and one to write), load
$BSCUT2 on both processors and enter the correct address for read on one processor and the
correct address for write on the other processor. One of the addresses can be invalid and the
task for the invalid address on each processor will fail due to an undefined line. However, the
read/write task will function properly. This is true for all $BSCUT2 commands.

o

The RECL prompts refer to the buffer size the system will use and, therefore, the number of
bytes transferred in one transmission over the BSC line. The maximum buffer size the system
permits is 512 bytes. READ (RECL) should always be equal to or greater than WRITE (RECL) or
errors will occur.
NUMBER OF RECORDS determines the number of transmissions the system will make before the
test ends.
The MONITOR function causes each task to report its progress to the terminal. If the system
enables the monitor function, it writes messages such as TASK ENTERED and TASK EXITED to the
terminal.
RWIXMP -

Read/Write Transparent, Multidrop Line

Use the RWIXMP command to read and write transparent messages on a multidrop line. Each
message is numbered. The record length for write includes the control characters. The read
task receives the messages, analyzes them, and prints them on a hard-copy device. The analysis
includes whether they are transparent or nontransparent and record length received.
READ ADDRESS and WRITE ADDRESS refer to the device address of the BSC hardware feature. If
the test is to be run between two processors (one to read and one to write), load $BSCUT2 on
both processors and enter the correct address for read on one processor and the correct address
for write on the other processor. One of the addresses can be invalid and the task for the invalid
address on each processor will fail due to an undefined line. However, the read/write task will
function properly. This is true for all $BSCUT2 commands.

()

The RECL prompts refer to the buffer size to be used and, therefore, the number of bytes
transferred in one transmission over the BSC line. The maximum buffer size permitted is 512
bytes. READ (RECL) should always be equal to or greater than WRITE (RECL) or errors will occur.
NUMBER OF RECORDS determines the number of transmissions to be made before the test ends.
The MONITOR function causes each task to report its progress to the terminal. If the monitor
function is enabled, messages such as TASK ENTERED and TASK EXITED are written to the
terminal.

o
UT -58

SC34-0644

o

$BSCUT2
$BSCUT2 - Communications I/O Exerciser (continued)
In the following example, the control station (MC) at device address 50 polls and selects all
tributary stations (MT) and sends and receives messages to them. Since each task both transmits
and receives, successful operation requires the control station length to equal all tributary station
buffer lengths. Values other than this can be entered to test access method error detection.
Received messages are logged to the hard-copy device.
Example:

COMMAND (?): RWIXMP
RWIXMP - READ/WRITE -' MULTIDROP LINE TRANSPARENT
MC DEVICE ADDRESS? 50
BUFFER LENGTH? 80
NUMBER OF RECORDS? 5
LOOP COUNT? 1
MONITOR? Y
NUMBER OF TRIBUTARIES?
PARAMETERS FOR TRIBUTARY?
MT DEVICE ADDRESS? 51
MT TRIBUTARY ADDRESS? 02
BUFFER LENGTH? 80
NUMBER OF RECORDS? 5
MONITOR? Y
DEVICE ADDRESS for this command refers to the device address of the BSC hardware feature.
TRIBUTARY ADDRESS refers to the jumpered tributary address on each hardware feature card.
LOOP COUNT

refers to the number of times

$BSCUT2

sends the messages that you have specified.

Note: The adapter must be jumpered in tributary mode for this test to function properly.
If this test is to be performed between two $BSCUT2 programs then:

Program 1 would use a valid MC device address and dummy tributaries

(MT).

Program 2 would use a dummy

(MT).

•

NUMBER OF TRIBUTARIES

•

LOOP COUNT

MC

device address and valid tributaries

must be equal in both programs.

must be equal in both programs.

o
Chapter 4. Utilities

UT -59

$BSCUT2
$BSCUT2 - Communications I/O Exerciser (continued)
WI -

Write Nontransparent

Note: The RI, WI, and WIX commands individually activate the tasks composing RWI and RWIX.
Example:

',::C()t:1MANDf1'r:".w I ..... '.

.•
;"~.-'''''',WR I TE',.. NONTRANSPARENT
;:'WRITEADDRES~?
5B
.
':'WR'IJERECL?"80 . '
. NUMBER OF'RECORDS? 10·
WRI TEMONI TOR?
Y

>'wr

WIX -

Write Transparent

Note: The RI, WI, and WIX commands individually activate the tasks composing RWI and RWIX.
Example:
COMMAND. (?): . WIX
WIX::---.WRITE -. TRANSPARENT
:.WRfltAODRESS~ .'. 5B'
,
WRITERECL?80
NUMBER OF RECORDS? .' 5
WRITEMON ITOR?
Y

o
UT -60

SC34-0644

$CHANUT1

o

$CHANUT1 - Channel Attach Utility
The $CHANUTI utility starts or stops a channel attach device, enables or disables I/O tracing,
and prints the trace area. $CHANUTI issues prompts to the terminal where you loaded it; in
response to a prompt, you must enter a command.

Invoking $CHANUT1
Invoke

$CHANUTI with the $L
$CHANUTl, it prompts you for

command or option 8.9 of the session manager. When you load
the address of the channel attach device.

> $L $CHANUT1
ENTER DEVICE ADDRESS (Hex):
COMMAND(?) :

10

You can load the channel attach utility into any partition. The $CHANUTI commands interface
with the channel attach program in the same manner as the channel attach instructions. The
error codes for the $CHANUTI commands are the same as those for the corresponding
instructions. See Messages and Codes for more information.

$CHANUT1 Commands
To display the $CHANUTI commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

COMMAND(?):
CA
EN
PR
ST
SP
TR
COMMAND ( ? ):

?

CHANGE DEVlCEADDRE$S
TERM INATE: THE. UT IL ITV
PRINT THE TRACE ~REA
START A CHANNEL ArTACHDEVICE
STOP A CHANNEL ATTACH DEVICE
ENABLE/D I SA6LE TRACING
.

After $CHANUTI displays the commands, the system prompts you again with COMMAND (?):.
Then you can respond with the command of your choice (for example, PR). Each command and
its explanation is presented in alphabetical order on the following pages.
CA -

Change Device Address

Use the

CA

command to change the device address.

O'~
"

,'("''

Chapter 4. Utilities

UT -61

$CHANUT1
$CHANUT1 - Channel Attach Utility (continued)
EN -

End $CHANUT1 utility

o

Use the EN command to end the $CHANUTl utility.

PR -

Print the Trace Area

Use the PR command to print the trace buffer, with the title you enter, on a terminal.

SP -

Stop a Channel Attach Device

Use the

ST -

command to stop the channel attach device you have specified.

Start a Channel Attach Device

Use the

TR -

SP

ST

command to start the channel attach device you have selected.

Enable/Disable Trace

Use the TR command to enable (E) or disable (D) the trace function.

o
UT -62

SC34-0644

$CHANUT1

o

$CHANUT1 - Channel Attach Utility (continued)
The following is an example of starting a trace using the session manager.

$SMM08 SESSION MANAGER COMMUNICATION UTILITIES OPTION MENU
ENTER/SELECT PARAMETERS:
SELECT OPTION

==>

1 - $BSCTRCE
2 - $BSCUTl
3 - $BSCUT2
4 - $RJE2780
5 - $RJE3780
6 - $PRT2780
7 - $PRT3780
8 - $HCFUTl
9 - $CHANUT1

9

(TRACE BSCAM LINES)
(PRINT TRACE FILE)
(BSC EXERCISER)
(2780 RJE TO HOST)
(3780 RJE TO HOST)
(2780 SPOOLED RJE FILE PRINTER)
(3780 SPOOLED RJE FILE PRINTER)
(HOST COMMUNICATION FACILITY)
(CHANNEL ATTACH UTILITY)

WHEN ENTERING THESE UTILITIES, THE USER IS EXPECTED TO
ENTER A COMMAND. IF A QUESTION MARK (?) IS ENTERED
INSTEAD OF A COMMAND, THE USER WILL BE PRESENTED WITH
A LIST OF AVA1LABLE COMMANDS.
The following shows what happens when you select option 9 (from the previous screen), request
and start device 10, and enable trace.

$CHANUTl - INVOKED VIA SESSION MANAGER OPTION 8.9
JOB - $CHANUT1 - STARTED AT 00:00:00 00/00/00

***

JOB
$CHANUTl

$CHANUTl ($SMP0809) USERID=XXX
21P,00:OO:OO, LP= 9500

~NTER DEVI~E

COMMAND(?):
CAPGM

***

ADDRESS(Hex)

10

ST
45P,OO:00:00, LP= AAOO

START DEVICE SUCCESSFUL
COMMAN. O(? ).:

TR

ENABLE OR ... DISABLE?

E

ENABLE/D:I SABLE SUCCESSFUL
COMMAND (? ):

Chapter 4. Utilities

UT -63

$COMPRES
$COMPRES - Compress Disk, Diskette, or Volume

()

$COMPRES compresses a disk/diskette volume or the entire contents of a device. Used it to
allocate new data sets and volumes when a volume or device is fragmented (due to deletion of
data sets and volumes).
Notes:

1. Do not compress a volume or device while it is being accessed. Use the $A ALL command to
determine if programs are active in the partition you are currently assigned to or in other
partitions. However, if you are executing under the session manager, the $SMUuser program
will be in the system but not active until $COMPRES ends.
2. You must initialize the IPL text after using $COMPRES if the device or the IPL volume you
are compressing contains the supervisor ($EDXNUCX) and if the nucleus has moved.
3. Before compressing the IPL volume, you should create an IPLable diskette as follows:
a.

Use $DASDI to format a diskette.

b. Use $INITDSK (ID command) to initialize the diskette. Do not allocate a nucleus if your
customized nucleus EDXNUCX is larger than 400 records.
c.

Copy (using $COPYUTl) $EDXNUCX, $LOADER and $INITDSK to a backup IPL diskette. If
a 4978 or 4980 terminal is your $SYSLOG device, you need to do a "copy generic" (CG)
for $4978 and $4980. You will need to use the "copy member" command (CM) of
$MFARAM, $FPCARAM, or $ACCARAM if you are using a 3101 or an ACCA device as
$SYSLOG.

d. Use the $INITDSK II command to initialize IPL text on the backup IPL diskette.
e.

Verify that you can IPL the diskette and load $INITDSK to initialize IPL text on the IPL
volume on disk before starting the $COMPRES.

4. If the compress moves the nucleus (as indicated by the message $EDXNUCX COPIED):
a. IPL from the backup diskette.
b. Initialize (write IPL text) the nucleus on disk using the II command of $INITDSK.
c.

IPL from the disk.

5. If you have not copied $EDXNUCX, $LOADER, and $INITDSK to a backup diskette and the
compress does move the nucleus, you may use the starter system to load $INITDSK (II
command) to initialize the IPL text. This assumes that one of the attached terminals will be
recognized by the starter system as $SYSLOG.
6. Compressing a volume may relocate EDL overlay programs and data sets which you have
defined previously to $PREFIND. If this is the case, you must reissue $PREFIND.

o
UT-64

SC34-0644

$COMPRES

o

$COMPRES - Compress Disk, Diskette, or Volume (continued)
7. Compressing a disk may relocate volumes which you defined as "performance volumes." If
this is the case, you must re-IPL.

Specifying Dynamic Storage
To increase program performance you can change the dynamic storage used by $COMPRES.
$COMPRES is shipped with a dynamic storage of 512 bytes. Using the $L command, you can
specify the number of bytes of additional storage the system should allocate when $COMPRES is
loaded for execution.
The following example shows how to temporarily change a 512 byte Dynamic Storage
Allocation to 10K.

l>

$L $COMPRES .. 10240

You can use $DISKUT2 to modify the default load time storage allocation. See "SS Program Storage Parameter" on page UT-219 for an example.

Set

Invoking $COMPRES

o

Invoke $COMPRES with the $L command or option 3.4 of the session manager.
> $L.$CQMPR~S
$C~MPRES

LOADING

$COMPRES Commands
Each command and its explanation is presented in alphabetical order on the following pages.

o
Chapter 4. Utilities

UT -65

$COMPRES
$COMPRES - Compress Disk, Diskette, or Volume (continued)
? - Help

o

Use the? command if you want to see the command menu again.
Example: Help command.

COMMAND (1):
ROLLON
ROLLOFF

- SET SCREEN => NO PAUSE
- RESTORE STARTING CHARACTERISTICS
o
- DEVICE COMPRESS
V
- VOLUME COMPRESS
 HF - ESTIMATE COMPRESS PROGRESS
EN
- END
COMMAND (?):

o
UT -66

SC34-0644

$COMPRES

o

$COMPRES - Compress Disk, Diskette, or Volume (continued)
D-

Device Compress

Use the D command to compress the entire contents of a device. Use
programs are active before you compress the library.

$A ALL

to determine if any

Example: Compress a Device with Fixed-Head Volumes.

(Use $A ALL to determine if any programs are active
before you compress the volume)

COMMAND (?):
0
DEVICE ADDRESS:
48
COMPRESS DEVICE AT

ADD~ESS0048

('Y/N)?

DIRECTORY HAS BEEN SORTED BY MEMBER iN ASCENDING

ORDER~

THE FIXED-HEAD VOLUME ==> FIXVOL NOT COPIED
EDX002 COPIED
EDITWORK COPIED
SRCLI B COP IED
OBJL IB COP IED
ASML IB COP lED
$COMPRES COPIED
THE DEVICE IS COMPRESSED.
ANOTHER COMPRESS?

EN -

(YIN)?

N

End $COMPRES

Use the EN command to end the $COMPRES utility.
Example: End $COMPRES utility

.COMMAND

0):

EN

$COMPRES ENDED AT 08:03:59

o
Chapter 4. Utilities

UT-67

$COMPRES
$COMPRES - Compress Disk, Diskette, or Volume (continued)
HF -

Estimate Compress Progress

Use >HF during a volume or device compress to get the percent of completion, the total number
of records to be compressed, and the number already copied up to that point. To use this
command, press the attention key and type in "HF".
Example 1: Estimate progress of volume directory compress.
>

HF

NOW AT: 70 PERCENT OF DIRECTORY LEFT TO BE SORTED
TOTAL NUMBER OF RECORDS:
162
NUMBER COPIED SO FAR ..
49
DIRECTORY SORTED
DIRECTORY HAS BEEN SORTED
$ASMOOOP ALREADY IN PLACE
$EDXATSR ALREADY IN PLACE
EDITINC ALREADY IN PLACE

CDRRCB
. HEADER
TDBEQU

BY LOCATION IN ASCENDING ORDER.
AND NOT COPIED
AND NOT COPIED
AND NOT COPIED

COPIED
COPIED
COPIED

Example 2: Estimate progress of volume compress.
>

(:~)

HF

COMPRESSING THE VOLUME/DISK, NOW AT:
$SPM
COPCHECK
$ASMEXIO
> HF
$ASMOOOH

15 PERCENT

COPIED
COPIED
COPIED
COPIED

COMPRESSING THE VOLUME/DISK, NOW AT:
CORRCB
COPIED
HEADER
COPIED
TDBEQU
COPIED

17 PERCENT

o
UT -68

SC34-0644

$COMPRES

o

$COMPRES - Compress Disk, Diskette, or Volume (continued)
ROLLOFF -

Restore Starting Characteristics

Use the ROLLOFF command to restore a terminal to its original mode. With ROLLOFF you must
press enter each time the screen fills up.
Example: Restore starting characteristics.

COMMAND (?): ROLLOFF
COMMAND (?):
ROLLON -

Set Screen

=>

No Pause

Use the ROLL ON command if you don't want to have to press the enter key each time the screen
fills up. When you specify this command, the output "rolls" off the top of the screen as new
terminal output appears at the bottom of the screen.
Example: Set screen to roll mode.

o
Chapter 4. Utilities

UT -69

$COMPRES
$COMPRES - Compress Disk, Diskette, or Volume (continued)
v-

Volume Compress

Use the v command to compress a disk or diskette volume. Use
programs are active before you compress the library.

$A ALL

o

to determine if any

Example 1: Compress a Volume.

o
UT -70

SC34 ...0644

$COMPRES

o

$COMPRES - Compress Disk, Diskette, or Volume (continued)
Example 2: Compress the IPL volume.

(Use $A ALL to determine if any progr~ms a~e
active before you compress the 1ibrar'y)
$L $COMPRES
LOADING $COMPRES

>

37P,08:16:20, LP = CAOO

$COMPRES - COMPRESS UTILITY
VOLUME/DEVICE COMPRESS
WARNING! SHOULD BE RUN ONLY WHEN
NO OTHER PROGRAMS ARE ACTIVE
COMMAND (?>: V
VOLUME LABEL = EDXO,02
COMPRESS

VOLU~E

EnX002 (YIN)? Y

CAUTION: YOU ARE ABOUT TO COMPRES THE IPL VOLUME.
IF THE NUCLEUS IS MOVED, THEN THIS VOLUME WILL NOT I~L
AGAIN UNTIL THE 1111" COMMAND OF II$LNITOSK I I IS REISSUED.
ALSO IF "$LOADER"IS MOVEO;NDPROGRAMS CAN BE LOADED.
DOYOUWISHTOPROCEED(Y/N)?~Y

DIRECTORY HAS BEEN SORTED BY MEMBER IN.ASCENDING

c

ORDER~

$EDXNUC
$LOADER
$TERMUTl
$COPYUTl
03
04
05
06
07

ALREADY IN PLACE AND NOt COP lED
COPIED
COPIED
COP IED
COP IED
COPIED
COPIED
COPIED
COPIED
08
COPIED
09
COPIED
0.0 .......
. ' CDPIED
$CDMpRES COPltn
' ..
THE ·;VOLUME··ISCOMPRESSED.

o
Chapter 4. Utilities

UT -71

$COPY
$COPY - Copy Data Set
$COPY

copies a disk or diskette data set, in part or in its entirety, to another disk or diskette data

set.

Copying Programs or Data Members
When copying volume members, the target member must already exist (allocate using $DISKUTl)
and must be of the same organization as the source member. Two types of organization are
available:
DATA

Data sets used as work files, user source modules, and application data set.
When you copy data members, you may copy an entire member or only a
selected number of records (partial copy). If you are copying the entire
member, the target data member must be equal to or larger than the source. If
you are doing a partial copy, the target member need not be as large as the
source but must have enough space following the starting target record number
to accommodate the number of records you are copying from the source
member.

PROGRAM

Data sets that will contain executable (loadable) Event Driven Executive
programs.
When you copy program members, the target member must be equal to or
greater than the source member.

Copying Disk/Diskette Volumes to Another Diskette/Disk

When you copy a single volume diskette to disk, the target data set size must be equal to or
greater than the diskette size in records. When you copy a disk volume or a multivolume
diskette volume to another disk volume or a multivolume diskette, both volumes should be equal
in size. If the source volume is larger than the target, you are prompted for the name of the
source data set you wish copied to the target. The system copies the source data set to the
target volume starting at the absolute beginning ($$EDXVOL). If the source volume is smaller
than the target, you are prompted for the name of the target data set into which you want the
source volume copied.
Note: For information on copying H-exchange volumes see "$HXUTI - H-Exchange Utility"
on page UT-37 1.
Absolute Record Copy
$COPY provides an absolute record capability using the special system data set names $$,
$$EDXLIB, and $$EDXVOL. This allows you to copy a record relative to the beginning of a device
($$EDXVOL) or relative to the beginning of a volume ($$EDXLIB). You can use this capability
when you copy one single-volume diskette volume to another. The cv command of $COPY does
not copy the first cylinder on diskette. If the source diskette were an IPL volume (has IPL text
and $EDXNUC), the system would not copy the IPL text, contained in the first record of the first

o
UT -72

SC34-0644

$COPY

o

$COPY - Copy Data Set (continued)
cylinder, to the target diskette. Therefore, the target diskette volume, although containing a
supervisor in $EDXNUC, would not be able to load that supervisor when you pressed the IPL key.
To copy the IPL text to the target diskette, use the CD command with $$EDXVOL specified as the
data set name and record 1 specified as the first and last record you want copied.
Note: $$, $$EDXVOL, and $$EDXLIB are special system data set names and you must use them
with care. $$ is a reserved system name, $$EDXVOL points to the beginning of the device
volume, and $$EDXLIB points to the beginning of the data set directory within a volume.

Specifying Dynamic Storage
To increase program performance you can change the dynamic storage used by $COPY. $COPY is
shipped with a dynamic storage of 2K. Using the $L command, you can specify the number of
bytes of additional storage the system should allocate when $COPY is loaded for execution.
The following example shows how to temporarily change a 2K Dynamic Storage Allocation to
20K.

L

> $1. $COPV" 20480

c

$DISKUT2.can also modify the default load time storage allocation associated with a program
using the ss command. See "$DISKUT2 - Patch/Dump/List Data Set or Program" on page
UT-198 for an example.

Invoking $COPY
You invoke $COPY with the $L operator command or option 3.5 of the session manager.
>

$L $COPY

LOADING $COPY

40P,OO:12:04, LP""9200,.;PARt=1

$COPY - COpy UTILITY

o
Chapter 4. Utilities

UT -73

$COPY
$COPY - Copy Data Set (continued)
$COPY Commands

o

To display the $COPY commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

After $COPY displays the commands, it prompts you again with COMMAND (?):. Then you can
respond with the command of your choice (for example, cv). Each command and its
explanation is presented in alphabetical order on the following pages.
CD -

Copy Data Set

Use the CD command to copy disk or diskette data sets to a preallocated disk or diskette target
data set. When you copy data sets, you may copy an entire data set or only a select number of
records. If you are copying the entire data, the target data set must be equal to or larger than
the source. If you do a partial copy, the target data set need not be as large as the source but
should have enough space following the starting record number to accommodate the number of
records you are copying from the source data set.

o
UT -7 4

SC34-0644

$COPY

o

$COPY - Copy Data Set (continued)
Example 1: Copy entire data set.

COMMAND (1):

CD'

SOURCE {NAME;VOLUM8): DATAFILl
COpy ENTIRE DATASET? Y
TARGET (NAME,VOL.I,JME): DATAFIL2,EDX002
ARE AL.L. PARAMEJE.RSCORRECT? Y
COpy COMPLETE .........
50 RECORDS COPIED
C.oMMAND (?):
Notes:
1. You cannot copy data sets allocated as program organization to a data set that you allocated
as data organization.
2. When you copy program members, the target and source data sets must be equal in size.
Example 2: Partial copy of a data set.

c

COMMAND (1) :CD
DAJAFIL.l
N

If the target data set is too small to accommodate the amount of data you are copying from the

source data set, the utility issues following message:

When the output data set is on disk or diskette, the system updates the end-of -data pointers.

Chapter 4. Utilities

UT-75

$COPY
$COPY - Copy Data Set (continued)
CV -

o

Copy Volume

Use the cv command to copy entire volumes. This provides a volume backup capability. You
may copy a disk volume to a disk or diskette volume, a diskette volume to a diskette volume, or
a diskette volume to a preallocated disk data set of appropriate size in records. The number of
records for the various types of diskettes are:
Type

128 Bytes/
sector

Diskette 1
Diskette 2

949
1924

Diskette 2 D

-

256 Bytes/
sector

1024 Bytes/
sector

1110

-

2200
3848

4736

Volume copy operations do not add the members in a source volume to the target volume. The
system replaces the original contents of the target volume, including the directory.
If you have two or more diskette units, you may perform diskette volume copies between
diskette devices. If you have a single diskette drive and a disk, you can perform copies using the
following procedure:

1. Allocate a target data set on a disk of appropriate size.
2. Using the cv command, copy the diskette volume to the disk data set.
3. Mount the target diskette on the diskette device and vary the device online.

(~)

4. Using the cv command, copy the contents of the disk data set to the target diskette.
If you have a single 4966 Diskette Magazine Unit and a disk, the above procedure is also
recommended.
Example: Copy a diskette to a backup data set on a 4962 disk.

o
UT-76

SC34-0644

$COPY

o

$COPY - Copy Data Set (continued)
The cv command copies the entire single volume diskette volume. Therefore, the target data set
should be equal to or greater than the volume size in records. If the target data set is not large
enough, you may choose to do a partial copy or allocate (using $DISKUTl) a target data set large
enough to accommodate the source.
Note: You can perform cv on an entire multivolume diskette.

If the target data set is not large enough, you are prompted as follows:

SOURCE.DAJASET HAS nn RECORDS
TARGET VOLUME HAS ONLY nn
DOYOUWJSHIO·tONJINUE?(Y/N): .
If you respond Y, the system copies the source to the target data set until the target is full. If
you respond N, the cv command ends and you are prompted for another command, COMMAND
(?):.

Note: Once you have copied a volume to a target disk volume, the system replaces the original
contents of the target volume, including the directory. As a result, you can no longer access the
original contents of the target disk volume.
EN -

o

End $COPY Utility

Use the

EN

command to end the

$COPY

utility.

~~CDPYEMDED

L,OMI'fANOW:. EN .....•
•••
N .• l•. : 14:40

o
Chapter 4. Utilities

UT -77

$COPY
$COPY - Copy Data Set (continued)
RE -

()

Copy from Basic Exchange

Use the RE command to copy a basic-exchange data set from a diskette to a disk data set. A
basic-exchange data set is contained on a diskette that you formatted for Standard for
Information Interchange. You can use only one-sided, 128-byte diskettes as EDX recognizes
only one volume on a basic-exchange diskette. You must allocate the target disk data set using
$DISKUTI before you use the RE command.
prompts you for the source diskette data set name and volume, the target disk data set name
and volume, the number of the first record you want written to the target data set, and the
basic-exchange data set name.

RE

Example 1: Copy entire basic-exchange diskette data set to disk.
COMMAND (?):

RE

SOURCE ($$EDXVOL ~ VOLUME) : $$EDXVOL, IBMEDX
TARGET (NAME,VOLUME):
DATAFIL1,EDX002
SPECIFY START/END.?(Y IN}:

N

ENTER. BASI C-:EXCHANGtoATASETNAME:
;NUMBEROF RECORDS COP,I ED': 52
COpy.' COMPLETED
COMMAND (7):

Note: If you enter the wrong data set name, the system issues a read/write error message.

o

Example 2: Copy basic-exchange data set to disk. The record number where the copy is to
start on target disk is specified.

o
UT -78

SC34-0644

$COPY

o

$COPY - Copy Data Set (continued)
WE -

Copy to Basic Exchange
Use the WE command to copy a disk data set to a basic-exchange data set on diskette. You must
allocate the diskette data set before you use the WE command. Use $DASDI to format the
diskette for Standard for Information Interchange. Under this format, $DASDI formats a volume
called IBMEDX, initializes the basic-exchange header on the diskette, and automatically allocates
a data set named DATA. DATA consists of all the data tracks on the diskette.
prompts you for the source disk data set name and volume, the starting or ending records,
the target diskette data set name and volume, and the basic-exchange data set name.

WE

Example 1: Copy a disk data set to a basic-exchange diskette.

Example 2: Copy a disk data set to a basic-exchange diskette. The beginning and ending
record numbers on the disk to be copied to the target diskette are specified.

Notes:
1. Errors may occur if you have not initialized the diskette. The system reads and writes data
on the diskette two sectors per 110 operation.
2. The diskette data set you access must start on an odd sector boundary.

o
Chapter 4. Utilities

UT -79

$COPYUT1
$COPYUT1 - Copy Data Set with Allocation
performs several related copy functions. These functions determine the size and
organization of the source data set(s) that $COPYUTI copies, allocate members on the target
volume, and then copy the source member(s) to the target member(s). With $COPYUTl, you can
copy one member using the CM command or you can use the multiple copy commands to copy
all members from source to target volumes.
$COPYUTI

o

Notes:
1. Do not specify the dynamic storage option (for example, $L $COPYUT1,,48000) when
loading $COPYUT1 to make copies of the same volume from two or more terminals at the
same time. This will cause formatting errors in your table of contents.
2. If a member already exists on the target volume, it is first deleted, then reallocated when the
new source is copied to the target volume. This occurs only if enough contiguous space is
available for reallocation of the member. There are no prompting messages asking if you
wish to replace the existing member.

For any copying related to tape, see "$TAPEUT1 - Tape Management" on page UT -522.

Specifying Dynamic Storage
To increase program performance you can change the dynamic storage used by $COPYUTl.
$COPYUTI is shipped with a dynamic storage of 2K. Using the $L command, you can specify the
number of bytes of additional storage the system should allocate when $COPYUTI is loaded for
execution.
The following example shows how to temporarily change a 2K Dynamic Storage Allocation to
20K.

l'$L $C~PYUTiH204a.o

You can use $DISKUT2. to modify the default load time storage allocation See "SS Program Storage Parameter" on page UT -219 for an example.

Set

Invoking $COPYUT1
Invoke $COPYUTI with the $L command or option 3.3 of the session manager.

o
UT -80

SC34-0644

$COPYUT1

o

$COPYUT1 - Copy Data Set with Allocation (continued)

When you invoke $COPYUTl, the source and target volumes are assumed to be on the IPL
volume. You have the option of specifying the source and target volumes. Once you specify the
correct volumes, the commands copy members from the source volume to the target volume
until you change the volume using the cv command.

$COPYUT1 Commands
To display the $COPYUTI commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

After $COPYUTI displays the commands, it prompts you with COMMAND (?): again. Then you
can respond with the command of your choice (for example, CM).

()
Chapter 4. Utilities

UT -81

$COPYUT1
$COPYUT1 - Copy Data Set with Allocation (continued)
The Mode Commands

o

The following mode commands, presented in alphabetical order, modify the way the multiple
copy commands (CALL, CAD, CAP, CG, CNG) work.
CV

Changes the source and target volumes.

NQ

All members are copied. If you do not set SQ, the multiple copy command defaults
tONQ.

RDBK

Does not use the hardware feature but actually reads the data back into storage to
verify that it is valid. If you do not set RDBK, the multiple copy command you are
using defaults to wv.

ROLLOFF

Turns off roll-screen mode. Then you must press the enter key each time the
screen fills up.

ROLLON

Turns on roll-screen mode. In roll-screen mode, you do not need to press the
enter key each time the screen fills up. Output "rolls" off the top of the screen as
new terminal output appears at the bottom of the screen.

SQ

If you only want to copy some of the members, $COPYUTI asks you to verify each

member before copying it.
WV

Forces a write verify of the target member by using the hardware feature available
for validating the data written. WV is the default.

o
UT -82

SC34-0644

$COPYUT1

o

$COPYUT1 - Copy Data Set with Allocation (continued)
Using the Copy Commands

With the copy commands you can copy:
All or selected members in a volume
•

All or selected data type members in a volume

•

All or selected program types in a volume

•

All or selected members beginning with a generic text prefix
All or selected members that do not begin with a generic text prefix.

If a copy command stops because the target volume on diskette is full, $COPYUTI issues the

following message:
,

.

~

DATA.H.~ TOO ...'LARG.E . .• nrc OPY;;;O'NlY'XX"RICOR,'D'S:L~F"T'JW;'~'l:~RA~Y
TAR,GET.·' VOl., , ' IS .' F'VLl ,.00 .,' YQ·W"W,ISH: . TO ." CONTINUE' ,ON.',A} ;N.~YJ~OL
,

,:,,"

_,>"

",,' "'"

":"',

; . .

',"

i' "

"

.....

,"

"

:'

,<= ,,,'

'.

".

"." -',

~,,"

, ,,:'

.

". •;

. /,,_

~

". . :

,',~ ~<};';'<'::

[.

'~'""".

~

~;"

If you wish to continue, enter a "Y"; $COPYUTI issues the following message:
"";:i-

··:V.O~UME."A~D,O·();:;~t·i·,~f:tN: :~i~~V:~~:i , '" :',
. . . . :::
r

Mo'VN,t: NEW
. THEN/.eNTER ATTN,' R~STARr:JO .q~,Nr:JN'U~::,€QR¥/, ",
'0:

;;';';:~~';," i~'!6

'f'

"
C',: . i:,;:,·;::.i~}<~~·~~· ;';,:';'<:"'<'
c

Mount a new volume, vary it online, and continue copying, as follows:

o
Chapter 4. Utilities

UT -83

$COPYUT1
$COPYUT1 - Copy Data Set with Allocation (continued)

r",

In this manner, you can create a disk backup spanning several diskettes. Although the copy may
take longer using $COPYUTI instead of $MOVEVOL, you may use fewer diskettes as only members
are copied. In addition, you can mix single- and double-sided diskettes. If you are creating a
new volume, use $INITDSK (IV command) to start with an empty target volume.

V

The copy commands will not copy the supervisor ($EDXNUC). This prevents the inadvertent loss
of a tailored supervisor. Furthermore, since the supervisor is allocated during disk initialization,
the CM command will not allocate $EDXNUC on the target volume. It will copy $EDXNUC from
source to target but only if you have allocated the target already and it is the same size as
$EDXNUC on the source.
The system does not allow absolute record copy from disk or diskette. Therefore, you cannot
use the special names $$, $$EDXLIB, $$EDXVOL. The $COPY utility provides an absolute copy by
record number.
To cancel a multiple copy command, press the attention key and enter CA. The command
(CALL, CAD, CAP, CG, CNG) ends after the current member is copied.
Note: When using the CAP, CAD, or CALL commands, you can specify the members you want to
copy. If the starting member occurs later in the directory list than the ending member, the copy
function wraps around and copies all members except those members that occur between the
ranges specified.
Each copy command and its explanation is presented in alphabetical order on the following
pages.

o
UT -84

SC34-0644

$COPYUT1

o

$COPYUT1 - Copy Data Set with Allocation (continued)
CAD -

Copy All Data Members from Source to Target

Use CAD to copy data sets designated as D (data) from the source volume to the target volumes.
When you allocated data sets using $DISKUTl, you specified one of two organization types: D for
data organization or P for program organization. Use data organization to specify data sets used
as work files, user source modules, and application data sets. If you use the CAD command,
$COPYUTI only copies those data sets you designated as D (data organization).
You can copy all the data sets or specify a subset of data sets. If you reply Y to the COpy FROM
prompt, $COPYUTI copies all the data sets. If you respond N to the COpy FROM
prompt, $COPYUTI prompts you for the first (starting) member and the last (ending)
member you want copied.

BEGINNING?
BEGINNING?

Example: Copy only data sets designated as D from one volume to another.

COMMAND (? ):

CAD

COpy FROM BEGINNING?

Y

TEMP
COPY COMPLETE
DATAF ILE COpy COMPLETE
MYDATA
COpy .COMPLETE
,COMMAND (?):
.

o

CALL -

40 RECORDS COPIED
110 RECOROS·COPI[O
80 RECORDS COPIED

Copy All Data Sets from Source to Target

Use CALL to copy data sets from the source volume to the target volume. You can copy all the
data sets or specify a subset of data sets. If you reply Y to the COpy FROM BEGINNING? prompt,
$COPYUTI copies all the data sets. If you respond N to the COpy FROM BEGINNING? prompt,
$COPYUTI prompts you for the first (starting) member and the last (ending) member you want
copied.
When doing a CALL (copy all) function, $COPYUTI prints the names of the data sets it is
copying. When the screen fills up, press the enter key to continue. By specifying the ROLLON
command, you turn on roll-screen mode. In roll-screen mode, you do not need to press the
enter key after the screen is full. Output "rolls" off the top of the screen as new terminal output
appears at the bottom of the screen. You can turn off the roll-screen function by specifying the
ROLLOFF command.

o
Chapter 4. Utilities

UT -85

$COPYUT1
$COPYUT1 - Copy Data Set with Allocation (continued)
Example 1: Copy all data sets from one volume to another, starting with DATAl and ending

o

with LASTONE.

ENTE~ ··~ENh:.1 ~EMaErt!

NG . .•.
DATAl COpy •. COMPl.. EJE.
DATA2 COpy . ·. ·CQMPLETe··

Example 2: Copy all data sets;

()
SQ

command prompts for copy of each data set.

o
UT -86

SC34-0644

$COPYUT1

o

$COPYUT1 - Copy Data Set with Allocation (continued)
CAP -

Copy All Programs from Source to Target

Use CAP to copy programs from the source volume to the target volume. When you allocated
data sets using $DISKUTl, you specified one of two organization types: D for data organization
or P for program organization. Use program organization to specify data sets that contain
executable (loadable) Event Driven Executive Language programs. If you use the CAP
command, $COPYUTI only copies those data sets you designated as P (program organization).
You can copy all the data sets or specify a subset of data sets. If you reply Y to the COPY FROM
prompt, $COPYUTI copies all the data sets. If you respond N to the COpy FROM
prompt, $COPYUTI prompts you for the first (starting) member and the last (ending)
member to be copied.

BEGINNING?
BEGINNING?

Example: Copy only programs from one volume to another.

COMMAND(?}:

CAP

COPY FROM BEGINNING?
PROGl
COpy
PROG2
COpy
PROG3
COpy
LASTPROG COpy
COMMAND (?):

Y

COMPLETE
COMPLETE
COMPLETE
COMPLETE

40 RECORDS COPIED
110 RECORDS COP IED
80 RECORDS COPIED
60 ~ECORDS COPIED

o

Chapter 4. Utilities

UT -87

$COPYUT1
$COPYUT1 - Copy Data Set with Allocation (continued)
CG -

Copy All Members Starting with a Prefix

Use the CG (copy generic) command to copy only those members beginning with generic text
(prefix). $COPYUTI prompts you for the prefix. $COPYUTI then searches the source volume
directory for names beginning with this prefix and copies only these members to the target
volume.
Example: Copy members with prefix of DATA.

'~.'

", '. u '. , , : . '

.: ."

.'.n

~

u' : " " .

oNtv' 92 .RECORDS

DATA4TOO LARGE' TO 'COPY;

.".

.'

,

LEFT JNLtB'R~RY

TAR.~.ET ,VOLUME.ISFU~L ,DOi,YQU . WIS~, T.O,;CONTLNt,JEQN'VQtUkt
VOLUM'E NOT' t1QUNTEO • .•' '::;"
·TRY;:A~A:I'N •.·(Y/N)? .,Y :., .::,,: :

O~?

'l>

ENTER 'NEWTARGET,VQLUME:
DATA4 ..... COPVCOMPLETE
COMMAND{t):

CM -

Copy Member from Source to Target

Use CM to copy a member from the source volume to the target volume with the same
characteristics. $COPYUTI automatically allocates the receiving member on the target volume.

o
UT -88

SC34-0644

$COPYUT1

o

$COPYUT1 - Copy Data Set with Allocation (continued)
Example 1: Copy a data set (MYPROG) from EDX002 to ASMUB and rename the data set S1.
> $L $COPYUTl
LOADING $COPYUT1

55P, 11: 16:57, LP= 6900 t PART:·1

$COPYUT1 - DATA SET COPY UTILITY

** WARNING **
MEMBERS ON TARGET VOLUME WILL BE DELETED.
REALLOCATION AND COPYING OF MEMBERS IS
DEPENDENT ON SUFFICIENT CONTIGUOUS SPACE.
THE DEFINED SOURCE VOLUME IS EDX002,OK1 Y
THE DEFINED TARGET VOLUME IS EDX002, OK 1 N
ENTER NEW TARGET VOLUME: ASMLIB
MEMBER WILL BE COPIED FROMEDX002 TO ASMLIB·OK1: Y
COMMAND (1): CM
ENTER FROM(SOURCE) MEMBER: MYPROG
ENTER TO (TARGET) MEMBER OR * FOR SAME NAME ASSOURCE~
Sl
COpy COMPLETE
4 RECORDS COPIED

Sl

COMMAND (1):
CNG -

Copy All Data Sets Not Starting with a Prefix

Use CNG to copy only those data sets that do not begin with the prefix. $COPYUTI prompts you
for a generic text prefix. $COPYUTI then searches the source volume directory for names that
don't begin with the prefix and copies only those data sets to the target volume.
Example: Copy data sets without a prefix of DATA.

COMMAND (?):

eNG

ENTER GENERIC TEXT: DATA
TEMPl
COpy tOMPLETE
56 RECORDS COPIED
TEMP2 COpy COMPLETE
15 RECORDS COPIED
TEMP3 COpy COMPLETE
48 RECORDS COPIED
COMMAND (1):
EN -

End $COPYUT1

Use EN to end the $COPYUTI utility.
Example: End $COPYUTI.

o
Chapter 4. Utilities

UT -89

$DASDI
$DASDI - Format Disk or Diskette
$DASDI

initializes your disks and formats your diskettes.

()

Invoking $DASDI
You invoke $DASDI with the $L command or option 3.6 of the session manager.
When you invoke $DASDI, it prompts you for one of the following primary initialization options:
Primary Option 0 - Create a Stand-Alone Dump/$TRAP Diskette
Primary Option 1 - Diskette Initialization
Primary Option 2 - 4962 Disk Initialization
•

Primary Option 3 - 4963 Disk Initialization
Primary Option 4 - 4967 Disk Initialization

•

Primary Option 5 - DDSK Disk Initialization
Primary Option 9 - Exit Initialization.

Notes:
1. You can load $DASDI into any partition. $DASDI then loads the initialization routines, $14962,
$14963, $14967, or $IDDSK30 into partition 1, and $IDSKETT into any available partition.
$DASDI returns an error if partition 1 does not have the space for the initialization routines.
2. When primary options 2, 3, 4, and 5 are executing, do not run a program that accesses the
disk being initialized.
3. You can run diskette initialization concurrently with other programs.

o
UT -90

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Primary Option 0 -

Create a Stand-Alone

Dump/$TRAP Diskette $TRAP diskette $TRAP diskette $TRAP, creating $TRAP diskette
Primary option 0 uses a 4964,4965, or 4966 diskette unit to initialize a two-sided,
single-density, 256-byte diskette to be used for stand-alone dumps or the $TRAP utility. $DASDI
loads a program that places IPL text and the stand-alone dump utility on the front of the diskette.
Once you create the diskette, it is ready for use.
If you wish to dump more than 512K bytes, then you must create two diskettes for a stand-alone
dump. Once you create them, these two diskettes are identical, and the order in which you use
them is not important.

The diskettes you have created are reusable and you do not have to re-create them after you
have used them to take a stand-alone dump.
Once you have obtained a stand-alone dump, you can list the contents of the diskette using
$DUMP. To dump the contents of the diskette, use data set $$EDXLIB and volume name IBMEDX.

o
Chapter 4. Utilities

UT -91

$DASDI
$DASDI- Format Disk or Diskette (continued)
Primary Option 0 Example: Create 2 diskettes for a stand-alone dump >S12K.
;

.~

.«; ,

, .. ,

:~rl~'r:r~~~~i~~~E~tl*m~~f~9: . ,.,

;: :; :; ;:. ;:O·:=<:~REAtf;S·TAN&';'ALONE ,DUMP/$TR,L\P 'D fSKEtTE
::' iI::;',: ,~r:'~" :'G;Il~:K~ti,i: •. Iiu j fJ". i..~~·.· i ~,L\:r ipN' •. '.
, , '•.:;:g.: :=i. :;4~6.~:, .D,.:t.$!<: I'N:I TIAl;,.IZAJ+ON
. . 3~:~ :~9,~$;D:·.! ~I<·.I NI JJ·A~J.ZATION:
.4::.:;:#5)6''] ~P] ~K~: JNIt IALI~AT I.oN
"5 '=DD Sf(lH SK'I'NnTI'AL I~A t i br·f
: "9'~'EXIT;qFSK . . 1NlTIAL IZAT:lON •
. ,e:r-ff:ER.DISK·· tNI. TIALt:ZATWN.oPTf.oN: 0
'D6:'YOUJ':IStI TO FORMAr 2 DISKETTES (Y /N)?

Y

STAND-ALONE DUMP
>,.

.

.

.,,;

·',·SDI'SKE1TE
~. -;;,

'"

~": ":.

.,': '." ":.

~ .. :

_:.,".

i :,;. . . ."

A:i~s IDEDDISKE1TE?:

' . .:.. '::

~: :: ': .. '." ."

..".. ".

Y

'

;'**:***~*Wti*************************************

.i:iJSk~ttE . r;ORMAT'TING PR.oGRA·M
*
:: '.?:;,.: i;p.:.:PORMA1:tiNG '•. 1. S;rN.PROGR ES S' ,D O' ". NOT.
;::.·:r;l.:.;~:P;NC:~l.;it$~).:r~fSPRPGRAf<1' •• ·.· •. 1NSTEAD., PRESS
A""'N·,;. ~~t)ENTER.;.$ PAsoJ';l.o TERMINATE. .'
... *

*
*

:. :. .r:::

'*****'#***1c.*******'*****************************

. ENtER '. DrS': ::r:ORM~TT1NG \4IL( DESTROY ALL DATA 'ON THEDI SKETTE.

;JH).~Ti;NUE(Y/NX?.Y .'

·IBMEQX·VARtED ONLINE
:. .

. ,.

'U~.UU("'''":· '.:'

.•.•

,"

: ,FORMATtl Nt: •. t·.oM~LErE
:::S:r~ND"';Al.ONE DUt:1P;'PJ$KETTE ~u.J.Lr·

·:;~~;~U6E~OVE·.t8EF:TR~i:'.:PI·$KET'TtAND
::R:RES:S
~;"

j NSERr THE SECOND DISKETTE
:"ENTERILroCoNTINUE.OlrIIPF311 T.o:EXIT OPTION

i '<. ". ,>'; ~: ,.- """'. ;:,'

.: ,::, ;. "." .,':" '.:

.' ". . .".

.,;". :. ," ."

.:. ., ". :"." , .

.'

.

.'

.

. '."

".

.

. '.

***

. .•

./

o
UT -92

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Create 2 diskettes for a stand-alone dump >512K (continued).

DISKETTE TO BE FORMATTED FOR USE WITH:
IS DISKETTE A 2-SIDED DISKETTE (Y/N)?

STAND-ALONE DUMP
Y

**********************************************
*
DISKETTE FORMATTING PROGRAM
*

*
*
*

IF FORMATTING IS IN PROGRESS, DO NOT
*
CANCEL ($C) THIS PROGRAM. INSTEAD, PRESS *
ATTN AND ENTER $DASDI TO TERMINATE.
*
**********************************************
ENTER DISKETTE ADDRESS IN HEX:
DEVICE VARIED OFFLINE

02

DEVICE ADDRESS 02, STAND-ALONE DUMP FORMAT, SINGLE DENSITY, 256 BYTES/SECTOR
WARNING: FORMATTING WILL DESTROY ALL DATA ON THE DISKETTE.
CONTINUE (Y/N)? Y
IBMEDX VARLED ONLINE
FORMATTING COMPLETE
STAND~ALONE DUMP DISKETTE BUILT

o

DIRECT ACCESS DEVJCE INITIALIZATION
DISK INITlALIZATI ON OPT IONS:
o = CREATE STAND-ALONE DUMP/STRAP DISKETTE
1 = DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963 DISK INITIALIZATION
4 = 4967 DISK INITIALIZATION
5 = DDSK DISK INITIALIZATIUN
9 = EXIT DISK INITIALIZATION
ENTER DJSK INITIALIZATION OPTION:

o
Chapter 4. Utilities

UT -93

$DASDI
$DASDI- Format Disk or Diskette (continued)
Primary Option 1 The

o

Diskette Initialization
$DASDI

utility initializes single and double-sided diskettes. Three formats are available:

•

Format for use with the Series/l 'Event Driven Executive

•

Format to the

•

Format entire diskette to sector size: 128-, 256-, 512-, or 1024-byte records.

IBM

Standard for Information Interchange

Notes:
1. Double-density is available on the 4965 and 4966 8 inch diskette units at 256, 512, or 1024
bytes per sector. Only double-density at 256 and 1024 bytes per sector is recognized on the
Event Driven Executive.
2.

128 bytes per sector are available only at single density on the 8 inch diskette.

3. 1024 bytes per sector are available only at double-density on the 8 inch diskette.
The following matrix shows the configurations available by format for density and sector size
when initializing your diskettes.
128 bytes/sector

256 bytes/sector'

512 bytes/sector

1024 bytes/sector

Formats

S

0

S

0

S

0

S

0

Event Driven
Executive

y

N/A

y

y

N/A

N/A

N/A

y

Standard for
Information
Interchange

Y

N/A

Y

Y

Y

Y

N/A

y

Sector size

Y

N/A

Y

Y

Y

Y

N/A

Y

o

Legend:

S = Single-density (Diskette 1 and Diskette 2)
D = Double-density (Diskette 2D on 4965 and 4966)
Figure 10. Density and sector sizes available according to format

o
UT -94

SC34.;.0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Note: For basic exchange copying unoer the Standard for Information Interchange format, use
a single-sided diskette, formatted as single density, 128 bytes per sector. For H-Ievel exchange,
use a double-sided diskette, formatted as double-density, 256 bytes per sector.
Event Driven Executive Format
If you select the Event Driven Executive format, cylinder 0 is formatted according to the IBM

Standard for Information Interchange. The remaining cylinders are formatted at 128 or 256
bytes per sector. On a 4965 and a 4966, a diskette may be formatted as double-density at 256
or 1024 bytes per sector.
After surface analysis is complete, $DASDI writes the volume label, IBMEDX, on the diskette. The
next step after preparing a diskette surface usually is to create a volume for use with the Event
Driven Executive. You create volumes (establish directories) with the $INITDSK utility. $DASDI
gives you the option of going directly into $INITDSK execution without having to end $DASDI and
issue the $L command for $INITDSK yourself.
Standard for Information Interchange Format
If you select the IBM Standard for Information Interchange, format cylinder 0 according to that

C'
i

standard, and format the remaining cylinders for 128-, 256-, 512-, or 1024-byte records.
$DASDI prompts you for the density (single or double) and the sector size (single: 1-128, 2-156,
3-512; or double: 1-256,2-512,3-1024). If you are going to use the diskette for basic
exchange copy under $COPY, use a single-sided diskette formatted as single density, 128 bytes
per sector. If you are going to use the diskette for H-exchange copy using $HXUTl, use a
double-sided diskette formatted as double-density at 256 bytes per sector. After surface
analysis, $DASDI writes the volume label, IBMEDX, on the diskette and assigns a data set name,
DATA. DATA consists of all the tracks on the diskette. Under this format, you do not need to
initialize diskettes.
Sector Size Format
If you select the sector size format, $DASDI formats all cylinders to the density (single or double)

and sector size you select (128, 256,512, or 1024 bytes). After surface analysis, $DASDI does
not write a volume label, header, or record in cylinder 0, and you are not given the option of
going directly into $INITDSK execution.
Note: A diskette initialized according to sector size cannot be used on an Event Driven system
except for reformatting.

o
Chapter 4. Utilities

UT -95

$DASDI
$DASDI- Format Disk or Diskette (continued)
(0"
'
,~-

Operating Characteristics

After you invoke $DASDI and choose primary option 1, $DASDI prompts you for the device
address of the diskette drive where the diskette to be formatted is mounted. Enter this address
in hexadecimal.
Note: The 4966 has a capacity of 23 diskettes: 2 magazines of 10 diskettes each plus 3 slots for
individual diskettes. The three individual slots are the first 3 slots in the device. $DASDI
operates on diskettes in slot 1 only; you must mount in slot 1 any diskette on which you want to
run surface preparation.
After you choose a format, $DASDI prompts you (as constrained by format and device choice)
for density (single or double) and sector size (128, 256, 512, or 1024 bytes). $DASDI varies the
selected diskette device offline, displays the selected format, and issues the following warning
message:

If you respond Y, the following occurs for each of the three formats:
1.

Event Driven Executive-$DASDI formats the diskette, writes a volume label (IBMEDX) on the
diskette, and issues the message:

liok~r~rNG'COl1~~&f,f:

.

You then have the option of going directly to $INITDSK as follows:

Ulg~q·$'~JTP~1A· .. .' , ..
If you wish to create a logical volume or establish a directory, respond Y and the system

invokes $INITDSK. After you initialize your diskette under $INITDSK, end the $INITDSK utility.
2. Standard for Information Interchange-$DASDI formats the diskette and writes a volume
label (IBMEDX) on the diskette, allocates a data set called DATA, and issues the following
message:

DATA

consists of all the data tracks on the diskette.

o
UT -96

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
3. Sector Size Format-$DASDI formats the diskette but does not write a volume label or header
on the diskette; it issues the following message:

LFORHAiT I NG
$DASDI

COMPLETE

prompts you as follows:

lANOTHER. DISKETTEl
If you respond Y, you have the following choices (you should insert another diskette as

required):
Choice 1
SAME DEVICE ADDRESS AND FORMAT?
DEVICE VARIED OFFLINE

c

Y

******* WARN I NG************ .. :'::'.,',
'. '
FORMATTING WILL DESTROY ALL DATA ON THEDI SK~TTE INSLOT'\.CONT I NUE? '

Or
Choice 2
, SAME OEVI CE .ADDRESS AND FORMAT?
ENTER DISKETTE ADDRESS I.N HEX:'

N

If you respond N to "ANOTHER DISKETTE," the system displays the $DASDI primary option

menu again.
Notes:
1. Do not use

$C

to cancel a formatting operation. Enter ATTN $DASDI to force termination.

2. After you create the volume label and data set header, the rest of cylinder 0 consists of
deleted records. Any attempt to read them results in an error condition.

o
Chapter 4. Utilities

UT -97

$DASDI
$DASDI - Format Disk or Diskette (continued)
Example 1: Format a double-density diskette on a 4966 for Event Driven Executive.

o

o
UT -98

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)

DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
o • CREATE STAND-ALONE DUMP/STRAP DISKETTE
1 = DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963 DISKi NITt AL IZATt ON
4 = 4967 DISK INITIALIZATION
5 = DDSK DISK INITIALIZATION
9 = EX ITO ISKI NIT IAL IZAT ION
ENTER DISK INITIALIZATION OPTION: 9
$DASDI ENDED AT 00:29:30
Example 2: Format diskette on a 4964 to IBM Standard for Information Interchange.

ENTER DISKETTE ADDRESS IN HEX:

02

INITIALIZE FOR USAGE WITH THE EVENT DRIVEN EXECUTIVE?

•

N

INITt AL IZE TO IBM STANDARDS FOR INFORMATI ON INTERCHANGE?

c

Y

NOTE: EDX SUPPORT FOR IBM: STANDARDS FOR INFORMATION INtERCtlAN:~E
DISKETTES IS LIMITEDTO THE DOCUMENTED EDXEXCHANGE U1ILlJ1ES
SELECT SECTOR SIZE (1 == 128, 2=256, 3=512); 1
.
DEVICE VARIED OFFLINE
DEVICE ADDRESS 02, IBM STANDARD FORMAT,SINGLE DENSITY, 128 BYTES/SECTOR
** WARNING**
fORMATT INGWILL DESTR()YALL DATA ON THEDI SKETTE.
IBMEDX VARIED ONLINE

CONTINUE?

Y

FORMATTING COMPLETE
ANOTHER DISKETTE?

N

$DASDI ENDED AT 00:44:30

o
Chapter 4. Utilities

UT -99

$DASDI
$DASDI- Format Disk or Diskette (continued)
Example 3: Format diskette on a 4966 to 256-byte records (double-density).

o

I'--~\

~,i

o
UT -100

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Primary Option 2 -

4962 Disk Initialization

The disk initialization utility for the 4962 initializes your disk, writes sector addresses on the
entire volume, analyzes and locates defective sectors, and assigns alternate sectors. After you
initialize the disk, it is ready for use with the Event Driven Executive. For a new disk device,
you should perform initialization before you install the Event Driven Executive on it.
When using this primary option, you must select one of two initialization types:

•

PI (primary) -

initialize a disk for the first time or completely reinitialize the disk.

Note: This type rewrites the complete disk surface and destroys all data that may have been
on the disk.

•

AS (alternate sector assignment) currently on the disk.

assign alternate sectors without destroying the data

Using PI Initialization

Use PI to verify and correct sector IDs and to analyze the disk surface to find defective sectors.
If the programmer's console is active, the data buffer displays the number of the cylinder $DASDI
is initializing currently. If the system finds a defective sector, either on a movable or a fixed
head, it assigns an alternate sector from cylinder 1 and $DASDI issues a message. When the

c,)

system assigns an alternate sector, the sector ID of the defective sector refers to the location of
its alternate on cylinder 1. The system marks defective sectors. If a defective sector exists on
cylinder 0, the system assigns to the defective sector an alternate sector under the same head on
cylinder 0.
Using AS Initialization

Use AS to force the assignment of alternate sectors without destruction of data on the disk.
$DASDI tries to move data from the defective sector to its assigned alternate. If data recovery
fails, $DASDI issues a message and flags the alternate data field with all one-bits (hexadecimal
FFFF). If the system finds an assigned alternate is defective, it marks the alternate as defective
and assigns a new alternate. The system attempts data recovery in this case, also.
Note: Use AS only when necessary. Cylinder 1 has a limited number of available alternate
sectors. Once the system assigns an alternate sector, you can recover the sector only by writing
all sector IDs during a primary initialization.

o
Chapter 4. Utilities

°

UT -1 1

$DASDI
$DASDI - Format Disk or Diskette (continued)
r'

The storage capacity and number of alternate sectors available on cylinder 1 depends on the
4962 model:
Storage capacity (in bytes)
Moveable heads
9,308,160
9,308,160
9,308,160
9,308,160
13,962,240
13,962,240

Model
1
1F
2
2F
3
4

t,

Alternate
sectors
120
120
120
120
180
180

f

fixed heads
122,880
122,880

Example 1: Primary initialization of a 4962 disk.
> $L $DASDI
LOADING $DASDI

7P,00:28:55, LP=7EOO, PART=l

DIRECT ACCESS DEVICE INITIALIZATION
01 SK IN IrlAL IZATI()NOPlIONS:
=CREATESTAND'-ALONE pUMPI$TRAPD ISKETTE
r =DJSi< frTE I NITI AL fZA llON' . . . .. . ... . ....
i =: 4§620ISKINITIAtIZAT ION
3=496301 SK INITiALIZATION
4=· 4967·0 ISK1Nn I ALI ZATlON
5= ~DSK nlSK iNlllAllZATtON
9.= EXIT DISK. INITIALIZATH)N'
ENTER 0 I SK I N1TIAL IZATtONOPT ION!

o

4962

blsK

()

INITIALIZATI~N

**~~**~*~**~****~**~~******~********~**'****************

*
*.
*

WARNING. .
N()QSERPR.9GRAMSHOULD. BE JWNNJ NG
WHILE PERFORMING DISK INITIALIZATION

*
*

'*
*******************************************************
I) I SK IN IrlAl IZATI ON' STARTED ....... .

ENTER.OISK.·.'OEVICE
··(HEX):
03 ..
. . . . ADDRESS~NN
.
..
.'

o
UT-102

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
In the previous example, $DASDI prompts for the following:
Disk or diskette primary initialization option: 1 through 6
•

Initialization type: PI for primary or AS for alternate sector

•

Initialization mode:
N - Retain defective flag byte of each sector ID.
Y - Rewrite sector flag IDs and reinitialize the flag byte where possible. Allows you to
initialize a disk with invalid sector flags.

Note: Respond Y only if you wish to rewrite all sector IDS. This causes the loss of any IBM
factory-assigned defective sector flags. If you respond Y, the following verify operation occurs:

FACTORY-MARKED DEFECTIVES MAY BE LOST
IS CHANGE OF REPLY DESIRED? YIN: N

N

Operation will continue with flags considered invalid.

Y

A reprompt of the previous message results, allowing you to change the status of the
defective flags.

The system repeats the following message for each alternate sector assignment, if any occurs:

ALTERNATE SECTOR ASSIGNED FOR ccchss
Note: ccchss=the address of the alternate sector assigned.

o
Chapter 4. Utilities

UT -103

$DASDI
$DASDI - Format Disk or Diskette (continued)
Example 2: Alternate sector assignment on a 4962 disk.

()

*****************************************~**********~**

*
*
*

WARN I NG
NO USER PROGRAM SHOU~DI3E RUNNtNG'
WHILE PERFORMING QISKINiTIALIZATION

***************A******'!t**************tt************'Jt****'. .•. ,
o I SKIN IT tAL IZAr I ON STARTED ,
ENTER 01 SKOEV'ICEADDRE$S ..

03

'

ENTER
AS
ALTERNATE SECTOR MODE
ENTER SECTOR ADDRESS - CCCHSS

()

Cylinder /Head/Sector (ccchss): The address of the sector presumed to be defective.
$DASDI assigns an alternate sector on cylinder 1 then tries to move the data from the defective
sector to the alternate sector. Alternates on cylinder 0 are located on the same track and head
as the defects on cylinder O. This process may reveal that the sector IDs on cylinder 0 are in an
inconsistent condition. Processing continues if possible. You cannot assign an alternate to a
defective sector on cylinder 1.

Note: The system always refers to the fixed-head area as cylinder 303. You should consider
that this cylinder contains eight heads (zero through seven). To refer to sector five under
fixed-head four, specify 303405.
The system displays the following message at your terminal indicating completion of the disk
initialization.
ALTERNATE SECTOR ASSIGNED F'OR cctHSS
DISK I NlTIAflZATI ON. COM·P~E*E.

o
UT -104

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Primary Option 3 -

4963 Disk Initialization

The $DASDI utility identifies and restores defective sectors on a 4963 disk device. The 4963
comes from the factory already formatted with all logical sector addresses assigned and tested
and with alternates assigned to any defective sectors; you do not have to initialize a newly
installed 4963.
With this primary option, you can:
Identify a specific sector as being defective and cause the utility to assign an alternate to it.
•

Restore a previously identified defective sector and cause the utility to free its alternate.
Print a map of all defective sectors and indicate if the defective sector were factory- or
user-identified.

The system assigns alternate sectors as follows:
•

If the primary alternate (the extra sector on the same track) is available, the system uses it as
the alternate for the defective sector.

•

If the primary alternate is not available (either it is defective or already assigned), the system
assigns a secondary alternate from the nearest track under the movable heads having an
available primary alternate.

Note: The system assigns the primary alternate under a fixed head to a sector that is under the
same fixed head.
The storage capacity and the number of alternate sectors for each 4963 model follows:

Model

Storage
capacity (in bytes)

Alternate
sectors

23,592,960
29,491,200
58,982,400
64,880,640

358
358
358
358

131,072

358

. Moveable head:
23A,B
29A,B
58A,B
64A,B
Fixed-head:
23A, 23B,
58A, 58B only

0 ·,
,

',.,,1

Chapter 4. Utilities

UT -105

$DASDI
$DASDI - Format Disk or Diskette (continued)
When restoring sectors from defective status, $DASDI physically moves the sectors within the
track to minimize the processing time between consecutive logical sectors. You cannot restore:
•

o

A factory-assigned defective sector
A primary defect (one that causes the system to assign the primary alternate for the track)

•

A sector whose ID has been extended (caused by a defect in the ID field of the original
sector). (See example 2 on the following page.)

Example 1: Invoking 4963 disk initialization.
> $L $DASDI
LOADING$DASDI

7P,OO:28:55, LP=7EOO, PART=l

DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
o = CREATE STAND-ALONE DUMP/$TRAP DISKETTE
1 = DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963AISK INITIALIZATION
4 = 496i D~SK INITIALI1ATION
5,= ODSKO ISKINtT IALI ZATI ON
9",,= EXIT 0 ISIS ,I NITIAL,I ZAT ION
ENTEROISK INITIALIZATION OPTION: ,3
4963 DISK INITIALIZATION

*******************************************************
~. ,

,~!\.RN I ~G

*

o

NO USER PROGRAM SHOULD BE RUNN ING
*
WHILE ,PERFORMING 01 SKI NI11 ALI ZAT ION
*
"!c**.**.*-****.~.**.****-*.*. .*.***,**.**.****:**~**,~*.**"****.***********

*

*

01 SK INLTIALI ZAT/ON. STARTED
, ENJERD ISKDEVI CE AODRE.SS-NN
48

Your option entry must be one of the four secondary options listed in the command menu. You
can choose to identify, restore, or map defective sectors. $DASDI ends when you enter primary
option 9.

o
UT -106

SC34-0644

$DASDI
$DASDI - Format Disk or Diskette (continued)
Example 2: Obtaining a map of defective 4963 sectors.

ENTER OPTION:
3
DEFECT
0000101
0020114
0340401

ALTERNATE

EXTENDED

3580400

This map shows three defective sectors, one of which is a secondary defect (indicated by the
alternate address). If the system finds a defective ID and is able to extend that sector to an
alternate one, the map displays an asterisk (*) in the EXTENDED field for that sector.
Example 3: Assigning an alternate sector.

ENTER OPTI ON:
1

ENTER CCCHHSS OF SECTOR TO BE MARKED DEFECTIVE OR END:
0010205
ENTER 'Y' TO ASSIGN ALTERNATE, ANYTHING ELSE TO CANCEL:
y

C:

3580101 ASSIGNED ALTERNATE OF 0010205
ENTER CCCHHSS OF SECTOR TO BE MARKED DEFECTIVE OR END:
END
ENTER OPTION:

Chapter 4. Utilities

UT -107

$DASDI
$DASDI - Format Disk or Diskette (continued)
Notes:
1. In the preceding example, enter the disk address for a 4963 as a seven,..digit number
(0010205): the cylinder is 1 (001), the head is 2 (02), and the sector is 5 (05).
2. $DASDI uses the following range of values for the ccchhss of a 4963:
cylinder
0 ,.. 357
head
0 ,.. 4 (5,10,11 )*
sector
0,.. 63
* depending on model

3. $DASDI may appear to assign an alternate for a ccchhss that is not the one you specified.
This occurs because the 4963 is arranged as follows:
records 0,32 are located in physical sector 0
records 1,33 are located in physical sector 1

records 31,63 are located in physical sector 31

Example 4: Restoring a previously assigned alternate sector.

ENTER OPTION:
2

ENTER CCCHHS$ OF SECTOR TO BE RESTORED OR END:
0010207

0010207 HAS BEEN RESTORED FROM ccchhss

ENTER CCCHHSS OF SECTOR TO BE RESTORED OR END:
END

ENTER OPTION: 4
DISK INITIALIZATION ENDED
$14963
ENDED AT 01;01:27
Note: The system always refers/to the fixed,..head area on the 4963 as cylinder 511. This
cylinder contains 8 heads (l6,..2~) and 64 sectors (0,..63).

o
UT ,..108

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Primary Option 4 -

4967 Disk Initialization

The $DASDI utility identifies and restores defective sectors on a 4967 disk device. However,
unlike the 4962 and 4963 disks, the system identifies the sector addresses on the 4967 by
relative block address (RBA) rather than by cylinder, track, and sector.
With primary option 4, you can:
•

Verify all data fields and associated IDs on the entire disk or a selected cylinder and identify
any defective RBAS.
Refresh data associated with a specified RBA.
Assign an alternate sector for a specified RBA.
List the assigned alternate sectors.
Remove an alternate sector assignment.
Write one sector ID.

The storage capacity and the number of alternate sectors for each 4967 model follows:

e'l
Jj/

Model

Storage
capacity (in bytes)

Alternate
sectors

02CA
02CB

200,177,152
200,177,152

7,966
7,966

o
Chapter 4. Utilities

UT -109

$DASDI
$DASDI- Format Disk or Diskette (continued)

o

Example 1: Invoking 4967 disk initialization.

········ti·'I;~~:c~f,:\~i;~:t;~.$:0:~~t'V,rc~~'\r·~·I;t:(;i~··;: . .
"DISKIN 1:T'j·ALlfArl.qNoP,il.QN.~:t .::.; .< .•. . ; •.••., ••....,. . . ~. .'...•.....••.... :

0',=, ··.c~£Atg;sT~ND~AtQNE.[)f;JMP/$lrRAP.·• ··Pts KE.rr£'··· .

1== .D·I~KEr:t£.I:Nlt+At:JlAtION. .:..........
a==496.2ofSK INI:TIA~1 ~Atl oN ; .
l'=: .49 63•. ·ql.SK .INrJJA~IZArION.....
4.=·~96iDISK···IN.IT IAL.JZAT·ION
; ·.·.so····ODSI<·,DrSK TNln ALIZAfJ ON'
.9= EXIT OI·SI( .INITIALIZATION
ENTER 01 SI(' fNJ.TIALIZAn.ON· o·erION·:

.

4967 01 Sk'INI TIAL IZAt I ON

*******************************************************

*

WARN ING

*
*

se

*
*
*

NO USElfPROGRAM SHOULO
RUNtfi NG
WHILE PERF()RMJNGOISKIN ITJALllATLON
****************~*******************************~*.****
~.

... ~ .:-

'

pISI(INITIAtIZATION·· •. ·stARTED

E·NTE~·. . ·.PEyICE'..;.~:.
'qA3~: '.. '. . •.•·O~F.~~Qf'T·ER~':E'cC·...CqBRe:CiE·D

1000

fOOfi
aOOf'.:
'.0002, .

. 9:0'00:"

Ol~A.\~·.··

':BBBB: .
.Oa04

.

:t.:I

'·'0006

';':163Jf . . .
..•.BSS8

a.BBB

aBef·

BaBe

t) NRE'ADABLE"

;~.•.'..•9B;. .~.'.'.;9'~•.;··· .•...

.O'.F·F·Q'A:rAERR:;~CC\l,N:\lER"ED.. .
;B.BB B·Na;.~7 ...l·D.'.N;OT.·RE.t\pl\aLE .
03F·FJ~RF"". ·.rD··Nor"AlrD
()3F~;$()'FrERROR R~:1'R:Y
88.al3 'N.Rt~ '11). ·N·OlR EA'DABkE

BSlB·NRF;';lDNOT.READABlE

I. ·D~· · · · As·~ ,G ~•.··.jAN··:'AI~1.ERNA1'E'" .•.• :USE·.O·Nt¥:.···.•O·NE··.··RaA:··.PE~.·is·ECTQR·
.

•

DATA·.··.E~RO~.,·REPRESWR·EC()R:i).··lO~TI·ON¥) .•;~.:IF':ERRO~.· . . . ·•· •. ·
'PERSJSlS"J\S?J~N . Af':l.,A,~:T~RNAt~:;.: ..,;...•..... ;.;.. >. i··.. ........; .•.
SOFT ·ERROR.,..~CC·c ORREtT~'RE F'.I\ES'H ·REC'ORO·.(Opl rON.2·)~
. JF··.·.·· ~R~O~ . P..E~~l$!$ ,·.•·AS~IGN;~N...A~TERNAl'E'••' ','
ECC.INv~RtEO~REFRESH,·.REq)RQ(·~PTION . '"2.·~;~··':·.....

IF .. E~ROlt·P:·E'R;SbSTS, •. A$SJ~~J\NAL'VE.~N~T~.~.·i\;~· ........ :. • . :. 'i'"
INVAL.,p···;.1 D";W~:ITE;.~E:Ct9R:· t·~.lQ.PT:i9N·'6t .• ;;iIJ.POS$I~~E:;.;
:WILL'BE.• ·~E~coyERED.·,.
.

This table shows flagged or bad sectors that exist on a selected cylinder.

o
UT -112

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Secondary Optio~ 2 -

Refresh Data

Use secondary option 2 to refresh the data contained in the sector to ensure that it is valid or
correct. You are able to patch data in the suspected RBA and write the new data back out to the
RBA. If the error no longer appears, you can use the RBA as is. If the error still appears, then
you must assign an alternate sector (secondary option 3).
Notes:
1. For inverted ECC errors, if you write back the RBA without correcting it, the inverted ECC
error disappear. However, the data could still be bad. Be sure to verify the data.
2. For ECC corrected errors, you need not verify the data before writing it back to disk.
Example:

ENTER OPTION: 2
ENTER RELATIVE BLOCK ADDRESS (RBA)-(HEX) 5 OIGITS(RRRRR):

12345

At this point, $DASDI reads the selected RBA and displays the 256 bytes, in eight-words-per-line
format, contained in the RBA.

o

0368:
0378:
0388:
0398:
D3A8:
D3B8:
D3C8:
0308:
D3E8:
03F8:
F408:
F418:

$DASDI

0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000

23AB 0000 23AB 0000 23AB 0000 23AB
23AB 0000 23AB000023AB 0000 23AB
23AB 0000 23AB 0000 23AB 0000 23AB
23ABOOOO 23AB 000023ABOOOOZ3AB
23AB 0000 23AB 0000 23AB 0006 ZJAB
2JAB. 0000 23AB 0000 23AB 00002·3AB
23AB 0000 23AB 0000 2.3AB 0000 23AB:
23AB 0000 23ABOOOO 23AB 0000 23AB
23AB 0000 23AB 00.00 23AB 0000 23AB
23AB 0000 23AB 0000 23AB000023AB
23AB000023A.B 0000 . 23AB0009.·23AB
23AB 0000 23AB 0000 23AB000023AB

then prompts you as follows:

lPATC~THE. Ra~m ST"lRAGEl
If you enter Y, $DASDI issues a prompt for the starting address and number of words (count) of

the patch:

o
Chapter 4. Utilities

UT -113

$DASDI
$DASDI - Format Disk or Diskette (continued)
then displays the address of the area you want to patch and the data currently appearing
at that location. Enter the new data.

$DASDI

$DASDI

displays the selected RBA showing the selected address and changed data.

$DASDI

then prompts if you wish to patch another location in the same RBA.

If you respond Y, $DASDI prompts for another address and count. If you respond N, $DASDI
issues a prompt asking if you wish to write the changed RBA to disk. If you respond Y to this
prompt, $DASDI writes the changed RBA back to the disk.
!

'

o

o

'"'.

;':.\ W~lrE:·. T~E',.~~p/;·,.,b' Ot'SK?' .'r
:D,Pt:[A:RECO,RD :W~ftT:efr;:':, ,,'
"Y

• ...,

•

"/,i>,-

•

> •

"::< ~',;',

:-,_>,

,«

:1.

:

";

~~ ':':'~;

~;i\.<.~,~.

Once you have written the RBA to disk, $DASDI issues a prompt asking if you wish to patch
another area.

~ANOTHER PA~CH1:UN

..... .

If you respond Y, $DASDI again prompts for the selected RBA and displays the 256 bytes
contained in that RBA in eight-word-per-line format. If you respond N, $DASDI returns to the
4967 Disk Initialization secondary menu.

o
UT -114

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Secondary Option 3 -

Assign Alternate Sector

Use secondary option 3 to assign an alternate sector for a selected RBA.
Example:

ENTER OPTION: 3
ENTER RELATIVE BLOCK ADDRESS (RBA)-(HEX) 5 DIGITS (RRRRR):
ALTERNATE ASSIGNED
Secondary Option 4 -

12345

Remove Alternate Sector Assignment

Use secondary option 4 to remove an alternate sector assignment that you assigned using
secondary option 3.
Example:

ENTER OPTION: 4
ENTER RELATIVE BLOCK ADDRESS
ALTERNATE UNASSIGNED

(RBA)~(HEX)

5 DIGITS (RRRRR):

12345

If the RBA you specified is not assigned to an alternate sector, $DASDI issues the following

c

prompt:

USER DEFECT NOT FOUND
ALTERNATE UNASSIGNMENT NOT COMPLETED
Secondary Option 5 -

List All User-Assigned Sectors

Use secondary option 5 to display a list of alternate sectors you assigned.
Example:

ENTER OPTION :

o
Chapter 4 . Utilities

UT -115

$DASDI
$DASDI - Format Disk or Diskette (continued)
Secondary Option 6 -

Write One Sector I D

o

Use secondary option 6 to convert the selected RBA to a head, cylinder, and logical number.
The system writes the sector ID for that logical number using the factory defect data (if any
exist) from the surface analysis cylinder. The system recovers and writes data with the sector ID.
Example:

If the system has already assigned the selected RBA as a user-defined alternate, then $DASDI

displays the following message:

If you specify the surface analysis cylinder, then the following message is displayed:

If the system detects an error while recovering data, it displays the following message:

In response to this message, refresh the data using secondary option 2.
Secondary Option 7 -

Exit

Use secondary option 7 to end 4967 initialization (primary option 4) and to return to the
primary option menu of $DASDI. Primary option 9 ends the $DASDI utility.

o
UT -116

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Primary Option 5 -

DDSK Disk Initialization

The $DASDI utility identifies and restores defective sectors on the 30-megabyte disk device
(DDSK-30) and the 60-megabyte disk (DDSK-60). For these devices, the system identifies disk
sector addresses by relative block address (RBA) rather than by cylinder, track, and sector.
With this option, you can:
Verify all data fields and associated IDS on the entire disk or a selected cylinder.
•

Identify any defective RBAS.

•

Refresh data associated with a specific RBA.
Assign an alternate sector for a specified RBA.
List the assigned alternate sectors.
Remove an alternate sector assignment.

The initialization routines for the DDSK-30 and DDSK-60 disks appear as primary option 5
under the $DASDI utility. When you load $DASDI, it displays the following menu:

o

> $L $DASDI
LOADING $DASDI

7P,00:34:11, LP=9000, PART=l

D IRECTACCESS OEV I CE INI TI ALI ZAT ION
DISK INITI AL I ZATI ON OPTIONS:
0;" CREATE STAND-ALONE . DUMP /$TRAP 01 SKETTE
1 = DISKETTEINHIALIZATION
2=4962 DISK I.N.I TI ALI ZATI ON
3= ~963 DISK INITIALIZATION
4= 4967D I SKI NIT I ALI ZAT ION
5= DDsKD ISK INITIALIZATION
9. ~. EX I TO I SK.I N IT IALI ZATI.ON
~NJERD !SKIN.! T IALI.ZAT ION OPTION: 5

The storage capacity and the number of alternate sectors for DDSK-30 and DDSK-60 disks
follows:

Model

Storage
capacity (in bytes)

Alternate
sectors

300
600

30,821,888
61,668,864

3,544
7,088

o
Chapter 4. Utilities

UT -117

$DASDI
$DASDI - Format Disk or Diskette (continued)

('0
'L...
r

Enter a 5 in response to the ENTER DISK INITIALIZATION OPTION prompt. $DASDI then prompts
you for the address of the disk. Once you have entered the disk address, $DASDI displays the
secondary options available under option 5.

t-***************************~***************~*****t*
WARN ING
*
:

~~1~~E~E~~~~~~~GS~~~~DI~7t~~~~i:~ION

:

***************************************************

ENTER DEV I CE ADDRESS

OF 01 SK

(HEX):

44

DOSK UTILITY PROGRAM
OPTION MENU
o VERIFY ENTIRE DISK
1 VERIFY CYLINDER BY SELECTED RBA
2 REFRESH DATA
3 ASSIGN ALTERNATE SECTOR
4 UNASSIGN SECONDARY ALTERNAtE SECTOR
5 LIST ALL USER ASSIGNE~_AlTERNATE SECTORS
6 EXIT
SELECT ONE OPTION:
Select one of the six secondary options listed above. A description of each secondary option
follows.

()

o
UT -118

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
Secondary Option 0 -

Verify Entire Disk

Use secondary option 0 to identify any defective RBAS on the entire DDSK-30 or DDSK-60
disks. The system reads and verifies all data fields and associated sector IDs on the disk. If
$DASDI finds no errors, it issues .the following message:

o
ENT1REDI SK. BEING VERI F lED, IDS AND DATA
NO SECTOR OR O.ATA ERRORS

When using secondary option 0, no errors are expected to occur. However, if the system detects
errors, ,you should correct them. $DASDI displays the relative block address, the sector ID of the
RBA, the head and cylinder, and a comment describing each error. Following the error
description, $DASDI displays the recommended way to correct each error.
ENTI REDISK BEING VERI FI ED, tOS AND DATA
ERRPR SECTORS
.' "RBA
0011
0.101
0101
0002
023A

NRF-ID NOTVAL:L9
NRF - I o NOT READABLE
DATA ERROR
SOFT ERR - ECC CORRECTED
DATA ERR - ECCINVERTED

RECOMMENDED WAY TO CORRECT LISTED ERRORS:
NRf-.IDNOTVALID:NORECORDFOUNO'" 10 NOT READABLE - ASSIGN
ANALTERNATE;', '. ",
NR.F:--IDNOT.REAOABLE:NORECORDFOUND .,.10; NOTREAD,ABLE -ASS I.GN
AN"LTERNATE~ ."'" ..,. ',' .". . "'. .,'. ,',,' "..,' , . .•,., ., . '." . " " '.,.' " '. , < , "'" ,'" ' . , .
DATA~RROR:READANDCORRECT RECORD. USE OPTION 2' TO REFRESH
RECORD. IF Ef{ROR PERSISTS, ASSI GN AN ALTERNATE •.
DATA ERROR: CORRECT£DECC~USE OPTION .2 TO REFRESH, RECORD.
IF.E.RRQR PERSLSTS'''SSIGN·AN~LTERNATE.
DATA ERROR : . INVERTED,ECC. USE OPTION 2 TO REFRESH RECORD.
IFERROR'P~~SISTS,.' ASS liGN "AN ALTERNATE.

".,<

.'

.....

'. ' . . '

Note: Use of secondary option 0 causes all system processing to stop until secondary option 0
completes. This option takes approximately 6 minutes to complete since it is reading and writing
every sector on the disk.
If you suspect that there is a defective RBA (as indicated by a disk error message), use secondary

option 1 to verify that particular RBA.

0 ·'

,m;

Chapter 4. Utilities

UT -119

$DASDI
$DASDI - Format Disk or Diskette (continued)

O
'i

'

l

Secondary Option 1 -

""",.

Verify a Cylinder by Selected RBA

Use secondary option 1 to identify defective RBAS on a particular cylinder. The system reads
and verifies all data fields and associated IDS on the selected cylinder. If $DASDI finds no errors,
it issues the following message:

,

ENTER RELATIVE BLOCK ADDRESS

"

(~BA)5HEXDIGITS(RRRRRh'

12456

SELECTED CYLINDER 6EtNG,NERtFI!D;
NO SECTOR OR DATA ERRORS'

$DASDI displays the relative block address, the sector ID of the RBA, the head and cylinder, and a
comment describing any error it finds. Following the error description, $DASDI displays the
recommended way to correct the error.

ERROR SECTORS
RBA
I.D...,FG/SEC
11111
3645 '

HO/CYL
0002

DATA ERR-EeC INVERTED,

RECOMMENDED WAY,TO'CORRECT LI STED ERRORS:
DATA ERROR: ,I NVERTED, ECC
USE OPT ION 2 TO REFRESH RECORD. I FERROR PERSISTS, .ASS I GN AN ALTERNATE.

Secondary Option 2 -

Refresh Data

Use secondary option 2 to refresh the data contained in the sector to ensure it is valid or correct.
You are able to patch data in the suspected RBA and write the new data back out to the RBA. If
the error disappears, the RBA can be used as is. If the error remains, then you must assign an
alternate sector (secondary option 3).
Notes:
1. For inverted ECC errors, if you write the RBA back without correcting the error, the inverted
ECC error disappears. However, the data could still be bad. Be sure to verify the data.
2. For ECC corrected errors, you don't need to verify the data before writing it back to disk.
Example:

o
UT-120

SC34-0644

$DASDI

o

$DASDI - Format Disk or Diskette (continued)
At this point, $DASDI reads the selected RBA and displays the 256 bytes (1 record), in
eight-words-per-line format, contained in the RBA.
0000: 0000 0000 00'00 QOOO . OOOQOOOO,:OOOO'OOOO·
0010: 0000 OOOQOO.OQOOOO()OOO.,OO.OO'OOOO> 0(;)09 '
0020: 0000' 00000000 OOQOOO()OOOOOOOQOOQOll .
0030: 0000 0000 0000 00000000,0000 0000 0000
0040: 0000 00000000 0000 OQO() ()OOO 0000 0000
0050: 00000000 0000 0000 000000000000 ',0000'
0060: 0000' 0000" 0000 OOOOOOOO'()OOo' '0:000'0000
0070: 0000 0000 0000 0000 0000 000000000000
0080: 0000 00000000 000000000000 0000'0000
0090: 00000000 0000 0000 0000 000000000000'
OOAO: 000000000000 .00.00 9000 0000 0000.0000 .
OOBO: 0000 0000 00000000 00000000 0000 0000
OOCo: 00000000' OOQO'OOOO 00000000 '00000000
0000: 0000 0000 '0000 0000 0000000000000000.
OOE 0: . 0000 0000·' 0000 0000 00000000'0000 ". 0000
OOFO: 0000 OOOOOOOOOOOOOoOOOOOOOOOO~OOOO

$DASDI

then prompts you as follows:

PATCH THE RBA IN STORAGE?

o

If you enter Y, $DASDI issues a prompt for the starting address and number of words (count) of

the patch:
FO.1

then displays the address of the area you want to patch and the data currently appearing
at that location. Enter the new data.

$DASDI

o
Chapter 4. Utilities

UT -121

$DASDI
$DASDI - Format Disk or Diskette (continued)
$DASDI

displays the selected RBA showing the selected address and changed data.

o

~pC!it;:ogOQ) ;o~OPOOOO~9~Q01l01 &hOOhbOli.,odoo .. ,

•. ;(I0l O,::Q9,QR POOp",~op();.()PPOi:o.OQ~,; OpO~()qp.o;::009'O: ' '

:: ;.: . . "

": ,Dn~o':,:QgQP::~O:OO'y9~()P.,:9g9,OL~Q~Q;; ~~QO: ,:~qpn}~~oe;:
,~q 30::, PQOQ OO.Oopotjo.pooo :O'ODO'OOOO: ~qon,;o~ob,<;:; . '
6q4'0:' ooUt].; 00:09 :6000'::0900 ::o~o(jOi'O()~Q'oooo' 

7P,00:34:11, LP=9DOO, PART=l

DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
o = CREATE STAND-ALONE DUMP/$TRAP DISKETTE
1 = DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3= 4963 DISK INITIALIZATION
4 = 4967 DISK INITIALIZATION
5 = DDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 9
$DASD I ENDED AT 01: 12:29

o
Chapter 4. Utilities

UT -125

$DEBUG
$DEBUG - Debugging Tool
Use $DEBUG to locate errors in programs. All of your interactions are through terminals; none
require the use of the optional programmer console. By operating a program under control of
$DEBUG, you can:

o

Stop the program each time execution reaches an instruction address (breakpoint), that you
have specified.
Trace the flow of execution of instructions within the program by specifying one or more
ranges of instruction addresses known as trace ranges. Each time the program executes an
instruction within any of the specified trace ranges, the terminal displays a message
identifying the task name and the instruction address just executed. You may stop program
execution after the system executes each instruction within a trace range. You may restart
program execution at other than the next instruction.
List additional registers and storage location contents while the program is stopped at a
breakpoint or at an instruction within a trace range.
•

Patch the contents of storage locations and registers.
Restart program execution at the breakpoint or trace range address where it is currently
stopped.

You can determine the results of computations performed by the program and the sequence of
instruction execution within the program. You can also modify data or instructions of the
program during execution.

Major Features of $DEBUG
A summary of the major features of the $DEBUG program follows:
You can establish multiple breakpoints and trace ranges.
•

You can debug overlay segments.

•

Up to five users can employ separate copies of $DEBUG concurrently if the system has
sufficient storage available.
You can set breakpoints and trace ranges in the Series/l assembler language as well as in
Event Driven Language instructions.
The system automatically obtains the task names from the program you are testing.
You can display and modify task registers #1 and #2.

•

You can display and modify hardware registers RO through R 7 and the IAR.
You can display and modify the task return code words.

o
UT -126

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
The list and patch functions accept five different data formats.
You can run the program you are debugging in a partition other than the one where $DEBUG
is loaded.
You can make all address specifications as shown in the program assembly listing without
concern for the actual storage addresses where the system loads the program into storage
for testing.
•

The task where you set the trace ranges is the only place that incurs processing overhead.
Even then, the system enables the hardware trace feature only for specific tasks.
You can activate the debug facility for a program that is experiencing problems even if you
previously loaded that program without the debug facility.
You can debug a program by loading $DEBUG from a terminal other than the one from which
you loaded the program you are testing.
You can debug a program that uses a 4978,4979,4980, or 3101 terminal in STATIC or ROLL
screen mode.
You can list breakpoints or trace ranges specified during a debug session.

C'

$DEBUG

can control the execution of programs containing up to 20 tasks.

Necessary Data for Debugging
To use $DEBUG, you must include $DBUGNUC at system generation. You must have a printed
listing of the program you are debugging that shows the storage addresses of each instruction
and data area of interest. To obtain such a listing using $SlASM, specify PRINT GEN in the source
program, after the PROGRAM statement, at assembly time. Precede the PROGRAM statement
with PRINT NOGEN to prevent the system from printing many system EQU statements, among
others. For $EDXASM, you can get a satisfactory listing if you specify LIST.
To debug segment overlays, you need a link map to find the overlay segment numbers.
For an example of debugging an application program, see the Event Driven Executive Language
Programming Guide.

Chapter 4. Utilities

UT -127

$DEBUG
$DEBUG - Debugging Tool (continued)
Invoking $DEBUG

o

Invoke $DEBUG with the $L operator command. The session manager does not support this
utility.

$DEBUG

then prompts for the name of the program you wish to debug as follows:

The program that you are debugging does not have to run in the same partition where the
system loaded $DEBUG. After you enter the program name, the system prompts you for a
partition number. The system prompts you for a terminal name only if $DEBUG is loading your
program. (Y ou may enter the partition number and terminal name on the same line as the
program name if you prefer.)

The system will inform you if there is not enough room for your program in the partition you
specified or if you specified an invalid partition number. You may specify 0 as a partition
number to tell $DEBUG to load your program in the first available partition. $DEBUG will not
look to see if your program is already in storage.

;r-)

~..~,

..

Note: Do not enter the name of a printer when prompted for the name of the terminal on which
$DEBUG is to load your application program.

After you enter the partition number and the terminal name, if applicable, $DEBUG displays the
load point of the program as follows:

If you have loaded the program you are debugging into storage multiple times, the system lists

the load points of all currently active copies as follows:

o
UT -128

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
You have the option of requesting a fresh copy of the program or specifying which copy of the
program you wish to debug.

~O

YOU WANTA NEW COpy TO BE LOADED?

)

If you respond "Y," $DEBUG loads a new copy of the program.
lLOADI NG DB U.GDEMO

4P. 09: 38: 02.

)

i. P= 5EOO

If you respond "N," $DEBUG prompts you for the load point of the copy you wish to debug.

PROGRAM· LOAD POINT: 5600
LOADING DBUGDEMO 4P, 09:38:02~ LP= 5600

$DEBUG Commands
To display the $DEBUG commands at your terminal, press the attention key and enter the HELP
command as follows:

c'

>

HELP

- LISF DEBUG COMMANDS
HELP
- DISPLAY TASK STATUS
WHERE
LIST
- DISPLAY SJORAGEORREGISTERS
- MODIFY STORAGE O~REGj~TERS
PATCH
QUALI FY - MODIFY BASE ADDR
AT
- ESTABLISH BREAKPOINTS
- REMOVE BREAKPtrlNTS
OFF
- START TASKPROCESSfNG
GO
POST
- POST EVENT OR PROC~SS INTERRUPT
PRINT
- DIRECT LISTING TOPR INTER
- LIST BREAKPOINTS
BP
GOIO
- cHANGE EXECUTI ON SEQUENCE " ", ,'," "
CLOSE
- CLOSE SPOOL JOB CREATE.DBY $DEBVG
END
- TER~INATEDEBUG fACiLiTY
You specify each command by pressing the attention key on your terminal and entering the
command name or the command name plus the required parameters for the command.

o
Chapter 4. Utilities

UT -129

$DEBUG
$DEBUG - Debugging Tool (continued)

10·""
\

Syntax Summary

'

The following examples show the various formats of the AT command. Example 1 shows
interactive mode and example 2 shows single-line entry. Syntax examples for each command
capitalize the $DEBUG command keyword parameters and show the variable parameters in
lowercase. A slash (/) separates the keyword options that you can specify.
Example 1:

Example 2: You can obtain identical results by entering the single response. However, when
using single-line entry, be sure that you enter the parameters in the order $DEBUG expects them.

()
Each command with its syntax description follows in alphabetical order.

AT -

Set Breakpoints and Trace Ranges
AT sets breakpoints and trace ranges. The system executes the LIST and STOP options

established for a breakpoint or trace range prior to executing the instruction that satisfied the
breakpoint or trace range specification. When the system satisfies the specification for a
breakpoint or trace range, it reroutes the currently active task. Then $DEBUG performs the
following actions for the subject task:
•

Prints its status and the current value of the task code word

•

Prints the LIST specification

•

Optionally puts the task into a wait state.

If you requested the NOS TOP option, $DEBUG prints task status as "taskname CHECKED AT

xxxx." The STOP option generates a "taskname STOPPED AT xxxx" message.

o
UT -130

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
You can modify the LIST and STOP options for all currently defined breakpoints and trace ranges
by entering AT ALL. Similarly, you can alter the specifications for the most recently entered AT
command with the AT * option.
If you specify LIST UNMAP after issuing the AT command, the unmapped storage area to be listed

must already be initialized at the time you set the breakpoint.
Notes:
1. You cannot set breakpoints in ATTNLIST routines.
2. If a trace range is set around a GETVALUE coded with PROMPT =COND and a message
data set prompt, the instruction will not wait for input. The input data area will be
unchanged.

Syntax:

AT ADDR address overlay# NOLIST ILiST NOSTOP ISTOP
AT TASK taskname start-add end-add NOLIST I LIST NOSTOP ISTOP
AT ALL NOLIST jLlST NOSTOPjSTOP
AT * NOLIST I LIST NOSTOP/STOP

o

Operands

Description

ADDR

Keyword indicating this is an instruction program breakpoint specification.

address

Instruction address where you want to insert a breakpoint.
Note: Be sure that this is the address of the first word of an executable
instruction, since $DEBUG will modify this word. $DEBUG can give unpredictable
results if you specify the address of data or the address of other than the first
word generated by an instruction.

overlay#

Overlay segment number where the system sets the breakpoint when the address
you specified is within the overlay area. You can find the overlay segment
number in the link map of the program you are debugging.

NOLIST

You need no special print request at this breakpoint or trace range.

LIST

Complete specification for a storage or register display; see the LIST command
for a description of all list options and parameters.

NOSTOP

Processing continues after the breakpoint notification occurs.

STOP

The task stops whenever the system satisfies this breakpoint or trace range
specification.

o
Chapter 4. Utilities

UT -131

$DEBUG
$DEBUG - Debugging Tool (continued)

BP -

TASK

Trace range specification.

taskname

N arne of task you want to trace (if the program contains only one task, omit this
parameter) .

start-add

Trace range starting address (since your program is not actually modified by a
trace specification, you don't have to use special care when you enter trace
addresses) .

end-add

Trace range ending address.

ALL

The system redefines all currently defined breakpointS and trace ranges with new
list and stop options.

*

The system redefines the most recently defined breakpoint or trace range
specification. The system determines this specification by the last usage of an
AT, GO, or OFF commands.

o

List Breakpoints and Trace Ranges

displays all breakpoints and trace ranges that you specified for the current debug session,
For each breakpoint, BP displays the task address, the instruction type, the associated list
options, and the overlay segment number, and it indicates whether you specified a stop.

BP

Syntax:

BP
Required: none

Operands

Description

None
CLOSE -

Close Spool Job Created by $DEBUG
CLOSE

closes the spool job created by the last PRINT command yOU issued to a spoolable device.

Example: CLOSE command.

o
UT .. 132

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
A spool job is created when a LIST command is sent to a spooling device. Issueing a CLOSE
command will close this spool job and make it ready for printing. Only the spool job associated
with the most recent PRINT command is closed. IF $SPOOL is active and there is no job to close
(in other words, no LIST command has been issued between a PRINT command and a CLOSE
command,) a spool job will be created consisting of an ENQT and a DEQT. If $SPOOL is not
active, such a command will be ignored. Delete such empty jobs to release space.
If $SPOOL is not active, you will receive the following message:

CLOSE
SPOOLING NOT ACTIVE

>

Syntax:

CLOSE

Required: none

Operands

o

Description

none
END -

End $DEBUG

removes all currently-active breakpoints and trace ranges, activates all currently-stopped
tasks, and ends $DEBUG. Do not use the $C operator command to cancel $DEBUG.

END

Note: If the program you are debugging continues to execute after you ended $DEBUG, then you
can cancel the program by pressing the attention key and entering the $C operator command and
the program name.

Syntax:

END

Required: none

Operands

Description

None

Chapter 4. Utilities

UT -133

$DEBUG
$DeBUG - Debugging Tool (continued)
GO -

Activate a Stopped Task

o

GO reactivates any task that $DEBUG has stopped. If a task stops at a breakpoint, specify the
exact breakpoint address. If a task stops as a result of a trace specification, supply the name of
the task and an address range which brackets the addresses in the original trace request. If you
are debugging only one task, you don't need to specify any operands.

Syntax:

GO ADDR address
GO TASK taskname
GOALL
GO *
GO

Operands

Description

ADDR

Keyword indicating this is a breakpoint specification.

address

Instruction address where the task stops.

TASK

Keyword indicating this is a trace range specification.

taskname

Name of task you want activated. For programs containing only a single task,
omit this parameter.

ALL

Activate all currently stopped tasks.

*

Use the most recently referenced breakpoint or trace range specification. The
system determines this specification by the last usage of an AT, GO, or OFF
command.

o
UT-134

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
GOTO -

Change Execution Sequence
GOTO reactivates, at a different instruction, any task that has stopped at an Event Driven
Language or Series! 1 assembler instruction. If you used a breakpoint or trace to stop the task,
supply the current address and the address at which execution should be resumed. $DEBUG will
not change the breakpoint or trace specifications.

Syntax:

I GOTO current-address new-address

HELP -

Operands

Description

current-address

Address where the task stops.

new-address

Address where you want execution restarted.

List $DEBUG Commands

The HELP command produces a list of $DEBUG commands and functions.

Syntax:

HELP

Required: none

Operands

Description

None

o
Chapter 4. Utilities

UT -135

$DEBUG
$DEBUG - Debugging Tool (continued)
LIST -

Display Storage or Registers

o

displays the contents of storage locations, task registers, hardware registers, or the IAR
(instruction address register). You can display the LSB (level status block) by listing the IAR
with a length of 11 words. Any register data is guaranteed to be current only if $DEBUG stops
the corresponding task by a breakpoint or trace range. Use LIST * to repeat the most recently
specified LIST command or to verify (list) a patch you have just entered.

LIST

The following example shows the LIST command prompts. You can list the unmapped as well as
the mapped storage that your program acquired previously with the GETSTG command.
Example: LIST command for unmapped storage.
>

LIST

·OPTION(*/ADOR/RO ... R7/#1/#2/IAR/TCODE/UNMAP): UNMAP
STORBLK ADDRESS (0 TO CANCEL LIST): 34
SWAP#: 1
DISPLACEMENT :12
LENGTH: 50
MODE (X/F 101 A/C): X
Syntax:

LIST *
LIST ADDR address
length mode
LIST RO ... R7 taskname length mode
LIST #1 ... #2 taskname length mode
LIST IAR
taskname length mode
LIST TCODE
taskname length mode
LIST UNMAP
storblkaddress swap# displacement length mode

Operands

Description

*

Use the most recently specified LIST or PATCH specification. The system
determines this by the last usage of a LIST or PATCH command.

AD DR

Keyword indicating this is a display of a mapped storage location.

RO ••• R7

One of the Series/l hardware registers RO through R 7 where you want $DEBUG
to start the list.

o
UT -136

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
taskname

Name of task where you want $DEBUG to display register data. For programs
containing only a single task, omit this parameter.

#1/#2

Task register #1 or #2 specification.

JAR

Keyword indicating you want $DEBUG to display the IAR (instruction address
register).

TCODE

Keyword indicating you want $DEBUG to display the task return code words (first
two words of the TCB).

UN MAP

Keyword indicating this is a display of an unmapped storage location.

storblk address Address of the storage statement that defines the unmapped storage location you

want $DEBUG to display. (The address can be found in the program listing as the
address of the storblk statement.)

c

swap#

Number of the unmapped storage area instruction. If you specify 0, you can list
mapped storage.

displacement

Number of bytes (in hex) where you want to start listing an unmapped storage
area. For example, if you enter lA, $DEBUG begins patching from byte 26 of the
unmapped storage area indicated. The largest possible value for displacement is
X'FFFF' since the maximum size of an unmapped storage area is 64K.

length

Length of display in words, doublewords, or characters depending on mode.

mode

Mode of data display:

x F
D
A
C

-

hexadecimal word
decimal number(word)
decimal number(doubleword)
relocatable address
EBCDIC character

o
Chapter 4. Utilities

UT -137

$DEBUG
$DEBUG - Debugging Tool (continued)
OFF -

o

Remove Breakpoints and Trace Ranges

removes a breakpoint or trace range established with the AT command. To remove a
breakpoint, specify the exact breakpoint address. To remove a trace request, specify the name
of the task and an address range which brackets the addresses in the original trace request. If a
task currently is stopped at the requested breakpoint or trace range, the system automatically
reactivates the task.

OFF

Syntax:

OFF ADDR address overlay#
OFF TASK taskname start-add end-add
OFF ALL
OFF *

Operands

Description

ADDR

Keyword indicating this is the removal of the breakpoint specification.

address

Instruction address where the system previously established a breakpoint.

overlay#

Overlay segment number from where you want $DEBUG to remove the
breakpoint when the address specified is within the overlay area. You can find
the overlay segment number in the link map of the program you are debugging.

TASK

Keyword indicating you want

taskname

Name of task associated with a trace range; for programs containing only a single
task, omit this parameter.

start-add

Trace range starting address.

end-add

Trace range ending address.

ALL

Remove all breakpoints and trace ranges.

*

Use the most recently referenced breakpoint or trace range specification. The
system determines this by the last usage of an AT, GO, or OFF command.

$DEBUG

to remove a trace range.

o
UT -138

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
PATCH -

Modify Storage or Registers
PATCH modifies the contents of storage locations, task registers, hardware registers, task code
words, and the IAR (instruction address register). You can modify the entire LSB (level status
block) by patching the IAR with a length specification of 11 words. The patch to any register
data is guaranteed only if a $DEBUG breakpoint or trace range stops the corresponding task. To
respecify the data for the most recent patch or to patch the data the most recent LIST command
displays, enter PATCH *.

The following example shows the PATCH command prompts. You can patch unmapped as well
as mapped storage. Unmapped storage may be patched only after the GETSTG statement is
issued.
Example: PATCH command for unmapped storage.

PATCH
OPTION(*/ADDRJRO ... R7/#1/#2/IAR/TCODE/UNMAp):
STORBLK ADDRESS CO TO CANCEL PATCH): 34
SWAP#: 1

>

~~SPLACEMENT:

UNMAP

12

LENGTH: 1
MODE(X/F/DIA/C):
NOW IS

X

0012 X I 0000 I

c

DATA: FFFF
NEw· DATA

0012 Xl FFFFI

YES/NO/CONTINUE:

Y

After you enter the patch command, the system displays the current storage or register content,
and you are prompted for the patch data (a string of data entries that satisfies the length and
mode specifications). Use spaces to separate the entries. After you enter the patch data, you
can apply the patch by responding YES, cancel the patch by responding NO, or indicate
additional patches by responding CONTINUE to the prompting message. If you respond
CONTINUE, the system performs the patch and prompting continues for new length, mode, and
data specifications to storage or register locations immediately behind your previous patch.
If you enter less data than specified with the length operand, the effective patch is padded to the

right with blanks for character data and zeros for all other data types.

0.
,

'",:1
,

Chapter 4. Utilities

UT-139

$DEBUG
$DEBUG - Debugging Tool (continued)
Syntax:

PATCH
PATCH
PATCH
PATCH
PATCH
PATCH
PATCH

o

*
ADDR address
length mode
RO ... R7 taskname length mode
#1/#2 taskname length mode
IAR
taskname length mode
TCODE taskname length mode
UNMAP storblkaddress swap# displacement length mode

Operands

Description

*

Use the most recently referenced LIST or PATCH specification. This is determined
by the last usage of a LIST or PATCH command.

ADDR

Keyword indicating this is a mapped storage patch.

RO .•• R7

One of the Series/1 hardware registers RO through R 7, where you want $DEBUG
to start the patch.

taskname

Name of task for which you want $DEBUG to modify register data. For programs
containing only a single task, omit this parameter.

#1/#2

Task register #1 or #2 specification.

IAR

Keyword indicating you want the IAR (anstruction address register) to be
modified.

TCODE

Keyword indicating which task return code word(s) (first two words of the TCB)
you want modified.

UNMAP

Keyword indicating this is an unmapped storage patch.

storblk address Address of the storage statement that defines the unmapped storage location you
want $DEBUG to display. (You can obtain this address from the program
header on a copy of your application program.)
swap#

Number of the unmapped storage area instruction. If you specify 0, you can list
mapped storage.

o
UT -140

SC34-0644

$DEBUG

o

$DEBUG - Debugging Tool (continued)
displacement

Number of bytes (in hex) where you want to start listing an unmapped storage
area. For example, if you enter lA, $DEBUG begins patching from byte 26 of the
unmapped storage area indicated. The largest possible value for displacement is
X'FFFF' since the maximum size of an unmapped storage area is 64K.

length

Length of patch in words, doublewords, or characters depending on mode.

mode

Mode of data entry:

x F
D
A
C
POST -

-

hexadecimal word
decimal number( word)
decimal number(doubleword)
relocatable address
EBCDIC character

Post an Event or Process Interrupt

activates a task waiting for an event or a process interrupt. To duplicate a previous
posting, enter POST *. The address of the ECB (event control block) that the system will post is
contained in the second word of aWAIT instruction as shown on a program assembly listing.
You can also post process interrupts by name using the PIxx option.

POST

C:

Note: Be sure to enter a valid ECB address; an invalid address will result in unpredictable
results.

Syntax:

POST ADDR address code
POST Plxx code
POST *

Operands

Description

ADDR

The address of an ECB (event control block).

address

ECB

code

Decimal code you want posted to the specified ECB.

Plxx

N arne of process interrupt PI 1 to PI99.

*

Use the most recently referenced ECB address or PIxx name and code specification.

address you want posted.

o
Chapter 4. Utilities

UT -141

$DEBUG
$DeeUG - Debugging Tool (continued)
QUALI FY -

Modify Base Address
QUALIFY

o

modifies the base address that $DEBUG uses to refer to physical storage locations.

Syntax:

QUALI FY base displ
Q base displ

PRINT -

Operands

Description

base

New hexadecimal base address.

displ

Hexadecimal offset you want added to the base to form the new base address for
all subsequent address references. Enter the origin of the program module as
shown on the link editor listing.

Direct Output to Another Terminal
PRINT allows
$DEBUG.

you to direct the output to a terminal other than the one you used to invoke

Syntax:

PRINT terminal-name
PRINT *
PRINT

Operands

Description

terminal-name

The name of the terminal where you want the output directed. To direct the
output back to the current terminal, enter a blank or * to indicate the
terminal you used to invoke $DEBUG.

o

$DEBUG

o

$DEBUG - Debugging Tool (continued)
WHERE -

Display Status of All Tasks

displays the current status of each task. If a task is currently processing its breakpoint
routine, the system marks it CHECKED. If a breakpoint or trace request has stopped a task or if
$DEBUG has not yet attached the main task, the system marks the task STOPPED. In all other
cases, the system shows that each task is at the currently executing instruction, at the command
it will start executing when dispatched by the task supervisor, or at the last command executed
prior to entering a wait state.

WHERE

Note: $DEBUG can only locate tasks within a program if the task control blocks (TCBS) are
chained together. This chaining takes place at program assembly time for all tasks that are part
of the assembly containing the main program task. Tasks that are assembled separately and
then linked to the main task will not have their TCBS chained together until the system ATTACHS
the task at program execution time. (See a description of the ATTACH instruction in the
Language Reference.) For $DEBUG to control tasks that are linked to the main task, you must
load into storage the program you are debugging, and you must attach the desired tasks before
you load $DEBUG to control the further execution of the tasks.

Syntax:

c

WHERE
WH
Required: none

Operands

Description

None

o
Chapter 4. Utilities

UT -143

$DICOMP
$DICOMP -Display/Modify Profiles
Use the $DICOMP utility to add display profiles to the composer and to modify existing display
profiles. Because this utility does not change the basic structure of the online data base, you can
use it at the same time you are performing other functions. You can use $DIINTR to cause the
system to generate a partial display. If you need corrections or additions, use $DICOMP to alter
the display profile.

Invoking $DICOMP
You invoke $DICOMP with the $L operator command or option 5.2 of the session manager.
To start execution of $DICOMP:
1. Load the program $DICOMP specifying the appropriate data set name. You can use $DIFILE,
the online data set, or any other data set. However, you should make sure that another user
or program is not changing or using the same data set.
i> .$L$OrCOMP
DISP L IS . • J NAME ~VOLUM~J:: ., .. '
LOADING :$D<1t:.O~~'44p;~O.r19:)4~

2. The system responds with the program-loaded message followed by:
$DICOM? -:DISPL,Ayi 'DAtA··BASE•. COMPQS:ER

·COMMANo(?)

"',

.

$DICOMP Commands
To display the $DICOMP commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

After $DICOMP displays the commands, it prompts you again with COMMAND (?):. Then you can
respond with the command of your choice (for example, AD).

o
UT -144

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
AD -

Add a New Member to Data Base

Use the AD command to generate a new display profile. The display can be either report or
graphic form. You are prompted to enter a 1-8 character display profile name that the
interpreter will then use to retrieve the display. The next prompt message asks if you want a
display heading. If you respond yes, the system assumes you want a report display. If you
respond no, the system assumes you want a graphic display and prompts you to proceed with
generating the display. You can also select the device where you want the system to route the
output from the interpreter.
Report Display: If you respond N to the question

IS THIS A GRAPHIC DISPLAY?
$DICOMP prompts you to enter the column headings you want. The system allows one line, up
to 132 characters. Following your entry of the column headings, $DICOMP prompts you to enter
the name of the print report data member and then to enter the next command.
Graphic Display: If you want a graphic display, you should respond y to the question

IS THIS A GRAPHIC DISPLAY?

o

The composer then asks if you want a 3-D object display. If you respond Y, then all following
references to x and Y values will also include the z value. The composer asks you to enter the
values x, Y, and z. The system uses them to position the first character of the display heading.
$DICOMP then prompts you for a command, COMMAND (?):. You can use the "Composer
Subcommands" on page UT-147 now to add, change, or insert elements in your display.
AL -

Alter an Existing Member

Use the AL command to display each element of a display profile and make changes, using
subcommands, provided you do not change the size of the element and the sequence of
commands. This command is of great value during the trial-and-error period when you are
generating a new display. You can generate a display using the AD command and display the
results using the interpreter. You are allowed to start alteration at the beginning of the member
and display each element in turn or to skip to a specific element within the member. Use the PR
command to display the elements and their sequence numbers. As the system displays each
element, it questions you whether or not you want to alter this element.

QLTERENTRYJ
If you choose to alter this element, $DICOMP prompts you to reenter the element as described

previously in the AD command. When the system reaches the end of the display profile, the
composer ends and you can redisplay the profile to see if you are satisfied with the corrections.

o
Chapter 4. Utilities

UT -145

$DICOMP
$DICOMP .. Display/Modify Profiles (continued)
EN -

Exit Program
Use the

EN

o

command to exit immediately from the composer.

IN -Insert or Delete Elements in an Existing Member
Use the IN command to combine the facilities of the AL and AD commands with the ability to
delete individual display elements. Because the IN command creates a new member in the data
base, you can change the size and sequence of display elements.
Note: We recommend using the $DICOMP utility to verify that sufficient space remains in the
data base. By using the $DIUTIL utility (LA and ST commands), you can determine the size of the
member you want to modify and the remaining space in the data base. As described in the AL
command, the composer displays each element in turn, asking the following questions:

If you elect to keep the entry, the composer proceeds to the next element. If you respond N, the
system displays the DELETE ENTRY? question. If you respond N again, the system displays the
ALTER ENTRY? question. If you respond Y to'this prompt, the composer proceeds with the
alteration process as described in the AL command.

Following the alteration of the display, the system returns control to the ID command and
repeats the process for the next element. If you did not alter the element, the system prompts
you to insert a new subcommand. At this point, all the functions of the AD command are
available. You can add one display element. the system then returns control to the ID command
and redisplays the previous element and repeats the sequence.
Again, as in the alteration procedure, you must step through each element in the display profile
before completion. When the system reaches the end of the display, it issues the following
message:

The composer then returns to the

AD

command and you can enter additional commands.

Note: You must issue an SA (save) subcommand to end insertion of data. When you issue the
SA subcommand, the composer deletes the old member and renames the newly-built member
with the old name. This procedure makes the modified version available to the interpreter. It is
recommended that you use $COMPRES to compress the data base following insert activity to
prevent fragmentation of the data base and reclaim unused space.

o
UT -146

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
PR -

Print Member Formatted

Use the PR command to display, on the terminal or printer, the contents of a display profile
member formatted the same way as the AL and IN commands. This display is useful as an aid in
maintaining display profiles. To obtain a high-speed hard copy, direct the listing to the
$SYSPRTR.

TO -

Test Display as Currently Entered

When you issue the TD command, $DICOMP prompts you for the name of a plot control member
and then invokes $DIINTR to generate the specified display. The system returns control to you to
make changes.

Composer Subcommands
When adding, altering, or inserting elements in a member, use subcommands. These are listed
below and described on the following pages. When you enter a subcommand, the system places
it in to modify the member. The interpreter can use the member later to generate the desired
display. You can use the following subcommands:

o

AD - ADVANCE X,Y
01 - DIRECT OUTPUT
DR - DRAW A SYMBOL
EN - EXIT PROGRAM
EP - END DISPLAY
HX - SEND DATA (HEX)
1M - INSERT MEMBER
JP - JUMP TO ADDRESS
JR - JUMP REFERENCE
LB - DISPLAY CHARACTERS
LI - DRAW A LINE TO X,Y
LR - DRAW LINE RELATIVE
MP - MOVE BEAM TO X,Y
PC - PLOT CURVE ONLY
PL - PLOT DATA
RT - ACTIVATE REALTIME DATA MEMBER
SA. -: SAVE ACCUMULATED D.ATA
TO ~DISPLAYlIME AND DATE
VA'';' DISPLAY VARIABLE
Method for Producing a Graphic Display

The suggested method to produce a graphic display is to draw the display on graph paper first
and assign x and Y coordinates to the key nodes in the display. Then use this drawing as a guide
to the generation of the display, keeping in mind the screen limits of the terminal you will use.
The view area of the graphic terminals supported is shown in Figure lIon page UT -148.
Figure 12 on page UT-148 shows the space supported in 3-D mode.

o
Chapter 4. Utilities

UT -14 7

$DICOMP
$DICOMP - Display/Modify Profiles (continued)

o

~
~
:!S
_ c: ~
o·~

\
\

(I)

(I)

o

:::l

~

m(l)
~.~

~r~

-g

o

\

B §
o

\

1

I Normal viewing area

J

r /

-----Il1

L . . - -_ _ _ _ _ _ _ _ _

I•

0 to 1023
X units
addressable

•

I

Figure 11. X, Y coordinate grid and viewing area

o
~'------"""'II------~

32767

I
I
I
I

o

.~

I

~

I

I

3/

//,J--------/

-32768

~

/

~~

~-------.------__F_ -32768/

-32768

o

32767

.......~---X axis ----""""~
Figure 12. X,Y,Z coordinate grid and viewing area

o
UT -148

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
AD -

Advance X,V

Use the AD subcommand to move the beam position by the value specified. This can be helpful
in displaying data with even spacing on the screen. After issuing a DR subcommand using a
symbol, AD advances the X,Y position to the next position without regard to the actual screen X,Y
location. The limit for the specified x or Y value is plus or minus 512 units. If you are defining
a 3-D object, then the system requests the z axis value as well.
DI -

Direct Output

Use the DI subcommand to direct the resulting graphic output to a terminal other than the one
you used to enter commands. The terminal name you enter is the label of the TERMINAL
statement used to describe the desired terminal.
DR -

Draw a Symbol

Use the DR subcommand to draw a predefined symbol. Several commonly used symbols have
been provided. In specifying a symbol, you are prompted to enter the symbol number and the
symbol modifier. These values are used by the interpreter to generate the requested symbol.
Some of the symbols require additional information. If so, the system prompts you for this
additional information. Valid symbol numbers are 1 through 14. The following examples
illustrate specifying symbols 1 through 14.
Symbol #

o

- 1:

Draw fan symbol left hand format.

Modifier = Radius of fan body
and opening on left side
of fan. Must be a mUltiple of 4.

= start and

end X, Y current

position.

Symbol #

- 2:

Draw fan symbol right hand format.

Modifier = Radius of fan body
and opening on right side
of fan. Must be a mUltiple of 4.

= start and end

X, Y current

position.

o
Chapter 4. Utilities

UT -149

$DICOMP
$DICOMP - Display/Modify Profiles (continued)
Symbol # - 3: Draw damper vertical.

Modifier = Number of damper pairs
to be generated in the down direction.

= start and end

i\ / I6

Units Y

I

I"40 Units X~ I

X,V current position.

Symbol # - 4: Draw damper horizontal.

--- ... --Modifier = Number of damper pairs
to be generated to the right.

= start and end

-----

I

40 Units Y

X, V current

16 Units X

position.

o

Symbol # - 5: Draw a hot coil.

---.---

D
Modifier = Number of hot coil pairs
to be generated in the down direction.

= start and end
position.

X, V current

D
I"

116

Units Y

~I

12 Units X

o
UT -150

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
Symbol #

- 6: Draw a cold coil.

"'''' I
...

--- ---

16 Units Y

Modifier = Number of double pairs
to be generated in the down direction.

= start and end

X, Y current

16 Units Y

position.

Symbol #

- 7:

Draw a filter element.

Modifier = Number of elements
to be generated in the down direction.

= start and end
Symbol #

- 8:

-I

1~
8 Units X

X, Y current position.

Draw a valve.

c>k:J r

6 Units Y

I

I

I
For 2-way valve
Modifier = 2

II
I

For 3-way valve
Modifier = 3

I

• I

I•
32 Units X

II
I

32 Units Y

= start and end X, Y current position.

o
Chapter 4. Utilities

UT -151

$DICOMP
$DICOMP - Display/Modify Profiles (continued)

o

Symbol # - 9: Draw an arrow.

~

IsunitsY

,11'6 Units X·,

Modifier =

~ I6unitsy

1 for left
2 for right

SUnits X~

3 for up
4 for down

= start and end

X, V current position.

\j I6uniBY

Symbol # - 10: Draw a logic block right.

Modifier = Radius of half circle.
Must be a multiple of 4.

o

= start and end X,V current position.

Symbol #

- 11: Draw a logic block left.

Modifier = Radius of half circle.
Must be a multiple of 4.

= start and end X, V current position.

o
UT -152

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
Symbol #

- 12: Draw a circle.

Modifier = Radius of Circle.
Must be a multiple of 4.

= start and end
Symbol #

X, Y current position.

- 13: Draw an arc right.

Modifier = Radius of circle.
Must be a mUltiple of 4.

= start and end

X, Y current position.

Note:
This symbol requires additional values.

()

1.

Draw arc up or down. Enter zero for down or one for up.

2.

Number of Y units to draw arc. Must be a multiple of 4.

Note:
This symbol always starts at X=Q and proceeds until
the Y units have been exhausted.

Symbol #

- 14:

Draw an arc left.

Modifier = Radius of circle.
Must be a mUltiple of 4.

= start and end.

X,Y current

position.

Note:
See note under symbol 13 for additional information.

o
Chapter 4. Utilities

UT-153

$DICOMP
$DICOMP - Display/Modify Profiles (continued)
EN -

Exit Program

o

Use the EN subcommand to terminate without updating the display profile data base directory.
All data collected up to this point for this member is lost.
EP -

End Display

Use the EP subcommand to specify that the end of this section of the display has been reached.
Normally, you would follow this command with the SA subcommand. However, this command
can be useful if a jump zero/not zero causes the interpreter to take alternate paths. Use the EP
subcommand at the end of each of these paths instead of an unconditional jump to a common
ending point.
HX -

Send Data

Use the HX subcommand to send up to 16 words of data without conversion to the terminal. All
bit patterns are valid; therefore, you can send control or special data to the terminal.

1M -

Insert Member

Use the 1M subcommand to combine display profile members to form one display. 1M allows you
to conserve disk space, decrease time required to enter display profiles, and standardize display
formats. For example, you can build a display profile member to represent a common
background of a physical system or floor plan. Then, by defining another display profile
member, you can superimpose on the background the variables that will make the display
unique. the system permits only one level of nesting. That is, a member you insert using the 1M
subcommand cannot contain any 1M subcommands. However, a primary member can include
multiple 1M subcommands.
JP -

o

Jump to Address

Use the JP subcommand to change the sequence of execution of subcommands. There are three
types of "jump to address" subcommands that you can use. They are:
•

Jump Unconditional
Jump if Zero

•

Jump if Not Zero

As described in the display variable command, the conditional jump commands are dependent
on the use of the realtime data member. If you select conditional jump, then the jump is based
on the current condition (zero/not zero) of the specified word and record. Jump unconditional
prompts you to enter a JR subcommand. This reference is two characters and is resolved when
you define a JR subcommand (see the JR subcommand definition). If you select a conditional
jump, the system issues prompt messages requesting word number and record number.
Following the definition of these two codes, the system prompts you to enter the JR
subcommand. The jump to reference for a conditional jump is the same as that of an
unconditional jump. The following example shows the use of the JP subcommand.

o
UT-154

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
Command sequence using jump:
MP
JP
DR
JP
JR
DR
JR
EP
SA

X=200, Y=200
Zero, WORD#=O, RECORD#=4, JR=AA
SYM=l, MOD=40
JR=BB
AA
SYM=2, MOD=40
BB

The preceding example draws a fan symbol at 200,200 either right or left·depending on the
zero/not zero condition of the realtime data member word 0, record 4.
In the preceding sequence, the first JP causes a jump to JR AA if word 0 of record 4 is zero. The
second JP causes an unconditional jump to JR BB.
JR -

c

Jump Reference

Use the JR subcommand to indicate to the composer that this location in the command sequence
is referred to in a JP subcommand. The location is defined by 2 characters. If you have used
these characters already, the system issues an error message. If you exceed the capacity of the
JR table, the system issues an error message. The capacity of the jump reference table is 40
unique jump reference points for each display.
LB -

Display Characters

Use the LB subcommand to place a character string on the screen. You do not have to use an
subcommand to position the beam because LB allows specification of the location of first
character. If you are defining a 3-D object, then the system requests x, Y, and z values. The
system can display up to 72 characters. The ending X,Y position is 1 character position beyond
the last character in the string.

MP

u- Draw a Line to X,V
Use the LI subcommand to draw a vector to the specified x and
you left the beam with the previous command.

Y

coordinates from wherever

0,
",1"

'I

Chapter 4. Utilities

UT-155

$DICOMP
$DICOMP - Display/Modify Profiles (continued)

()
600200-

/
I

I

100

600

Draw line to X=600 Y=600 Line shown on screen
Current position
END X,Y

When generating a 3-D display, the system requires 3 values. These values are x, Y, and z.

~

/"

,,.,/

600 0-

-----(

I
I
I

:/600

o

-0

I I
0

600

Draw line to X=600 Y=600 Z=600
END X,Y,Z

LR -

Draw Line Relative

Use the LR subcommand to draw a line relative to the current position. For example, you can
(through the use of the MP, JP, and JR subcommands) position the beam at various current
positions based on Realtime Data Member conditions. Then you can draw a series of lines to
form a symbol using the LR subcommand. This would have the effect of placing the symbol at
various screen locations based on external conditions. The limits allowed for the X,Y values are
plus or minus 512 units. If you are defining a 3-D object, then the system also requests z axis
value.

o
UT-156

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
MP -

Move Beam to X,V

Use the MP subcommand to draw a dark vector to the specified x and Y coordinates. A dark
vector is not visible and, therefore, results in moving the beam to the specified location.

,

200- •

100
Beam moved to X=100 Y=200 Nothing shown on screen
END X,Y
Current position

When generating a 3-D display, the system requires 3 values. These values are x, Y, and z.

100

a =----(

".

I
I
I

I I
a 100
Beam moved to X=100 Y=100 Z=100
END X,Y,Z Current position

PC -

Plot Curve Only

Use the PC subcommand to provide multiple curves on an existing background as defined by a
preceding PL command. Refer to the following section (PL) for descriptions of entry procedure.
Steps 9 and lOin that section are the only required actions. You can include as many PC
subcommands as you need to obtain the desired results
PL -

Plot Data

Use the PL subcommand to format the viewing area into a basic plotter. The system provides
options for X and Y labels as well as X and Y grids. The system prompts you to include the name
of a plot curve data member. Refer to "$DIUTIL - Maintain Partitioned Data Base" on page
UT -220 for information regarding the allocation and formatting of the plot curve data member.
The following illustrates the information that PL requires to format the viewing area into a basic
plotter. 1) Enter the number of the Y axis divisions

0

.. ·1

Chapter 4. Utilities

UT-157

$DICOMP
$DICOMP - Display/Modify Profiles (continued)
p.To present a readable display, it is suggested that you make this value under 20. However, if
you bypass y axis division values (Step 7), then you may use larger values. y axis divisions
become unreadable when this value exceeds 125. 2) Enter the number of the X axis divisions

o

To present a readable display, it is suggested that you make this value under 40. However, if
you bypass x axis division values (Step 8), then you may use larger values. X axis divisions
become unreadable when this value exceeds 200. 3) Vertical Grid?
A Y answer causes the Composer to include commands to connect the X axis divisions (specified
in 2 preceding) to the top of the viewing area. Specifying an N bypasses this feature. 4)
Horizontal Grid?

Specifying a Y causes the Composer to include commands to connect the Y axis divisions
(specified in 1 preceding) to the right side of the viewing area. Specifying an N bypasses this
feature. 5) Enter Y axis label - 24 characters
You must enter the Y axis label. If you do not want an axis label, press the enter key. This label
is general in nature and is placed at the left side of the viewing area. This label is vertical, that
is, one character appears under the next. 6) Enter X axis label - 24 characters
You must enter the X axis label. If you do not want an X axis label, press the enter key. This
label is general in nature and is placed near the lower portion of the plot viewing area. 7) Y axis
division values?
If you want Y axis division values, respond with a Y. The composer asks for as many values as

you have specified divisions plus 1 (see Step O. You must enter 6 characters for each division.
The first value the system requests is the value for the Y base line and each succeeding value is
for the next division in the plus Y direction. 8) X axis division values?

I

Jt'--),
,

~,

If you want the X axis division values displayed, respond with a Y. The composer asks for as
many values as you have specified divisions plus 1 (see Step 2). You must enter 6 characters for
each division. The first value the system requests is the value for the X base line and each
succeeding value is for the next division in the plus X direction. 9) Enter Name of Member for
Plot Data

Enter the name of a plot curve data member. You must must have allocated and initialized this
member with the the utility program $DIUTIL. Refer to "$DIUTIL - Maintain Partitioned Data
Base" on page UT -220 for procedures on allocating and initializing this member. 10) Is This
Plot a Point Plot?
The composer allows you to use of any valid printable character for the plot. If you specify Y,
the system requests the plot character you want. If you specify N, then the system uses a normal
line for the curve
The preceding steps generate the necessary commands to cause the system to display a basic
plot background and superimpose one curve on that background. If you want additional curves,
then you must issues PC subcommands next.

o
UT -158

SC34-0644

$DICOMP

o

$DICOMP - Display/Modify Profiles (continued)
RT -

Activate New Realtime Data Member

Use the RT subcommand to define multiple realtime data members. This subcommand allows
you to switch from one member to another during the generation of a display. The default name
for the realtime data member is REALTIME.
SA -

Save Accumulated Data

Use the SA subcommand to specify that completion of a display profile has been reached. The
composer enters the member name into the directory of the display profile data base and makes
it available for the interpreter.
TD -

Display Time and Date

Use the TD subcommand to display the current time of day and date from the realtime clocks
used by the Event Driven Executive. You are reminded that prior to issuing a TD subcommand,
you may have to issue an MP subcommand to position the beam to the display location you want.
The TD subcommand displays the time and date in the following format:

lHH:HH:SS

HH/OO/YY

Where: HH is Hours
MM is Minutes
SS is Seconds
MM is Month
DD is Day
YY is Year
VA -

Display Variable

Use the VA subcommand to place a data variable from the Realtime Data Member on the
screen. $DICOMP issues a prompt message asking if you wish to locate the data at a location
other than the current X,Y position. If you are defining a 3-D object, then the system requests X,
Y, and Z This subcommand requires that you allocate the realtime data member. The composer
continues by asking you for the record number and word number. The record number is the
record number within the realtime data member. The word number is the word number within
the record specified. This value is in the range of 0-8.
The system requests the function code next and indicates the type of variable to be displayed.
Valid function codes are as follows:

o

Single-precision integer

o
Chapter 4. Utilities

UT -159

$DICOMP
$DICOMP - Display/Modify Profiles (continued)
1

Double-precision integer

2

Standard-precision floating point

3

Extended-precision floating point

15

Character data

o

The system requests type code next. It is an indicator of the format of the value to be displayed.
Valid type codes are:

o

Integer

1

Floating-point F format

2

Floating-point E format

The system requests field width and number of decimal places next. If the variable is an integer,
the number of decimals should be zero.

o
UT -160

SC34-0644

$DIINTR

o

$DUNTR - Graphics Interpreter Utility
The $DIINTR interpreter utility searches the data base and generates the display you request.
You can generate both graphic and report displays in this manner. Each display profile is made
up of many display profile elements. Each element, when retrieved from the data base by the
interpreter, is decoded and converted to the appropriate command to cause the system to
perform the action you request. Each display profile element contains various parts, such as
display code, x and Y coordinates, symbol ID, and symbol modifier. Realtime data member
record number and additional member names are included in the display profile element.

Invoking $DIINTR
You invoke $DIINTR with the $L operator command or option 5.3 of the session manager.
To begin operation of the interpreter, you must first load $DIINTR. The system directs output to
the terminal that requests the display or as directed by the display profile. Use the following
steps to initiate the processor monitor: 1) Load $DIINTR.
> $L $0 I INTR
OISPLIB (NAMEaVOLUME);
LOADING $01 INTR
38p,00:12:58, LP= 9200, PART=1

$01

o

2)

INTR - DISPLAY DATA BASE UTILITY

The system responds with the prompt message:
ENTER DISPLAY ID--XXXXXXXX OR

E~IT

TO TERMINATE

3) To terminate the interpreter, enter EXIT. To cause the interpreter to prepare the display,
enter the display ID.

Using $DIINTR from an Application Program

You can $DIINTR from an application program to allow displays without operator assistance.
Following is an example of loading $DIINTR from an application program:

Chapter 4. Utilities

UT -161

$DIINTR
$DIINTR - Graphics Interpreter Utility (continued)

*

Your program

LOAD
WAIT
MBRNME
S1
S2
S3
D
T
R
D1
T1

$DIINTR,MBRNME,DS=($DIFILE) ,EVENT=#WAIT,
LOGMSG=NO
#WAIT
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

C

CL8'DISPLAY'
F'O'
THESE 8 VALUES ARE FOR 3D OBJECTS
F'O'
*
F'O'
*
F'O'
*
F'O'
*
F'O'
*
F'O'
*
F'O'
*

You must supply eight values to describe the manner in which you want the system to display a
three-dimensional (3-D) object. Coding of these values is shown in the above example starting
with Sl and continuing to Tl. The following describes the meaning of these values when you
pass them to $DIINTR.
S1
S2
S3
D
T
R
D1
T1

Platform Location X=
Platform Location Y=
Platform Location Z=
Platform Direction in Degrees
Platform Tilt in Degrees
Platform Rotate in Degrees
View Direction in Degrees
View Tilt in Degrees

These values are single-precision integers and may contain a numeric value from -32768 to
+32767.
You must have a 4955 processor with floating-point hardware installed to display 3-D images.
Three-dimensional (3-0) Concepts as Used by $DIINTR

Three-dimensional (3-D) objects can be defined by $DICOMP and placed on disk or diskette in
much the same way as with a two-dimensional (2-D) object. The only difference is that each
point in space has three values associated with it instead of two. These three values represent
the x, Y, and z coordinates of the point in space. The following illustration shows the limits of
the defined area in space. The maximum limits of the defined areas in space are -32768 to
+32767. You can define one or more objects within this cube. Once you define the object, you
can view it from any location within the same space. To specify the location from where you

o
UT -162

SC34-0644

/

$DIINTR

o

$DIINTR - Graphics Interpreter Utility (continued)
wish to view the object, either pass these eight values through the use of the PARM= parameter
in the LOAD instruction or, if you invoked it by the $L command, wait for $DIINTR to request this
input. The concept used to compute the 2-D representation of a 3-D object is as follows. The
system assumes the viewer is suspended on a platform at a specific location in space. The first
three values are the x, Y, and z values that define the location in space of the viewing platform.
The next five values represent the physical orientation of the platform and the viewer's
orientation on that platform.
Platform Direction in Degrees

Assume the following unit vector:

z

~x
If this unit vector is rotated in the direction Y to X around the z axis, you can turn the view in

any direction. A plus value causes the unit vector to rotate clockwise as viewed from the z axis
to zero.
Platform Tilt in Degrees

Assume the following

unit~ector:

z

~x
z to Y around the x axis, you can tilt the view to any
angle. A plus value causes the unit vector to rotate clockwise as viewed from the x axis to zero.

If this unit vector is rotated in the direction

o
Chapter 4. Utilities

UT -163

$DIINTR
$DIINTR - Graphics Interpreter Utility (continued)
Platform Rotate in Degrees

Assume the following unit vectors:

z

~X
If this unit vector is rotated in the direction z to X around the Y axis, you can rotate the view to

any angle. A plus value causes the unit vector to rotate clockwise as viewed from the - Y axis to
zero.
View Direction In Degrees

The system uses this value in the same way it uses the Platform Direction, but it calculates the
value after it computes the above three. This calculation rotates the unit vector in a Y to x
direction around the z axis with a plus value causing the unit vector to rotate clockwise as
viewed from the z axis to zero.
View Tilt In Degrees

The system uses this value in the same way it uses the Platform Tilt, but it calculates the value
after it computes the above four. This calculation rotates the unit vector in a z to x direction
around the Y axis with a plus value causing the unit to rotate clockwise as viewed from the - Y
axis to zero.
Once the eight values you provided are computed, the system converts the object in space to its
2-D representation and sends it to the terminal. It is possible to view an object with all or a
portion of it outside the viewing area. The system does not show points and lines that do not
fall within the viewing area. Figure 13 on page UT -165 shows the viewing area.

o
UT-164

SC34-0644

$DIINTR

o

$DIINTR - Graphics Interpreter Utility (continued)

Viewing screen

Platform location
Distance between platform location and viewing screen

=1

c~
Figure 13. Viewing Area in 3-D Mode

0

I,1'

Chapter 4. Utilities

UT -165

$DIINTR

o

$DIINTR - Graphics Interpreter Utility (continued)
The following example defines a 3-D object in space:
. A Cube
CMO

X

Y

Z

MP

-100
+100
+100
-100
-100
-100
+100
+100
-100
-100
+100
+100
+100
+100
-100
-100

-100
-100
-100
-100
-100
+100
+100
+100
+100
+100
-100
+100
-100
+100
-100
+100

-100
-100
+100
+100
-100
-100
-100
+100
+100
-100
-100
-100
+100
+100
+100
+100

LI
LI
LI
LI
LI
LI
LI
LI
LI

MP
LI

MP
LI

MP
LI

EP
SA

Object as viewed from:
S1
S2
S3
0
T
R

01
T1

0
-400
0
0
0
0
0
0

~

7

V

~

()

o
UT -166

SC34-0644

$DIINTR

o

$DIINTR - Graphics Interpreter Utility (continued)

Object as viewed from:

S1
S2
S3

-150
-400
0

D
T
R
D1
T1

0
0
0
0
0

Object as viewed from:

S1
S2
S3

-150
-400
100

D
T

0
0

R
D1
T1

45
0
0

Chapter 4. Utilities

UT-167

$DIRECT
$DIRECT - Directory Organization Sort
sorts a disk or diskette volume directory. $DIRECT sorts alphabetically, by size, by
location on disk, or in specific order.
$DIRECT

o

Notes:
1. Allocation or deletion of a data set alters the ordering of the data sets.
2. It is neither possible nor necessary to use the $C command with $DIRECT since the utility
patches itself.

Invoking $DIRECT
You invoke $DIRECT with the $L command. When you load it, $DIRECT prompts you to set the
terminal to roll screen mode. If you respond Y, it places the terminal in roll screen mode which
means you do not need to press the enter key each time the screen fills up. Output "rolls" off
the top of the screen as new terminal output appears at the bottom of the screen. If you respond
N, you must press the enter key each time the screen fills up.

$DIRECT

then prompts you for the volume you want accessed for the directory sort.

If you enter an incorrect or nonexistent volume name, $DIRECT issues the following message:

If you reply Y, $DIRECT prompts you for another volume name. If you respond N, $DIRECT ends.

o
UT-168

SC34-0644

$DIRECT

o

$DIRECT - Directory Organization Sort (continued)
$DIRECT Commands
To display the $DIRECT commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

COMMAND (1): ?
CV ---- CHANGE VOLUME
LA ---- LIST ALL MEMBERS IN VOLUME
UT ---- SORT BY - USER INPUT FROM TERMINAL
UD ---- SORT BY - PREDEFINED DATA SET AS INPUT
AO ---- SORT BY - ALPHABETICAL ORDER
DL ---- SORT BY - LOCATION ON DISK(ETTE)
SA ---- SORT BY - SIZE ASCENDING
SO ---- SORT BY - SIZE DESCENDING
EN ---- END PROGRAM
COMMAND (1):
After $DIRECT displays the commands, it prompts you with COMMAND (?): again. Then you can
respond with the command of your choice (for example, LA). $DIRECT prompts you for any
parameters the requested function requires.
Each command and its explanation is presented in alphabetical order on the following pages.
AO -

Alphabetical Order Sort

Use the AO command to sort the directory in alphabetical order. This command makes it easier
for you to find a data set in a directory list.
Example: Sort alphabetically.

COMMAND (?): AO
ALPHABETICAL. SORT US1NG VOLUME
DIRECTORY SORTED
COMMAND

EDX002~

CONTINUE fY/N)? Y

..

(1):

After executing the AO command, the directory looks as follows:

NAME
$EOXDEF
DI~ECT

RUNCALC
SORTLIST
TESTSORT

TYPE
DATA
PGM
PGM
DATA
DATA

FIRST REC
82
1294
77
801

. 1177

o
Chapter 4. Utilities

UT -169

$DIRECT
$DIRECT - Directory Organization Sort (continued)
CV -

Change Volume to be Accessed for Directory Sort

o

Use the cv command to change the volume you want to access for your directory sort.. This
command displays the volume the system is using currently and prompts you for the name of the
the volume you want to access.
Example: Change volume.

DL -

Sort By Location on Disk/Diskette

Use the

DL

command to sort the directory by the data set location on disk/diskette.

Example: Sort by location.

After executing the

DL

command, the directory looks as follows:

o
UT -170

SC34-0644

$DIRECT

o

$DIRECT - Directory Organization Sort (continued)
EN -

End $DIRECT

Use the EN command to end the $DIRECT utility.
Example: End $DIRECT.

COMMAND (?): EN
$DIRECT ENDED AT 08:36:02

C)

0 ',:
,

,

Chapter 4. Utilities

UT -171

$DIRECT

o

$DIRECT - Directory Organization Sort (continued)
LA -

List All Data Sets in a Volume

Use the LA command to list all the data sets contained in a specified volume. Press the attention
key and enter the CA command to cancel the list and return to the COMMAND (?): prompt.
Example: List data sets on EDX002.

SA -

Sort By Ascending Data Set Size

Use the

SA

command to sort the directory by ascending

(smallest~to .. largest)

data set size.

Example: Sort directory in ascending order.

()

After executing the

SA command~

the directory looks as follows:

( ""')"
UT-172

SC34-0644

$DIRECT

o

$DIRECT - Directory Organization Sort (continued)
SD -

Sort By Descending Data Set Size

Use the

SA

command to sort the directory by descending (largest-to-smallest) data set size.

Example: Sort directory in descending order.

COMMAND(?) : SD
SORT BY DESCENDING SIZE USING VOLUME EDX002, CONTINUE (YIN)? Y
DJRECTORY

SORT~D

COMMAND (?):
After executing the

. NAME
TESTSORT
$EDXDEF
DIRECT
SORTL IS1
... RUNCALC

SD

TYPE
DATA
DATA
PGM
DATA
PGM

command, the directory looks as follows:

FIRST REC
],177
82
1294
801
. 77

SIZE
83
44
44
11

5

Note: Sorting the directory in descending order can be beneficial if you want to copy
the volume to another volume. By placing the largest members at the top of the
directory, the system copies them first. This decreases fragmentation of disk space and
gives you the best chance of doing the copy without having to compress the target
volume.

o
Chapter 4. Utilities

UT-173

$DIRECT
$DIRECT - Directory Organization Sort (continued)
UD -

Sort Directory in Predefined Order

o

Use the UD command to place members in the order you feel is most desirable for retrieval. You
can put the most frequently accessed data sets at the top of the directory to increase speed of
retrieval. This command prompts you for a previously allocated data set containing the order,
by data set name, in which you want the directory sorted. You create this data set using
$FSEDIT. The system allows only one data set name for each 80-byte record and you must begin
that name in column 1. The first record must be / / and the last must be / *. The / * marks the
logical end of data which mayor may not be the physical end of data.
Example: The following is an example of a data set named TESTSORT on EDX002.

EDIT --- TESTSORT, EDX002
8( .1362)--:-------- COLUMNS 001072
COMMAND INPUT ===>
SCROLL ===> HALF
~**** ***** TOP OF DATA ****************************************
00010 II

00020
00030
00041
00050
00070
00090

DIRECT
WRONG
SORTLIST
RUNCALC
$EDXDEF
TESTSORT
00110 1*
***** ***** BOTTOM OF DATA *,,,-************************************

o
UT -174

SC34-0644

$DIRECT

o

$DIRECT - Directory Organization Sort (continued)
The utility reorders the directory as specified by the input data set.

COMMAND (?): UD
USINGVOLUMEEDX002
A PREVLbUSLY ALLOCATED DATA SET IS REQUIRED, CONTINUE? Y
ENTER {NAME~VOLUME}: TESTSORT,EDX002
D~RECTHAS

WRONG

BEEN POSITIONED

NOT FOUND

SORTLIST HAS BEEN POSITIONED
RUNCALC HAS BEEN POSITIONED
$EDXDEF HASIEEN POSitiONED
TESTSORT HAS BEEN POSITIONED
DIRECTORY SORTED
COMMAND (:1):
The utility reorders the directory as follows:

c

NAME
DIRECT
SORTLIST
RUNCALC
$EDXDEF
TESTSORT

FIRST REC

SIZE

1294

44

801

11

77
82

44

1177

83

5

o
Chapter 4. Utilities

UT -175

$DIRECT
$DIRECT .. Directory Organization Sort (continued)
UT -

Sort Directory in Desired Order Interactively

o

Use the UT command to place members in the order you feel is most desirable for retrieval. You
can put the data sets you access most frequently at the top of the directory to increase speed of
retrieval. This command prompts you for member names you want to place at the top of the
directory. A blank ends the command.
Example:

I NTERACT IVE MODE REQ.UI RES USER INPUT~. CONTi NUE(Y1N)? Y

DATASET #1:

DfRECTORY REORDERED

()

COMMANDO ):
The utility reorders the directory to look as follows:

NAME
SORTLIST
DIRECT
TESTSORT
RUNCALC
$EDXDEF

TYPE
DATA
PGM
DATA
PGM
DATA

FIRST REC
801

12.94
1177
77

82.

SIZE

11
44

83
5

44

o
UT -176

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data
$DISKUTI performs several commonly-used disk or diskette storage management functions. With
this utility, you can:

•

Rename a data set.

•

List data sets.
Direct listings to $SYSPRTR or terminal.
Note: For tape management functions, see "$TAPEUT1 - Tape Management" on page
UT-522.

Loading $DISKUT1
You load $DISKUTI with the $L command or option 3.1 of the session manager.
>$1 $OISKUT '. :

~9AD I NG· . $DtSKUTl

COMMAND (?):

When you load $DISKUTl, it issues the following message:

ij~~.I~~V9L
~""."'."'.'
i

1JME iX,)(J(XXX.,'

where xxxxxx equals the IPL volume. The $DISKUTI commands, with the exception of cv and
act upon the IPL volume.

EN,

To point to another volume, enter the cv command and the name of the volume. All commands
act upon the specified volume until you change them by another cv command or until you end
and reload $DISKUTI. If you specify an invalid volume on a cv command, $DISKUTI uses the IPL
volume if it is available. If the IPL volume is not available, the system issues the message NO
VOLUME AVAILABLE. You can either end $DISKUTI or do a cv command with a valid volume.

0

1
!I~'I, .

Chapter 4. Utilities

UT -177

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
$DISKUT1 Commands

o

To display the $DISKUTI commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

o
UT -178

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
After $DISKUTI displays the commands, it prompts you once again with the prompt, COMMAND
(?):. Then you can respond with the command of your choice (for example, AL). Each
command and its explanation is presented in alphabetical order on the following pages.
Notes:
1. You can enter a prefix on the commands that have an asterisk. The prefix can be up to eight
(8) characters. If you do specify a prefix, the system lists only those data sets beginning
with the prefix.
2. To cancel a long list, press the attention key, press the enter key, then enter CA.
Note: For a 3101 display terminal, press the attention key and enter CA.
3. If your system includes timer support and you direct output to the $SYSPRTR, the system
includes the time and date in the listing.
4. For the 4962 disk and the 4963 disk subsystem, the system shows disk locations in cylinder,
track, and sector (CTS) format instead of by record number.
5. For the 4967 disk subsystem, as well as DDSK-30 and DDSK-60 disks, the system shows
disk locations in relative block address (RBA) format instead of by record number.

o

o
Chapter 4. Utilities

UT-179

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
AL -

Allocate a Data Set

Use the AL command to allocate a data set. $DISKUTI prompts you for the following
information:
•

The name of the data set
The size of the data set in records

•

The organization type.

The Event Driven Executive recognizes two types of data sets: data-type and program-type. A
data-type data set contains work files, user source modules, and application data sets. A
program-type data set contains executable (loadable) EDL programs.
Select one of the following organization types:
D

Data organization for data sets used as work files, user source modules, and application
data sets.

P

Program organization for data sets that will contain executable (loadable) Event Driven
Executive Language programs. Use this for executable object programs (the output of
$UPDATE/$UPDATEH).

Example: Allocate a 100-record data-type data set named DATAFILE.
COMMANO (? ):< AL
MEMBER . NAME: DATAFI lE'
HOW MANYRECQR'DS? 100
DEFAULT TYPE·i¢ DATA .",: OK?
DATAPILE·CREATE.D

UT -180

SC34-0644

Y

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
CV -

Change Volume

Use the cv command to change the volume you want to access with other commands. $DISKUTI
prompts you for the new volume label after you enter the cv command.
Example: Change volume.
COMMAND (?): CV
NEW VOLUME LABEL = EDX002
USlNG_VOLUME EDX002
COMMAND (1):

DE -

Delete a Data Set

Use the DE command to delete a data set. $DISKUTI prompts you for the name of the data set
(member) you want to delete.
Example: Delete a data set named DATAFILE

o
Chapter 4. Utilities

UT -181

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
DG -

Delete All Members Starting with Text

o

Use DG to delete data sets that start with a specific prefix. The system displays each data set
starting with the specified prefix and $DISKUTI prompts you as shown in the example. If you do
not want to display each data set, use the SNQ command to turn off the prompt mode. $DISKUTI
then deletes the appropriate data sets without verification.
Example: Delete all data sets starting with the prefix $Z.

COMMAND (?): DG
ENTER GENERIC TEXT:

$Z

DELETE ALL MEMBERS STARTING WITH $Z?

Y

CONFIRM DELETE GENERIC REQUEST ON VOLUME:
CONTINUE (YIN)? Y
USING VOLUME JMMOBJ
NAME
TYPE
FIRST RECORD
$Zl
DELETE?
$Zl
$Z3
DELETE?
$Z3
$Z2
DELETE?
$Z2

DATA
Y
DELETED
DATA
Y
DELETED
DATA
Y
DELETED

JMMOBJ

SIZE

EOD/PGMSZ

1681

2

NA

1685

2

NA

1683-

2

NA

()

29 FREE RECORDS IN LIBRARY
COMMAND

(?):

Respond y to the DELETE? prompt to delete a data set or N to cancel the delete function.
$DISKUTI continues prompting for each data set on the volume with the specified prefix.
Note: NA means that the end-of-data pointer and flag in the directory member entry have not
been set.
DGD -

Delete all Data-Type Data Sets Starting with Text

Use the DGP command to delete all data-type data sets starting with a specific prefix. DGD
operates in the same manner as DG except that you can only delete data-type data sets.
DGP -

Delete All Programs Starting with Text

Use the DGP command to delete all program-type data sets starting with a specific prefix. DGP
operates in the same maimer as DG except that you can only delete program-type data sets.

o
UT-182

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
DNG -

Delete All Data Sets Not Starting with Text

Use the DNG command to delete all data sets (data- and program-type) not starting with a
specific prefix. $DISKUTI displays each data set that doesn't start with the specified prefix, then
prompts you as shown in the example. If you do not want to be prompted for each data set, use
the SNQ command to turn off the prompt mode. $DISKUTI then deletes the appropriate data sets
without verifying them.
Example: Delete all data sets that do not start with the prefix $Z.

COMMAND (?): DNG
ENTER GENERIC TEXT:

$Z

DELETE ALL MEMBERS NOT STARTING WITH $Z (YIN)?
CONFIRMDELETEG£NERIC REQUEST ON VOLUME:
CONTINUE (YIN)? Y
USING VOLUME JMMOBJ
TYPE
FIRST RECORD
NAME

o

DATAl
DATA
DELETE (YIN)? Y
DELETED
DATAl
MYDATA DATA
DELETE (YIN)? Y
MYDATA DELETED
DATA
DATA2
DELETE (YIN)? Y
DATA2
DELETED

Y

JMMOBJ

SIZE

EOD/PGMSZ

1681

2

NA

1685

2

NA

1683

2

NA

RECORDS IN LIBRARY

Respond
$DISKUTI

to the DELETE? prompt to delete a data set and N to cancel the delete function.
continues prompting for each data set on the volume with the specified prefix.

y

Note: NA means that the end-of-data pointer and flag in the directory member entry have not
been set.

o
Chapter 4. Utilities

UT-183

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
DNGD -

Delete All Data-Type Data Sets Not Starting with Text

o

Use the DNGD command to delete all data-type data sets that do not start with a specific prefix.
operates in the same manner as DNG except you can only delete data-type data sets.

DNGD

DNGP -

Delete All Programs Not Starting with Text

Use the DNGP command to delete all program-type data sets not starting with a specific prefix.
DNGP operates in the same manner as DNG except you can only delete program-type data sets.
EN -

End the Program

Use the EN command to end the $DISKUTI utility.
LA -

List All Data Sets

Use the

LA

command to list all data sets (data- and program-type) on a specific volume.

COMMAND (?):

LA

USING VOLUME EDX001
NAME
TYPE
LNK52
CONV
STG2
STG4
MSGTST5A

DATA
DATA
DATA
DATA
PGM

FIRST RECORD

SIZE

64
165
409
426
383

98

8864 FREE RECORDS IN LIBRARY

EOD/PGMSZ
98

11

11

3
3

NA
NA
24

26

(--~

"'---)

o
UT -184

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
Notes:
1.

EOD

2.

NA

is the displacement to the next available record for data-type data sets.

means that the system has not set the end-of-data pointer and flag in the directory
member entry.

To cancel a long list, press the attention key, press the enter key, and enter
LACTS -

CA.

List All Data Sets in CTS/RBA Mode

Use the

LACTS

command to list all data sets (data- and program-type) on a specific volume.

For the 4962 disk and the 4963 disk subsystem, the system shows the disk locations of the data
sets in CTS format. For the 4967 disk subsystem, as well as DDSK-30 and DDSK-60 disks, the
system shows the disk locations of the data sets in RBA format.
Example 1: List all data sets in CTS format. Volume EDXOOI resides on a 4963 disk

subsystem; the system shows the disk locations of the data set in

COMMAND (?):

o

CTS

format.

LACTS

USING VOLUME EDXOOl
NAME
TYPE

ORG(CTS)

END{CTS)

DATA
DATA.
. DATA

o
Chapter 4. Utilities

UT-185

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
Example 2: List all data sets in RBA format. Volume EDXOOI resides on a 4967 disk

o

subsystem; the system shows the disk locations of the data sets in RBA format.

COMMAND

(1):

LACTS

USING VOLUME EDXOO1
NAME
TYPE

ORG(RBA)

END(RBA)

LNK52
CONV
FULL

DATA
DATA
PGM

3331065
3331168
3331182

3331164
3331178
3331185

CONVP

PGM

3331179

3331181

8864 FREE RECORDS IN LIBRARY

o
UT -186

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
LAD -

List Data Sets on All Volumes

Use the LAD command to list all data sets (data- and program-type) on all volumes. You may
only want to list data sets starting with a specific prefix. Do this by entering the LAD command
followed by the prefix. This command is useful in finding a data set when you do not know the
name of the volume where it resides or if the same data set appears on multiple volumes.
$DISKUTl lists the name of each data set along with the following information:
the type (data or program)
•

the number of the first record in the data set
the size of the data set
the last record in a data-type data set or the number of records in a program-type data set
the volume where it resides.

Example: List data sets with a prefix of'S' in all volumes.

COMMAND (?): LAD

o

NAME

TYPE

SEW

DATA
DATA
DATA
DATA
DATA

SSRC
SMODUL
SWORK
SDATA

$

FIRST RECORD

SIZE

EOOIPGMSZ

VOLUME

1646
7748
1386
15522
6989

USING VOLUME EDX005
COMMAND (?):

o
Chapter 4. Utilities

UT-187

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
LAV -

List All Volumes

o

Use the LAV command to list all volumes on your Series/I. The LAV command scans all existing
volumes and $DISKUTI lists the name of each volume along with the following information:
•

the device address
the number of the first record on the volume

•

the size of the volume.

When it finishes the scan, $DISKUTI points to the last volume accessed.
Example:

COMMAND ( ? ) :
VOLUME NAME

LAV
DEVICE ADDRESS

FIRST RECORD

SIZE

0003
0003
0013
0013

361
9841
361
8761

9480
8000
8400
2200

EDX002
ASMLIB
MTMSRC
TSTSRC
USING VOLUME EDX002
COMMAND (?):

o

To cancel a long list, press the attention key and enter $C $DISKUTI. This cancels the listing and
$DISKUTI.

o
UT.. 188

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
LD -

List Data-Type Data Sets

Use the LO command to list all the data-type data sets on a specific volume, the number of the
first record in the data set, and the size of the data set.
Example: List the data sets on volume EOXOOl.

COMMAND (1):

LD

USING VOLUME EDXOOl
NAME
TEXTWORD
$SAMDATA
$NAME3

FIRST RECORD
105
127

450

SIZE

EOD/PGMSZ

22
36
10

22
30

NA

506 FREE RECORDS IN LIBRARY

COMMAND (1):
Notes:
1. EOO is the displacement to the next available record.
2.

()
LDCTS -

means that the system has not set the end-of -data pointer and flag in the directory
member entry.

NA

List Data-Type Data Sets in CTS/RBA Mode

Use the LOCTS command to list only data-type data sets on a specific volume. Depending upon
the disk on which the volume resides, the system shows the locations of the data sets in CTS or
RBA format.
For the 4962 disk and the 4963 disk subsystem, the system shows the disk locations of the
members in CTS format. For the 4967 disk subsystem, as well as DDSK-30 and DDSK-60 disks,
the system shows the disk locations of the members in RBA format.

o
Chapter 4. Utilities

UT -189

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
Example 1: List all data sets in CTS format. Volume EDXOOI resides on a 4963 disk
subsystem; the example shows the disk locations of the data sets in CTS format.

0290105

o

0290108

1046 FREE .RECORDS I.N. LIBRARY
Example 2: List all data sets in RBA format. Volume EDXOOI resides on a 4967 disk
subsystem; the example shows the disk locations of the data sets in RBA format.

COMMAND In:

LOCTS .
END(R6A)

LNK52
LNK52U
STQl

3331065
·3331190
3331165

3331289
333J1.66

LNK52R

3330663

3330764

3331164

8864 FREE RECORDS IN LltRARY

o
UT-190

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
LlSTP -

Direct Listing to $SYSPRTR

Use the LISTP command to direct all $DISKUTI listings to the device designated as the $SYSPRTR.
Once you specify this command, the system directs all listings to $SYSPRTR until you specify
another device.
Example: List all subsequent $DISKUTI listings to the $SYSPRTR.

COMMAND (7):

LISTP

COMMAND (7):
LlSTT -

Direct Listing to Terminal

Use the LISTT command to direct all $DISKUTllistings to the terminal that invoked $DISKUTI.
Once you specify this command, the system directs all listings to that terminal until you specify
another device.
Example: List all subsequent $DISKUTI listings to the terminal that invoked $DISKUTI.

COMMAND (7):

LI STT

COMMAND (7):

LD EDX002

USING VOLUME EDX002
NAME
FIRST RECORD

SIZE

EOD/PGMSZ

2791 FREE RECORDS IN LIBRARY
COMMAND· (7):
LM -

List a Specific Data Set

Use the LM command to list the description of a specific data set (data- or program-type).
$DISKUTI lists the data set type, the disk location of the first record, the size of the data set and
the EOD. The EOD is the displacement to the next available record for data-type data sets.

o
Chapter 4. Utilities

UT -191

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
Example 1: List the directory description of a data-type data set (member).

o

For the 4962 disk and the 4963 disk subsystem, the system shows the disk location of a data set
in CTS format.

TESTl2

DATA

IDDA=003 (HEX).

305:

7

5

CTS=02201t5~0220121

COMMAND (?):
Notes:
1. IODA=I!O device address; CTs=cylinder, track, and sector. In this example, the data set is
on the device at device address 003 at cylinder 22, track 01, from sector 16 through sector
21.
2. FIRST RECORD is the number containing the first record of the data set.
Example 2: List the directory description of a program-type data set (member).

C)

For the 4967 disk subsystems, as well as the DDSK-30 and DDSK-60 disks, the system shows
the disk location of a data set in RBA (relative block address) format. In this example, the data
set is on the device at address 0048 at RBA 0751100,0760107.

COMMAND (?):
MEMBER NAME:

FIRST RECORD
t 21

SIZE

EOD1PGMSZ

400

202

o
UT -192

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
Notes:
1. IODA=I!O device address; RBA=relative block address. In this example, the data set is on
the device at device address OOCO at relative block address 0751100.
2. FIRST RECORD is the number containing the first record of the data set.
LP -

List Programs

Use the LP command to list all program-type data sets on a specific volume or only those starting
with a specified prefix. The system directs the listing to the $SYSPRTR. You can redirect the
listing by specifying the label of the printer following the LP command or the prefix. For
example, to direct the listing in the example to a printer other than $SYSPRTR, enter the
following:

COMMAND (1):

LP $DISK $SYSLOGA

The system directs the listing, in this case, towards the printer designated as the alternate logging
device ($SYSLOGA).
Example: List directory description of the program-type data sets beginning with the prefix
$DISK.

COMMAND

LP $DISK

(7):

,USJNG VOLUME EDX001
NAME
$D:ISKUT.l
$DISKUT2
$DISKTST

FIRST RECORD

SIZE

256

OVLY

288
323

32
30
15

EODIPGMS~

,25

23
10.

255D FREERECQRDS

Notes:
1. FIRST RECORD is the number of the first record of the data set.
2. PGMSZ shows the size of the program in records, excluding RLDs and overlays.
3. OVLY indicates an overlay program.

0,.
".1 ,
,Ij"

Chapter 4. Utilities

UT -193

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
LPCTS -

List Program-Type Data Sets in CTS/RBA Mode

o

Use the LPCTS command to list only program-type data sets on a specific volume. Depending
upon the disk on which the volume resides, the location of the data sets (members) are shown in
CTS or RBA format.
For the 4962 disk and the 4963 disk subsystem, the system shows the disk locations of the
members in CTS format.
For the 4967 disk subsystems, as well as DDSK-30 and DDSK-60 disks, the system shows the
disk locations of the members in RBA format.
Example 1: List all data sets in CTS format. Volume EDXOOI resides on a 4963 disk

subsystem; the system shows the locations of the data sets in CTS format.
COMMAND ( '1);

USING :v:pLiJ~E:~bXPOl':
~

NAME,;
. ' ,'."

, { ,,'

'•.• OR:G.(,c·TSl '
'" , , ,

." .

" " ", ,,,,

: <

'

Example 2: List all data sets in RBA format. Volume EDXOOI resides on a 4967 disk

subsystem; the system shows the locations of the data sets in RBA format.

o
UT -194

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
LS -

List Free Space

Use the LS command to list the free space available on a specific volume. In addition, $DISKUTI
lists the following information:
•

the size (in records) of the volume
the number of unused records
the number of directory entries
the number of unused directory entries
the total number of data sets
the number of free space entries.

$DISKUTI then prompts if you wish to list the free space chain. Respond Y and $DISKUTI lists the
size and the location (number of the first record) of each area of free space on the volume.

Example: List free space available on volume EDXOOI.
COMMAND (?):

LS

USING VOLUME EDXOOl
LI BRARY ,
AT RECORD
SIZE
UNUSED
DIRECTORY
SIZE
UNUSED

1

3600
665
405

RECORDS
RECORDS

MEMBERS (

51

179 MEMBERS

NUMBER OF MEMBERS··-

Note: FIRST RECORD is the number of the first record within the data set.

o
Chapter 4. Utilities

UT-195

$DISKUT1
$DISKUT1 - Allocate/Delete/List Directory Data (continued)
RE -

Rename a Data Set

o

Use the RE command to rename a data set.
Example: Rename a data set named PROGI to MYPROG.
""'h

<

~

'.

~.,";

".;

.;<,;.~:'-'; ,;:- :';

;'~CG~~~Nti: ,(;'ii)[: '.

Re.:.;

:'ME.M8~~.:NAME':,: : PROA r;
:NEW:NAME~, .. "M,£BR:OG;;;
:,~~NAM~ . ~~()MP;~E:rEP,'

SE -

Set End of Data Pointer/Flag

Use the SE command to set the end-of-data pointer/flag on within a data- or program-type data
set.
Example: Set end of data pointer for data set named DATAFILE.

'COMMANDi (1):

CATAFILEEOO\p.Oj'NTERI$:NOW
DAtAFltE'EOD:F~A'G"'isNow'

ON

()

Notes:
1. RESET option sets the EOD flag off and the EOD pointer to O.
2. This command modifies fields within the directory member entry. It does not change the
actual data set.

o
UT-196

SC34-0644

$DISKUT1

o

$DISKUT1 - Allocate/Delete/List Directory Data (continued)
SNa -

Reset Prompt Modes

Use the SNQ command to turn off the prompt mode for the delete generic commands (DG, DGP,
DGD, DNG, DNGP and DNGD). This means that for these commands, $DISKUTI deletes the data
sets without prompting you to verify each one. If you want to turn prompt mode off, do so
before you use any of these commands.

l
sa -

COMMAND (?): SNQ

Set Prompt Modes

Use the SQ command to set $DISKUTI to prompt mode for the delete generic commands. This
means that for the DG, DPG, DGD, DNG, DNGP and DNGD commands, $DISKUTI prompts you to
verify each data set you want to delete. Prompt mode is the default for the list commands. If
you do not want to be prompted for each data set to be deleted, use the SNQ command to turn
off prompt mode.
Example:
lCOMMAND (1): SQ

o

Chapter 4. Utilities

UT -197

$DISKUT2
$DISKUT2 .. Patch/Dump/List Data Set or Program
With $DISKUT2, you can perform the following operations on data sets and/or programs:
•

Clear (set to zero) all or portions of a data set and reset the end-of-data pointer.

•

Dump any data set created using $EDITI N or $FSEDIT or any program on the terminal you are
using or on the printer of your choice.

•

Patch a data record in a data set or an address within a program.

•

Modify the default load time storage allocation associated with a program.

•

List the contents of a data set on the terminal you are using or on the printer of your choice.

•

List the log data set associated with a specific device on the terminal you are using or on the
printer of your choice.

o

Note: For tape management functions, see "$TAPEUT1 - Tape Management" on page
UT-S22.

Program and Data Set Member Dumps and Patches
You make program member dumps and patches by relative address (hexadecimal) within the
program. The relative address corresponds exactly to the address specified in the LOC field of
an assembly listing. You can enter data in decimal, hexadecimal, or EBCDIC as shown in the
examples that follow.

C';
.J

You make data set member dumps and patches by specifying a record number and a first word.
The numbering for both record and word number begins with 1. You can enter data in either
decimal, hexadecimal, or EBCDIC. You should separate each field of patch data with a
nonnumeric character other than a carriage return.
Note: Any patch you make to a data set or a program is permanent. Be sure that the data set
record or program address you are patching is correct. Check a dump of the data set or the
program assembly listing before you perform a patch.
The system formats dumps of program or data set members when you select hexadecimal as an
option.

o
UT-198

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Absolute Record Numbers
A special feature of $DISKUT2 allows dumping and/or patching of any area on a disk volume by
referencing absolute record numbers. Select this this mode by entering the characters $$EDXVOL
as a member data set name. When you use this mode, the system will direct operation to
absolute record numbers rather than symbolic data/program member names, with record 1
being the first physical record on the disk or diskette where the volume resides.
If you enter the special system name $$EDXLIB, the system uses absolute record numbers and
considers the first record in the directory as record 1. $$EDXVOL references the first physical
record on the disk or diskette. On diskettes, the system uses $$EDXVOL to reference records on
cylinder 0 only (if you attempt to access other cylinders, you will produce unpredictable results).
You can reference all other records on diskette using $$EDXLIB.

Notes:
1. $$, $$EDXVOL, and $$EDXLIB are special system data set names. $$ is a reserved system
name. $$EDXVOL points to the beginning of a volume. $$EDXLIB points to the beginning of
the data set directory within a volume.
2. When using this mode, you also have access to records that are meant for Series/l hardware
use only. For example, the system designates records 121 through 240 on the 4962 disk for
alternate sector assignment and they are not meant to be accessed directly.
3. When you use the DU or LU commands to dump or list $$EDXVOL, you dump only the data,
not the whole device.

Invoking $DISKUT2
You invoke $DISKUT2 with the $L command or option 3.2 of the session manager.

$L $OISKUT2
LOADING $OISKUT2

>

51P;OQ:30:15~

LP=

9200~

PART=l

$DISKUTl - DATA SET MGMT. UTIL1TY I I
USING VOLUME XXXXXXX
COMMAND (?): .

o
Chapter 4. Utilities

UT -199

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
$DISKUT2 Commands

o

To display the $DISKUT2 commands at your terminal, enter a question mark in response to the
prompting command COMMAND (?):.

Note: The LR and PR commands are for remote manager (RMl) users only.
$DISKUT2 includes the time and the date in your listing if you include timer support in your
system and you direct output to a print device using DP, LP, PL" or PRo You can send your output
to any printer using the PRTNAME parameter on the DP, LP, PL, or PR command. The default is

(-'"
,,-)

$SYSPRTR.

Note: If you dump (DU) or list (LU) a data set on a terminal using $$EDXVOL, you are limited to
the number of logical records.
All the functions listed (except for?, CV, and EN) act upon the IPL volume. When you invoke
$DISKUT2, it issues the following message:

To point to another volume to perform one or more of the previously listed functions, enter the
cv command and the name of the volume.

o
UT -200

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
All functions act upon the specified volume until you change them with another cv command or
until you end and reload $DISKUT2. If you specify an invalid volume a cv command, the utility
uses the IPL volume, if it is available. If the IPL volume is not available, the system issues the
message NO VOLUME AVAILABLE. You can either end the $DISKUT2 or change volumes using the
cv command.
Each command and its explanation is presented in alphabetical order on the following pages.
CD -

Clear a Data Set (to Zeros)

Use CD to clear an entire data set or a portion of a data set and to reset the end-of-data pointer.
This sets the data within the data set to zero.
Example:

COMMAND (?): CD
DATA SET NAME? DATA
CLEAR ENTIRE DATA SET? N
FIRST RECORD: 1
LAST
RECORD: 100
RESET THE E.O.D. POINTER? Y
HOW MANY RECORDS TO EOD? 100
ARE ALL PARAMETERS CORRECT? Y
CLEAR COMPLETED

()

COMMAND (?):
CV -

Change Volume

Use the cv command to change volumes. When you invoke $DISKUT2, it assumes you are using
the IPL volume. All $DISKUT2 functions operate on the IPL volume until you change to another
volume.
Example:

USING VOLUME EDX002
COMMAND (?): .CV EDX40
USING.VOLUME EDX40
,COMMAND ( ?):

C'"

. . ,.,'

Chapter 4. Utilities

UT -201

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
DP -

o

Dump a Data Set or Program on a Printer

Use DP to dump all or portions of a data set or program to a printer. If you don't specify a
printer, the system directs the dump to the $SYSPRTR.
Example 1: Dump a data set on a printer other than $SYSPRTR.

Notes:
1. You must specify the printer name on the same line as the command and the data
set/program. The system does not issue a prompt for the printer name.
2. The printer name is the label on the TERMINAL definition statement defining the printer to
the supervisor.

o

Example 2: Dump a portion of a program on $SYSPRTR.

;¢;PMM~Nb'(?):;,op , '.....' .'. '.•.

" .,·t:O.R::.O. S,,'N~'jt:g::' .t:WPROG:, . ; . . .
O.GtS'··'1f.. ··:P~()tiRP;f1.· OF/.HEX· SIZE'Q000026C.
.<

,'.:.AD,()RESS:"'QOO'O"'}'·' " ....' .:.

:'~ .D1JMP'oql~<
])0000'000 ,Q2~B:0,00(): OOOO"OOOOOJOO. 0256
, 0,0.20"
:O:()Oo···OOOO!,'OJ>QOOOQO" . . . .'. .... . .',
,. ;

"'''~''

, •• PROGRAM ••• M•..•

I'

,':" ,~, ,': ".~<.~. " .';' ·,·:1 '

I.··· . ·', .: ..• ,

' . 'I

o
UT -202

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
DU -

Dump a Data Set or Program on Terminal

Use the DU command to dump all or a portion of a data set or a program to the terminal where
you invoked $DISKUT2.
Example 1: Dump a portion of a data set on the terminal.

COMMAND ( ? ): DU
PGM OR OS NAME: EDITWORK
EDITWORK IS A DATA SET
FIRST RECORD (0 TO CANCEL COMMAND): 1
LAST RECORD: 1
FIRST WORD: 1
WORDS / RECORD: 52
(D)EC, (E)BCDIC, OR (H)EX: H
RECORD 1
1 7A2E
9 0000
17 0000
25 0000
33 0000
41 7B96
49 7BA4

7800
0000
0000
0000
0000
402F
6808

0088
3406
1400
0000
0000
7BAO
00F6

7A30
0000
5600
0000
0000
0000
6800

OOOA
0000
0000
0000
5040
182C

lOlA
0000
7A02
0000
6F03
6808

0240
0000
0000
0000
023C
00c4

4040
FFFF
0000
0000
0254
6800

I:·····:· .
I ..... 0 •••

,........ .
I········ .
I······· .&
IH • •H....
IH .... 6 .•

DUMP COMPLETE
ANOTHER AREA?
COMMAND (?):
Example 2: Dump a portion of a program on the terminal.

COMMAND (?): DU
.
PGM OR OS NAME: EX31DS02
EX31DS02 IS A PROGRAM OF HEX SIZE 00003B7E
ADDRESS: 100
DUMP TO PROGRAM END? N
HOW MANY WORDS? 20
0100
.0110
0120

C4C1E3C1 FOF2 4040 0606 C4C9 E2D2FOF2 IDATA02 .. DISK021
00000000 0000 0000 000100000001 0000 I .......... ~~ .. ·.I
0000 0000 00000000
I ....... .;
I

DUMP COMPLETE
ANOTHER AREA? N
COMMAND (?):

0."·'·
',

..

Chapter 4. Utilities

UT -203

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Setor Program (continued)
Example 3: Dump a portion of a program with overlay segments on the terminal.

o

Example 4: Dump an overlay segment of a program on a terminal.

Note: Addresses within an overlay segment are relative to the beginning of that overlay
segment.

o
UT -204

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Example 5: Dump a portion of the supervisor that is located in an overlay area.

COMMAND (?): DU
PGM OR OS NAME: $EDXNUCC
ENTER PARTITION NUMBER(l-S) : 1
PARTITION 1 OF $EDXNUCC HAS A HEX SIZE OF 0000D9FF WITH 3 OVERLAY SEGMENTS
ADDRESS: 0000
DUMP OVERLAY SEGMENT (0) OR RESIDENT CODE (R)? 0
WHICH OVERLAY? 2
HOW MANY WORDS? 3
0304

10A2 0420 041E

I· .

DUMP COMPLETE
ANOTHER AREA? N
COMMAND (?):
Example 6: Dump a portion of a supervisor with overlay segments. The portion you are
dumping does not reside within the overlay segment.

COMMAND (?): DU
PGM OR OS NAME: $EDXNUCC

o

ENTER PARTITION NUMBER(l-S) : 1
PARTITION 1 OF $EDXNUCC HAS A HEX SIZE OF 0000D9FF WITH 3 OVERLAY SEGMENTS
ADDRESS: 0000
DUMP OVERLAY SEGMENT (0) OR RESIDENT CODE (R) ? R
HOW MANY WORDS? 3
0000

0000 0000 0000

I· .

DUMP COMPLETE
ANOTHER AREA? N
COMMAND (?):

o
Chapter 4. Utilities

UT -205

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Example 7: Dump a portion of a supervisor not located within an overlay area.

'ENfE'R:<~~~T1T I:ON:N(Jt-iaE~'(1-8}:!

f...

o

..... ..'

'PART/ITION10ft'$EDXNUCC' H,4.SA+IEXS t:?EOFOOOOD9FF 'WITH.3
AD.DRESS.:::' '9~O'O, '
,
"
'
H'OW ,MAN yW,OROS? .,

N

You can use single-line entry; however, be sure to enter the information required in the order
that the $DISKUT2 expects it. Here is the information for the above example entered in
single-line entry:

EN -

End $DISKUT2

Use EN to end $DISKUT2.

o

Example
C'OMMAND (?):
EN
$DISKUT2ENO:EDAT '0'0:36:'04

o
UT -206

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
LL -

List Log Data Set for a Specific Device on a Terminal

Use

LL

to list the log data set for a specific device on the terminal where you invoked

$DISKUT2.

Example: List log data set for device at address 002 on the terminal. (Refer to the Problem
Determination Guide for an explanation of the log output.)

COMMAND (?): LL
LOG DS NAME: $LOGDS
ENTER DEVICE ADDRESS, NULL FOR ALL ENTRIES,
OR 'FFFF' FOR PROGRAM/SYSTEM CHECKS ONLY: 002
ERROR LOG LIST, DATA SET: LOGDS ON EDX002
ADDR: 0002
I/O LOG ERROR COUNTERS (BY DEVICE ADDR):

o

0000
0010
0020

0000 0200 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0004 0000 0000 0000 0000 0000

OOEO
OOFO

0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000

SOFT RECOV. ERR
DEV ADDR: 0002
DATE: 7/ 7/80
TIME: 11:13:20
INTCC: 0012
DCB1: 8007 0000
DCB2: 8005 0001
DCB3: 2009 0000
CSSW: 08A3 0400

DEV 10: 0106
LVL: 0001
AKR: 0000
RETRY: 3
IDCB: 7002 0874
ISB: 0080
0000 0000 0000 0884 0000 0000
0000 0001 0000 0894 0000 0000
0000 0001 0001 0000 0100 CBEE
0001 0001

o
Chapter 4. Utilities

UT -207

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)

,='

fO'

LP -

List All or a Portion of a Data Set on Printer

Use LP to list all or a portion of a data set on the printer. If you do not specify a printer, the
system directs the list to the $SYSPRTR.
Example 1: List a data set on a printer other than $SYSPRTR.

Notes:
1. You must specify the printer name on the same line as the command and the data
set/program. The system does not issue a prompt for the printer name.
2. The printer name is the label on the TERMINAL definition statement defining the printer to
the supervisor.
Example 2: List a portion of a data set on $SYSPRTR.

o
UT -208

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
LR -

List Log by Wrap Count and Relative Record for a Specific Device on a Terminal

Use

LR to
$DISKUT2.

list the log by wrap count and relative record on the terminal where you invoked

Example 1: List log by wrap count and relative record on current' terminal. (Refer to the
Problem Determination Guide for an explanation of the log output.)

COMMAND (?): LR
LOG DATA SET (NAME t VOLUME): $LOGDS tEDX002
ENTER (HEX) WRAP COUNT AND RELATIVE
RECORD NUMBER IN THE FORM WWWW RRRR: 0001 0001

C'·

SOFT RECOV. ERR
DEV ADDR: 0002
DATE: 12/10/83
TIME: 11:10:20
INTCC: 0012
DCB1: 8007 0000
DCB2: B005 0001
DCB3: 2009 0000
CSSW: OBA3 0400

0000
0000
0000
0001

DEV 10: 0106
LVL: 0001
AKR:
RETRY: 3
IOCB:
158: 0080
0000 0000 0884 0000
0001 0000 OB94 0000
0001 0001 0000 0100
0001

0000
7002 0874
0000
0000
CBEE

y

When your log data set is exactly filled, $LOG increments its wrap count by one even if there is
no data after the wrap. The header, therefore, shows a wrap with no data. In this situation,
specify the previous wrap count number. By doing so, you dump the entire data set.

o
Chapter 4. Utilities

UT -209

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Example 2: In the following example of a log eight records long, two are control records and
six are data records. $LOG writes to the end of the data set and sets the wrap count to two. No
more data is written.

LU -

o

List Contents of a Data Set on Terminal

Use

LV

to list all or a portion of a source data set on the terminal where you invoked

$DISKVT2.

Example: List a portion of a data set.

o
UT -210

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
PA -

Patch a Data Set or Program

Use PA to patch a data set record(s) or an area within a program in decimal,
hexadecimal.

EBCDIC,

or

Example 1: Patch a data set in decimal.

COMMAND (?): PA ASMOBJ
ASMOBJ IS A DATA SET
FIRST RECORD (0 TO CANCEL COMMAND): 2
FIRST WORD: 3
HOW MANY WORDS? 4
(D)EC, (E)BCDIC OR (H)EX? 0
NOW IS:
3

16

ENTER DATA: 18
NEW DATA:
3

18

OK? Y
PATCH COMPLETE
ANOTHER PATCH? N

o

COMMAND (?):
Example 2: Patch a data set in EBCDIC.

COMMAND (?): PA ASMOBJ
ASMOBJ IS A DATA SET
FIRST RECORD (0 TO CANCEL COMMAND): 2
FIRST WORD: 3
HOW MANY WORDS? 4
(O)EC, (E)BCDIC OR (H)EX? E
NOW IS:
3

0012

ENTER DATA: 0010
NEW DATA:
3

FOFO

OK? Y
PATCH COMPLETE
ANOTHER PATCH? N
COMMAND (?):

o
Chapter 4. Utilities

UT-211

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Example 3: Patch a data set in hexadecimal.

OK? V
PATCH COMPLETE
ANOTHER PATCH?

o

N

COMMANOt?}:

Example 4:

Pa~ch

a program in decimal.

COMMAND (?): PA
,
PGMOfrOS NAME: MVpROG
MYPROG' IS A PROGRAM 'OF HEX SIZE 000013FE
ADDRESS: 0208
HOW MANY .WORD S? ,1
(b}EC, CE) BCD Ie, OR( H)EX? :

o
UT -212

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Example 5: Patch a program in EBCDIC.

COMMAND (?): PA
PGM OR ns NAME: MYPROG
MYPROG IS A PROGRAM OF HEX SIZE 000013FE
ADDRESS: 208
HOW MANY WORDS? 7
(O)EC, (E)BCDIC, OR (H)EX?: E
NOW IS:
0208 D4C5 04C2 C5D9 40C4 C503 C5.. ..

I MEMBER DELETE@

ENTER DATA: DELETE MEMBER@
NEW DATA:
0208 C4C503C5 E3C5 4004 C5D4 C2 ....
OK? Y
PATCH COMPLETE
ANOTHER PATCH?

I DELETE MEMBER@

N

COMMAND (7):
Example 6: Patch a program in hexadecimal.

()

COMMAND (7): PA EX310S02
EX3tOS02tS A PROGRAM OF HEX SIZE 00003B7E
AODRESS:37B
HOW MANY WOR,DS?3
,(OJEC,(EYSCDIC,OR' (H}EX?: H
NOW IS:
037A

'00000001 0050

L.. · .. )

ENTER DATA:, 0020 0003 005F

J .. , .. . .,

o
Chapter 4. Utilities

UT -213

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Example 7: Patch a program with overlay segments.

o

~OMMANDb):" ,,'PAE}<3J.E S01
Ex'ljEsor ISk'P,ROGRAMOF HEXS1ZE,00002FASWfTi-!.2, OVERLAY SEGMENTS
AOP~ESS: ,.2F32 ."
....:,.. '
.
PATCH OVERLAY SEGMENT (0) OR RESIDENT CODE (RHO
WHICH OVERLAY? . 1
HOW MANY WORDS?
2
COrEe, (E)BCDIC J ()ROOEX?:
H

NOW .IS:
, '028A

0001 '009A

ENTER DATA:
NEW DATA:
OlSA

,....

0002 009B

0002 009B

,....

N

Note: Addresses within an overlay segment are relative to the beginning of that overlay
segment.
Example 8: Patch a portion of the supervisor that resides in an overlay area.

o

tOMMAND (?):
PA
PGM OR OS NAME:
$EOXNUCQ
eNTER PA~TI TION NUMBER( 1-8):
1
PARTITION f OF $EDXNUCC HAS A HEX SIZE OF 0000D9FF WITH 3 OVERLAY SEGMENTS
ADDRESS: 0000
PATCHOVERLAv SEGMENT eo) OR RESIDENT CODE (R)?
0
WHICHOVERLAV?
2
HOW MANY WORDS?
3
(b)EC,(E)BCDIC~ OR (a)EX1:
X

COMMAND (?):

o
UT -214

SC34-0644

$DISKUT2

o

$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
Example 9: Patch a portion of the supervisor that resides in partition 2.
COMMAND (?): PA
PGM OR OS NAME :$EDXNUCQ.
ENTER P~RTIT ION NUMBER( 1-8): 2
PARTITION 2 OF $EDXNUCQ. HAS A HEX SIZE OF
ADDRESS: 30
HOW MANY WORDS? 2
CDlEC, (E) BCDI C,OR (H) EX?: X
NOW IS:
0030

000028FE

40EF 0020

I·· ',,'

0000 0000

I·· ..

ENTER DATA:
NEW DATA:
0030
OK?N

You can use single-line entry; however, be sure to enter the information required in the order
that the $DISKUT2 expects it. Here is the information for the above example entered in
single-line entry:

o

A~OTHER

PATCH? Y 2 30 2 X

NOW IS:
0030

40EF 0020

I··· .

0000 0000

I ....

ENTER DATA:
NEW,DATA:
0030

OK? Y
ANOTHER PATCH? N
C,OMMANQ (?):

o
Chapter 4. Utilities

UT -215

$DISKUT2
$DISKUT2 - Patch/Dump/List Data Set or Program (continued)
PL -

()

List Log Data Set for a Specific Device on a Printer

Use PL to list the log data set for a specific device or all devices on the printer of your choice. If
you do not specify a printer, the system directs the list to the $SYSPRTR.
Example 1: List the log data set for device 002 on the $SYSPRTR. (Refer to the Problem
Determination Guide for an explanation of the log output.)

PL

J)~ .P$N';ME:' ...$COGDS

ENTERDEvrCE'ADDRESSi NULL F'OR:ALL •ENTR IES

()R·','FF.FF"

$L $DISKUT2
LOADING$DISKUT2

51P,Ot:30:15, LP= 9200, PART=l

$DISKUT2 - DATA SET MGMT, UTILITY I I
USING VOLUME EDX002
COMMAND (?): CV"ASMLIB
USING VOLUME ASMLIB
COMMAND (?)~ SS $COBOL
ENtER NEW stORAGE SIZE IN BYTES: 2816
OLD STORAGE S IZEWAS8448
NEW SIZE WILL BE 2816
OK TO CONTINUE? Y
COMMAND· (?): EN
$D.ISKUT2 . . ENDED .AT . 01 :J2:02

o
Chapter 4. Utilities

UT -219

$DIUTIL
$DIUTIL - Maintain Partitioned Data Base
maintains a disk-resident partitioned data base. This utility provides comprehensive
facilities to keep the data base current by means of the following functions:
$DIUTIL

•

o

Initialize the Disk-Resident data base.
Delete a member.
Reclaim space in the data base due to deleted members.

•

Display contents of data base.

•

Copy the data base.

•

Copy individual members of the data base.
Allocate and build a data member.

Normally, you use $DIUTIL only when no other programs of the display processor are in use.
You can change the online data base or you may select another data base for the system to
reference. This allows you to create displays in a data base other than the online data base and
then copy the members into the online data base after testing.

Invoking $DIUTIL
You invoke $DIUTIL with the $L command or option 5.1 of the session manager. To start
execution of $DIUTIL:
1. Load $DIUTIL specifying the appropriate data set. You can use $DIFILE, the online data set,
or any other data set. However, be sure that another user or program is not changing or
using the same data set.

2. The system responds with the program-loaded message followed by:

o
UT - 220

SC34-0644

$DIUTIL

o

$DIUTIL - Maintain Partitioned Data Base (continued)
$DIUTIL Commands
To display the $DIUTIL commands at your terminal, enter a question mark in reply to the
prompting message COMMAND (?):.

COMMAND
AL
BU
CP
CM
DE
EN
IN
LA
LH
MD
RE
ST

-

(?):

?

ALLOCATE DATA MEMBER
BUILD DATA MEMBER
COMPRESS DATA BASE
COPY MEMBER
DELETE A MEMBER
EXIT PROGRAM
INITIALIZE DATA BASE
DISPLAY MEMBER DIRECTORY
DISPLAY MEMBER HEADER
MOVE DATA BASE
RENAME MEMBER
DISPLAY DATA SET STATUS

COMMAND (?):
After $DIUTIL displays the commands, it prompts you with COMMAND
respond with the command of your choice (for example, AL).
AL -

(?):

again. Then you can

Allocate Data Member

Use the AL command to reserve space in a data base for one of several types of data members.
The system requests information such as size in sectors and member codes. Member codes are
•
specified as follows:
4 -- Print Report Data Member: The system requests information such as number of lines and
line length. It then enters each line, limited to 132 characters each.
5 -- Plot Curve Data Member: The system requests information such as X and Y ranges, X and
Y base values, and number of points it must plot. You can select automatic entry of the X points
to reduce the data entry requirements. The system provides a sawtooth pattern option to shade
under the curve for more vivid presentation of plotted data. Using fewer than 200 points on the
X axis gives an inadequate shading effect.

o
Chapter 4. Utilities

UT -221

$DIUTIL
$DIUTIL - Maintain Partitioned Data Base (continued)
6 -- Realtime Data Member: The system requests the number of records. You can enter
hexadecimal data for testing.

o

7 thru 9 -- User Data Member: The build function uses these codes to guide you through the

correct data entry procedure.

COMMAND (?):

AL
TDATA
ENTER # OF RECORDS TO ALLOCATE?
ENTER MEMBER CODE #:
4
MEMBER TDATAALLOCATED
ME~BE~NAME:

10

 $L $DUMP
DUMPDS( NAME ,VOLUME) :' DUMP, EDX003
LOADING $DUMP
22P, 12:20:17; LP=8FOO, PARt=l
ENTER DEVICE NAME FOR OUTPUT:
$SYSPRTR
USING $TRAP OUTPUT
PARTIAL,~ISPLAY (YIN)?
Y
FORMAT CONTROL BL,OCKS (YiN)?
Y

3

7,

~,

9,10,11,12,13,

lA,

15,16

ENTER START AND ENOl NG 'ADDRESS IN HEX (2 WORDS ):400 500
ANOTHER MAPPED AREA (YIN)?

N

DUMP UNMAPPED STORAGE {YN} i

o
UT -228

SC34-0644

$DUMP

o

$DUMP - Format and Display Saved Environment (continued)
..

The data set you specify here must be the same as the one you defined when you
executed $TRAP.

II

You can specify a terminal to receive the output from $DUMP. If you press the ENTER
key or enter $DUMP, the dump program assumes that it should direct the output to the
terminal where you loaded $DUMP. Using the attention key followed by CA cancels any
current $DUMP operation (such as control blocks or mapped storage,) but not the $DUMP
program itself.

II

If you want a display all of storage, respond to this question with an N. If any unmapped

storage resides in the data set, the system prompts you with DUMP UNMAPPED STORAGE?
After you answer the prompt, the output display begins immediately and continues until
the system dumps all of storage or you enter an attention CA. If you respond Y, $DUMP
allows you to display certain sections of mapped storage.

II

If you want a formatted display of the control blocks, respond to this question with a Y.

II

If you want to dump mapped storage, respond with a Y and you will get the PARTIAL
DISPLAY? prompt. If you respond N, the system does not issue the PARTIAL DISPLAY?

prompt.

("',\
.

,,'

II

Enter a number 1 through 16 for the valid partition number that contains the storage
you want to dump.

II

Enter the starting and ending addresses of the storage you want to dump .

II

If you want to dump another mapped storage area, respond with a Y. The system then

11

If you want to dump unmapped storage, respond with a Y. The system then dumps all of

IE

$DUMP allows you to request several dumps. If you respond with a Y,
you again, starting with the DUMP MAPPED STORAGE (YIN)? prompt.

prompts for the valid partition.

unmapped storage.
$DUMP

prompts

o
Chapter 4. Utilities

UT -229

$DUMP
$DUMP - Format and Display Saved Environment (continued)
Example: Partial dump output of partition 1.

o

EVENT DRIVEN EXECUTIVE j:',ORM~TTED STORAGE DUMP
,

.

.

.

:.

.

".,

AlTIME .oF TRAP PSWWAS B002 aN HARDWARE LEVEL 2
LEVEL
IAR
AKR
LSR
RO
R1
R2
R3
R4
RS
R6
R7

a

LEVEL 1

LEVEL 2

LEVEL 3

0892
0000
0090
0000
0000
0000
0000
0000
0001
8000
0000

OB92
0000
0090
0000
0000
0000
0.000
0000
0002
8000
0000

0892
0000
OQ90
0000
0000
0000
0000
0000
0003
8000
0000

OB92
0000
0000
0000
0000
0000
0000
0000
0000
·8000
0000

STORAGE SEGMENTATION REGISTERS:
BLOCK AOSO

ADSl

ADS2

ADS3

0000
0800
1000
1800
2000
2800
3000
3800
4000
4800
5000
s800
6000
6800
7000
7800
8000
8Boo
9000
9BOO
AOOO
ABOO
BOOO
B800
cooo
C800
0000
0800
EOOO
£800
FOGO
F800

0104
010C
0114
011C
0124
012C
0134
013C
0144
014c
0154
015.C
0164
016C
0174
'017C
0184
O18c
0194
019C
01A4
01AC
01B4
OlBC
01c4
OlCC
0.104
010C
01E4
OlEC
01F4
01FC

0204
020C
0214
021C
0224
022C
0234
023C
0244
024c
0254
02SC
0264
026C
0274
027C
0284
028C
0294
029C
02A4
02AC
02B4
02BC
02c4
02ec
0204
020C
02E4
02EC
G2F4
02FC

0304
030C
0314
031C
0324
032C
0334
033C
0344
'034C
0354
03SC
0364
036C
0374
037C
0384 .
038C
0394
039C
03A4
03AC
03B4
03BC
03C4
03CC
0]04

0004
OOOC
0014
OOlC
0024
002C
.0034
OO]C
0044
004C
0054
005C
0064
006C
0074
007c
0084 .
ooBC
0094
009C
00A4
OOAC
00B4
OOBC
00c4
ooec
0004
OODC
00E·4
OOEC
OOF4
O'OFC

ADS4 ADS5 ADS6 AOS7

;(~--'\

(,

'---'

ojoc

03E4
OJEC
03F4
03FC

o
UT -230

SC34-0644

$DUMP

o

$DUMP - Format and Display Saved Environment (continued)
Partial dump output of partition 1 (continued).

STORAGE MAP:

$SYSCOM AT ADDRESS 1580
SVCFLAGS

8000

EDXFLAGS

5000

PART#

NAME

ADDR

PAGES

P1

ADS=O
TESTPGM
UTILITY
$PROGUT1
**FREE**

0000
8000
8700
9COO
9FOO

256
7
21
12
97

P2

ADS=l
**FREE**

0000
2800

256
216

P3

ADS=2
**FREE**
SAMPLE01
**FREE**

0000
2800
3800
4COO

80
16
20
4

ATASK

TCBS(S)

8642(A)
9BS8(A)

85C2 83AO 82C4
9AD8
9E22

o

Chapter 4. Utilities

UT -231

$DUMP
$DUMP - Format and Display Saved Environment (continued)
Partial dump output of partition 1 (continued).

NAME

III

ceB

$SYSLOG
$SYSPRTR
$4978A
CDRVTA
CDRVTB

ID

100A FEAT.QCB

1466 0406 0004
16A20306 0021
187C 040E 0()24
1A56 FFFFOOOO
1C3A FFFF 0000

0400
0020
0400
0800
0000

o

CUR~TCI3

N()NE* ERROR-A
9822-0 83AO-0
NONE
NONE
NONE

FFFF NONE
0000 0000
0000 4972-2
FFFF NONE
FFFF NONE

OSK(ETTE)/TAPE VOE:
ODB
VDE
NAME

FLAGS

QCB

077C
07AA
0708
0806
08EC
0902

*OOE*
ASMLIB
EDX003
*OOE*
BACKUP
*OFFL*

0834
0834
0834
091A
OAOO
OAE6

0800
0000
0000
0800
0100
0000

FFFF
0000
FFFF
FFFF
FFFF
FFFF

DOB
0834
091A
OAOO
OAE6

100A
0003
0048
0002
0012

OEVID
OOBA
3106
0106
0106

OSCB->
8032-0
0000-0
0000-0
0000-0

TASK OSCB-CHAIN
1166
3834-2*
1166
3834-2
NONE
l1E6
NONE
1266

CUR-TCB CHAIN (TCB-ADS)
NONE
85C2-0
NONE
NONE
NONE
NONE

NONE
NONE
NONE
NONE
NONE
NONE

PARTITION 1 BEGINNING AT ADDRESS 0000 FOR 139 PAGES
0000 6802 882A 0000 0000 8968 8826 8696 8826
0010 0000 0000 8968 8826 OA76 OA12 8968 8826
SAME AS ABOVE
0100. _ 120C8BC2 0004 0006 10 1a 6A08 03F8 5B22

III

$DUMP

... B..

detected several errors and listed them in the format portion of the output. They

are:
*ERROR-A:
*ERROR-T:
*ERROR-L:
*ERROR-D:

Invalid address
Invalid TCB
Reasonable chain limit (150) exceeded
Address does not exist

o
UT -232

SC34-0644

$DUMP

o

$DUMP - Format and Display Saved Environment (continued)
If you have a program that is using unmapped storage, dump the partition where the program is

running as well as the unmapped storage area. Determine which unmapped storage pointers
relate to your program by locating the STORBLKS within your program. Then use the unmapped
storage equate ($STORUSR) to determine the address of the start of the list of unmapped storage
pointers within this STORBLK. The unmapped storage pointers listed within the STORBLK are
owned by your program. They point to 2K blocks of storage which should have been printed
out. Use these pointers to locate the correct 2K blocks in your $DUMP listing. Refer to the
Problem Determination Guide for additional information.
The following examples show dumps using stand-alone dump output.
Example 1: How to print a stand-alone dump for mapped and unmapped storage
>$L $DUMP
DUMPDS (NAME ,VOLUME): $$EDXL I B, I BMEOX
LOADING $DUMP
22P, 12 :20: 17, LP=8FOO , PART=4
. ENTER OEVI CENAME FOR OUTPUT: $SYSPRTR
USING STAND-ALONE ,DUMP OUTPUT
PARTIAL DISPLAY :CY IN)'? . Y.
.
FORMAT CONTROL· BLOCKS (yiN}? N
DUMP MAPPED STORAGE (YIN)? Y
VAL I D PARTI TI ONS ARE:

1,

2,

3,

4, 5,

6,

7,

8,

ENTER PART.ITI ON #: 1
ENTER START ENDI.NGADDRESS IN
ANOTHER MAPPED AREA (V/N}?N
, ......

DUMP
,

'"'

~,'

< \."

9,

10,

11,

12,

13,

14,

15,

16

O()OO 0800

, '.

lJ~MAPP ED,::"SrORAGi(; yIN)
1:
:: ..
~~ ~':"/

,"

,"

. ..

,"

,,;,

$.DUMp·REQtJJ·RES .·.D:isK£TTE·· ·#2.;·~LEASEMOUNT.·.Dr.S.KETTE·
PRESS "ENTER" TOCONTl NUEOR IlPF3" TO END .,DUMP

o
Chapter 4. Utilities

UT -233

$DUMP
$DUMP - Format and Display Saved Environment (continued)
Example 2: How to copy a stand-alone dump from diskette(s) to disk.
> $L $DUMP $$EDXLIBJrBMEDX
LOADING DUMP
. 77P J 02:54:07, LP= 0800, PART= 3
ENTER DEVICE NAME FOR OUTPUT: $SYSPRTR
PARTIAL DISPLAY (YIN)? Y
USING STAND ALONE DUMP OUTPUT

MAPPED STORAGE SPANS DISKETTE WHICH WILL CAUSE REPEATED
DISKETTE SWITCHING DURING CONTROL BLOCK FORMATTING
IF DUMP DATA SET IS COPIED TO DISK DATA SET, NO DISKETTE SWITCHING
DISK DATA SET MUST BE
8200 RECORDS IN LENGTH
COpy DISKETTE(S) TO DATA SET (YIN)? Y
TARGET (NAME, VOLUME) : DUMPDS ,EDX003
$DUMP REQUIRES DISKETTE # 2, PLEASE MOUNT DISKETTE
PRESS IIENTER" TO CONTINUE OR IPF3" TO END DUMP
$DUMP REQUIRES. DISKETTE # 3, PLEASE MOUNT DISKETTE
PRESS "ENTER" TO CONT INUE OR IIPF3 11 TO END DUMP
$DUMP REQUIRES DISKETTE # 4, PLEASE MOUNT DISKETTE
PRESS "ENTER" TO CONTINUE OR "pF3 1l TO END DUMP
DUMP DATA SET COPIED TO DUMPS, EDX003
CONTINUE DUMP FROM DISK DATA SET (YIN)?
FORMAT CONTROL BLOCKS (YIN)? Y

VALID PARTITIONS ARE:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
ENTER PARTITION #: 4
ENTER START AND ENDING ADDRESS IN HEX (2 VALUES): 200 600
ANOTHER MAPPED AREA (YIN)? N
DUMP UNMAPPED STORAGE (YIN)?
ANOTHER AREA (YIN)? N
$DUMP

UT -234

SC34-0644

ENDED AT 03:46:33

N

rr--~

Y

'-.,;;
14,

15,

16

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors
$EDITI and $EDITIN provide a text editing facility (primarily used for source program entry and
editing) that you can load while other programs are executing. The Host Communication
Facility-related version ($EDITl) provides a few commands for data communication using the
Host Communications Facility IUP on the System/370; with them you can control almost the
entire process of p;rogram preparation from a Series/l terminal.

Both utilities work with 80-character lines with line numbers in positions 73-80. You invoke
them with the $L operator command.

Data Set Requirements
The editing facility requires one work data set; you must allocate it on disk or diskette using
$DISKUTl. The system prompts you for its name when you invoke either version. This data set
contains both your data and some index information during the editing session. The size
(number of records) of the data set determines the maximum number of data records that it can
contain. It is divided into three parts:
1. One header record
2. A series of index records (32 entries per record)
3. A series of data records (3 entries per record).
You can calculate the required data set size as follows: number of text lines (n) divided by 30,
times 11, plus 1 «n/30 x 11) + 1).
Note: The data set must contain fewer than 32768 records.

Invoking $EDIT1 or $EDIT1 N
You invoke $EDITI or $EDITIN with the $L operator command. The session manager does not
support either utility.

o
Chapter 4. Utilities

UT -235

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
Sequence of Operations
When you invoke $EDITI and $EDITIN, they prompt you for the name of the work data set. If
you are going to edit an existing data set, use the READ command to copy the data set to the
work data set. For a new data set, enter edit mode. You can print the contents of the work data
set by using the LIST command.
Use the EDIT command to enter edit mode. The system then recognizes "Edit Mode
Subcommands" on page UT-247 until you end the utility with the END command.
Note: You should use the VERIFY ON subcommand until you become familiar with the editing
process.
Use the TABSET subcommand if you want to specify the tab character and tab column. TABSET
eliminates blanks when a substantial amount of the text you are entering is in tabular format or
begins in a particular column.
You can enter data a line at a time under the INPUT subcommand (recommended for new data
sets and bulk sequential updates because of the automatic prompting feature) or by using the
line editing function (for single-line corrections). You can list portions of the edited data at the
terminal by using the LIST command.
The FIND, TOP, BOTTOM, UP, and DOWN subcommands control the position of the current line
pointer.
You can end edit mode with the END command. After you have edited the text, use either the
WRITE or SAVE subcommand to copy the work data set to a permanent data set. The work data
set is in a blocked format that is incompatible with most Event Driven Executive functions.
Therefore, the system performs automatic translation from text editor format to source
statement format.

(~~
·'l.jV

The following figure shows the primary commands and subcommands available under
$EDITl/$EDITlN.

()
UT-236

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)

I

>$L $EDIT1/N

I

Editor ready
COMMANDS

LIST (printer)
READ
WRITE
SUBMIT

I

END $EDIT1/N

I

EDIT

Edit mode
SU BCOM MAN DS

o

(

~
INPUT

~

I

END

I

LIST (terminal)
VERIFY
RENUM
SAVE
TABSET

[

~
LINE EDIT

I

CHANGE
COpy
DELETE
MOVE
FIND
TOP
BOTTOM
UP
DOWN

Figure 14. $EDIT1/$EDITIN commands and subcommands

o
Chapter 4. Utilities

UT -237

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
Special Control Keys
1. End-of-Line Character (see note below). You can use the carriage return key
to end an input line.

(CR)/ENTER

2. Line-Delete Character (see note below). You can use the delete key (DEL) of certain
teletypewriter terminals to delete an input line.
Note: You can define the CR and DEL keys in the TERMINAL statement. See the Installation
and System Generation Guide.
3. Character-Delete Character. You can use the backspace (BS) key on terminals for the
character delete function. On teletypewriter terminals, use the CTRL and H keys
simultaneously.
4. Tabulation Character. You can set the TAB character to the character of your choice. '%' is
the default TAB character. Columns 10, 20, 40, and 72 are the default TAB columns.
5. ATTN Key (4978/4979), ALT MODE and PF8 Key (3101), or ESC or ALT MODE Key
(teletypewriter terminals). You can cancel the subcommands CHANGE, FIND, and LIST,
described below, by pressing the ATTN IESC key and entering, as a special system utility
function, the two-character code CA. This feature is useful, for example, to end a long
listing.

Editor Commands
The editor commands are described in the following pages. Unless specifically indicated, the
commands apply to both the host and native versions of this utility. The editor commands are:
COMMAND
EDIT
END
LIST
READ
SUBMIT
WRITE

DESCRIPTION
Enters edit mode; allows edit subcommands
Ends $EDIT1 and $EDIT1 N
Lists the work data set on the system printer
Reads a source data set into the work data set
Submits a job to the host batch job stream
Writes the work data set into a source data set

The descriptions that follow show the syntax of the editor commands, including any operands
associated with them.

o
UT -238

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
EDIT -

Enter Edit Mode

Use EDIT to begin editing source data.

Syntax:

EDIT

OLD/NEW

Required: none
Defaults: NEW when using a newly allocated work data set
OLD when using an old work data set
Alias:
E,ED

Operands

Description

OLD

Indicates that data exists in the data set you want to modify.

NEW

Indicates that you are creating new data.

Notes:
1. You must enter the EDIT command before you can use the editor subcommands.
2. When you are in edit mode, you must enter the subcommand END or SAVE before you can
use the editor commands listed on the preceding page.

o
Chapter 4. Utilities

UT -239

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
END -

End $EDIT1/$EDIT1N

o

Use END to end execution of $EDITI or $EDITIN.
The system will not change the contents of the edit work data set. You can reinvoke
$EDITl/$EDITIN at a later time and continue.

Syntax:

END
Required: none
Defaults: none
Alias:
EN

Operands

Description

None

o
UT-240

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
LIST -

List Work Data Set

Use LIST to print all or part of the work data set on the system printer ($SYSPRTR). You can
enter a single line number or a pair of line numbers to specify a line range. If you do not enter
any line numbers, the system lists the entire data set. You can end the listing by pressing the
attention key and entering CA. Note a similarity to the EDIT subcommand. If you use LIST as a
command following READY, the the system prints the data set on $SYSPRTR. If you use LIST as a
subcommand following EDIT, the system displays the data set on your terminal.

Syntax:

LIST

line-spec

Required: none
Defaults: none
Alias:
L,L1

c

Operands

Description

line-spec

'*' (for the current line) or 'line-number' to indicate a single line to be listed. '*
COUNT' or 'linenumllinenum2' to display a range of lines. If you omit this

operand, the system prints the entire data set.

Example:

LIST 10 100
L * 5
L

LI

*

Chapter 4. Utilities

UT-241

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
READ -

()

Retrieve Host Data Set ($EDIT1)

Use

READ

to retrieve a data set from the host system and store it in your Series/1 work data set.

You must have the Host Communications Facility on the System/370.

Syntax:

READ

dsname

Required: none
Defaults: If you omit dsname, the system prompts you
Alias:
none

Operands

Description

dsname

The fully qualified name of the host data set to be retrieved. It must contain fixed
length, 80-byte records, with line numbers in columns 73-80.
You can enter the command and name together on the same line or enter the
command READ and the system prompts you for the data set name.

(~)

o
UT -24 2

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
READ -

Retrieve Series/1 Data Set ($EDIT1 N)

Use READ to retrieve a named data set from a volume on the Series/l disk or diskette and store
it in a Series/l work data set.

Syntax:
READ

dsname volname

Required: none - system prompts for operands
Default: none
Alias:
R, RE

o

Operands

Description

dsname

N arne of data set you want to retrieve

volname

N arne of the volume containing the data set you want to retrieve

Note: You may enter these operands as responses to system prompts.

o
Chapter 4. Utilities

UT -243

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
SUBMIT -

o

Submit Job to Host ($EDIT1)

Use SUBMIT to inject a job (job control statements and optional data) into the host batch job
stream.
You must have the Host Communications Facility on the System/370.
Note: Use this option only in systems with a HASP or JEs/Host Communication Facility
interface.

Syntax:

I

SUBMIT

dsname I DIRECT

Operands

Description

dsname

The fully qualified name of the host data set, the contents of which you want
entered into the job stream. This data set must contain fixed length, 80-byte
records.

DIRECT

If you specify it, the system transfers the contents of your edit work data set

directly to the host job stream.

o
UT -244

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
WRITE -

Write Work Data Set to Host ($EDIT1)

Use WRITE to transfer your Series/1 work data set to a host data set. The system assumes that
you have edited or created your data set with the $EDITl utility program.
You must have the Host Communications Facility on the System/370.
If you previously specified a host data set, the utility asks if you wish to reuse it. If you do not,

or if you did not specify one previously, the utility prompts you for a new host data set name.

Syntax:

I

c

WRITE

dsname

Operands

Description

dsname

The fully qualified name of the target host data set. This data set should contain
fixed-length, 80-byte records.
You can enter the command and name together on the same line or enter only the
command WRITE. The system prompts you for the data set name.

EDITl

issues the following prompt:

b

o
Chapter 4. Utilities

UT -245

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
WRITE -

Write Work Data Set to Series/1 Data Set ($EDIT1 N)

o

Use WRITE to copy the Series/1 work data set to a named data set in a Series/1 disk or diskette
volume.

Syntax:

WRITE
Required: none - System prompts you for operands
Default: copy to the originating data set, if any
Alias:
W, WR

Operands

Description

None
EDITIN

issues the following prompt:

WRITE TO READVS ON READVOL (YIN)?
where READ VOL is the originating volume and READVS is the originating data set. The system
issues this prompt only if you initialized the work data set via the READ command. If you
respond NO or if the data set is new, the system issues the following prompt:

o

ENTER (NAME,VOLUME):

()
UT -246

SC34-0644

\

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
Edit Mode Subcommands
The subcommands used to edit your work data set while in EDIT mode are described as follows:
Subcommand
BOTTOM
CHANGE
COpy
DELETE
DOWN
END
FIND
INPUT
Line Editing
LIST
MOVE
RENUM
SAVE
TABSET
TOP
UP
VERIFY

Operands
line-spec /text1 /text2/ ALL
line-spec
line-spec
count
/ character-string/
line-number increment
line-number character-string
line-spec
line-spec
new-line-number increment
ON(integer list), OFF, CH(character)
count
ON/OFF

The descriptions that follow show the syntax of the subcommands including any operands
associated with them.
BOTTOM -

Set Line Pointer to Bottom

Use BOTTOM to reposition the current line pointer (*) to the last line of the data set you are
editing.

Syntax:

80TTOM
Required: none
Defaults: none
Alias:
8,80

Operands

Description

None

o
Chapter 4. Utilities

UT -24 7

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
CHANGE -

Change Character String

o

Use CHANGE to modify a character string in a line or range of lines.

Syntax:

CHANGE

line-spec /text1 /text2/ ALL

Required: /text1/text2
Defaults: line-spec defaults to *.
Alias:
C,CH

Operands

Description

line-spec

* or blank for the current line.
'* count' or 'linenuml linenum2' for a range of lines.

'line-number' for a particular line.
/ text 1/text2 / ALL

'/' can be any nonnumeric character except blank, tab, and asterisk. It is
not a part of and cannot appear within the character strings 'text l' and
'text2'. The system searches the line or range of lines for 'textl', which it
replaces with 'text2' if it finds it. Note that you must use the same
character for both delimiters in anyone change command.
The keyword 'ALL' is optional and causes the system to replace every
occurrence of 'textl' in the line(s).
Two adjoining delimiters denote a null operand. If textl is a null
operand, then the system inserts text2 at the start of the line and shifts
the line to the right. If text2 is a null operand and you specify text l, the
system removes text2 from the line and shifts the rest of the line to the
left.

Example:

C 20 /ABC/ADC/
C 100 250 =/*=//=ALL
C * //XYZ
C /PROG/PGM/

o
UT -248

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
COpy -

Copy Text
Use COpy to duplicate text from one location in a data set to another location within that data
set. The 'from' and 'to' text both remain in the data set.

Syntax:

COpy

linenum1 linenum21inenum3

Required: Iinenum1 Iinenum3
Defaults: linenum1 linenum3 defaults to
a single line copy of ' l' to '3'.
Alias:
CO

CI

Operands

Description

linenuml

The first line of text you want to copy.

linenum2

The last line of text you want to copy.

linenum3

The line of text after which you want to place the copied text.

All specified line numbers must exist. 'linenum2' must be equal to or greater than 'linenum 1'.
'linenum3' must be less than 'linenum l' or equal to or greater than 'linenum2' when you specify
three line numbers.
The system renumbers the data set with standard specifications. It lists the original 'linenum2'
with its new line number on exit.
Examples:

CO 100
CO 120
CO 150
COpy

300
250
150
150

60
820
310
310

Note: The last two examples are equivalent.

0 ',

"

Chapter 4. Utilities

UT -249

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
DELETE -

Delete Text

o

Use DELETE to remove records from the data set. The system repositions the current line
pointer (*) prior to the deleted lines.

Syntax:

DELETE

line-spec

Required: none
Defaults: *
Alias:
DE

Operands

Description

line-spec

* for current line.
'* count' or 'linenuml linenum2' for a range of lines.

'line-number' for a particular line.

Examples:

DELETE *
DE * 4
DE 100 150
DE 125

o
UT-2S0

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
DOWN -

Move Line Pointer Down

Use

DOWN

to move the current line pointer (*) toward the end of the data set.

Syntax:
DOWN

count

Required: none
Defaults: 'COUNT defaults to 1.
Alias:
DO

Operands

Description

count

Specifies the number of lines you want to move the current line pointer.

Examples:

c

DOWN 5
DO 10

o
Chapter 4. Utilities

UT -251

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
END -

Exit Edit Mode

o

Use END to request that the system end the EDIT mode. You can use the editor commands now
relative to your finished source data. To save or list your data set or to write or submit your
data set to the host, see "Editor Commands" on page UT-238. The contents of the work data
set remain unchanged. You can reenter the edit mode using the EDIT command and continue
editing the work data set.

Syntax:

END
Required: none
Defaults: none
EN
Alias:

Operands

Description

None

o
UT -252

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
FIND -

Find Character String

Use FIND to search for a specific character string beginning with the current line, if you specified
operands. The system moves the current line pointer (*) to the first line it finds that contains
the string. It searches every position within each line.
Note: You should set VERIFY to ON when you use the FIND command.
Syntax:

FIND

=char-string=

Required: none
Defaults: If no operands are specified, those specified
on the last previous issue of the FI N D
subcommand are assumed. The search begins at
the line following the current line.
Alias:
F,FI

Operands

Description

=char-string =

You can choose any nonnumeric character which does not appear within the
specified character string (except BLANK, TAB, or ASTERISK) to be the string
delimiter. You can replace the second occurrence with a carriage return.
Note that both delimiters must be the same character.

Examples:

FIND /START/
F

FI =DATA

X'OOF1'=

C\
"

Chapter 4. Utilities

UT -253

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
INPUT -

o

Input Text

Use INPUT to add or replace lines. You can use INPUT any time in edit mode by pressing the
enter key. The system then adds lines to the end of the data set.
To end INPUT mode, press the enter key immediately after you receive the prompt for the next
line number.

Syntax:

INPUT

line-number increment
or
* increment

Required: none
Defaults: increment defaults to previous one or to 10
Alias:
I,IN

Operands

Description

line-number

The first line the system inserts will have this number or this number plus the
increment if the specified line number already exists.

increment

The increment for numbering inserted lines; the default is the increment you
specified previously or 10 if you don't specify another.

*

The system inserts lines at the current line position plus the default increment;
if you specified no operands, the system inserts lines at the end of the data set
plus the default increment.

Examples:

INPUT * 1
IN 100 5
I 20
I

o
UT -254

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
LIST -

List Work Data Set

Use LIST to display, at the terminal, lines of the data set you are editing.

Syntax:

LIST

line-spec

Required: none
Defaults: line-spec defaults to entire data set
Alias:
L,LI

Operands

Description

line-spec

(*) or line-number to indicate a single line you want to list; '* count' or 'linenuml
linenum2' to display a range of lines.

Examples:

C)

LIST 10 100
L
L

LI

*
*

5

o
Chapter 4. Utilities

UT -255

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
MOVE -

I,)."
~.

Move Text

Use MOVE to move text from one location in a data set to another location within that data set.
The system deletes the 'from' text and leaves only the 'to' text in the data set.

Syntax:

MOVE

linenum1 linenum2 linenum3

Required: linenum1 linenum3
Defaults: linenum1 linenum3 defaults to move one line.
MO
Alias:

Operands

Description

linenuml

The first line of text you want to move.

linenum2

The last line of text you want to move.

linenum3

The line of text after which you want to place the moved text.

All specified line numbers must exist.

c:)

'linenum2' must be equal to or greater than 'linenuml '.
'linenum3' must be less than 'linenuml' when you specify two line members or greater than
'linenum2' when you specify three line members.
The system renumbers the data set with standard specifications and lists the original 'linenum2'
with its new line number on exit.
Examples:

MO 100 300 60
MO 120 250 820
MO 87 87 310
MOVE 87 310

Note: The last two examples are equivalent.

o
UT -256

SC34-0644

$EDIT1 and $EDlr1,N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
RENUM -

Renumber Work Data Set

Use RENUM to renumber each line of a line-numbered data set or to assign line numbers to each
line of an unnumbered data set.

Syntax:

RENUM

new-line-number increment

Required: none
Defaults: Both new-line-number and increment
default to 10
Alias:
R, RE

Note: 'new-line-number' is required if 'increment' is specified.

Operands

Description

new-line-number

The sequence number you want to assign to the first line processed.

increment

The increment you want to use in renumbering.

Examples:

RENUM 10 10
RE 100 5
RENUM
R

o
Chapter 4. Utilities

UT -257

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
SAVE -

Save Work Data Set

o

Use SAVE to write the current contents of the work data set to a host data set with the
host-related version ($EDITl) or to a Series/1 data set with the native-related version ($EDITIN).
If you specified a data set previously (e.g., in a READ command), the system asks you if you wish
to write onto that data set; otherwise, it prompts you for a new data set name.

Syntax:

SAVE

dsname

Required: none
Defaults: none
Alias:
Sf SA

Operands

Description

dsname

When you use $EDITl, the system prompts you for the target host data set name; it
must be a fully qualified data set name.
When you use $EDITI N, you must have allocated the target data set previously in a
volume on a Series/l disk or diskette. The data set should contain fixed-length,
80-byte records. The system prompts you for the target-volume name.

Examples:

SA
S

SAVE

o
UT-258

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
TABSET -

Set Tabs

Use TABSET to reestablish tab values or nullify existing tab values. The system maintains the
tabulation character and tab stop values as part of your work data set. (Y ou can change them
later.)
You can enter the tab character anywhere in the data line under the INPUT subcommand or line
editing function. It causes a skip to the next tab position if you enter the data line into the work
data set. The resulting line is not visible, but you can display it if you want.

Syntax:

TABSET
TABSET
TABSET

ON(integer-list)
OFF
CH(tab-character)

Required: ON, OFF, or CH
Defaults: none
Alias:
TA

o

Operands

Description

integer-list

The relative column positions in each line to which you want the tab values
set; initial system defaults are 10, 20, 40, and 72.

tab-character

A new tab character; the standard is a percent sign,

OFF

Resets relative tab column positions to initial systems defaults. It does not
reset tab characters.

%.

c
Chapter 4. Utilities

UT -259

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
Example 1: These lines show the various ways of entering TAB SET sub commands and
parameters.

o

1. The system sets the relative tab column positions to initial system defaults of 10, 20, 40, and
72.

TABSET ON(10 20 40 72)

2. The system sets the relative tab column positions to 10, 16, and 31.

ITA ON ( 1 0 1 6 3 1 )

3. The system designates the tab character as the pound sign, #.

I

TA CH(#)

4. The system resets the relative tab column values to the initial system defaults.

()

Example 2: The lines below show how you can set tab positions on different lines and then
verify them in the EDIT mode.

1. The system sets the tab column positions to 10 and 20.

I

TABSET ON (10 20)

2. The system sets tab position 1 on line 36 of the work data set. The tab character is the
default, the percentage sign, %.

36 %TAB POSITION 1

3. Use the INPUT subcommand to add two lines to the work data set: lines 37 and 38.

o
UT -260

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)

INPUT 37 1

4. The INPUT subcommand prompt asks for further entries in the input mode. If you don't
want any more entries, exit the input mode pressing the enter key.

INPUT

5. The system displays line 37 and sets tab position 2 using the tab character,

I

%.

00037 %%TAB POSITION 2

6. The system displays the new line 38.

C
..

I

00038

'1

)

7. Enter the

I

command to get back into the edit mode.

EDIT

8. Use the

I

EDIT

LIST

subcommand to request the display of lines 36 and 37 of the work data set.

LIST 36 37

9. The system displays data set lines 36 and 37, showing where it placed tab positions 1 and 2
within the lines.

00036
00037

TAB POSITION 1
TAB POSITION 2

o
Chapter 4. Utilities

UT -261

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
TOP -

Set Line Pointer to Top

o

Use TOP to position the current line pointer (*) before the first line of the data set.

Syntax:

TOP
Required: none
Defaults: none
Alias: TO

Operands

Description

None
Note: If VERIFY is ON, the system prints no line because the current line number
precedes the first line.
UP -

Move Line Pointer Up

Use

UP

to move the current line pointer (*) toward the start of the data set.

Syntax:

UP

count

Required: none
Defaults: count defaults to 1
Alias:
U

Operands

Description

count

The number of lines that you want the current line pointer (*) moved.

Example:

I UP

10

o
UT -262

SC34-0644

$EDIT1 and $EDIT1 N

o

$EDIT1 and EDIT1 N - Line Editors (continued)
VERIFY -

Display Changes on Terminal

Use VERIFY to display the changes you made on the terminal (ON); verification is OFF until you
invoke it the first time during an edit.

Syntax:

VERIFY

ON/OFF

Required: none
Defaults: ON
V,VE
Alias:

()

Operands

Description

ON

Each time the position of the current line pointer (*) changes, the system prints the
line to which it moves. In addition, the system verifies modifications you made in
fields of records using the 'character-string' or 'text' forms of the CHANGE
subcommand.

OFF

The system will not verify changes you make to the position of the current line
pointer (*) and to fields of records by means of the CHANGE subcommand.

Examples:

V ON
V

V OFF
VERIFY

o
Chapter 4. Utilities

UT -263

$EDIT1 and $EDIT1 N
$EDIT1 and EDIT1 N - Line Editors (continued)
Line Editing Commands

o

The line editing commands allow you to add, replace, or delete a single line from the data set
you are editing.
Note: Line editing functions are not subcommands.
Syntax:

line-number character-string
Required: line-number
Defaults: none

Note: If you specify 'character-string', you must separate it from 'line-number' by a

single blank or tab.
Operands

Description

line-number

'line-number' with no character string deletes the line having the
specified number (it does nothing if the line does not exist).
'line-number', followed by a character string, adds the string to the data
set. If a line having the specified number already exists, the system
replaces it.

character-string

The text of the line you want to add.

Line Editing Examples:

Add a line (line #12345 does not exist).

12.345 This 1.ine is being added

Delete line 12345.

~34s

•..•

Replace line 12345.

o
UT -264

SC34-0644

$EDXASM

o

$EDXASM - Event Driven Language Compiler
The Event Driven Language compiler, $EDXASM, translates source programs coded in the Event
Driven Language into object modules. Multiple copies of $EDXASM can operate concurrently if
each copy has its own separate data sets.
Before using $EDXASM, you must enter the source program you want compiled onto a disk,
diskette, or tape data set by means of one of the text editor utilities ($EDITIN or $FSEDIT).

Required Data Sets
The $EDXASM compiler requires four data sets. You must specify the first three data sets in the
order shown when you use the $L operator command to invoke $EDXASM. You must specify
data sets one and three when you invoke $EDXASM using the session manager. You do not need
to specify the name of the fourth data set. The system uses the default name $EDXL unless you
change it at run time using the CONTROL (CO) option.
1. The source program input data set (DSl) contains the program you want to compile. Use a
text editor ($EDITIN or $FSEDIT) to create the source data set. You must specify the name
of this data set when you invoke $EDXASM.

o

2. The compiler uses the work data set (DS2). It contains object code, relocation pointers, and
the symbol table. You must allocate this data set if you use the $L operator command to
invoke $EDXASM. Allocate 100 records for a small program, 250 records for an
average-sized program, and 500 records for a large program. Specify the name of the data
set you allocated as a parameter on the $L operator command. The session manager
automatically allocates this data set with a size of 400 records.
3. The object data set (DS3) will contain the output object module. It is input to $EDXLINK.
The size is dependent on the program size. For estimation purposes, divide the program
length in bytes by 100 to get the number of records required. In most cases, 25 to 50
records should be sufficient. You must allocate this data set and specify its name when you
invoke $EDXASM. The EOD pointer is set to the end of the data after the system writes the
output object module.
4. The language control data set (DS4) contains control information that $EDXASM uses. This
data, named $EDXL, is divided into two logical parts: the error messages and the operation
codes to process module specifications. The format of this data set enables you to modify
the data set by using either text editing utility ($EDITIN or $FSEDIT).
$EDXL in volume ASMLIB contains the standard compiler error messages and Event Driven
Language instruction set specifications. You may wish to add COpy code definitions or
additional processing modules and error messages and may even desire to have differently
modified versions assigned to different users. Use the *COPYCOD function to add additional
modules to $EDXL. The contents of $EDXL are described in the Internal Design.

To conserve space and speed, $EDXASM does not always flag operands as errors when the
operand does not belong to the instruction. If not flagged, the erroneous operand does not
expand or affect the instruction.

Chapter 4. Utilities

UT -265

$EDXASM

o

$EDXASM - Event Driven Language Compiler (continued)
Invoking $EDXASM
You 'invoke $EDXASM with the $L operator command, by option 2.1 of the session manager, or
by the $JOBUTIL utility. In each case, you must provide the same information when you load
$EDXASM for execution.
You can cancel the compilation or the subsequent listing at any time by pressing the attention
key and entering CA.
Compiler Options

You can specify the option(s) you want when you invoke
direct the processing that the compiler will do.

$EDXASM.

The options you select

Each option name is followed by its two-character abbreviation.
Basic Options

The following basic compiler options are available:
CANCEL (CA)

Causes the immediate termination of

END (EN)

Ends option selection.

ERRORS (ER)

Specifies that the system should print only statements with errors. The system
requires a device name. Similarly, a null entry or ahsteriSkd~*) indic~tels thuat
you want the system to list the error messages on t e loa mg termma . se
this option for the first few compilations to remove typographical or simple
syntactical errors from the source program.

$EDXASM.

LIST (LI)

Indicates that you want the system to print a full program listing (this is the
default). Specify LIST only if you want the listing to go to a printer other than
$SYSPRTR (the default).

NOLIST (NO)

Indicates that you don't want a listing. The system prints the compiler
statistics on the terminal where you loaded $EDXASM.

C·~

~'--)

o
UT -266

SC34-0644

$EDXASM

o

$EDXASM - Event Driven Language Compiler (continued)
Special Options

The following special options are available:
BUILD (BU)

Causes the system to construct and write $EDXASM disk location information
and instruction set table to the language-control data set. Use BUILD only
when the language-control data set has changed or when the disk location of
one or more parts of $EDXASM has changed. If a load fails because of
outdated disk directory information, the system prints an error message and
ends the assembly.

CONTROL (CO) Specifies the language-control data set you want to use. If the system
requires a language-control data set other than $EDXL on the volume from
which $EDXASM was loaded, enter CONTROL followed by the name and
volume of the data set you want to use.

o

OVERLAY (OV) Specifies the number of storage areas into which $EDXASM is loaded. The
default is six, with a minimum of one and maximum of six. A large number
of storage areas reduces the number of storage loads the system requires,
thus improving performance. If sufficient storage is not available for the
requested number of storage areas, $EDXASM allocates the number of storage
areas that do fit into the available space. You can find further information
on multiple overlay area management in the $EDXASM section in the Internal
Design.
RESET (RE)

Causes the system to clear the area in the language-control data set where
stored overlay and instruction information. If this overlay and
instruction information is present in the language-control data set, $EDXASM
uses it instead of reconstructing the information for each execution, with a
substantial savings in execution time.
BUILD

Data Sets Used in Examples
The following data sets are used in the examples:
ASMSRC

The source input data set.

ASMWORK

The work data set (the session manager supplies a different work data set).

ASMOBJ

The object output data set.

If you do not specify the volume name for these data sets, the system uses the IPL volume as the

default volume.

o
Chapter 4. Utilities

UT -267

$EDXASM
$EDXASM - Event Driven Language Compiler (continued)
Compiling a Program Using the $L Command

o

The following examples show how to invoke $EDXASM using the $L operator command. Both
prompt/reply mode and single-line entry of commands are shown. For these examples,
$EDXASM is stored on ASMUB.
For examples of compiling a program using the session manager or the job stream processor
utility ($JOBUTIL), see the Event Driven Executive Language Programming Guide.
Specifying Data Sets After Invoking $EDXASM

After you have entered the $L operator command, $EDXASM prompts you for the names of the
required data sets.
>$L" $E~XASM~ASMLI8
. SOURCE (NAME,VOLUME):
ASMSRC
WORKF I LE( NAME, VOLUME) :
ASMWORK
OBJECT (NAME ,VOLUME) :
ASMOBJ
LOADING $EDKASM
64p,02:48:50,.

The following single-line entry is equivalent to the multiline entries above:
>$ L $EDXASM ,ASML I BASMSRC.ASMWORKASMOBJ

After you enter the names of the required data sets, $EDXASM prompts you for a compiler
option.

()

0):

o
UT-268

SC34-0644

$EDXASM
$EDXASM - Event Driven Language Compiler (continued)

o

Selecting Compiler Options

To display a list of the compiler options, enter a question mark in response to the SELECT
OPTIONS prompting message as follows:

SELECT OPTIONS (?):

?

LIST
- SPECIFY LIST DEVICE
NOLIST
- DO NOT PRINT LISTING
ERRORS
- LIST ERRORS ONLY
CONTROL - SPECIFY CONTROL LANGUAGE
BUILD
- BUILD OPCODE TABLE
RESET
- RESET OPCODE TABLE
OVERLAY - SPECIFY NO. OF OVERLAY AREAS
CA
- CANCEL ASSEMBLY
END
- END OPTION SELECTION
('ATTN - CA' TO CANCEL ASSEMBLY DURING EXECUTION)
SELECT OPTIONS (?):
Press the ENTER key to let the compiler options default.
You can enter all option entries on a single line or in response to prompt messages. The last
listing option you enter takes precedence.
The following examples show the use of various option selections.
Print Full Compiler Listing on $SYSPRTR (Default): If you don't select select any

options (indicated by entering only a carriage return or ENTER in response to the select option
message), the default is UST on $SYSPRTR using the language control data set $EDXL on the
$EDXASM program volume (ASMUB).

SELECT OPTIONS (?):

(null entry)

Print Compiler Errors Only on Printer Named PRINTER1: If you want a compiler

listing on another device, specify LIST or L. Enter the name of the device in response to the
prompt for device name or enter it all on the same line. Use a null entry or an * to specify the
terminal you are using.

o
Chapter 4. Utilities

UT -269

$EDXASM
$EDXASM - Event Driven Language Compiler (continued)
Both of the following examples print errors only on PRINTERl.

o

or

Print No Listing and Use Control Data Set $EDXL on EDX002: Specify the name of
the control-language data set you want to use by selecting the CONTROL option. Use this option
when the control data set is different than the default.

The following example prints no compiler listing and uses the control data set $EDXL on volume
EDX002.

Output of the Compiler
This section describes the output of the $EDXASM compiler:
Statistics
Object module
Program listing
Completion codes

o
UT-270

SC34-0644

$EDXASM

o

$EDXASM - Event Driven Language Compiler (continued)
Statistics

When the system completes the compilation process, the compiler prints statistics indicating:
Source, work, and object data sets used
Date and time the compilation started
Elapsed time for the compilation
N umber of statements processed
•

Number of statements flagged with error messages.

Object Module

The system stores the object module at-the end of the compilation. Then it is ready for input 'to
$EDXLINK.

Since the system stores the output object module before it starts any listing, $EDXLINK can
process the object module while the system is producing the listing. The operation of $EDXLINK
is described in "$EDXLINK - Linkage Editor" on page UT-274.

o

Note: During assembly, there is a possibility that the system may have given the same value to
different labels, causing assembly errors. If this occurs, modify one of the labels and reassemble
the source.
Program Listing
If you request a program listing, the system prints it on the appropriate output device. The

listing routine of $EDXASM automatically suppresses th~ printing of duplicate lines of object
code. Before the system uses the data sets specified irr)the compilation, you can request a listing
of the compilation using the program $EDXLIST. Refer to "Obtaining Extra Compilation
Listings" for more information.
Completion Codes

The system prints completion codes on the invoking terminal and on a printer device. Refer to
Messages and Codes for $EDXASM completion codes.

Obtaining Extra Compilation Listings
Use $EDXLIST to obtain a listing of the last $EDXASM compilation that the system performed.

0./jJ"

Chapter 4. Utilities

UT -271

$EDXASM
$EDXASM - Event Driven Language Compiler (continued)
Invoking $EDXLlST Automatically

()~."

You can specify LIST or NOLIST in response to the SELECT OPTIONS (?): prompt when you load
$EDXASM. A response of the enter key, LIST, or ERRORS, causes $EDXASM to 10ad'$EDXLIST and
produce a listing of the compilation. If you respond with NO LIST, the system displays statistics
from the compilation on the loading terminal and produces no listing.
Invoking $EDXLlST Manually with the $L Operator Command

You can load $EDXLIST as a separate program. For example, if you select NoLIST and the
statistics displayed at the end of the compilation indicate compilation errors, you can load
$EDXLIST to print a listing.
You invoke $EDXLIST with the $L operator command. It requires two data set names: the source
data set and work data set used for compilation. If you invoked $EDXASM with the session
manager, the work data set is named $SMluser (where user is the sign-on ID).

Note: If you want a listing of the latest compilation, use $EDXLIST before you invoke $EDXASM
again. Any subsequent compilation modifies the contents of the work data set.
An example of using $EDXLIST follows:

Figure IS.

$EDXLIST use example

o
UT-2?2

SC34-0644

$EDXASM

o

$EDXASM - Event Driven Language Compiler (continued)
Invoking $EDXLIST with $JOBUTIL
You can invoke $EDXLIST using the job stream processor $JOBUTIL The same options are
available through the parm facility of $JOBUTIL as were described under "Invoking $EDXLIST
Manually with the $L Operator Command" on page UT -272.
Example: Sample $JOBUTIL procedure of invoking $EDXLIST
PROGRAM
NOMSG
PARM
DS
DS
EXEC

$EDXLIST,ASMLIB
LIST $SYSPRTR END
ASMSRC,EDX002
ASMWORK,EDX002

o
Chapter 4. Utilities

UT -273

$EDXLINK
$EDXLINK - Linkage Editor
The $EOXLINK program is a linkage editor that prepares programs to execute in an EOX system.
Using $EOXLINK, you can format one or more separately assembled object modules into a
nonrelocatable EOX supervisor or a relocatable load module.

o

With $EOXLINK you can:
Produce a formatted storage map of the combined object modules.
•

Include required routines from specified data sets.
Define a single-level overlay structure for more efficient utilization of main storage.
Define the number of overlay segments to execute in unmapped storage.
Use interactive or noninteractive sessions.
Run mUltiple links within the same session.
Run from a terminal using the session manager or $L, or through $JOBUTIL.
Log all error and warning messages to your terminal and to your specified output device.
Specify additional dynamic storage to improve the performance of $EOXLINK.
Use GLOBALS as references to $SYSCOM.

You can create object modules from any of the following EDX language processors to be input to

o

$EOXLINK.

The Event Driven Language compiler ($EOXASM)
The Series/1 assembler ($SlASM)
The FORTRAN compiler
The COBOL compiler
The Pascal compiler
•

The PL/I compiler
Series/1 host assembler

o
UT -2 7 4

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
Required Data Sets
$EDXLlNK requires one work data set (DSl). Used for symbol resolution, the data set must
contain at least 256 records. Two types of errors can occur when using this data set, I/O errors
and an end-of-file (EOF). If an I/O error occurs, reallocate the data set to a different location on
disk. If an end-of-file (EOF) occurs, the data set is too small. Reallocate the data set specifying
a larger size.

Note: You must restart the link process if either of these errors occurs.
Optional data sets you may use when using $EDXLlNK in a noninteractive mode are the
primary-control-statement data set and the secondary-control-statement data set.

The primary-control-statement data set contains the control statements $EDXLINK will execute
when running in noninteractive mode. It can contain secondary-control-statement data sets
if you use the COpy control statement.
The secondary-control-statement data set contains additional control statements that the
primary-control-statement data set will use. These are common control statements that are
used frequently for many different link edits.

$EDXLINK Control Statements

c

Control statements are the instructions used by $EDXLlNK to convert separately compiled or
assembled object module(s) into an executable load module. You enter the control statements
one at a time in interactive mode or write the entire set of link control statements to a
link-control data set for execution in noninteractive mode.
The INCLUDE, AUTO CALL, COpy, OVERLAY and UNMAPCNT statements specify what object
modules you want link-edited and whether you want the load module to execute in mapped or
unmapped storage or as an overlay. The remaining control statements affect the initiation and
operation of the link-edit.

o
Chapter 4. Utilities

UT-275

$EDXLINK
$EDXLINK - Linkage Editor (continued)
The following are the

$EDXLINK

control statements used to perform a link-edit.

o

*
AUTOCALL
COpy
END
INCLUDE
LINK
OVLAREA
OVERLAY
RESET
UNMAPCNT
VOLUME.

When you specify your control statements, the following order is recommended.
All

INCLUDE

control statements for the resident portion of the program.

An OVERLAY control statement followed by all INCLUDE control statements for that overlay.
The OVERLAY control statement is terminated by another OVERLAY, an AUTOCALL, or a
LINK control statement.
The

AUTOCALL

control statement can appear anywhere prior to the

LINK

control statement.

The LINK control statement initiates the link edit. It must follow all control statements
specifying the modules to be linked together.
Notes:

1. Each control statement, with the exception of the OVLAREA statement, may be abbreviated
down to a minimum of two characters. OVLAREA is abbreviated as OVL.
2. A control statement starts in column one, and you must separate any operands by one or
more blanks.
3. You may use remarks on all control statements except for the AUTOCALL control statement.
There must be at least one blank separating the control data and the remark.
4. You may not continue control statement data on a second line.

o
UT-276

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
* comment Statement
Use the

* comment statement to identify comments or remarks.

Syntax:

I*

THIS IS A COMMENT STATEMENT

AUTOCALL Statement

Use the AUTOCALL statement to identify autocall data sets. You can specify up to three autocall
data sets. The linkage editor searches the autocall data sets in the order you specify on the
AUTOCALL statement. You may not include remarks on the AUTO CALL statement.

Syntax:

AUTOCALL name,volume name,volume name,volume
Required: none
Default: no autocall processing

If you specify the AUTOCALL statement multiple times, the last one is the one $EDXLINK uses.

You can correct an error in the AUTO CALL statement by reentering the AUTOCALL statement.
You can turn off the autocall option by specifying the AUTOCALL statement without an autocall
data set. For more information see "AUTOCALL Option" on page UT-294.

Examples:

AUTOCALL
AUTOCALL
AUTOCALL
AUTOCALL
AUTOCALL

$PLIAUTO
$AUTO,ASMLIB
$PLIAUTO,EDX002 $AUTO,ASMLIB
MYAUTO,MYVOL $PLIAUTO,EDX002 $AUTO,ASMLIB
<= turns autocall option off

o
Chapter 4. Utilities

UT -277

$EDXLINK
$EDXLINK - Linkage Editor (continued)
COpy Statement

o

Use the COpy statement to identify a secondary-control-statement data set from which to get
additional control statements. The following control statements are permitted in a COpy data
set:

•

*

•

INCLUDE
OVLAREA

•

OVERLAY

•

VOLUME

The system flags all other control statements with warning messages and ignores them. See
"Using $EDXLINK Control Statement Data Sets" on page UT-295 for information on using
existing $EDXLlNK data sets.
Syntax:

COpy name/volume
Required: name
Default: volume defaults (see VOLUME)

Examples:

COpy NEXTOVLY
COPY MORECNTL,EDX003

o
UT-278

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
END Statement

Use the END statement to identify the end of the control-statement data set. If the system
encounters END in a primary-control-statement data set or if you enter it while in interactive
mode, $EDXLINK ends. If the system encc;>unters END in a secondary-control-statement data set, it
ends processing of the COpy data set.
Syntax:

END
Required: none
Default: none

INCLUDE Statement

Use the INCLUDE statement to identify the object module(s) that $EDXLINK is to include in the
generated output program. If you specify multiple object modules on the INCLUDE statement,
you must include the volume name.

c

Syntax:

INCLUDE name1 ,name2,name3,name4, ...... ,volume
Required: name1
Default: if a single data set name is entered, volume
defaults to the IPL volume (see VOLUME)

Examples:

INCLUDE OBJECT 1
INCLUDE OBJECT2,EDX003
INCLUDE OBJECT3,OBJECT4,OBJECTS,EDX003

<= defaults to IPL volume
<= one data set on EDX003
<= mUltiple data sets on
volume EDX003

o
Chapter 4. Utilities

UT -279

$EDXLINK
$EDXLINK - Linkage Editor (continued)
LI N K Statement

o

Use the LINK statement to perform a link using the control statements previously processed.
The name on the LINK statement is the name of the executable program to be generated. Upon
completion of a link, $EDXLINK returns to process more link control statements.
Syntax:

LINK name,volume REPLACE END
Required: name
Default: volume defaults (see VOLUME)

The REPLACE option causes the linkage editor to replace any program with the same name as the
one specified on the LINK statement. If you do not specify REPLACE (or R) and a program with
the same name exists, you are prompted for REPLACE. If you answer YES to the prompt, the
linkage editor replaces the program. If you answer NO to the prompt, the linkage editor prompts
for a new program data set name. If you do not wish to generate the program, enter END and
$EDXLINK does not generate a program but generates a link map. The END option ends
$EDXLINK after completion of the link.
You must consider the following when you invoke $EDXLINK through $JOBUTIL:
1. When invoked through $JOBUTIL, $EDXLINK runs in noninteractive mode. To replace an
existing program with a newly generated program, be sure that you coded the REPLACE
option on your LINK statement.

2. To ensure that the

$EDXLINK completion code generated as a result of the link edit is
returned to $JOBUTIL, you must include an END statement in the last LINK statement.

Examples:

LINK
LINK
LINK
LINK
LINK

PGMTEST
SORT,EDX003
PATCH,ASMLIB REPLACE
PATCH2,ASMLIB REPLACE END
GRAPH2;ASMLIB END

o
UT -280

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
OVLAREA Statement

Use the OVLAREA statement to specify an overlay area used by overlay segments defined with
the OVERLAY statement. You control the size and location of the overlay area by specifying the
starting address (ENTRY in the root segment) and the ending address (ENTRY in the root
segment). If you do not specify an overlay area, $EDXLINK automatically generates an overlay
area large enough to contain the largest overlay segment specified in your program.

Syntax:

OVLAREA strtaddr endaddr
Required: strtaddr endaddr
Default: none

Operands

Description

strtaddr

Starting address (ENTRY in root segment) of the overlay area.

endaddr

Ending address (ENTRY in root segment) of the overlay area.

Chapter 4. Utilities

UT -281

$EDXLINK
$EDXLINK - Linkage Editor (continued)
OVERLAY Statement

o

Use the OVERLAY statement to identify the overlay segments. All the INCLUDE statements
before the first OVERLAY statement make up the root or resident segment of the program. After
the first OVERLAY statement, all INCLUDE statements until the next OVERLAY statement make up
the first overlay segment, and so on until the system processes the LINK statement. If you enter
an OVERLAY immediately following an OVER LAY statement, the second one overrides the first
one.
Syntax:

OVERLAY REUSABLE

Required: none
Default: not reusable

You can specify that the overlay segment is reusable by coding REUSABLE on the OVERLAY
statement. Not reusable is the default. If you code REUSABLE and issue a CALL to the overlay
segment, the system loads the overlay only if it is not already in storage. The default 'not
reusable' causes the system to load the overlay segment each time you issue a CALL to this
overlay segment.
Examples:

o

OVERLAY
OVERLAY REUSABLE

RESET Statement

Use the RESET statement to reset $EDXLINK. The system ignores all previous control statements.
is only valid in interactive mode. You receive a warning if it is found in a control
statement data set.

RESET

Syntax:

RESET

Required: none
Default: none

o
UT-282

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
UNMAPCNT Statement

Use the UNMAPCNT statement to specify the number of overlay segments associated with a
specific program that will reside in unmapped storage. This statement causes $EDXLINK to bring
in an overlay manager to handle the overlay segments in unmapped storage.
If you do not specify the number of overlay segments or specify only one overlay segment, the

system ignores the UNMAPCNT statement (no unmapped storage
proceeds.

~i11

be used) and the link

If the link is a supervisor link, the system does not allow unmapped storage and $EDXLINK issues

the following message:

Syntax:

UNMAPCNT number

c

Required: number
Default: none

Operands

Description

number

The number of overlay segments to reside in unmapped storage.

Example:

UNMAPCNT 5

Chapter 4. Utilities

UT -283

$EDXLINK
$EDXLINK - Linkage Editor (continued)
VOLUME Statement

Use the VOLUME statement to set the default volume for all $EDXLINK control statements.
Initially the default is the IPL volume. If you don't specify a volume name on the VOLUME
statement, the system resets the default to the IPL volume.
Syntax:

VOLUME volume
Required: none
Default: IPL volume

Examples:

VOLUME EDX003
VOLUME OBJVOL
VOLUME

<= reset to IPL volume

$EDXLlNK Primary-Control-Statement Data Set

The following is an example of a multilink $EDXLlNK primary-control-statement data set. The first
link, Figure 16 on page UT-285. specifies that the executable program be linked without
overlays. The second link, shown on the following page, specifies that the executable program
be linked with overlays. It also references a secondary-control-statement data set, Figure 17 on
page UT-286.
This example is shown in two parts for illustration purposes. You normally create it as one
complete data set.

o
UT...284

SC34--OO44

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)

* PLOT PROGRAM INCLUDES
*
INCLUDE PLOTXY,MYVOL
INCLUDE PLOTXX,MYVOL
INCLUDE PLOTYY,MYVOL
INCLUDE PLOTYX,MYVOL

** PERFORM AUTOCALL PROCESSING USING:
*
AUTOCALL MYAUTO,MYVOL $AUTO,ASMLIB
** PERFORM THE LINK
*
LINK PLOT,MYVOL REPLACE
* ROOT SEGMENT INCLUDES
*INCLUDE SORT1,EDX003
INCLUDE SORT2,SORT3,SORT4,SORT5,OBJVOL
INCLUDE SAVEMOD,BACKUP

** OVERLAY
*
OVERLAY

o

SEGMENT #1 INCLUDES

INCLUDE SEARCH,OBJVOL
INCLUDE SCRATCH, BACKUP
INCLUDE READSUB,WRITESUB,EDX003

** OVERLAY SEGMENT
*
OVERLAY REUSABLE

#2 WILL BE REUSABLE

INCLUDE PATCH,OBJVOL
************************************************************
* GET OVERLAYS #3 AND #4 FROM SECONDARY CONTROL STATEMENT *
* DATA SET (see Figure 17 on page UT-286)
************************************************************
COPY PACKUNPK,MYVOL
* PERFORM AUTOCALL PROCESSING USING:

*
** PERFORM THE LINK AND TERMINATE
*
LINK SORT,EDX003 REPLACE END

*

AUTOCALL $AUTO,ASMLIB

$EDXLINK

Figure 16. Multilink $EDXLINK primary-control-statement data set

o
Chapter 4. Utilities

UT -285

$EDXLINK
$EDXLINK - Linkage Editor (continued)

o

$EDXLlNK Secondary-Control-Statement Data Set

The following is an example of a '"$EDXLINK secondary-control-statement data set. This
secondary-control-statement data set was referenced in the previous example as PACKUNPK in the
COpy statement.

** THESE OVERLAYS ARE REQUIRED WHEN DATA
* COMPRESSION/DECOMPRESSION IS USED
*
OVERLAY
INCLUDE PACKDATA,BIGBUFF,OBJVOL
OVERLAY
INCLUDE UNPKDATA,BIGBUFF,OBJVOL
END
Figure 17. $ED XLINK Secondary Control Statement Data Set

Specifying Dynamic Storage
To increase program performance, you can change the dynamic storage used by $EDXLINK.
$EDXLINK is shipped with an execution storage size of 22K. You can split this storage size
(22K) between the program and dynamic storage. You can reduce the dynamic storage to a
minimum of 8K (8192 bytes). If you specify any amount less than 8K, you will get
unpredictable results.

o

The following examples show how to change an 8K dynamic allocation area to 10K temporarily.
The first example shows changing dynamic storage using the $L command. The second example
shows changing dynamic storage using the $JOBUTIL utility.
>

$L $EDXLINK"lQ240
OR

EXEC

STORAGE=10240

o
UT -286

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
To change dynamic storage permanently, load $DISKUT2 and perform the following:

Invoking $EDXLlNK

o

You can invoke $EDXLINK with the $L operator Gommand, the job stream processor ($JOBUTlL),
or option 7 of the session manager.
Invoking $EDXLlNK with the $L Operator Command

The following are examples of invoking $EDXLINK with the $L operator command. (For
examples of using the session manager, see the Event Driven Executive Language Programming
Guide.) After you load $EDXLINK, the system prompts you for execution parameters (PARM).
There are two parameters that you may specify for use with $EDXLINK:
1. name,volume - specifies the primary-control-statement data set, and
2. printer - specifies where to direct the printed output.
The two parameters are positional. The primary-control-statement data set name must come first,
optionally followed by the printer name. The printer name can be separated by one blank only
from the name of the primary control statement data set name. If you do not code a printer
name, it defaults to $SYSPRTR. If you enter END for the primary-control-statement data set name,
$EDXLINK ends.
To run $EDXLINK interactively, enter an asterisk (*) for the primary-control-statement data set
name.

o
Chapter 4. Utilities

UT -287

$EDXLINK
$EDXLINK - Linkage Editor (continued)
Invoking with $L Noninteractively: The following is an example of invoking $EDXLINK

noninteractively. The
least 256 records.

PARM (1):

LINKWORK

o

data set, used by $EDXLINK as a work file, must contain at

LINK1 ~EDXDO~.MPRINTER

$EOXLINK CONTROLSTAlEMENT P'ROCESSINGST'ARTED
$EDXLIN'K EXECUT ION START~O
CASE
.EDXD03STOREO
PROGRAM DATASET S IZE= '
COMPLETION COD.E ==~1

C)
Invoking with $L Interactively: The following is an example of a multilink interactive

session. The storage parameter is specified to take advantage of $EDXLINK'S use of dynamic
storage. This example is broken into three parts for illustrative purposes. You normally create it
as one data set.
Part 1 displays all the $EDXLINK control statements, links one module, contains no overlays, and
runs to a successful completion (-1).

o
UT-288

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)

o
Figure 18. $EDXLINK multilink interactive interface

Part 2 of this example is the same as part 1 except that it links multiple data sets. They are all
listed on the same INCLUDE control statement because they reside on the same volume.

Part 3 of this example contains multiple overlay segments. The root section is named TESTROOT,
and the three overlays are TESTSUBl,TESTSUB2, and TESTSUB3. TESTSUB3 is reusable. The

o
Chapter 4. Utilities

UT -289

$EDXLINK
$EDXLINK - Linkage Editor (continued)
data set is used in this example, and an END statement is specified on the LINK
statement to end the $EDXLINK session.

AUTOCALL

STMT

o

(?) :

STMT (? ):
STMT

(?) :

STMT

(?) :

OVERLAY REUSABLE

STMT

(?):

INCLUDE TESTSUB3,EDX003

STMT ( ? ) :
STMT

(?):

LINK TEST,EDX003

~EDXL INK EXECliT ION STARTED,
TEST
,EDX003 STORED
PROGRAM DATA SET S~~E ~
CaMP LET I ON CODE. ~ ';'1.

$EDXL I NK ENDED, AT 04 :05 :35
Invoking $EDXLlNK with the Job Stream Processor

The following are examples of invoking $EDXLINK with the job stream processor ($JOBUTIL).
You can specify two parameters on the $JOBUTIL parameter statement:
1. name, volume - specifies the primary-control-statement data set, and
2. printer - specifies where to direct the printed output.
The two parameters are positional. The primary-control-statement data set must come first,
optionally followed by the printer name. The printer name can be separated by one blank only
from the primary-control-statement data set name. If you do not code a printer name, it
defaults to the $SYSPRTR.
To run $EDXLINK interactively from $JOBUTIL, enter an asterisk (*) for the
primary-control-statement data set name.

o
UT-290

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
Invoking with $JOBUTIL Noninteractively: In this example, a primary-control-statement
data set called LINK 1 on EDX003 is specified and the printed output is defaulted to $SYSPRTR. The
storage parameter is also specified to take advantage of $EDXLINK's use of dynamic storage.
JOB
PROGRAM
DS
PARM
EXEC
EOJ

LINK2
$EDXLINK
LINKWORK,EDX002
LINK1,EDX003
STORAGE=20000

Invoking with $JOBUTIL Interactively: In this example, $EDXLINK is to be run
interactively. The printed output is directed to MPRINTER.
JOB
PROGRAM
DS
PARM
EXEC
EOJ

o

LINK1
$EDXLINK
LINKWORK,EDX002
* MPRINTER

Operator Termination of $EDXlINK
To terminate $EDXLINK before a logical end of job, use the attention interrupts CA and RE.
The CA attention interrupt is active at all times and returns control to the PARM (?): prompt.
You then have the option of ending $EDXLINK or starting a new session.
The RESET (RE) control statement is only active in $EDXLINK interactive mode and returns
control to the STMT (?): prompt. You then have the option of ending $EDXLINK or starting a
new link.
Note: If you are in interactive mode and processing control statements, the STMT (?): prompt
may appear before the cancel or reset take effect. Press the enter key again and the cancel or
reset will proceed normally.

0 ":',
,

.

Chapter 4. Utilities

UT -2 91

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
$EDXLINK Output
The link map is a listing that $EDXLINK generates. This listing corresponds with the example
Figure 18 on page UT -289. The example is broken into three parts for illustrative purp_oses_.
You will see it as one listing when it prints.
Part 1 shows all data sets included in the link-edit, and the message output generated by the
execution of the link-edit.
$EDXLINK EXECUTION CONTROL STATEMENTS
FROM INTERACTIVE MODE

04: 01: 13
03/25/81

INCLUDE TESTROOT,EDX003
OVERLAY
INCLUDE TESTSUB1,EDX003
OVERLAY
INCLUDE TESTSUB2,EDX003
OVERLAY REUSABLE
INCLUDE TESTSUB3,EDX003
AUTOCALL $AUTO,ASMLIB
LINK TEST,EDX003 REPLACE END
$EDXLINK EXECUTION STARTED
WARNING - UNRESOLVED WEAK EXTERNAL REFERENCES
SVC
SUPEXIT
SETBUSY
TEST
,EDX003 STORED
PROGRAM DATA SET SIZE
26
COMPLETION CODE = -1

***

Figure 19. $EDXLINK map

Part 2 shows the storage layout of the root section and the overlay segments. It shows their
entry points and sizes. The overlay area ($OVLAREA) is determined by the largest overlay
segment rounded up to the next page boundary. This is the section from which you get the
overlay segment number.

UT -292

SC34-0644

$EDXLINK

0

$EDXLINK - Linkage Editor (continued)

TEST

. ,EDX003 STORED

RESIDENT SEGMENT:
LABEL
SECTION =
ENTRY = BUFFER
AUTOCALL MODULES(S)
LABEL
SECTION
$OVLMGR
SECTION
$OVLCT
ENTRY
$OVLDSCB
ENTRY
SUB3
SECTION
$OVLAREA

•

TOTAL

OVERLAY SEGMENT:
1
LABEL
SECTION
ENTRY = SUB1
TOTAL

0

OVERLAY SEGMENT:
2
LABEL
SECTION
ENTRY = SUB2
TOTAL
OVERLAY SEGMENT:
3
LABEL
SECTION
ENTRY = SUB3
TOTAL

ADDR
0000
0178

LNTH
027A

ADDR
027A
0330
0330
03FC
0466

LNTH
00B6
0136

===>

0666

ADDR
0466
0468

LNTH
0102

===>

0102

ADDR
0466
0468

LNTH
01D3

===>

01D3

ADDR
0466
0468

LNTH
01F2

===>

01F2

LABEL

ADDR

ADDR

LABEL

ADDR

$OVLSIZE
SUB2

038C
0420

SUB1

0444

LABEL

ADDR

LABEL

ADDR

LABEL

ADDR

LABEL

ADDR

SUB2A

0512

LABEL

ADDR

LABEL

ADDR

LABEL

ADDR

FLAG

0278

LABEL

0200

Part 3 shows the GLOBAL section that is mapped to $SYSCOM when the program is loaded.
GLOBAL SECTION(S):
SECTION = COMMAREA

0000

0028

TOTAL

===>

0028

END OF MAP

o
Chapter 4. Utilities

UT-293

$EDXLINK
$EDXLINK - Linkage Editor (continued)
AUTOCALL Option

c

The auto call option enables you to include modules that are not included explicitly via the
INCLUDE statement. To invoke the AUTOCALL option, enter an AUTOCALL before the LINK
statement specifying one to three autocall data sets.
Autocall Data Set

The autocall data set contains a list of object module names and volumes along with their entry
points.
Autocall Data Set Record Format

The format of the autocall data set record is shown below. Each record must contain an object
module "name,volume" beginning in column one and followed by at least one entry point. You
must insert at least one blahk between the object module "name,volume" and the entry point,
and at least one blank between each entry point. If you have more entry points than can fit in
one record, specify an additional record beginning with the object module "name,volume"
followed by the remaining entry points. Finally, you must end the auto call data set with **END
in either the object module name field or an entry point field.
The following ,!re examples of the format of the auto call data set record.

SORT,EDX003 INPUT
OUTPUT RETCODE
PATCH,OBJVOL ADDRESS LENGTH TYPE
**END

()

System Autocall Data Set

The system autocall data set $AUTO is distributed with the Event Driven Executive Program
Preparation Facility and installed on the volume ASMLIB. The data set contains the name of the
modules and entry points that you can autocall as a result of including the following functions in
your program:
•

graphics formatting instructions
data formatting instructions

•

square root function
screen formatting subroutines.

o
UT-294

SC34-0644

$EDXLINK

o

$EDXLINK - Linkage Editor (continued)
Autocall Processing
If you specify any autocall data sets and unresolved external references (EXTRN'S) remain after

normal INCLUDE statement processing, the linkage editor searches the autocall data sets in the
sequence that you specified. If external references match entry points in an autocall data set,
the indicated object module is included with the resident segment. The linkage editor terminates
autocall processing when no unresolved external references (EXTRN'S) remain after INCLUDE
statement processing or no matches are found in any of the auto call data sets.
Unresolved External References

The system lists all unresolved external references after the $EDXLINK processing messages.
Any unresolved EXTRNS cause $EDXLINK to return a completion code of 4.
Unresolved weak external references (WXTRN'S) do not invoke autocall processing. Unresolved
have no effect upon the $EDXLINK completion code.

WXTRN'S

Using $EDXLI N K Control Statement Data Sets
To use existing $EDXLINK control statement data sets without changing them, do the following in
interactive mode:

o

Enter the COpy statement followed by the $EDXLINK control statement data set name and
volume. A warning message appears in reference to the OUTPUT statement from the
$EDXLINK control statement data set, causing the system to return a completion code of 4.
If the OUTPUT statement had the AUTO= parameter coded, enter the AUTOCALL statement

followed by the autocall data set name and volume that appeared on the
Enter the

LINK

OUTPUT

statement.

statement with the executable program name and volume.

Example:

o
Chapter 4. Utilities

UT -295

$FONT
$FONT- Process Character/Images Tables
creates or modifies the character image tables for the 4978 and 4980 display stations and
the 4974 matrix printer. The image stores in these devices contain bit patterns that are
interpreted by the hardware to produce the display or printing of characters. Each character bit
pattern corresponds to an EBCDIC code, which is defined by a dot matrix coded into eight bytes
of data for the 4974 and 4978 and 16 bytes of data for the 4980. You can change Character bit
patterns to alter the appearance of existing characters in a device's image store or to create
entirely new characters.
$FONT

o

For the 4978 and 4980, you can modify the system-supplied image store data sets $4978ISO and
$4980ISO by using $FONT. The system automatically loads these data sets to every 4978 and
4980 display station supported by the supervisor when you IPL your system. Any changes you
make to the system-supplied data sets are reflected in all the 4978 or 4980 display stations
attached to your Series/I. If you create a new image store and save it in a data set different
than the system-supplied data set, you can load the image store to the display station of your
choice.
You can change a 4978,4980, or 4974 image table using either a 4978,4980, or 4979 display
station.
Data Set Requirements

To create a new image store, you must allocate an image store data set before using $FONT. The
system uses this data set to save the newly-created image store. Use $DISKUTI to allocate the
data set.
Depending upon the size of the image store (device-dependent) you intend to create, we
recommend the following data set sizes according to device type:
4974

768 bytes (3 records)

4978

2048 bytes (8 records)

4980

4096 bytes (16 records)

Invoking $FONT

You invoke $FONT with the $L operator command or option 4.5 of the session manager.

After you load $FONT, it prompts you for the name of an existing image store.

o
UT -296

SC34-0644

$FONT

o

$FONT - Process Character/Images Tables (continued)
After you enter the data set name and volume,

$FONT

issues the following message:

DATA SET FORMATS:
1) 4980
2) 4978
3) 4974

SELECT OPTION:

Enter the appropriate option depending upon the type of image store you intend to create or
modify. The device type must match the format of the image-store to be read into the storage
work area reserved by $FONT. For example, if you intend to modify a 4980 image store, select
option 1.
Once you have selected the appropriate option,
set into the storage work area.

$FONT

reads the contents of the image store data

$FONT Commands

To display the $FONT commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?): as shown below.

c

(?):

?

DISPLAY, IMAGES
READ I MAGE DATASET:
-;'\;iR1TE IMAGE DATASET
ENTER,ED IT M.OD~
PUT IMAGE STORE
GEilMAGESTORE
END$FONT
t?} :

After $FONT displays the commands, it again prompts you with
respond with the command of your choice (for example, EDIT).

COMMAND (?):.

Then you can

You can enter the commands in abbreviated format; for example, you can enter R instead of
READ. Each command and its explanation is presented in alphabetical order on the following
pages. Each description shows the abbreviation and full word for each command.
DISP (0)- Display Images

Use the DISP command to display the characters generated for each EBCDIC code by the
associated bit patterns in the image store. There are 256 EBCDIC codes. Not all devices support
this number of characters. The utility displays only the characters that it supports, leaving the
rest blank. (For descriptions of the characters supported by the 4974 matrix printer and the
4978/4980 display stations, see the 4974 Printer Description, the 4978 General Information, and
the 4980 General Information manuals.)

o
Chapter 4. Utilities

UT -297

$FONT
$FONT - Process Character/Images Tables (continued)

o

Notes:
1. You can restore the image buffer (wire image table) of the 4974 to the standard
64-character set by using the RE command of $TERMUT2.
2. You can restore the image buffers for the 4978 and 4980 using the LI of $TERMUT2.
Example: This screen display is in compressed format and does not show the entire image
table as it would appear. Note the use of the GET command prior to DISP.

The system displays the EBCDIC characters to the right of their associated hexadecimal codes.
To end display mode, press the enter key; $FONT issues the COMMAND
you can enter the EDIT command to modify or create a character.

(?):

prompt again. Then

Notes:
1. Whenever you use a 4979 to modify an image store, the DISP command displays the
character set of the 4979.
2. If you display a character set formatted for one type of terminal on a different type of
terminal (for example, if you display a 4980 character set on a 4978), the message
CHARACTER APPROXIMATIONS a~d'i.'
( the hottom of the display. This means that the
characters displayed are only represem,dtions for the actual characters defined for the
terminal.

o
UT -298

SC34-0644

$FONT

o

$FONT - Process Character/Images Tables (continued)
EDIT (ED) -

Enter Edit Mode

Use the EDIT command to create a new image table or to modify an existing image table.
Depending upon the device type, $FONT displays a dot matrix pattern (a 4 x 8 grid for the 4974
and 4978 or an 8 x 14 grid for the 4980). You can specify the character you want to appear on
the grid for modifications. The image on the grid shows the changes you make as you modify or
create a character.
After you finish creating a new image table or modifying an existing one, you need to save the
image table or load it into a device. Use the SAVE command to save it in a specified data set or
the PUT command to load the table into a specified device.
Example: Edit a 4980 image control data set.

COMMAND

(?):

ED

TAB FORWARD
TAB BACK
TAB.DOWN
IN\lERT DOT
CANCEL/END
SET PATTERN

For an explanation of changing or creating characters, see "Create/Modify a Character Image"
on page UT -306.

o
Chapter 4. Utilities

UT -299

$FONT
$FONT - Process Character/Images Tables (continued)
END (EN) -

End the $FONT Utility

o

Use the END command to end the $FONT utility.

If you created or modified an image store and did not save the contents of the storage work

area, $FONT prompts you as follows:

If you respond Y, $FONT prompts you for the name of the data set in which to save the contents

of the storage work area.

This gives you another opportunity to save the contents of storage work area.
If you respond N, $FONT ends. The contents of the work area are no longer available.

o
UT-300

SC34~0644

$FONT

o

$FONT - Process Character/Images Tables (continued)
GET (G)- Get Image Store from Device

Use the GET command to get the contents of an image store from a 4978, 4980, or 4974
terminal and place them into the storage work area reserved by $FONT. After you get the image
store into the work area, you can display it with the DISP command or modify it using the EDIT
command.
COMMAND (?):

GET devname

Enter the name of the device (specified on the
want read into the work area.

TERMINAL

statement) whose image store you

If you do not specify a device name on the same line as the GET command, $FONT prompts you

as follows:
ENTER TERM INAL NAME feR OR

'k

:::i

TH I S ONE):

If the system cannot find the requested terminal, $FONT issues the following message:

C,
,

,

If you respond Y, $FONT prompts you for another terminal name. If you respond N, $FONT
issues the COMMAND (?): prompt.
If you enter the name of a terminal that is not a 4978, 4980, or 4974, $FONT issues the following

messages:
UNSUPPORTED DEVICE
COf"1t:1AND. (?) :

Examples:

o
Chapter 4. Utilities

UT -301

$FONT - Process Character/Images Tables (continued)
PUT (P) -

o

Put Image Store into Device

Use the PUT command to load a device with the contents of the work area.
Notes:
1. The image table will revert to its original state when you initialize the system again or if a
power failure occurs.
2. You can also load a specified device with an altered or new image table by using the
command (load an image store) of the $TERMUT2 utility.

LI

Enter the name of the device (specified on the TERMINAL statement) you want loaded with the
new or modified image table.
If you do not specify a device name on the same line as the PUT command, $FONT prompts you
as follows:

If you attempt to load a 4974 printer with an image store greater than 96 characters (for
example, a 4978 image store of 98 characters), $FONT issues the following message:

If you respond Y, the system loads into the 4974 only the first 96 nonblank characters it
encounters. If you respond N, $FONT issues the COMMAND (?): prompt.

o
UT·302

SC34~0644

$FONT

o

$FONT - Process Character/Images Tables (continued)
If you attempt to load a 4974 with a 4980 image data set, $FONT sends the characters

corresponding to a fixed set of 96 EBCDIC codes. These codes are listed in the following
message:

If you respond Y, the system loads the EBCDIC characters associated with the hexadecimal codes
into the 4974. If you respond N, $FONT issues the COMMAND (?): prompt again.
Examples:

o
Chapter 4. Utilities

UT -303

$FONT
$FONT - Process Character/Images Tables (continued)
READ (R) -

Read Data Set

o

Use the READ command to read the contents of an image store data set into the storage work
area reserved by $FONT. $FONT prompts you for the data set format.

The device type must match the format of the image-store data set. After the system reads the
image store into the storage work area, you can display it by using the DISP command or modify
it by using the EDIT command.
Example: Read an image store into the storage work area.

()
If you don't specify the volume name, it defaults to the volume from which $FONT was loaded.

o
UT -304

SC34-0644

$FONT
$FONT - Process Character/Images Tables (continued)
SAVE (5) -

Write Image Data Set

Use the SAVE command to save the contents of the storage work area reserved by $FONT to a
specified data set. The format of the data set must match the format of the image store
currently in the storage work area. You can use the SAVE command to initialize an empty data
set or to replace the contents of a data set that has been used before. If you save the contents in
an existing data set, you no longer have access to the previous contents.
Example: In the following example, the first attempt to save an image store IMAG80 (a 4980

image store) in a data set formatted for a 4974 is invalid. $FONT prompts for another data set.
The second save attempt is successful because the work data set format matches the current
image store type (in this case, a 4980 image store).

o

o
Chapter 4. Utilities

UT -305

$FONT
$FONT - Process Character/Images Tables (continued)
Create/Modify a Character Image

o

Use the EDIT command to make changes to characters or to create new characters. In edit, you
can choose a specific character to be displayed on a grid and can make changes to that·
character. The grid shows all changes. The grid remains blank until you specify the EBCDIC
character and/or hexadecimal code.
In this example, a 4978 or 4974 image store is to be modified.

Note the position of the cursor: it is located just to the right of the CODE prompt. Enter the
character you wish to modify next to the CODE prompt. Enter the character's corresponding
hexidecimal code in the parentheses to the right of the cursor.
Function of the PF Keys

Use the PF keys listed on the screen to move the cursor and make modifications to the character
on the grid. The PF keys and their functions are as follows:
PFI

Moves the cursor forward (left-to-right and top-to-bottom) across the grid.

PF2

Moves the cursor backwards within the grid (right-to-Ieft and bottom-to-top).

PF3

Moves the cursor from its present line down to the next line.

PF4

Inverts the dot pattern.

PF5

Returns you to command mode or cancels the current edit session. Press PF5 once to
cancel the edit session. Press PF5 a second time to return to command mode.

o
UT -306

SC34-0644

$FONT

o

$FONT - Process Character/Images Tables (continued)
Function of the Enter Key

The enter key has an important use when you're editing. Press the enter key when you are
finished making changes to the character on the grid. $FONT issues the following prompt:

l

REPLACE

x

(xx)?

where x represents the EBCDIC character being modified and xx is the hexadecimal equivalent
of the character. Enter Y to make the changed character part of the image store. Enter N if you
want to associate the modified character with a different EBCDIC character or hexadecimal
code. $FONT issues the following message:
SET TO NEW CODE?
If you respond Y, $FONT prompts you for the new code as follows:

lNEWCQOE:

(00)

Enter the EBCDIC character and/or hexadecimal code with which you want the modified
character associated. For example, if you want to associate a modified A (Cl) with the B
character, enter B (C2).
If you respond N, $FONT assumes you do not wish to save the changed character and positions

the cursor at the first line, leftmost corner of the grid. You can make additional changes to the
character currently in the grid or press PF5 to move the cursor down to the CODE _ (00) prompt.
Then enter the EBCDIC character and hexadecimal code of another character you wish to
modify.

Chapter 4. Utilities

UT -307

$FONT
$FONT - Process Character/Images Tables (continued)
Example of Modifying a Character

o

To specify a character to appear on the grid for modification:
1. Enter the desired character. You can also move the cursor to the right and enter the
corresponding hexadecimal code, if known, between the parentheses. This example shows
the letter T and its corresponding hexadecimal code.
2. $FONT then fetches the bit pattern for the specified EBCDIC character or hexadecimal code
and displays the corresponding character image in the grid. Screen 2 shows the letter, its
hexadecimal code, and the resulting image of the T on the grid.

()
UT -308

SC34-0644

$FONT

o

$FONT - Process Character/Images Tables (continued)
3. After the image appears on the grid, the cursor moves to the top left-hand square of the grid.
The hexadecimal code for the character on the grid remains displayed in the parentheses to
the right of the CODE prompt, as shown in Screen 3. ($FONT also displays the character in
its actual size below the grid. The appearance of this character changes to reflect the
changes to the character on the grid.)

COMMAND (?):
PFl
PF2
PF3
PF4
PF5
ENTER
CODE

c

EDIT

TAB FORWARD
TAB BACK
TAB DOWN
INVERT DOT
CANCEL/END
SET PATTERN

(Screen 3)

.....................
IIII \I
II 1111

T (E3)

T
4. With the cursor positioned as shown in Screen 3, use the PF keys to modify the letter T. In
this case, you are extending the top left and right sections of the crossbar.

o
Chapter 4. Utilities

UT -309

$FONT
$FONT - Process Character/Images Tables (continued)
5. Press the PF4 key; you have inverted the dot pattern in the first square and extended the left
end of the crossbar downward. The image on the grid changes as shown in Screen 4:

6. Press the PFI key to move the cursor across the grid into the top right square. Press the PF4
key again to extend the right crossbar downward, as was done on the left side.

()

(~)

o
UT -310

SC34-0644

$FONT

o

$FONT - Process Character/Images Tables (continued)
7. Once changes to the character are complete, press the enter key. This changes the CODE
prompt to REPLACE and positions the cursor just to the right of the REPLACE prompt, as
shown in Screen 5.

(Screen 5)

COMMAND (?):
PFl
PF2
PF3
PF4
PF5
ENTER
CODE

TAB FORWARD
TAB BACK
TAB DOWN
INVERT DOT
CANCEL/END
SET PATTERN

II

II

II

T (E3)

REPLACE

c

EDIT

T (E3)?

Now, you can either "set" the modified character as it appears on the grid into the image table,
"cancel" all changes just made to the character, or "associate" the character with a key other
than the one specified.
1. To "set" the modified character into the image table, respond Y to the REPLACE prompt to
replace the original T in the image table.
2. To "cancel" the changes made to the character, respond N to the REPLACE prompt and the
SET TO NEW CODE prompt.

3. To "associate" the character with a character other than the one specified, respond N to the
REPLACE prompt and then Y to the SET TO NEW CODE prompt. $FONT then prompts you for
the EBCDIC character and hexadecimal code you wish to associate with the modified
character.
After any of the above actions, the REPLACE prompt changes back to the CODE prompt and
clears the grid, ending that editing session. The blank screen reappears (Screen 1) and you can
specify another character for modification.
To end edit mode, press PF5 and reenter command mode. If you want to be able to load the
modified image table to a 4978, 4974, or 4980 at a future time, you must store the image table
in a disk or diskette data set. Use the SAVE command to store the new or modified image in the
data set specified.

Chapter 4. Utilities

UT -311

$FSEDIT
$FSEDIT:- Full Screen Editor
is a full-screen text editing utility that helps you develop and modify source data. It
operates the terminal as a static screen device and, therefore, must be run from a terminal with
static screen capability (for example, 4978, 4979, 4980, or 3101 display terminals).
$FSEDIT

o

With $FSEDIT you can:
Edit or browse a data set using a full screen.
Scroll information forward and backward.
•

Use PF (program function) keys for frequently-used functions.

•

Insert a mask for prefilling inserted lines.
Merge data from other data sets.
Print a data set.
Display a directory list for a specific volume.

•

Communicate with a System/370 in conjunction with the Host Communication Facility IUP
installed on the host System/370.

Note: To use $FSEDIT, the following modules must reside on the the same volume as $FSEDIT:
$FSMEN, $FSEDB, $FSUTI to $FSUT4, $FSIMA, and $FSIMO to $FSIM8.

Invoking $FSEDIT
Invoke $FSEDIT with the $L operator command or option I of the session manager. If you are
loading $FSEDIT from an application program or by using a $JOBUTIL procedure, you must pass
$FSEDIT a I-word parameter of zeroes.
$FSEDIT requires a preallocated work data set. The system automatically allocates this work data
set if you invoke $FSEDIT with the session manager. If you use the $L operator command to
invoke $FSEDIT, the system prompts you for the name of the work file in the following manner:

See "Work Data Set" on page UT-315 for a description of the work data set.

o
UT-312

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
After you enter the name of the work data set and press the enter key, $FSEDIT issues the
following message if this is the first time you have used the work data set.
DSl HAS NOT PREVIOUSLY BEEN USED AS A WORK DATA SET
IS IT OK TO USE IT NOW?

Respond Y. If you respond N, $FSEDIT ends.
Once you load $FSEDIT, it displays the following primary option menu. You then have the
option of selecting one of the primary options or displaying a directory list for a specific volume.

c
The primary option menu has four input fields. They are the:
OPTION

field

DATA SET NAME

field

•

VOLUME NAME

field

•

HOST DATA SET

field

Select Primary Options

To select one of the $FSEDIT primary options, enter an option number in the OPTION field. For
example, if you enter a data set name and volume in the DATA SET NAME and VOLUME NAME
fields and the number 3 in the OPTION field, $FSEDIT reads the contents of the specified data set
into the work data set. All subsequent $FSEDIT commands act upon the work data set.

o
Chapter 4. Utilities

UT -313

$FSEDIT
$FSEDIT- Full Screen Editor (continued)
Select Directory List

o

You can also look at the list of directory entries (data-type data sets) on a specific volume. To
do this, leave the OPTION field blank, specify the name of a volume in the VOLUME NAME field,
and press the enter key. $FSEDIT displays a directory data set list of the specified volume.

The first line of the screen contains the following information:
VOL

=

WORK

The volume for which the system displays the directory data set list.

=

CONTENTS

STAT

=

The name of the work data set.

=

The name of the source data set whose contents were copied into the work data
set.
The status of the contents of the work data set per the last action performed:
UNCHANGED The contents of the work data set have not been modified.
INIT

The work data set has been initialized.

MODIFIED

The contents of the work data set have been modified.

SAVED

The contents of the work data set have been saved.

()

After $FSEDIT displays the directory list, you can use the directory data set list commands or you
can browse or edit any of the data sets. See "Directory Data Set List Commands" on page
UT -319 for a description of each command.
To browse or edit a specific data set in the list, position the cursor next to the data set name in
the directory list, enter B (browse) or E (edit), and press the enter key. $FSEDIT reads the
contents of the data set into the work data set. You can now edit or browse the information in
the work data set. (See "Option 1 - BROWSE" on page UT-327and"Option 2 - EDIT" on
page UT-327 for a description of the BROWSE and EDIT commands.)
To obtain a hard copy of the directory data set list, use the $DISKUTI utility (LA or LISTP
command).

o
UT-314

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
Work Data Set
$FSEDIT requires a preallocated work data set for use as a text edit work area. If you invoked
$FSEDIT through the session manager, the session manager automatically allocates the work data
set. Text data (source statements) within this work data set are in a special text editor format,
identical to that used by the $EDITIN text editor. See "Data Set Requirements" on page
UT-235. You can edit data within a work data set with either $EDITIN or $FSEDIT.
Notes:
1. $FSEDIT uses source data sets of 80-character lines that are line numbered in positions 73-80
for host or Series/l data sets. Positions 1-72 contain source data, and positions 73-80
contain sequence numbers assigned by $FSEDIT for host or Series/l data sets. The system
pads these source statements to 128 bytes, and $FSEDIT stores them in source statement
format (two 128-byte statements in each 256-byte record).
The format of a $FSEDIT readable EDX record for source data sets is:
Bytes

Words

Contents

0-71
72-79
80-127
128-199
200-207
208-255

1-36
37-40
41-64
65-100
101-104
105-128

Source Line
Line Number
Zeros (reserved for future use)
Source Line
Line Number
Zeros (reserved for future use)

2. The work data set should not be used by any other program.
3. The $FSEDIT utility uses a data set as a work area. During an edit session, the system saves
the information you entered on the screen in a buffer area. Once this buffer area fills up,
the system saves the contents in the work data set. If you IPL your system before you save
the contents of the buffer in the work data set, the contents are lost. To avoid losing
information in the buffer area, use option 4 (WRITE) before IPLing your system. If you write
the work data set to a tape, you no longer have access to previously existing data sets on
that tape.
When you end an editing session, save the contents of the work data set in a source data set on
disk, diskette, or tape. To save the work data set contents, use the WRITE command while in
Edit mode or return to the primary menu and select option 4 (WRITE). If the target data set
does not exist on the volume specified, $FSEDIT creates it automatically. The system performs
automatic translation from text editor format to source statement format.

o
Chapter 4. Utilities

UT -315

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
Scrolling

o

The information in the work data set and the directory data set list usually exceeds the size of
the display screen. Scrolling allows you to page up or down through the information. Two PF
keys are used for this purpose, one for each direction. A scroll amount is displayed at the end of
the second line of the edit, browse, or directory list screen showing the number of lines scrolled
with each use of a scroll key. The scroll amounts are:
PAGE or P

Specifies scrolling one page (22 lines).

HALF or H

Specifies scrolling a half page (11 lines).

MAXorM

Specifies scrolling to the top or bottom of the data set.

n

Specifies number of scrolling lines.

In browse mode, the scroll amount is initialized to PAGE; in edit mode, it is initialized to HALF.
You can change the scroll amount by moving the cursor to the scroll field and entering an
amount over what is currently displayed. To change the scroll amount, type over the first
character with a P, H, or M to change the scroll amount to a page, half page, or maximum,
respectively. To specify a number of lines to scroll, enter the number of lines you want.
When you make a change, the new value remains in effect for the remainder of the session
unless you change it again. The value for MAX is an exception; following a single MAX scroll,
the scroll amount defaults back to the value for browse mode (PAGE) or edit mode (HALF).

rr-"\
\~--"')

o
UT -316

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
Program Function Keys
The ATTN and six program function keys are used to request commonly used or special $FSEDIT
operations as follows:

PFI

Redisplays the screen image. All changes are ignored and the original data is
displayed as last entered before you pressed the PF key.

PF2

SCROLL UP -

PF3

SCROLL DOWN

PF4

REPEAT FIND -

PF5

REPEAT CHANGE - repeats the action of the previous CHANGE primary
command (applies only to edit mode).

PF6

PRINT SCREEN -

o

scrolls towards the beginning of the data set by the amount shown
in scroll amount field.
or END UTILITY - scrolls toward the end of the data set by the
amount shown in the scroll amount field in edit mode or ends the $FSEDIT utility.
repeats the action of the previous FIND primary command.

prints the screen image on the system printer ($SYSPRTR) or the
hard-copy device defined with the HDCOPY = operand on the TERMINAL
statement. You can redirect the output to another printer using the PS (print
screen) command.

If the screen is printed, the message SCREEN PRINTED appears in the upper right
hand column of the screen. If the printer is busy, the message PRINTER BUSY

appears in the upper right hand column of the screen.
ATTNCA

Cancel the print option. Pressing the attention key and typing CA stops the list
option of $FSEDIT and returns to the primary menu.

Notes:
1. The PF2 - PF4 and PF6 keys are active only during browse and edit modes. Using PFI and PF5
is only meaningful during edit mode.

2. If you are using the starter system as your operating system and you have a 4979 display
station at address 04, the program function keys operate as follows:

PFI

Redisplays the screen image.

PF2

Repeat find.

o
Chapter 4. Utilities

UT -317

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
PF3

Scroll up.

PF4

Repeat change.

PF5

Scroll down.

PF6

Print screen.

0

If you are using a 3101 terminal, the following additional program function keys are used:

PF7

(Insert Mode only). This key performs the same function as the SEND key. Due
to hardware restrictions, you must use this key as a line terminator if you are
performing multiple inserts.

PF8

This key performs the same function as the 'ATTN' key on the 4978, 4979, and
4980 display terminals.

3101 Display Terminal Switch Settings
If you are using a 3101 display terminal to edit or create programs, you can avoid operational

problems with the 3101 terminal by setting the 3101 switches correctly. Refer to the
Installation and System Generation Guide for detailed information on switch settings. Valid
switch settings for your installation are found on the underside of the switch cover plate.
If you require that the DUAL/MONO switches be set to DUAL, you can force command and

program directives for the utilities or application programs to upper case by:
•

Pressing the shift key or

•

Using the CAPS command for the $FSEDIT edit session.

o
UT -318

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
I"

You should consider the following if you select DUAL case mode.
In an environment where there is a mix of terminal types, some terminals may not display
lowercase characters.
•

Some printer types do not print lowercase characters.

Directory Data Set List Commands
$FSEDIT can display a list of the directory entries (data-type data sets that contain EBCDIC
characters) on a specific volume. You can browse the list, sort the list by data set name or last
date the data set was changed, locate a specific data set, or edit or browse the work data set or a
specific entry on the list.
To perform these functions, the following commands are available:
B (BOTTOM) Scroll to the bottom of directory list.
BR (BROWSE) Browse contents of the work data set.

CV

Change volume.

ED (EDIT)

Edit the contents of the work data set.

E (END)

Return to the previous menu.

L (LOCATE)

Locate a specific data set name.

M (MENU)

Return to the previous menu.

S (SORT)

Sort directory data set list.

T (TOP)

Scroll to the top of directory list.

In addition to these commands, there are two line commands that you can use when displaying
the directory data set list: B (BROWSE) and E (EDIT).
With the exception of the B (BROWSE) and E (EDIT) line commands, you can activate each of
these commands by entering its name next to the COMMAND INPUT prompt. See "Directory Line
Commands" on page UT-325 for an explanation of using the Band E line commands.
You can enter most of these commands in full or abbreviated form. For example, you can enter
BR instead of BROWSE. The abbreviated and full word command for each command, if
applicable, are shown on the following pages.

o
Chapter 4. Utilities

UT -319

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
B (BOTTOM) - Display Bottom of Directory List

o

Use the B (BOTTOM) command to display the end (bottom) of the directory list. This is
equivalent to scrolling to the bottom of the list.

Syntax:
BOTTOM
B

Required: None
Defaults: None
BR (BROWSE) - Browse Contents of the Work Data Set

Use the BR (BROWSE) command to examine the contents of the work data set. This command is
equivalent to primary option 1 (BROWSE). See "Option 1 - BROWSE" on page UT-327 for a
description of the browse function.

Syntax:
BROWSE
BR

()

Required: None
Defaults: None

o
UT-320

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
CV -

Change Volume

Use the cv command to change the volume you are accessing currently. When you enter the cv
command and the name of a volume, $FSEDIT displays the directory data set list of the specified
volume.

Syntax:

CV volname
Required: volname
Defaults: None

Operands

Description

volname

The name of a volume (1-6 characters)

c

C,:

1',1

Chapter 4. Utilities

UT -321

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
ED (EDIT) -

Edit the Contents of the Work Data Set

o

Use the ED (EDIT) command to edit the contents of the work data set. This command is
equivalent to primary option 2 (EDIT). See "Option 2 - EDIT" on page UT-327 for a
description of the function.

Syntax:

EDIT
ED

Required: None
Defaults: None

E (END) -

Return to Primary Option Menu

Use the E

(END)

command to end the current mode and return to the primary option menu.

Syntax:

END
E

Required: None
Default: None

o

o
UT-322

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
L (LOCATE) -

Locate a Specific Data Set Name

Use the L (LOCATE) command to locate a specific data set name.
You can also enter a generic name, that is, a prefix instead of an entire name.
through the list and locates the first data set starting with the specified prefix.

$FSEDIT

searches

Syntax:

LOCATE dsname
L
dsname
Required: dsname
Defaults: None

M (MENU) -

()

Operands

Description

dsname

N arne of the data set you want to locate.

Return to Primary Option Menu

Use the

M (MENU)

command to end the current mode and return to the primary option menu.

Syntax:

MENU
M

Required: None
Default: None

o
Chapter 4. Utilities

UT -323

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
S (SORT) -

Sort Directory Data Set List

o

Use the S (SORT) command to sort the display of the directory data set list. You can sort the list
by date (last date the data set was updated) or by data set name (the default).
Note: If a volume has more than 250 members, you can only sort the directory data set list by
data set name.

Syntax:
SORT option
S option
Required: option
Defaults: None

T (TOP) -

Operands

Description

option

There are three sort options:
DATEorD

Sort the list by the date the data set was last updated.

NAME or N

Sort the list by data set name (the default).

RESET or R

Reset the current value of the sort option to NO SORT.

Display Top of Directory List

Use the TOP command to return to the beginning (top) of the directory data set list.

Syntax:

TOP
T
Required: None
Defaults: None

o
UT-324

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
Directory Line Commands

Use the following line commands to browse or edit a data set on the directory data set list.
B (BROWSE) Read the selected data set into the work data set and enter Browse mode.

E (EDIT)

Read the selected data set into the work data set and enter Edit mode.

To select a specific data set, place the cursor next to the data set name in the directory list, enter
E or B, and press the enter key. $FSEDIT reads the contents of the data set into the work data
set. Now you can edit or browse the information in the work data set. See "Option 1 BROWSE" on page UT-327 and "Option 2 - EDIT" on page UT-327 for a description of
these commands.
Example: Select a data set from the directory list to edit.

VOL = EDX002 WORK = EDITWORK,EDX002 CONTENTS = TEST1
STAT =
COMMAND INPUT ===>
SCROLL ===>
**** NAME ************ LAST SAVED ******* USER ***** # OF LINES ****
TESTl
08/11/82
TEST2
09/26/82
07/22/82
E TEST3
***************************** BOTTOM OF DATA **********************

o
Chapter 4. Utilities

UT -325

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
Primary Options and Commands

o

Under $FSEDIT, the following primary options are displayed on the primary menu:
Option 1 - Browse

Browse the contents of the work data set.

Option 2 - Edit

Edit the contents of the work data set.

Option 3 - Read

Obtain a copy of a host/native data set and store it in the work data set.

Option 4 - Write

Transfer the contents of the work data set to a host/native data set.

Option 5 - Submit

Submit a job to the host.

Option 6 - Print

Print the contents of the work data set on the device designated as
$SYSPRTR.

Option 7 - Merge

Merge all or part of a source data set with the contents of the work data
set.

Option 8 - End

End the $FSEDIT utility.

Option 9 - Help

Display tutorial text for using the $FSEDIT utility.

A description of each option follows.

o
UT -326

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
Option 1 -

BROWSE

Use option 1 (BROWSE) to enter browse mode. In BROWSE mode, you can look at source data in
the work data set, but you cannot change it.
You can look at all parts of the work data set by using the PF2 and PF3 program function keys.
These keys enable you to scroll forward or backward through the data set.
In addition, you can use two primary commands to locate specific information within the data
set.
FIND

Searches for a designated text string.

LOCATE

Searches for a designated line number.

These primary commands are discussed under "Primary Commands" on page UT -334.
During browsing, the current number of lines in your data set and the maximum number of lines
the work data set can hold are displayed in parentheses on the top line of the display, following
the data set name and the volume identification.
To end browsing, enter the primary command END or MENU in the
return to the primary option menu.

c

Option 2 -

COMMAND INPUT

field and

EDIT

In EDIT mode, you can modify an existing source data set or create a new one. To do this, you
use:
•

Program function keys for two-way scrolling as well as repeat, change, and find;

•

Primary commands

•

Line edit commands to manipulate whole lines or blocks of lines. (See "Edit Line
Commands" on page UT-344 for an explanation of these commands.)

(CAPS, CANCEL, COBOL, CHANGE, CLEAR, END, FIND, LOCATE, MENU, PS,
RENUM, RESET, TABS, and WRITE);

o
Chapter 4. Utilities

UT -327

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
Creating a Source Data Set

o

To create a new source data set, enter EDIT mode (option 2) with an empty data set (the work
data set you specified when you invoked $FSEDIT) or use the CL (CLEAR) command to clear the
current work data set while in edit mode. Because the work data set is empty, the editor
assumes you desire insertion (creation) of lines and activates the INSERT function. The
following is an example of the initial display when you are editing an empty data set.

The top line of the screen, from left to right, displays utility mode (EDIT), the name and volume
of the work data set (EDITWORK,EDX002), the number of source statements in the work data set,
and the total number of statements the data set will hold (in parentheses). The COLUMNS 001072
indicates that the source data can only be entered in columns 1 through 72.
The cursor is positioned at character position 1 of the insert line. After you enter information
on this line, press the enter key. The utility then numbers the entered line and sets up for the
next insert line.
As you continue in this manner, a new insert line is readied each time the preceding line is
entered (by pressing the enter key). You can end the insert (creation) operation by pressing the
enter key without entering anything on the new insert line.

C)

Note: $FSEDIT does not distinguish between insert mode and edit mode during editing
operations, and you can change data on the screen at any time.
There are two ways to save the source statements just created:
1. In edit mode, enter the command WRITE on the COMMAND INPUT line to save the contents of
the work data set in the original (source) data set. If you want to save the work data set in a
new data set, enter WRITE data set,volume.
2. Exit edit mode by entering an M on the COMMAND INPUT line and return to the primary
option menu. Enter the number 4 (WRITE) on the OPTION line to save the contents of the
work data set in the original (source) data set. If you want to save the work data set in a
new data set, enter the data set and volume name in the DATA SET NAME and VOLUME NAME
fields. $FSEDIT prompts you as follows:

If you respond Y, the contents of the work data set are saved in the data set specified in the
OATA SET NAME and VOLUME NAME fields. If the data set does not exist on the volume

o
DT -328

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
specified, $FSEDIT creates it automatically. If you respond N, $FSEDIT resets the menu and
does not write the contents of the work data set to the specified data set.
Modifying an Existing Data Set

There are two ways to enter edit mode and modify an existing data set. If you use the primary
option menu, the data set must be read first into the work data set using option 3 (READ). If
you use the directory data set list, move the cursor down to the desired data set name, type 'E'
next to it, and press the enter key. $FSEDIT reads the data set into the work data set.
Locate and change information by scrolling the data set by pressing the PF keys. The PF keys
and definitions are described under "Program Function Keys" on page UT -317.
To modify data on the screen, move the cursor to the desired location and enter the new
information. You can change several lines before pressing the enter key. You can delete, insert,
duplicate, or rearrange a single line or a block of lines with the edit commands. These are
discussed under "Edit Line Commands" on page UT -344.
For general editing purposes, you can use primary edit commands to find and change designated
character strings and to change the line numbering sequence. These commands are discussed
under "Primary Commands" on page UT -334.
After you finish modifying the contents of the work data set, you need to save it in the existing
source data set or in another data set. You can perform the save from EDIT mode or from the
primary option menu.
There are two way to save statements just modified:
1. In edit mode, enter the command WRITE on the COMMAND INPUT line to save the contents of
the work data set in the original (source) data set. If you want to save the work data set in a
new data set, enter WRITE data set,volume.
2. Exit edit mode by entering an M on the COMMAND INPUT line and return to primary option
menu. Enter the number 4 (WRITE) on the OPTION line to save the contents of the work
data set in the original (source) data set. If you want to save the work data set in a new
data set, enter the data set and volume name in the DATA SET NAME and VOLUME NAME
fields. $FSEDIT prompts you as follows:

If you respond Y, the system saves the contents of the work data set in the data set
specified in the DATA SET NAME and VOLUME NAME fields. If the data set does not exist on
the volume specified, $FSEDIT creates it automatically. If you respond N, $FSEDIT resets the
menu and does not write the contents of the work data set to the specified data set.

You can end the editing by entering the END or MENU command in the COMMAND INPUT field.
returns you to the previous menu; MENU returns you to the primary option menu.

END

o
Chapter 4. Utilities

UT -329

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
Editing Upper-Case and Lower-Case Character Data

o

When you use option 3 (READ), the system checks the entire data set for lowercase characters.
This is done because lowercase data cannot be edited on a 4979, a 4978 or 4980 with an
uppercase-only control store, or a 3101 with switches set for upper case. For information on
how to change the 4978 or 4980 to a lowercase store see "$TERMUT2 - Change
Image/Control Store" on page UT-5S7. For information on 3101 switch settings, see IBM
3101 Display Terminal Description" GAI8-2033.
If the system detects lowercase characters and you want to edit the data set using EDIT

command, the following message is issued:

Entering an

N

causes a return to the primary option menu or directory data set list.

Entering a Y causes the edit session to continue. If you decide to continue editing and are using
an uppercase terminal, you lose only the lowercase data. To prevent the loss of data, you can
issue CAPS ON ALL or CANCEL as the first primary command.
If you issue the CAPS ON ALL command, all data in the work file becomes upper case and no line

commands or data changes are processed. The screen is reshown in upper case.
Note: Setting CAPS ON ALL does not place change flags on the lines that are converted to upper
case.
If you use the CANCEL command, the edit session is cancelled, and you are returned to the
primary option menu. If you use the END or MENU command, the screen is processed and all

lowercase characters are lost in the work data set.
If the data set you read in is all uppercase data and you edit it adding lowercase data, the

warning message is not issued. However, it is issued if the data set is written to source and then
read in again.
If you do a READ command and then an EDIT, and the system detects lowercase data, the edit
session begins in CAPS OFF mode. If the system finds no lowercase data, then the session begins

in CAPS ON mode.
Notes:

1. Brackets [, ), plus/minus ±, and bullet. EBCDIC representations on the 4978 and 4980 are
treated as lowercase characters with no uppercase equivalents. The 4978, 4979, and 4980
convert any unrecognizable character into a blank.

o
UT-330

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
2. On the 3101, brackets [, ), and not-signs are also treated as lower case and, when converted
to upper case, are displayed as colons. The 3101 converts any unrecognizable character
into a colon.
3. The conversion from lowercase to uppercase characters takes place when you enter the
primary command CAPS ON ALL in edit mode, or you alter a line containing one of these
characters while in edit mode with CAPS ON. You cannot display these characters on a 4978,
4979 or a 4980 with an uppercase-only control store or on a 3101 with switches set for
upper case.
4. The 'not-sign' hexadecimal representation on a 4978/4979 is equivalent to the 'caret' on a
3101.
5. The 'double bar' on the 4978, 4979, and 4980 is equivalent to the 'logical OR' on a 3101.
Option 3 -

READ

Option 3 (READ) retrieves a data set from either a host system or a data set on disk, diskette, or
tape on the native Series/l system and stores it in your work data set. The primary option menu
remains on the display and the area below it is used to display how many lines were read from
the source data set, the date and time of the last update to the data set, and your user
identification if you invoked $FSEDIT through the session manager. The data set name entered
must be fully qualified and must contain fixed-length, 80-byte records.

c

Line numbers for native data sets must be in columns 73-80. For host data sets, line numbers
can be in either columns 1-6 or 73-80. If the line numbers in the data set exceed the maximum
allowed by $FSEDIT (32767), the system automatically renumbers the data with a smaller line
number increment.
When READ completes or terminates because of an error, the number of lines transferred, or the
appropriate error message, is displayed and the cursor is moved to the COMMAND INPUT field.
This indicates the completion of the READ function, and you can select another option. The
READ to host requires the Host Communications Facility on the System/370.
When you do a read, $FSEDIT checks for lowercase data. See "Editing Upper-Case and
Lower-Case Character Data" on page UT -330 for detailed information.
Note: The system makes no attempt to verify that the data read is indeed source data. If the
data is not source data, you can get unpredictable results.
Option 4 -

WRITE

Option 4 (WRITE) transfers the contents of the work data set to a host/native data set. Enter a
4 in the OPTION field and the name of the target data set and volume in the DATA SET NAME and
VOLUME NAME fields. $FSEDIT prompts you at the bottom of the primary option menu as
follows:

Chapter 4. Utilities

UT-331

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
If you respond Y, the contents of the work data set are saved in the data set specified in the
DATA SET NAME and VOLUME NAME fields. If the data set does not exist on the volume
specified, $FSEDIT creates it automatically. If you respond N, $FSEDIT resets the primary option
menu and does not write the contents of the work data set to the specified data set. The WRITE
to host requires the Host Communications Facility on the System/370.

o

Notes:
1. The WRITE option does not destroy the contents of the work data set. Therefore, you can
direct WRITE to another data set to obtain a backup copy. You can also use WRITE following
further editing of the work data set.
2. If you increase the contents of the work data set so that it is too big to be written back to
the source data set, $FSEDIT deletes the source data set and attempts to reallocate it with
enough space to save the work data set contents. If the allocation fails, the original source
data set is lost. However, the work data set remains intact and can be saved in a suitable
source data set.
3. If you write the work data set out to a tape, you no longer have access to the data sets
previously existing on the tape.
Option 5 -

SUBMIT

Option 5 (SUBMIT) injects a job (JCL and optional data) into the host job stream. The display
and operation are similar to the READ and WRITE commands. The data set name entered must
be the fully-qualified name of the host data set containing the JCL to be submitted. If you enter
the keyword DIRECT instead of a data set name, the contents of the work data set are
transferred directly into the host job stream. The SUBMIT to host requires the Host
Communications Facility on the System/370.
Note: Use the DIRECT keyword only in systems with a HASP or JES2 interface.
Option 6 -

PRINT

Option 6 (PRINT) prints the entire contents of the work data set on $SYSPRTR. (You can end the
listing at any time by pressing the attention key and typing CA.)
Option 7 -

MERGE

Option 7 (MERGE) merges all, or part, of a source data set into the current edit work data set.
When you select MERGE, $FSEDITdisplays the following screen indicating the name of the data
set that is currently in the work data set (the target).

o
UT -332

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)

;, ",~: '.:\> (

. ,(

:MER~EC"[fJ\tA :.·f'Rd'M:

'/UAi'rA'S:ET'N,AM{ ....:::=';' .
':VO ~U~E>~At-iE .>:;'~=;;=>,

,'.F;R()A;':·L'. I'·NE·'#···'~~·~=>

W"is~q,\~~~~,t~~t2B;t>
, ,~> ,Aoo;:.:r:o,

T'AR:G:E.l,:,l},PTER '

f;;:~~~l~l.~~~~~~~t~ .
Enter the name of the data set and volume you want merged with the information in the work
data set. You may type in line numbers (leading zeros are not required) or enter an asterisk if
you want to merge the entire data set with the work data set. In addition, you can specify the
line number in the target data set where you want the merged data to start. If you do not
specify a line number, the merged data is placed at the beginning of the target data set.
The specification of an asterisk should only be used for the source data set. If all parameters are
correct, the data is then read from the source data set, added to the current work data set, and
the current work data set is renumbered. (If the format of the line number specification is
incorrect, an error message is displayed and $FSEDIT prompts you for the data again.)
To cancel the

MERGE,

press the

PF3

key and return to the primary menu.

Notes:
1. Once the merge has started, you must allow it to complete normally or you may get
unpredictable results.
2. If you want to merge a host data set with a native data set, the line numbers in the host data
set may be incompatible. To correct this incompatibility, read the host data set into the
work data set and write it back out to the disk. $FSEDIT automatically resets the host data
set numbers to be in columns 73-80.
Option 8 -

Option 9 -

END

Option 8

(END)

ends the

Option 9

(HELP)

$FSEDIT

utility.

HELP

displays tutorial text for using $FSEDIT.

o
Chapter 4. Utilities

UT -333

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
Primary Commands

o

The following primary commands are used in edit and browse mode:
CANCEL (CANC) Cancel session and return to previous screen.
CAPS

Display data in upper or lower case.

CHANGE (C)

Change character strings.

CLEAR (CL)

Clear work data set.

COBOL

Set COBOL line numbers.

END (E)

Return to previous screen.

FIND (F)

Find a character string.

LOCATE (L)

Find specified line number.

MENU(M)

Return to primary option menu.

PS

Print current screen on $SYSPRTR.

RENUM (R)

Renumber data set.

RESET

Clear line numbers.

TABS

Set tab stops.

WRITE

Write work data set to host/native.

(~~,
\'\..Y

Primary commands are entered on line 2 of the display in the COMMAND INPUT field. You can
enter all primary commands while in edit mode. In browse mode, six primary commands are
recognized by $FSEDIT: LOCATE, FIND, MENU, END, CANCEL, CAPS.
You can enter most of the secondary commands in abbreviated format; for example, you can
enter C instead of CHANGE. The abbreviation and full word command for each command, if
applicable, are shown.
Each of the secondary commands is described on the following pages.

o
UT-334

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
CANC (CANCEL) -

Cancel Session and Return to Previous Screen

The CANCEL command, when used in BROWSE mode, returns you to the previous screen
(primary option menu or directory data set list).
The CANCEL command, when used in EDIT mode, terminates the edit without processing the
screen and returns you to the previous screen (primary option menu or directory data set list).
If you create a new data set, enter data, and then enter the CANCEL command, the utility does

not save any of the data you entered since you last pressed the

PF

key or the enter key.

If you are editing an existing data set and you add new data and then enter the cancel command,

the utility saves the data as it was when you last pressed the PF or enter key. None of the new
data you entered on the screen since the last pressed the PF key or enter key is saved. saved.

Syntax:

CANC

CAPS -

Set Upper-Case Conversion

In BROWSE mode, the CAPS command specifies whether or not displayed data is to be converted
to uppercase characters before being displayed on the screen.
In EDIT mode, the CAPS command specifies whether or not entered data is to be converted to
uppercase characters when edited.
The

CAPS

command allows the entire work file to be converted to upper case.

Note: If you enter CAPS without specifying ON or OFF, $FSEDIT displays whether CAPS
are ON or OFF. When you read in a data set and all data is upper case, the CAPS ON
condition is set. If lowercase data is detected, the caps condition is set to CAPS OFF.

Syntax:

CAPS ON/OFF ALL
Required: none
Defaults: none

Chapter 4. Utilities

UT -335

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
Operands

Description

ON

In BROWSE mode, all data is converted and displayed on the screen in upper case.
In EDIT mode, data is displayed on the screen exactly as it appears in the work file;
for example, upper case is mixed with lower case.
If any edit data is entered and it changes the existing data, that entire line (or

lines) is changed to upper case in the work file and on the screen. The following
is an example of upper and lower case being read using edit mode with CAPS ON.
The example has a misspelled word 'lowwercase'. If you correct the misspelling,
the whole line is changed to upper case.
In this example, the first sentence shows how the line was read in.

When you correct the misspelled word (lowwercase), the following occurs.

,.'11
.. : I
"

OFF

In BROWSE mode, all data is displayed with no conversion to upper case.
In EDIT mode, data is displayed as it is with no conversion. The data is read from
the terminal with no conversion. To enter uppercase data, you must press the
shift key.
Note: If $FSEDIT is being used on a terminal with only an uppercase character set,
the lowercase character text data appears as blanks. If you press the enter key or
any PF key, the lowercase data is lost in the work data set only.

ALL

When you enter CAPS ON ALL in EDIT mode, the entire work data set is converted
to upper case and CAPS is set to ON.
CAPS ON ALL has no meaning if you use it in BROWSE mode. If you use it, you will
get a message.

o
UT -336

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
C (CHANGE) -

Change Text (Edit Mode Only)

The C command changes text strings. The search for the 'text!' string proceeds until the string
is found or the bottom of the data set is reached. If found, 'textl' is replaced with 'text2'. If the
two text strings are not the same length, automatic shifting is performed by expanding or
collapsing blank characters at the end of the line. If insufficient blanks exist for shifting right
without shifting a non blank character into column 72, the change is not made and the line is
displayed with an error message in the line number field. (If you selected the ALL option, the
change is ended at this point.) If the 'textl' string is not found, you are notified with an error
message displayed on the top line of the screen.
Use a combination of the repeat find key (PF4) and the repeat change key (PFS) to find and
change selected occurrences of a specific character string.
In CAPS OFF mode, the CHANGE command searches for the text string and when it finds it, it
makes the change as entered.
In CAPS ON mode, the CHANGE command converts the text string to upper case and then
searches the work file. If the text is found, the change is made and the entire line on which the
text appears is converted to upper case.

Syntax:

c

CHANGE /text1 /text2/ option
/text1/text2/option
C
Required: /text1/text2/
Defaults: option defaults to ' NEXT

Operands

Description

/ text 1/text2 /

The delimiter (I) can be any alphanumeric character except blank. It is not
part of, and cannot appear in, the character strings 'textl' and 'text2'. All
three delimiters are required and all must be the same character. 'text l' and
'text2' can be any character string not containing the delimiter you used.

o
Chapter 4. Utilities

UT -337

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
option

Defines the beginning and the extent of the search. The following are valid
options:

o

NEXT
Locate and change the next occurrence of 'textl' to 'text2'; the search starts
with the first line displayed. This is the default.
FIRST

Locate and change the first occurrence of 'text l' beginning the search at the
first line of data set.
ALL
Locate and change all occurrences of 'textl' beginning at the first line of the
data set.
CL (CLEAR) -

Clear Work Data Set (Edit Mode Only)

The CL command clears the work data set.

Syntax:

CLEAR
CL

Operands

Description

None

o
UT -338

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
COBOL -

Set COBOL Line Numbers (Edit Mode Only)

The COBOL command sets line numbers in columns 1 to 6.

Syntax:

COBOL
CO

Required: None
Defaults: None

E (END) -

Return to Previous Menu

The E command ends edit or browse mode and returns to the previous screen (primary option
menu or directory data set list).

Syntax:

C

I

END
E

Operands

Description

None

o
Chapter 4. Utilities

UT -339

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
F (FIND) -

Find Text String

o

The F command finds and displays text strings. The search proceeds until the text string is
found or until the end of the data set is reached. If the string is found, automatic scrolling takes
place to display the line containing the text string at the top of the data area of the display. If
the string is not found, you are notified.
Use the repeat find key (PF4) to find selected occurrences of a specific character string.
In CAPS OFF mode, the FIND command searches for the text string as you entered it.
In CAPS ON mode, the FIND command converts the text string to upper case and then searches
the work data set.

Syntax:

FIND /text/ option
F /text/ option
Required: /text/
Defaults: option defaults to ' NEXT

Operands

Description

/text/

The delimiter (/) can be any alphanumeric character except blank which does not
appear within the text string. Both delimiters are required and must be the same
character.

option

Defines the beginning of the search. The valid options are:

o

NEXT
The search starts with the first line of the current display. This is the default.
FIRST
The search starts at the first line of the data set.

o
UT -340

SC34·0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
L (LOCATE) -

Locate Line Number

The L command locates and displays the requested line number. The data set is searched for the
requested line. If found, automatic scrolling takes place and the requested line is displayed at
the top of the display. If the requested line number is not found, $FSEDIT issues the following
message:

LINE NUMBER NOT FOUND

Syntax:

LOCATE line- number
L
line-number
Required: line- number
Defaults: none

o

M (MENU) -

Operands

Description

line-number

The number of the line to be located and displayed.

Return to Primary Option Menu

The

M

command ends edit or browse mode and returns to the primary option menu.

Syntax:

I

~ENU

Operands

Description

None

o
Chapter 4. Utilities

UT -341

$FSEDIT
$FSEDIT - Full Screen Editor (continued)

0,- -."
I

PS -

Print the Current Screen (Edit Mode Only)

'

The PS command prints the currently displayed screen on the printer specified. If you do not
specify a printer, the listing is directed to the $SYSPRTR.
If the screen is printed, the message SCREEN PRINTED appears in the upper right hand column of
the screen. If the printer is busy, the message PRINTER BUSY appears in the upper right hand

column of the screen.

Syntax:

PS devname
Required: none
Defaults: $SYSPRTR

R (RENUM) -

Operands

Description

devname

The name of the printer where you want the display printed.

Renumber Data Set (Edit Mode Only)

The

R

command assigns new line numbers to each line of the data set.

Syntax:

RENUM first increment
R first increment
Required: none
Defaults: first and increment default to 10 or to
the values last used.

Operands

Description

first

The number to be assigned to the first line of the data set.

increment

The increment to be used in generating line numbers.

Note: If the number of lines in the data set is so large that the maximum line number of 32767
is exceeded, the 'first' and 'increment' values are reduced automatically until the data set can be
renumbered properly.

o
UT -342

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
RESET -

Reset Line Commands (Edit Mode Only)

The RESET command is used to reset erroneous or unwanted line commands, to reset line
numbers to normal after they were replaced with ERR messages, to terminate the display of
MASK and column lines, and to clear change flags. $FSEDIT issues an ERR message in the line
number column when you attempt to shift left or right and there is no room on the line to do so.

Syntax:

I RESET

TABS -

Set Tab Stops (Edit Mode Only)

The TABS command sets a maximum of ten tab stops at the locations specified. The default
setting using a newly initialized data set is 'TABS 1,10,20,30,40,50,60,70'. If you modify any
default setting, the system will not support any other default settings. In such an instance, each
required setting must be requested specifically. If you set tabs that are out of sequence, such as
20,30,10,40,60, $FSEDIT ignores the out of sequence tabs (in this case, 10). If you set more
than 10 tabs, $FSEDIT only recognizes the first ten tabs. If you set a tab that is more than 72,
the tabs will wrap around in the line number columns.

c

Note: The TABS command is supported on a 4978 and 4980 display terminal. See the
Operation Guide for a description of the tab key.

Syntax:

TABS loc1,loc2,,,,,,loc1 0
Required: loc1
Defaults: 1,10,20,30,40,50,60,70

Example: Set tabs stops in columns 1, 15, and 30.

0 ',

.~,I'

Chapter 4. Utilities

UT -343

$FSEDIT
$FSEDIT - Full Screen Editor (continued)

r.)",

~
WRITE -

"

Save Contents of Work Data Set (Edit Mode Only)

The WRITE command saves the contents of the work data set on disk, diskette, or tape under the
specified data set and volume name. If no target data set and volume is specified, the contents
are saved in the data set that was read into the work data set. If the data set name is given with
no specified volume name, the contents are saved in the specified data set name on the volume
you are accessing currently.

Syntax:

WRITE data set,volume
Required: None
Defaults: Same data set from where the contents of the work data
set were originally obtained.

Operands

Description

data set

The name of the data set where you want to save the contents of the work data set.

volume

The volume where the data set resides. If you do not specify a volume name,
$FSEDIT assumes the data set is on the volume you are using currently.

r-----'",

~I<

__)

Edit Line Commands
You can use the following edit line commands to delete, insert, duplicate, or rearrange a single
line or a group of lines. They are valid only in edit mode.
)

Shift line two spaces to right.

(

Shift line two spaces to left.

>

Move a block of data two spaces to the right after the first blank.

<

Move a block of data two spaces to the left after the first blank.

A

Copy/move after.

B

Copy/move before.

C,CC

Copy line(s) of text.

COLS

Display columns.

o
UT-344

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
D,DD

Delete line(s) of text.

I,ll

Insert line(s) of text.

MASK

Display insert mask.

M,MM

Move line(s) of text.

Single character line commands operate on a single line of data and are specified by entering the
line command in the first position of the line preceding the line number.
Double character line commands operate on blocks of data and are specified by entering the
block command in the first two positions on the first and last line of the block of data.
Shift Right)

Use the) symbol to shift the line two spaces to the right.
Shift Left (

Use the ( symbol to shift the line two spaces to the left.
Move Right>

c

After the first blank, move a block of data two spaces to the right. A block of data is defined as
a group of characters separated by no more than one blank.
Move Left

<
After the first blank, move a block of data two spaces to the left. A block of data is defined as a
group of characters separated by no more than one blank.

A (After) and B (Before)

Use the A and B commands to define the destination for a copy or move operation. 'A'defines
the destination as being after the line and 'B' defines the destination as being before the line.
Thus it is possible to move or copy anywhere in the data set, including before the first line or
after the last line.
C (Copy Line) and CC (Copy Block)

Use the C and cc command to duplicate lines of data within the data set. The block of data
defined by the two cc line commands is copied to the location specified by an A or B line
command. The copy operation leaves the original data intact and inserts a duplicate copy of the
data at the destination specified. The copy occurs when you press the enter key after you define
both the lines to be copied and the destination. The destination does not have to be on the same
page of the display as the copy line command(s) and you can separate the two cc line
commands also.
In CAPS OFF mode, the line(s) aretopied as they are.

o
Chapter 4. Utilities

UT -345

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
In CAPS ON mode, the copied line(s) are converted to upper case and the original data remains

o

the same.
Example 1: Copy block.

Example 2: Screen image after block copy.

COLS -

Display Columns

Use the COLS command to display a line showing column numbers. To display the column
numbers, type COLS starting in the left margin of the line where the display is desired.
Example 1: COLS line command.

o
UT-346

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
Example 2: Screen image after COLS line command.

EDIT --- fDITWORK, EDX002
3( 1089)--- COLUMNS 001 072
COMMAND INPUT .='==>
SCROLL ===>HALF
***** ***** TOP OF DATA********************************
0000010 LINE 1
0000020 LINE 2
COL S - - - --+:---":1";";"'-+--- -2 - - --+- --- 3-- --+--- -4----+-- -- 50000030 LINE 3 .
***** **** BOTTOM OF .·OATA******************************
D (Delete Line) and DD (Delete Block)

Use the 0 and DO commands to delete a line or a block of data. A 'D' on a line causes the line
to be deleted when you press the enter key. More than one line can be deleted by entering aD
on each line. The DO line commands are used to delete a block of data. The DO is entered on
the first and last line of the block of data to be deleted. The first line of the block does not have
to be on the same display page as the end of the block (scrolling can take place between
defining the two OD lines). The block of data is deleted when you press the enter key the first
time after you have specified both DO commands.
Example 1: Delete block of lines.

EDIT --- EDITWORK, EDX002
COMMAND INPUT ===>
,~**** *~*** TOP OF O"AT-A.

00010
00002.0
00030
DD0040
00050
00060
00070

LI NE
L.I NE
LINE
LINE
LINE
LINE
U NE

.***** ****

1
2
3
4
5
6
7
:B":QT"TOM

7(

24)--- COLUMNS 001 072
SCROLL ===>HALF

***********************'ft********

.qr: DATA,'*'**'*~*)*:~'*:***>*'*:~**'**:*'*'******'**'*

Example 2: Screen image after block delete.

o
Chapter 4. Utilities

UT -34 7

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
I (Insert) -

Insert New Line

o

Use the I command to cause a new line to be inserted following the line where you enter the I
command. Any information typed on the inserted line is assigned a line number and becomes
part of your data when you press the enter key. If the line number assigned to the newly
inserted line is equal to, or greater than, the line number of the next sequential line, all data to
the end of the data set is renumbered automatically. If you don't enter any information, the
inserted line is deleted automatically the next time you press the enter key.
If you enter information on the inserted line and the cursor is still on the inserted line when you
press the enter key (use PF7 on the 3101), another new line is inserted automatically. This
allows you to generate line after line in a continuous insert mode. The cursor is set to the first
position where data appears in the following line.

The inserted line duplicates the current value of the edit mask line. The initial value of the mask
line is 72 blanks. You can change it at any time as noted in the description of the MASK
command.
Note: You can enter the I line command on the TOP OF DATA message line to insert a
line ahead of what is currently the first line. It is typed in the first position of the TOP OF
DATA line.
In CAPS OFF mode, the data is inserted in the work file as entered.
In CAPS ON mode, the data is converted to upper case before being inserted in the work file.
Example 1: Insert a line of text.

o

Example 2: Screen image after I line command

o
UT -348

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
II (Insert Block) -

Insert Block of Lines

Use the II command to insert a block of new data. The line with the II command is displayed at
the top of the display with twenty-one inserted lines following it. You can enter data on all
twenty-one lines before you enter it with the enter key. The new data is then saved as with the I
command. If all inserted lines have data entered on them and the cursor is left on the last line of
the display when you press he enter key, another twenty-one lines are generated. If data is not
entered on one or more of these lines, the unchanged lines are deleted and the insert mode is
ended.
Notes:
1. The II command can be entered on the TOP OF DATA message line to insert data in front of
what is now the first line. It is typed over the first two asterisks of the TOP OF DATA line.
2. The II command is different from the rest of the double character line commands. It is
entered on only one line and generates a block of twenty-one blank lines.
3. The inserted lines duplicate the current value of the edit line mask.

In CAPS OFF mode, the data is inserted in the work file as you enter it.
In CAPS ON mode, the data is converted to upper case before being inserted in the work file.
Example 1: Block insert line command.

EDIT --- ED ITWORK, EDX002
2( 24) --- COLUMNS 001072
,COMMAND INPUT===>
SCROLL ===>HALF
'***** *****TOP OF DATA ********************************
00010 LINE 1
I 100020 LINE 2
***** **** BOTTOM OF DATA ******************************
Example 2: Screen image after block insert command.
EDI 1:---- EOrrWORK, EDX002

COMMAND INPUT ===>
00020 LINE 2

z<

o
Chapter 4. Utilities

UT -349

$FSEDIT
$FSEDIT - Full Screen Editor (continued)
MASK -

Display Insert Mask

o

Use the MASK line command to display the insert mask which is used to prefill inserted lines.
The insert mask is 72 bytes long and is initialized to all blanks the first time the work data set is
used. The mask is stored in the header of the work data set. Any data filled into the mask
remains in effect until you change it or you clear it by inserting blanks. The insert mask can be
changed any time it is displayed by overtyping it with the desired information.
To display the insert mask, enter all four characters of the MASK line command by overtyping
the first four characters of the line number. For example:

The current mask is displayed following the line where you entered the MASK command.

You can replace the blank mask by overtyping it with the desired information. Once you enter
the information, the mask remains in effect until you change it. Each time you enter an I to
insert a line, the current mask is displayed on the insert line. In the following example, the mask
has been set to the characters COMMENT.

To remove the mask from the screen currently being displayed, enter the RESET command on the
COMMAND INPUT line. You cannot remove the mask using the CLEAR command.

o
UT -350

SC34-0644

$FSEDIT

o

$FSEDIT - Full Screen Editor (continued)
M (Move Line) and MM (Move Block)

Use the M and MM commands to move a line or block of lines from one location to another.
When you enter an M line command, a single line is moved to the location specified by an A or B
line command. The MM line command causes the block of data defined by the two MM line
commands to be moved to the location specified by an A or B line command. The moved lines
are removed from their original location and the entire data set may be renumbered after the
move. The move occurs when you press the enter key the first time after you define both the
lines to be moved and the destination. The destination does not have to be on the same page of
the display as the move line command(s) and you can separate the two MM line commands also.
In

CAPS OFF

In

CAPS ON

mode, the data is moved and remains the same.

mode, the data is converted to upper case before being moved.

Example 1: Move block of lines.

EDIT --- EDITWORK, EDX002
7(
24)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL.===>HALF
A**** ***** TOP OF DATA ********************************
00010 LINE 1
00020 LINE 2
00030 LINE 3
MM040 LINE 4
00050 LINE 5
MM060 LINE 6
00070 LINE 7
***** **** BOTTOM OF DATA ******************************

Example 2: Screen image after block move.

EDIT --- EDITWORK, EDX002
7(24)-------DATA RENUMBERED
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
00010 LINE 4
00020 LINE 5
00030 LINE 6
00040 LINE 1
00050 LINE 2
00060 LINE 3
00070 LINE 7
***** **** BOTTOM OF DATA ******************************

o
Chapter 4. Utilities

UT -351

$GPIBUT1
$GPIBUT1 Utility
The $GPIBUTI utility enables you to control and transfer data to and from GPIB devices
interactively. You can use this utility as a diagnostic tool, also, to check out the application
program interface and the attached devices.

o

Invoking $GPIBUT1
You invoke

$GPIBUTI

with the

$L

operator command or option 4.9 of the session manager.

$GPIBUT1 Commands
To display the $GPIBUTI commands at your terminal, enter a question mark in response to the
prompting message, COMMAND (?):.

C)

If a $GPIBUTI command fails, use the attention list command PGPIB to terminate the failing
operation. If you use PGPIB, you must issue an RS command (or RSET if GP subcommands are

used) to reset the adapter.

o
UT -352

SC34-0644

$GPIBUT1

o

$GPIBUT1 Utility (continued)
CH -

Define End Character

Use the CH command to define or change the ending character that is added to output data.

COMMAND (?): CH
CHARACTER TO BE APPENDED TO OUTPUT DATA -- NOW IS NONE
1
2

= CARRIAGE RETURN
= LINE FEED
= END OF TEXT

3
4 = USER SPECIFIED HEX BYTE
5 = NONE

SELECT CODE: 3
END CHARACTER IS NOW ETX
COMMAND(?):
CP

--c

Change GPIB Partition

Use the CP command to change the partition to which the GPIB adapter is connected. The
partition is initially defined at system generation.

C:

COMMAND (?) : CP 2
PART ITI ON CHANGED TO 2
COMMAND (?) : CP
PARTITION NUMBER (NOW IS 2);
PARTITION NUMBER NOT CHANGED
COMMAND(?):

o
Chapter 4. Utilities

UT -353

$GPIBUT1
$GPIBUT1 Utility (continued)
DD -

Use the DD command to prompt for the name of the GPIB adapter. This name is
TERMINAL configuration statement. The name specified is used for all enqueues
until you issue another DD command.

EN -

o

Define Device

specified in the
of the adapter

End The Program

Use the EN command to end the $GPIBUTI utility.

GP -

GPIB Control

Use the GP
TERMCTRL

command to enter the GPIB bus command options that can be specified using the
instruction. These are described in the Language Reference.

When you enter GP and follow it by a bus command, $GPIBUTI prompts for additional data,
depending upon the specific command. For example, the CON (configure) command requires
both configuration and programming data. For the REN (remote enable) command, you must
include a list of GPIB device addresses.
Where appropriate, $GPIBUTI performs PRINTEXT/READTEXT operations as part of the execution
of a GP command, inserting delimiters as needed. In some cases, one delimiter is a user-defined
end character. The end character can be defined by the CH command.

o
UT -354

SC34-0644

$GPIBUT1

o

$GPIBUT1 Utility (continued)
COMMAND ( ? ) : GP
GP IB COMMAND(?): CON
OPTION(SE,EOS,TO,EOI): TO
OPTION(SE,EOS,TO,EOI):

(timer override)

CONFIGURATION DATA:
PROGRAMMING DATA (OR
PROGRAMMING DATA (OR
PROGRAMMING DATA (OR

(S/l talks, plotter listens)
(initialize plotter)
(output plotter error)

?U%
NONE): IN
NONE): OE;
NONE):

CONFIGURATION DATA: ?E5
PROGRAMMING DATA (OR NONE):
PROGRAMMING DATA (OR NONE):

NONE

(plotter talks, S/l listens)
(no data)

CONFIGURATION.DATA:
GPIB COMMAND(?}: READ
OPTION(SE,EOS,TO,EOI}: SE
(suppress exceptions)
WARNING - EOS OR EOI REQUIRED ...
OPTION(SE,EOS,TO,EOJ): EOS
(end of string character)
WARNING - SE MAY BE NEEDED
.
EOS BYTE (HEX); 00
(X'OD')
OPTION{SE,EOS,TO,EOI):
TRANSLATE INPUT? Y
HOW MANY CHARACTERS (MAX=DEFAULT=80):
VALUE DEFAULTED TO 80

o

(let default)
(error code=O)

COMMAND(?):
LDCB -

List Device Control Block

Use the LDCB command to list the contents of the current GPIB device control block (DCB). The
DCB describes the last GPIB operation performed. However, the information provided may
require that you use the GPIB Adapter manual. The items listed include:
Address of the GPIB terminal control block (CCB)
Address of the GPIB device control block (DCB)
•

Status of the DCB control word, specifically:
Cycle-steal status key (that is, the address space of the data buffer)
GPIB

operation mnemonic (for an undefined operation, '****')

Status of the chaining, input, suppress exception (SE), end of string (EOS), timer override
(TO), and end of identify (EOI) bits, if they are set

o
Chapter 4. Utilities

UT -355

$GPIBUT1
$GPIBUT1 Utility (continued)
End of string character

o

Address of the residual status block (RSB)
•

Chain address

•

Byte count for the data transfer
Address of the data buffer
Contents of the data buffer, expressed as:
A string of hexadecimal words
EBCDIC
ASCII

characters

characters.

The DCB is checked for certain error conditions, including:
•

DCB
RSB

words two or three not equal to zero
address not equal to zero, and suppress exception set

Chain address nonzero and chaining bit set.
If the byte count is odd, the last byte in the string of hex words is not part of the buffer and

should be disregarded. Because the buffer data can be either EBCDIC or ASCII, depending on the
application, it is displayed in both character codes. In most cases, the ASCII data that is
displayed will be accurate. An inappropriate translation is displayed as a blank line.

o
UT-356

SC34-0644

$GPIBUT1

o

$GPIBUT1 Utility (continued)
The following example illustrates a

DCB

used in the execution of:

TERMCTRL GPIB,CON,TO
PRINTEXT I?U%":@I

()
RE -

Read Data

Use the

RE

command to read data from the GPIB adapter. You can also specify
functions), translation, and the number of characters to be read.

GPIB

options

(TERMCTRL

o
Chapter 4. Utilities

UT -357

$GPIBUT1
$GPIBUT1 Utility (continued)
RS -

o

Reset I/O Adapter

Use the RS command to issue a device reset to the adapter. Any pending interrupt or busy
condition is cleared when this command is executed.

COMMAND('?);

ST -

Read Error Status

Use the ST command to display the status information contained in the adapter cycle steal status
words and the residual status block (RSB).
COMMAND (?) :

ST

READ STATUS?

Y

CYCLE STEAL STATUS BLOCK (HEX)
RESrDUALA~DR£SS=
B45A
RESIDUAL BYTE COUNT ...
0050
(RESERVED)· ==
0000
(RESERVED) =
0000
ERROR STATUS
8000
BUS STATUS, (AFTER POWER ON) = 00(}8
BUS STATUS (CURRENT)
OOOA
SPEDEV ICE,ADDRESS",~
,0000
DeB SPEC IF I CATI ON CHECK =
0000
(RESERVED) =
0000
DCB ADDRESS =
'1238

=

=

'

(::)

RESJ DUAL stATUS BLOCK (HEX)
R'ES1DUAl'SYTE "COUNT = 0000
RSB FLAGS
0000"
(RESERvED) ~
0660
(RESERVE,I)
0000

=

(RESE~VED.)OOOO" (errorstatus;Jndicates time-out
wdtting~o receive data)

COMMAND(1.):

o
UT -358

SC34-0644

$GPIBUT1

o

$GPIBUT1 Utility (continued)
SU -

Suspend $GPIBUT1

Use the su command to suspend the operation of $GPIBUTI until you tell it to resume using
GPRESUME. This enables you to run $GPIBUTI concurrently with a GPIB application from the
same terminal.
, COMMAND ( 1) :" SU
,. $GPJ ~Utl$!J S~EN:DEP ,

WR -

Write Data

Use the

WR

(TERMCTRL

command to write data to the
functions) and translation.

GPIB

adapter. You can specify GPIB options

0 ',
.

l\·

Chapter 4. Utilities

UT -359

$GPIBUT1

0,',

$GPIBUT1 Utility (continued)

,

PGPIB -

Post GPIB Operation Completion

I

Sometimes a GPIB operation waits indefinitely, such as when a device fails to respond to an
operation in which timer override (TO) is specified. Use the PGPIB attention command to
complete the operation; it cancels the operation by simulating its completion. However, after a
PGPIB, the GPIB adapter is still in a busy state, so you must reset it.

OPTION (SE,EOS,H);EOI):
TRANSLATE INPtiT?

TO

,y

HOW MANY CHARACTERS (MAX=DEFAuLT=80):
VALU[ DEFAULTED TO 80
>

(user presses attention key)

PGPIB

'DATA RECEIVED:
GPIB COMMAND (?J:

GPRESUME -

RSET

Resume $GPIBUT1 Operation
If you suspended $GPIBUTI using the su command, use the GPRESUME attention command to

resume it.
(press attention
>

ke~)

GPRESUME

$GPI BUTlRESUMED
COMMAND, (1). :

$GPIBUT1 Example
The following example shows many of the $GPIBUTI utility operations. The attached device is a
plotter.

o
UT -360

SC34-0644

$GPIBUT1

o

$GPIBUT1 Utility (continued)
(Press

~ttentioh

key)

Figure 20 (Part 1 of 5). $GPIBUTI example

o
Chapter 4. Utilities

UT -361

$GPIBUT1
$GPIBUT1 Utility (continued)

1 .:i:
2 =
3. ==
4=
5 =

CARRIA.GE. RETURN
LrNEFEED" .
END ·OF TEXT
USER SPEC IFIED HEX· BYTE
NONE

SELECT CODE:

5

END CHARACTER NOW IS NONE
COMMAND (?): GP
GPIB COMMAND (?): CON
OPTION(SE,EOS,TO,EOI}:
OPTION(SE,EOS,TO,EOI):
CONFIGURATION DATA:
PROGRAMMING DATA (OR
PROGRAMMING DATA (OR
PROGRAMMING DATA (OR

(timer override)

TO

?U%
NONE):
NONE):
NONE):

IN;
OE;

talks, plotter listens)
(initialize plotter)
(output plotter error)

NONE

(plotter talks, 5/1 listens)
(no data)

(S/1

CONFIGURATION DATA: ?E5
PROGRAMMING DATA (OR NONE):
PROGRAMMING DATA (OR NONE):
CONFIGURATION DATA:

GPIB COMMAND (?): READ
OPTION(SE,EOS,TO,EOI): SE
(suppress exceptions)
WARNING - EOS OR EOI REQUIRED .,.
OPTION(SE,EOS,TO,EOI): EOS
(end of string character)
WARNING - SE MAY BE NEEDED ...
EOS BYTE (HEX): OD
(X'OD')
OPTION{SE,EOS,TO,EOI ):
TRANSLATE INPUT? Y
HOW MANY CHARACTERS (MAX=DEFAULT=80):
VALUE DEFAULTED TO 80

(let default)

o

(error code=O)

o

Figure 20 (Part 2 of S). $GPIBUTl example

o
UT-362

SC34-0644

$GPIBUT1

o

$GPIBUT1 Utility (continued)

o
Chapter 4. Utilities

UT -363

$GPIBUT1
$GPIBUT1 Utility (continued)

o

(Press attention key)
PGPIB

>

DATA RECEIVED:
GPIBCOMMAND

(1):

READ

OPTION(SE,EOS,TO,EOI):
TRANSLATE INPUT? Y
HOW MANY CHARACTERS (MAX=DEFAULT=80)
VALUE DEFAULTED TO 80
ERROR CODE = 0002
GPIB BUSY
READ STATUS?

(GPIB adapter is busy)

N

RESET ADAPTER? Y
NO DATA RECEIVED
(?):

GP~BCOMMAND

READ

OPTION(SE,EOS,TO,EOI):
TRANSLATE INPUT? Y
HOW MANY CHARACTERS (MAX=DEFAULT=80)
VALUE DEFAULTED TO 80
ERROR CODE = 0180

o

EXCEPTION ON INPUT
DEVICE DEPENDENT STATUS AVAILABLE
READ STATUS?Y
Figure 20 (Part 4 of 5). $GPIBUTI example

o
UT-364

SC34-0644

$GPIBUT1

o

$GPIBUT1 Utility (continued)
CYCLE STEAL STATUS BLOCK (HEX)
RESIDUAL ADDRESS =
B45A
RESIDUAL BYTE COUNT =
0050
(RESERVED) =
0000
(RESERVED) =
0000
ERROR STATUS =
8000
BUS STATUS (AFTER POWER ON) = 0008
BUS STATUS (CURRENT) =
OOOA
SPE DEVICE ADDRESS =
0000
DCB SPECIFICATION CHECK =
0000
(RESERVED) =
0000
DCB ADDRESS =
1238
RESIDUAL STATUS BLOCK (HEX)
RESIDUAL BYTE COUNT = 0000
RSB FLAGS =
0000
(RESERVED)
0000
(RESERVED) =
0000
(RESERVED) =
0000
RESET ADAPTER?

(error status indicates time-out
waiting to receive data)

Y

NO DATA RECEIVED
GPIB COMMAND (?):
Figure 20 (Part 5 of

5)~

END

$GPIBUTI example

o
Chapter 4. Utilities

UT -365

$HCFUT1
$HCFUT1 - Interact with Host Communications Facility
is a utility that uses the Host Communications Facility on the Series/Ito interact with
the Host Communications Facility Installed User Program on the System/370. $HCFUTI can
perform four functions:
$HCFUTI

•

Read a data set from the host (READDATA, READ80, READOBJ).

•

Write a data set to the host (WRITE).

•

Submit a job to the host (SUBMIT).

o

Status - Set, fetch, and release records in the system status data set.

Invoking $HCFUT~
You invoke $HCFUTI with the $L operator command or option 8.8 of the session manager.

$HCFUT1 Commands
To display the $HCFUTI commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

()

After $HCFUTI displays the commands, it prompts you with COMMAND (?): again. Then you can
respond with the command of your choice (for example, su).
Notes:
1. See 'Host Data Set Naming Conventions' and 'Host Data Set Characteristics' in
Communications Guide.

2. See 'System Status Data Set' in Communications Guide. Appendix B of the IBM Series/l
Host Communications Facility Program Description and Operation Manual, SH20-1819,
contains more details on its use.

o
UT -366

SC34-0644

$HCFUT1

o

$HCFUT1 - Interact with Host Communications Facility (continued)
3. The Host Communications Facility IUP, program number 5796-PGH, is required on the host
System/370.
4. Host Communications Facility must be installed and configured on the Series/I.
READDATA -

Transfer data set from host to Series/1

transfers a data set from the host to the Series/l. The host logical record size is
assumed to be 256 bytes.

READDATA

Three items of control information you must specify at execution time are:
DSl

The 1-8 character name of the Series/l data set to which data is to be
transferred, and its volume name, if not the IPL volume.

Record Count

The number of records to be transferred, beginning with the first. This would
be used if, for example, only the first 10 records of a 50-record data set are to
be transferred.
A count of zero is used to indicate that the entire data set is to be transferred.
The name of the host data set to be transferred.

DSNAME

The following is a terminal printout of a typical run. In this example, all records (length = 256
bytes each) of the host data set 'S1.EDX.TESTIN(DATA)' (which contains 40 records) are
transferred to the Series/l data set 'DATAFIL2'.
> $l $HCFUT1
LOADING $HCFUT1
8P,08.15.30, LP=4BOO
WORKFILE(NAME,VOLUME): DATAFIL2,EDXOOl

COMMAND (?): READDATA
NO. OF RECORDS TO READ(O=ALL):
DSNAME: Sl.EDX.TESTIN(DATA)
END AFTER
40 RECORDS
COMMAND
READ80 and READOBJ -

0

(?):

Transfer Records from Host to Series/1

and READOBJ transfer 80-byte records from a host data set and store them in 256-byte
Series/l disk or diskette data set records.

READ80

READ80 stores two 80-byte records per 256-byte disk record. The first 80-byte record is stored
in the first 80 bytes of the disk record. The second 80-byte record is stored starting at byte 129
of the disk record. This format is compatible with the saved results of using $EDITIN or $FSEDIT
and is also the format required for input to a language compiler or $EDXASM program
preparation. READ80 is normally used to transfer source program modules from the System/370
to Series / 1 disk.

0 ,'"
,

i~'

Chapter 4. Utilities

UT -367

$HCFUT1
$HCFUT1 - Interact with Host Communications Facility (continued)
stores three 80-byte records in the first 240 bytes of each disk record. This format is
compatible with object modules produced by any of the assembler programs. It is also the
format required for input to $EDXLINK and is one of the formats accepted by $UPDATE. READOBJ
is normally used to transfer the output object module of a host assembly to the Series/l for
processing by $EDXLINK or $UPDATE.
READOBJ

o

You invoke both READ80 and READOBJ in a manner similar to READDAT A.
Status Commands (SE , FE and REL)

The status commands are used to perform, from a terminal, the SET, FETCH, and RELEASE
functions on the system status data set. See Messages and Codes for status return codes.
The following is an example of the use of the SET function of $HCFUTI. Status return code 700
indicates that the index, key, and status records have been added ..

The following is an example of the use of the FETCH and RELEASE functions. The FETCH return
code of 802 indicates that that particular key does not exist. The RELEASE return code of 900
indicates a successful release.

SUBMIT (SU) -

()

Submit Job to Host Job Stream

causes a job to be submitted to the host job stream. See Communications Guide for
information about the requirements for host data sets.

SUBMIT

The name of the host data set containing the job control language to be submitted is specified
on the Series/l terminal. The following is a sample of the terminal printout illustrating the use
of su to submit the data set 'Sl.EDX.TESTSUB.CNTL'.

o
UT -368

SC34-0644

$HCFUT1

o

$HCFUT1 - Interact with Host Communications Facility (continued)
COMMAND (?): SU
DSNAME: Sl.EDX.TESTSUB.CNTL
JOB SUBMITTED
ANOTHER JOB? N
COMMAND (?):
WRITE (WR) -

Transfer Data Set from Series/1 to Host

transfers a data set from the Series/l to the host processor. The host logical record size is
assumed to be 256 bytes.

WR

Three items of control information you must specify at execution time are:

nSl

The 1-8 character name of the Series/1 data set to be transferred, and its
volume name, if not the IPL volume.

Record Count

The number of records to be transferred, beginning with the first. This would
be used if, for example, only the first 10 records of a 50-record data set are to
be transferred.
A count of zero is used to indicate that the entire data set is to be transferred.

nSNAME

The name of the host data set to which the data is to be transferred. The
name consists of up to 44 characters, or 54 characters for a member of a
partitioned data set.

The following is a terminal printout of a typical run. In this example, 28 records of the Series/1
data set 'DATAFILl' are transferred to the host data set 'S1.EDX.TESTOUT.DATA'.
> $L $HCFUTl
DS1(NAME,VOLUME):
LOADING $HCFUTl

DATAFILl
8P,08.15.20, LP=4S00, PART=2

COMMAND (?): WR
NO. OF RECORDS TO WRITE(O~ALL):
DSNAME: Sl.EDX.TESTOUT.DATA
END AFTER 28

28

COMMAND (?):

o
Chapter 4. Utilities

UT -369

$HCFUT1
$HCFUT1 - Interact with Host Communications Facility (continued)
Return Codes

o

Program execution will be halted until the operation is complete, and the first word of the TCB
(taskname) must be tested to determine if the operation was successful. The return codes are
shown in Messages and Codes.
Note: If an error is detected, an open data set is automatically closed for you.

o
UT-370

SC34-0644

$HXUT1

o

$HXUT1 - H-Exchange Utility
$HXUTI allows you to perform different functions for H-exchange data sets and volumes. You
can transfer data contained on $HXUTI diskettes from one system to another providing the target
system can read diskettes formatted for Standards for Information Interchange.

Volume-oriented functions consist of the following:
•

CV - Change to another H-exchange volume.
IV - Initialize volume.
LA - List contents of H-exchange volume.
LI - Redirect listings to another terminal.
LS - List space in H -exchange volume.
RE - Rename an H -exchange volume.
UV - Update H-exchange volume label.

Data-set-oriented functions consist of the following commands:
AL - Allocate data set.
DE - Delete data set.
UD - Update H-exchange data set label by name.
UH - Update H-exchange data set label by number.
You can copy data between H-exchange and EDX data sets with the following commands:
RX - Read H-exchange data set into EDX data set.
WX - Write H-exchange data set from

EDX

data set.

Note: For information on copying basic exchange diskettes see "$COPY - Copy Data Set" on
page UT-72.

o
Chapter 4. Utilities

UT -371

$HXUT1
$HXUT1 - H-Exchange Utility (continued)
Invoking $HXUT1

o

You invoke the H -exchange utility with the $L operator command or option 3.11 of the session
manager. Once invoked, $HXUTI prompts you for the name of a diskette 2D volume in order to
start the program.

If the volume name you enter is not an H-exchange diskette, $HXUTI asks if you wish to retry.

Respond

Y

and

$HXUTI

again prompts you for the name of the volume.

If you want to exit the program, press the enter key in response to VOLUME NAME=, and enter N

in response to the

TRY AGAIN (YIN)?

prompt.

()
UT-372

SC34-0644

$HXUT1

o

$HXUT1 - H-Exchange Utility (continued)
$HXUT1 Commands
To display the $HXUTI commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

COMMAND
AL
CV
DE
IV
LA
LI
LS
RE
RX
UD
UH
UV
WX
EN

(?):

?

- ALLOCATE DATA SET
- CHANGE VOLUME
- DEtETEDATA SET
- INITIALIZE VOLUME
- LIST ALL DATA SETS
- CHANGE LIsri NG DEV ICE
- LIST AVAILABLE SPACE
-RENAME VOLUME
- READ H-EXCHANGE DATA"SET INTO EDXDATA SET
- UPDATE DATA SET LABEL BY NAME
- UPDATE DATASET LABEL BY NUMBER
- UPDATE VOLUME LABEL
- WRITE H~EXCHANGE DATA SET FROM fOX DATA SET
- END PROGRAM

After $HXUTI displays the commands, you are prompted again with COMMAND
can respond with the command of your choice (for example, AL).

(?):.

Then you

Using the H-exchange utility
Commands that require parameter information prompt you for the parameters. Advance input
is acceptable, except where data is being destroyed. In those commands which alter a value, the
current value is displayed prior to the entry of the new value. Do not enter a new value if the
current value is to be saved; just press the enter key.
You can direct certain listings produced by this utility to another terminal or printer. You can
do this with the LI command. The LI command enables you to list the volume contents, volume,
or data set labels.
Data Set Copying Considerations

The copy commands support partial copies. You can select a portion of the data set to be
copied by specifying the starting and ending record numbers. These record numbers are relative
to the overall data set. In the case of a multivolume copy, the numbers are relative to all
preceding segments of the data set, not the current segment. Segments are the portions of
multivolume data sets that span diskettes. If one data set is copied completely to another, the
end of data set pointer is set to reflect the last record copied. Once a data set on a multivolume
data set is allocated, the continued/1st indicators are not modified on subsequent use of the data
set.

o
Chapter 4. Utilities

UT -373

$HXUT1
$HXUT1 - H-Exchange Utility (continued)
Naming Conventions·
$HXUTI supports a naming convention for volumes containing segments of a data set. If the
volume name for the current segment of a data set is XXXXnn (where nn is "01" through
"98"), then the copy command searches for a volume name of the form XXXXmm, where
mm=nn+ 1. For example, if the volume name for the current segment of a data set is FILEOl,
the copy command searches for a volume name of FILE02.

AL -

Allocate H-Exchange Data Set

Use the AL command to allocate a single volume H-exchange data set. You must enter the name
and size of the data set.

o
UT-374

SC34-0644

$HXUT1

o

$HXUT1 - H-Exchange Utility (continued)
When there is insufficient space in the volume to allocate the data set, $HXUTI informs you.
You then can allocate the data set at the size of the largest remaining free space in the volume.

Co.MMAND (?):
DATASET NAME:

AL
CUSTFILE

NUMBER o.F RECo.RDS:

20.0.0.

INSUFFICiENT SPACE TO ALLOCATE DATA SET
THE LARGEST EXTENT AVAILABLE Co.NTAINS 150.0. RECo.RDS
ALLo.CATE DATA SETFo.R THIS SIZE (YIN)? Y
CUSTFILE ALLo.CATED, SIZE IS 150.0. RECo.RDS
To allocate a data set which already exists, the following rules apply to the existing data set. If
the existing data set is:
Write protected - the command is terminated.
Larger than or equal to your request - it is used to satisfy your request.
Too small to satisfy your request - you are asked if the data set should be saved.

CUSTffLE ALREADY EXISTS, SIZE IS 10.0. RECo.RDS
SAVE IT? (YIN)
Note: If the data set is saved, the command is terminated. If the data set should not be saved, it
is deleted, and the new data set is allocated elsewhere in the volume.

o
Chapter 4. Utilities

UT-375

$HXUT1
$HXUT1 - H-Exchange Utility (continued)
CV -

Change to Another H-Exchange Volume

o

Use the cv command to change the H-exchange volume. (This affects all commands except for
the copy commands.)

DE -

Delete Data Set

Use the DE command to delete a H-exchange data set, if it is not write protected. You must
enter the name of the data set.

IV -

Initialize Volume

Use the IV command to initialize a diskette 2D for processing as a H-exchange volume. The
diskette must have been formatted by $DASDI to be compatible with interchange standards and
at 256 bytes per sector.

o

o
UT-376

SC34-0644

$HXUT1

o

$HXUT1 - H-Exchange Utility (continued)
LA -

List Contents of H-Exchange Volume

Use the LA command to list the contents of an H-exchange volume. The list operation lists the
names of the data sets contained on an H exchange diskette. The location and size are also
listed, both in EDX and CCHSS format. The listing also indicates if the data set is continued on
another volume or is the last in a sequence. In both cases, the sequence number is displayed.
If listings are being redirected to another terminal, a list space command is executed

automatically.
COMMAND (?):

LA

VOLUME NAME = VOL CAN
OWNER 10 = J SMITH
SYSTEM CODE = IBMEDXSl
DATA SET NAME

TYPE START

SIZE

53
163
1663
138

10
1500
100
23

ACCTPAY
ACCTREC
CUSTFILE
BILLING

H

H
H
H

BOE

EOE

01001 01010
03007 31124 LAST (02)
3112533120
02108 03004 CONTINUED (01)

The listing can be cancelled by the attention command

C~

LI -

CA.

Redirect Listings to Another Terminal

Use the LI command to direct listings to another terminaL If the terminal from which you
loaded $HXUTI is to be specified, do not enter data.
COMMAN 0 .( ? ) :

LI

LJSTINGTERMINAL:

TERM03

0·"
,.\'

Chapter 4. Utilities

UT -377

$HXUT1
$HXUT1 - H-Exchange Utility (continued)
LS -

List Space in H-Exchange Volume

o

Use the LS command to list the space available for data set definitions and data in the current
volume.

RE -

Rename an H-Exchange Volume

Use the RE command to rename an H-exchange volume.

o
UT -378

SC34-0644

$HXUT1

o

$HXUT1 - H-Exchange Utility (continued)
RX -

Read an H-Exchange Data Set into an EDX Data Set

Use the RX command to copy an H -exchange data set to an EDX data set. If the EDX target data
set already exists, it is not reallocated. If the target EDX data set does not exist, it is
automatically allocated. If the H-exchange data set resides on a single diskette, the target size is
that of the H-exchange data set. Otherwise, you are asked for the number of diskettes that the
multivolume data set spans. For each diskette, 3848 records are allocated in the target data set.
If the entire data set is copied, the EDX data set end of data is set to a value corresponding to the
H -exchange end of data.
Note: You must enter the H-exchange volume name. There is no default value defined.
Example 1: Copy an entire single volume H-exchange data set to an EDX data set.

COMMAND (?):

RX

SOURCE EXCHANGE DATA SET (NAME, VOLUME):
COpy ENTIRE DATA SET? (YIN): Y
TARGET EDX DATA SET (NAME, VOLUME):

CUSTFILE,CANTST

CUSTFILE,EDX003

CUSTFILE ALL()CATED SIZE 1$52 RECORDS
COpy OF CUSTFILE,CANTST TO CUSTFILE,EDX003 COMPLETE
"TOTAL NUMBER OF RECORDS COPIED WAS 52
Example 2: Copy part of a single volume H-exchange data set to an EDX data set.

RX
SOURCE. EXCHANGE DATA SET (NAME,vOLUME):
COpy ENT1RE DATA SET? (YIN): N
STARTING RECORD NUMBER: 5
COpy TO END OF DATASET? (yiN): Y
TAR~ET.EDXDATA SET1NAME~
~TART

ING RECORD NUMBER:

VOLUME):

CUSTF.I LE ,CANTST

TEST,CAN

1

TEST ALLOCATED, SIZE IS 20 RECORDS
,COpy OF CUSTF ILE, CANIsTTO TEST,CAN COMPLETE
. TOTAL NUMBER OF RECORDS COP IED WAS 2:0

o
Chapter 4. Utilities

UT -379

$HXUT1
$HXUT1 - H-Exchange Utility (continued)
Example 3: Copy an entire multivolume data set to an EDX data set. This example prompts
for the volume name because the H-exchange "Naming Conventions" on page UT-374 were not

o

used.

o
UT-380

SC34-0644

$HXUT1

o

$HXUT1 - H-Exchange Utility (continued)
Example 4: Copy an entire multivolume data set to an EDX data set. The multivolume data

set spans two diskettes but only contains 161 records. You will need only one diskette to hold
the EDX data set because 3848 records are allocated in the target data set, and the source
H-exchange data set has less than 3848 records. When the prompt 'HOW MANY DISKETTES
(1-99)' is issued, you can enter 1.
COMMAND (?):

RX

SOURCE EXCHANGE DATA SET (NAME, VOLUME):
COpy ENTtRE DATA SET? (YIN):
TARGET EDX DATA SET (NAME, VOLUME):
HOW MANY DISKETTES

$EDXL,CANTST

$EDXL,CAN

(1~99):

$EDXL ALLOCATED, SIZE IS 3848 RECORDS
THIS IS A MULTIVOLUME COPY
SOURCE MAY NOT FIT INTO TARGET
PLEASE MOUNTDISKETTE.WITH/FOR
NEXT SEGMENT (02) OF DATA SET $EDXL
VOLUME NAME:

c

~OLCAN

COpy OF$EDXL,VOLCAN TO $EDXL,CAN COMPLETE
TOTAL NUMBER OF RECORDS COPIED WAS 161

o
Chapter 4. Utilities

UT -381

$HXUT1
$HXUT1 - H-Exchange Utility (continued)
UD -

Update H-Exchange Data Set Label by Name

o

Use the UD command to update the data set definition or (HDRl) label by entering the data set
name associated with that label. If a field is not in conformity with the standard, the utility lets
you know about it. In the following example, the end of data extent is changed from 01123 to
40001, and the write protect indicator is set.

o
If listing redirection is in affect, using the LI command, the system requests no input.

o
UT -382

SC34-0644

$HXUT1

o

$HXUT1 - H-Exchange Utility (continued)
UH -

Update H-Exchange Data Set Label by Number

Use the UH command to update the data set definition or (HDRl) label by entering the positional
number for the label. Enter N to refer to the Nth label. If a field is not in conformity with the
standard, the utility lets you know about it.
COMMAND (?):

UH

HDR 1 NUMBER:

13

HEADER IDENTIFIER LABEL (NOW IS IHDR1 I):
DATA SET NAME (NOW IS IACCTREC'):
BLOCK LENGTH (NOW IS '256'):
RECORD ATTRIBUTE (NOW IS ' I):
BEGINNING OF EXTENT (NOW IS '01123'):
PHYSICAL RECORD LENGTH INDICATOR (NOW IS '
END OF EXTENT (NOW IS '40001 I):
RECORD/BLOCK FORMAT (NOW IS' '):
BYPASS INDICATOR (NOW IS ' I):
SECURITY INDICATOR (NOW IS ' I):
WRITE PROTECT INDICATOR (NOW IS ' I):
EXCHANGE TYPE (NOW IS 'H'):
MULTIVOLUME INDICATOR (NOW IS 'C');
VOLUME SEQUENCE .NUMBER (NOW IS '021):
CREATION DATE (NOW IS '
I):
RECORD LENGTH (NOW IS I I):
OFFSET TO NEXT RECORD SPACE (NOW IS' '):
EXPIRATION DATE (NOW IS I ' ) :
VERIFY/COPY INDICATOR (NOW IS ' 'I;
DATA SET ORGANIZATION (NOW IS ' ":
END OF DATA (NOW IS '01123'): 40001
SYSTEM CODE (NOW IS 'IBMEDXS1 I):
FILE ACCESS TYPE (NOW IS' I):
UV -

I):

Update H-Exchange Volume Label

Use the uv command to update the volume label. If a field is not in conformity with the
standard, the utility will let you know about it and force you to reenter it.
COMMAND!?):

UV

VOLUME LABEL IDENTIFIER (NOW IS 'VOLCAN'):
\lOLUMEN~ME(NOW ISIVOLCAN'):
.ACCESSI BI LITY INO I CAtOR (NOW IS I I):
SYSTEM CODE (NOW IS 'IBMRPSS1 1 ) : IBMEOXS 1
OWNER I'DENTIFI.ER (NOW.I S I ' ) : J SMITH
LABEL EXTEN$ION INDICATOR (NOW IS ,I I):
VOLUME :SURFACEI NOI CATOR .( NOW IS 1M I):
EXTENIAR~ANGEMENT I NDrcAT()R (NOW IS II) . :
SPECIALREQUI REMENTSJNDICATOR (NOW IS I. I):
PHYSICAL RECORD LENGTH (NOW IS -','):
PHYSI~ALRECO~DSEQUENCI CODE (NOW IS I I ) :
STANDAROVERSION (NOW IS 'WI);

o
Chapter 4. Utilities

UT-383

$HXUT1
$HXUT1 - H-Exchange Utility (continued)
WX -

Write H-Exchange Data Set From EDX Data Set

o

Use the wx command to copy an EDX data set to an H~exchange data set. The H-exchange data
set is allocated automatically according to the rules described in the explanation of the allocate
command (AL). If the source data set will not fit onto the target volume, the system requests
new diskette volumes. Partial copies are supported.
Note: You must enter the H -exchange volume name. There is no default value defined.
Example 1: Copy a small EDX data set to a single volume H-exchange data set.

Example 2: Copy a partial EDX data set.

o
UT-384

SC34~0644

$HXUT1

o

$HXUT1 - H-Exchange Utility (continued)
Example 3: An EDX data set may be too large to fit on a single data set. If so, the utility

prompts you for the name of the volume where the next portion of the data set is to be copied.

c~

o
Chapter 4. Utilities

UT -385

$IMAGE
$IMAGE - Define Formatted Screen Image
You can use $IMAGE to create formatted screen images for use with terminals that support static
screen functions (for example, 4978, 4979, 4980, or 3101 block mode display terminals). The
system stores the image (a formatted screen) in a disk or diskette data set for later retrieval by
application programs or by this utility for modification.

o

Data Set Requirements
Before you invoke $IMAGE, use $DlSKLjT1-tQ allocate a disk or diskette data set to store the
formatted screen image created by $IMAGE. The formatting information and text are stored in a
compressed format to conserve space. A stored screen may be any size from one character
position up to an entire physical screen; therefore, the amount of space on disk or diskette
required to store a given screen image varies. For most 4978 and 4980 static screens, a data set
two records in length is adequate. For complex 4978 and 4980 screen formats, a data set 8
records in length is recommended; for complex 3101 screen formats, a data set 15 records in
length is recommended.

Considerations for Using $IMAGE
contains a fixed-size buffer that is used in the creation of screens. Protected data fields
are placed in the buffer first and then any remaining space is used for unprotected data fields.
As a result, the number of unprotected data fields on a screen that can have predefined data is
dependent upon the number of protected data fields.
$IMAGE

$IMAGE can format 4978 and/or 3101 images, depending on your requirements. The formatted
screen subroutines provide support for both 4978 and 3101 displays by selecting the appropriate
parameters. With these subroutines, you can use 4978 or 4980 images for the 4978, 4980, or
the 3101. However, the 3101 supports fewer unprotected data fields with default data than the
4978 or 4980. Therefore, the migration of a 4978 or 4980 image to the 3101 may result in the
truncation of default data within the unprotected data fields. This truncation does not cause the
actual unprotected or protected fields to be lost; however, insufficient FTAB space within an
application will make it appear to be lost. The message "3101 UNPROTECTED DATA
TRUNCATED" is a warning to be aware that the size of your FTAB buffer must be larger than
the average size (300 words) used in $IMAGE. $IMAGE expands its own FTAB area whenever you
specify a sufficiently large dynamic storage area at load time. If your display is a 3101 image,
you select a subroutine that processes 3101 images. For a description of the formatted screen
subroutines, $IMDATA, $IMDEFN, $IMOPEN, and $IMPROT, see the Event Driven Executive
Language Programming Guide.

C)

The system sets end-of-file to indicate if a 3101 datastream is included with the 4978 or 4980
format. Therefore, you should use formats only with application programs or $IMAGE and not
other utilities.
Note: If you define screens with EOL/EOF or DEL keys, the system inserts blanks in the 3101,
4978, and 4980 screen images.

o
UT -386

SC34-0644

$IMAGE

o

$IMAGE - Define Formatted Screen Image (continued)
Formatting Screens with $IMAGE
Formatting a screen image on a 4978 or 4980 consists of defining protected and unprotected
areas. The 3101, however, uses attribute characters to.further define the visual characteristics
of protected and unprotected areas. Attribute characters appear as protected blanks on the
display screen. Hence, the characters preceding and following an unprotected area (input area)
appear as protected blanks. These attribute characters must be taken into account when
designing a screen image that will be displayed on the 4978, 4980, and/or the 3101. A
description of defining the screen formats for the 4978, 4980, and the 3101 terminals follows.
For an aid in laying out the format of the screen to be defined, refer to the IBM 3270
Information Display System Layout Sheet, GX27-2951.
4978/4980 Screen Format

Visualize a screen format for a 4978 and 4980 as a matrix (usually 24 x 80) of characters that
directly represents the image displayed on the screen. The system displays a character at
position (m,n) in this matrix at position (m,n) on the screen. A character can possess only one
attribute in a 4978 and 4980 image: its protection status (protected or unprotected). As a
result, you do not need to specify explicit attributes for characters. Character positions on a
4978 or 4980 screen are defined as follows:

c

Protected - positions on the screen where data values are entered during the protected field
definition mode (PFl). Once the screen is formatted, these positions will remain as defined
until you enter PFI mode again and change them.
Unprotected - positions defined with a specified null character during the protected field
definition mode (PFl) and referred to as the input fields (areas on the screen that accept
operator input). After you have defined the unprotected fields in PFI mode, you can modify
these positions to contain data values by entering the unprotected field definition mode
(PF2).

Characters in protected positions are displayed with low intensity; those in unprotected positions
are displayed with high intensity.
For an example of formatting a screen image on a 4978 or 4980, refer to the program
preparation example in the Event Driven Executive Language Programming Guide.

Chapter 4. Utilities

UT -387

$IMAGE
$IMAGE - Define Formatted Screen Image (continued)
3101 Screen Format

o

A screen format designed for a 3101 can also be visualized as a matrix (usually 24 x 80) that
directly represents the image previously defined on the display. Additionally, the format consists
of attribute characters for use only on a 3101 display. Fields on the display are defined as either
protected or unprotected (specified by the defined null character). The attribute characters
define the visual attributes of the characters that will follow on the display. Since a number of
possible attributes exist, you can format portions of the display into fields by assigning the
following attributes.
High intensity - the characters in a designated field are displayed in a higher intensity than
the rest of the display
Low intensity Nondisplay Blinking -

the characters in a designated field are displayed in normal intensity
the characters in a designated field are not displayed

the characters in a designated field blink.

Note: If you do not use attribute characters, then protected positions are displayed in low
intensity; unprotected positions are displayed in high intensity. However, if the first position on
the 3101 display is unprotected, the entire first field will be displayed in low intensity. On the
3101, you can define these areas with other attributes, such as blinking versus non blinking or
display versus nondisplay.

Once you have created a screen image using the attribute bytes, each attribute byte occupies a
character position on the display and is visually represented by a blank. As a result, the
characters preceding and following unprotected fields always appear as protected blanks on a
3101 display. This is because attributes are defaulted, if not explicitly specified, between the
protected and unprotected fields on a 3101 display.

o
UT -388

SC34-0644

$IMAGE

o

$IMAGE - Define Formatted Screen Image (continued)
Displaying Screens

When you display a screen designed for a 4978 or 4980 on a 3101, the character preceding and
following each unprotected field becomes a blank. This may necessitate slight modifications to
such screens. For example, if you have not allowed for proper spacing, you can lose a portion of
a protected field. The following areas on a 4978 or 4980 display
NAME:@@@@@<--(S characters)
will be displayed on a 3101 as follows:

~

NAME @@@@@ --(5 characters)

On the 3101 display, the last character (:) in the first protected field and the first character
in the second protected field are lost because the characters preceding and following the
unprotected field appear as protected blanks and overlay the data values defined in those
protected positions.

«)

Screen formats designed for a 3101 that have attribute characters defined can be displayed on a
4978 or 4980. The attribute characters (protected blanks) are ignored and the fields default to
the protected and unprotected areas as defined.

Invoking $IMAGE
You invoke

$IMAGE

>$L $IMAGE
LOADING $IMAGE

with the

$L

operator command or option 4.4 of the session manager.

78p,00:44:30, LP= 9200, PART=l

COMMAND (?):

Chapter 4. Utilities

UT -389

$IMAGE
$IMAGE - Define Formatted Screen Image (continued)
$IMAGE Commands

()

When you load $IMAGE, it is in command mode and you can choose any of the available
commands. To display the $IMAGE commands at your terminal, enter a question mark in reply
to the prompting message COMMAND (?):.

After $IMAGE displays the commands, it prompts you again with COMMAND (?):. Then you can
respond with the command of your choice (for example, DIMS).
Notes:
1. You can enter these commands in command mode only. They are not available in edit
mode. Therefore, you should define the null character, the dimensions, and the tab settings
before you enter edit mode (EDIT).
2. The values you enter for the ATTR, DIMS, HTAB, NULL, and VTAB command remain in effect
until you change them or you end the utility.
3. If the message "INTERNAL 3101 DATA STREAM TOO LARGE" appears when you
enter the EDIT command, then you must increase the size of the buffer containing the 3101
data stream. This can be done only when you load $IMAGE by specifying a sufficiently large
value for the storage parameter on the $L command. (Example - $L $IMAGE,,6000.) If you
do not specify this value, it defaults to 4608.

o
UT -390

SC34-0644

$IMAGE

o

$IMAGE - Define Formatted Screen Image (continued)
ATTR -

Define Attribute Characters

Use the ATTR command to define the characters that represent the attribute bytes on a 3101
display screen. You are prompted with the type of attribute and its existing value. If you do not
enter a new character to represent the attribute byte, it defaults to the character displayed. If
you wish to delete an attribute character, enter a space to represent the attribute byte.
Note: You must not use an attribute character as a character on the protected portion of the
screen. For example:

COMMAND (?):

ATTR

ATTRIBUTE CHARACTERS WITH MDT OFF:
(NOW IS

I

I )

%

HIGH INTENSITY (NOW IS

I

I )

*
$

LOW INTENSITY

BLINKING

(NOW IS

I

I )

NONDISPLAY

(NOW IS

I

I )

=

&

DO YOU WISH TO DEFINE ATTRIBUTE CHARACTERS WITH MOTON?

N

COMMAND (?):
Once you define attribute bytes, you can change them by issuing the ATTR command again. The
command will display the attribute bytes that are currently defined in the (NOW IS ' ')
portion of the prompt and you can change or delete the attribute characters that you no longer
need.

ATTR

If you define an attribute character that is already in use, the following warning message is

issued.

CHARACTER ALREADY IN USE (WARNING)
If you replace a previously defined attributed character with a blank, the following message is

issued:

L

CHARACTER REMOVED

If you do not enter a character in response to the prompt, the following message is issued:
LCHARACTER NOT CHANGED

o
Chapter 4. Utilities

UT -391

$IMAGE
$IMAGE - Define Formatted Screen Image (continued)
$IMAGE prompts you as to whether or not you want
tag (MDT) on. If you respond Y, the fields specified

to define characters with the modified data
with that particular attribute character will
be flagged as having been modified by the operator you can access them with the READTEXT
instruction.

DIMS -

o

Define Screen Dimensions

Use the DIMS command, followed by the number of lines and the line size, to define the
dimensions of the new screen image you are creating. For example:

Defining the dimensions for a new screen image will destroy any previously defined screen
image that has not been saved.
Note: To define a screen image format for the 3101 so that the ATTR command may be used to
specify attribute bytes, the dimensions of the screen must be 24 x 80.
EDIT -

Enter Screen Mode

Use the EDIT command to place $IMAGE in edit verification mode. If you are going to edit an
existing screen image, enter the data set name and volume containing the image with the EDIT
command. If you are creating a new screen image, enter EDIT without reference to a data set.
Notes:
1. If you are modifying an existing screen image, you must redefine the null character each time
you invoke $IMAGE ..
2. The volume, if unspecified, defaults to the IPL volume. If you do not specify a data set
name, then the program displays the currently defined image.
Examples

o
UT -392

SC34-0644

$IMAGE

o

$IMAGE - Define Formatted Screen Image (continued)
END -

End $IMAGE

Use the END (or EN) command to end the $IMAGE utility. If the screen image has been modified
since the last SAVE operation, the following question is issued:

l

SAVE FINAL I MAGEl

Respond y to save the image, N if you don't want it saved.
FTAS -

Display Field Table

Use the FTAB command to display or print a table, created by $IMAGE, containing the field, row,
column, size, and attributes of the unprotected fields in the last screen image created or edited.
The table is printed on the device labeled $SYSPRTR unless you specify another device. For
example:
FTAB
FTAB

(prints on $SYSPRTR)

*

(displays on terminal that issued
the command)

FTAB $SYSLOGA

(prints on device labeled as
the alternate logging device)

If the device you specify is not defined, the table is displayed on the terminal that issued the
FTAB

command.

Following is an example of a table displayed by FTAB where the character @ is defined as an
attribute character by the ATTR command:
FIELD
1
2

3

ROW
7
10

13

4

16

5

20

COLUMN

LENGTH

ATTRIBUTE

46
46
46
46
49

15
15

@
@
@
@
@

3

8

Only a screen image formatted with dimensions equal to 24 x 80 will contain the attribute
characters defined for each field.

o
Chapter 4. Utilities

UT -393

$IMAGE
$IMAGE - Define Formatted Screen Image (continued)
HTAB -

Set (Horizontal) Tabs for Edit

o

Use the HTAB command to define the horizontal tab settings to be in effect during edit mode.
For example:

If you do not define HTAB, it defaults to the following settings: 10, 20, 30, 40, 50, 60, and 70.

The tab settings allow you to position the cursor to the corresponding display positions with the
PFI key in edit mode. If a tab value exceeds the line size or is not in ascending order, then the
cursor moves to the next line when the invalid setting is encountered.
KEYS -

Display Use of PF Keys

Use the KEYS command to list the functions of the PFl,PF2, and PF3 keys immediately after you
enter the edit mode.

Once you have chosen either PFI or PF2 to enter data, PFI and PF2 function as the horizontal and
vertical tab keys (respectively) when you are defining protected or data fields in EDIT mode.

()

o
UT -394

SC34-0644

$IMAGE

o

$IMAGE - Define Formatted Screen Image (continued)
NULL -

Define Null Character

Use the NULL command to define a character that is interpreted as the null character during
editing of the image. In edit mode, you enter a null character in each position in which you want
to display unprotected data or which is to accept data entered by the operator. For example:

COMMAND (?):
COMMAND (?):
t OMMAND (?):

NULL .
NULL ,
NULL

Once you have defined the null character, you can change it by issuing the NULL command
again. You are prompted with the existing value for the null character. The NULL command
displays the null character currently defined in the (NOW IS ' ') portion of the prompt. If you
do not enter a new character to represent the null character, it defaults to the character
displayed. For example:

COMMAND
NULL

(?):

NULL
(NOW IS

1,1)

If you define a null character that is already in use, the following warning message is issued:

c

NULL CHARACTER ALREADY IN USE (WARNING)
If you replace a previously defined null character with a blank, the following message is issued:

l

CHARACTER REMOVED

If you do not enter a character in response to the prompt, the following message is issued:

l

NULL CHARACTER NOT CHANGED

Notes:
1. If you are modifying an existing screen image, you must redefine the null character each time
you invoke $IMAGE.
2. If the NULL command is not defined prior to an editing session, the null character defaults to
a period (.). As a result, all periods defined as protected assume an unprotected status in
subsequently edited screens.

Chapter 4. Utilities

UT -395

$IMAGE
$IMAGE - Define Formatted Screen Image (continued)

'·"
0
,

PRNT -

Print Screen Images and Tables

.,;

Use the PRNT command to display or print the screen image of the last screen created or edited
as it appears when in PFlmode (protected field definition mode). The screen image is printed
on the device labeled $SYSPRTR unless you specify another de-vice.. Fot eumple:

H the device you specify is not def'tned, the screen image is displayed on the terminal that issued
the PRNT command.
The screen image displayed by PRNT is surrounded by a box numbered in increments of five to
allow column verification. The def"med null character is displayed and; if the dimensions of the
screen equal 24 x 80, the defined attribute characters are also displayed.
Sample PRNT displays: The dimensions of the following screen image do not equal 24 x 80;
therefore, defined attribute characters are not displayed.
DIMS

o

12
S

40
10

15

20

25

30

()

35

+---+-~--+----+----+----+----+----+----

O+$IMAGE

+0

SUBSCREE~

I

I

IUNPROTECTED FIELDS WITHOUT DEFAULT DATAl
iFIELDI .•. _ FIELD2 •••..•.• FIELD3.
I

I

5+UNPROTECTED FIELDS WITH DEFAULT DATA:
IFIELD4 •••• FIELDS ..••••.• FIELD6.
i

I

+5

I

!

~

i

~

I
+10

10+
ITHIS SCREEN IS 12 BY 20 IU SIZE

I

+---+----+----+----+----+--~-+----+----+

o

S

10

15

20

25

30

35

NULL CHARACTER IS '."

The dimensions of the following screen image equal 24 x 80; therefore~ PR.Nt displays the
def"med attribute characters used in formatting the screen image.

o
UT-396

SC34-0644

$IMAGE

o

$IMAGE - Define Formatted Screen Image (continued)
DIMS:

o

80

24

5

15

10

20

25

30

35

40

45

50

55

60

65

70

75

+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+---0+$SMM0209: SESSION MANAGER $UPDATE PARAMETER INPUT
IENTER/SELECT PARAMETERS:
I

MENU--~----------------------+O

DEPRESS PF3 to RETURN I
I
I
I
+5

5+
(NAME, VOLUME)

===========>

PROGRAM OUTPUT (NAME, VOLUME)

===========>

OBJECT INPUT

I

10+

+10

I

REPLACE

(ENTER YES IF PROGRAM EXISTS)

==>

I

15+
LISTING (TERMINAL NAME / *)

I

+15

============>

I

NOTE: THE OBJECT INPUTDV
ADDRESS: 03
VOLUME:EDX002
EDX002 DELETE?Y

EDX002 DELETED

EN -

End $INITDSK

Use the

EN

command to end the

$INITDSK

utility.

Example: End $INITDSK.

COMMAND: EN
$INITDSKENPED.AT 00:06:59

o
UT-406

SC34-0644

$INITDSK

o

$INITDSK - Initialize Direct Access Device Volume Control (continued)
ID -Initialize Device

Use the ID command to write the volume directory on a 4962, 4963, 4967, DDSK-30 ,DDSK-60
disk device, or a multiple volume diskette.
Note: Be sure to format a new diskette with primary option 1 of the $DASDI utility before
initializing it with the ID command.
You must initialize each disk device with a volume directory which INITDSK writes at a default
record number. When you use ID, you may write the directory number to a record number other
than the default. $INITDSK prompts you for the size of the device, the directory default, and its
current record number. Once you use ID, you can no longer access the data that the disk device
or multiple volume diskette contained previously.
also writes a volume label and owner identifier on a diskette. The volume label must be 1 to
6 characters; the identification must be 1 to 14 characters.

ID

Once you initialize a disk or diskette, you may want to:
1. Allocate a volume(s) or a fixed-head volume on the disk.
2. Initialize the disk or diskette volume(s).

c'

3. Set write verify on.
4. Copy the current system nucleus.
5. Write IPL text on a disk or diskette volume.
The ID command prompts you for all of the above steps for disk or multiple volume diskette and
steps 2 and 5 for diskette to perform these functions. You can also perform the functions by
invoking the AF, AV, II, IV, or wv commands individually.

Chapter 4. Utilities

UT -407

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
Example 1: Initialize a disk volume. $INITDSK prompts you for the information required to

o

initialize a disk volume.

(DoYQuwant tomQve thedtrectory?)

THERE ARE
THE DEFAULT OF THE VOLUME DIRECTORY
FOR THIS DEVICE IS RECORD #
129.
IT NOW EXISTS AT RECORD #
129.
DIRECTORY NUMBER OK? N
(Enter the new record number. Th. number you enter,
if you choose to move the directory, han approximate
record number. The system calculates th~exact record.)

IN ORDER TO RELOCATE THE VOLUME DIRECTORY IN THE DEVICE,
THE NEW RECORD NUMBER MUST BE GREATER THAN THE DEFAULt.
NEW RECORD NUMBER:

50000

DIRECTORY WILL BE MOVED TO RECORD

~UMBER

Y

50049

THE VOLUME DIRECTORY HAS BEEN RELOCATE!)
DISK INIT IAL IZE 0
.
(Do you want to allocate a volume? If you replyV,
the next prompt asks if you want afixed~head volume. If
you reply Y, the system allocates. a fixed-head volume and
does not use this prompt again in the automatic prompt
sequence for thls disk.)

ALLOCATE A VOLUME? Y
IS THE VOLUME A FIXED HEAD VOLUME? Y
VOLUME: FHVL48
Figure 22 (Part 1 of 2). Initialize a disk

o
UT -408

SC34-0644

$INITDSK

o

$INITDSK - Initialize Direct Access Device Volume Control (continued)

Figure 22 (Part 2 of 2). Initialize a disk

o
Chapter 4. Utilities

UT -409

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
Example 2: Initialize a single-volume diskette. $INITDSK prompts you for volume and IPL text
initialization. If you initialize the· diskette as a multivolume diskette, the system issues a series of
automatic prompts until you respond N to the allocate-volume prompt. If you do not initialize
the diskette as a multivolume diskette, the series of automatic prompts occurs only once for the
diskette you are initializing.

o

(~-..

\

\""Ji

Figure 23. Initialize a diskette

o
UT -410

SC34-0644

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
Example 3: Initialize a multivolume diskette .
. . COMMAND (1).: 10.
, :.DEVJCE .• ADD~£SS :P~ ." ............... ,...... "................ ,
. ·:rN:ltr:1Al.I:ZE .•·O;EV teE. ··MA:y • DESrROY·Att .·.OAT.A·
'CONTINI:JE.?>Y .•...•.•.•. <';"< .. :":
. ':.:.'
'INl.T;';ALIZE . DtSKE.TTE ..AS·MUL'T'IVOLUMETYPE? Y
NEW\lOLUME LABEL: "EO'XOOS
ENTE~OWNERIDENTIFltA(ioN:~EPT A10
Mu0TI VOlUME: TYPEDJ SK'ETTE>I NrTIAL IZED'
~ :-.;:~.,,;,.

<'

>l"

,<'

':"

":"'~~':~'.:l·"·:·;-"'·2·······'·

<

Figure 24. Initialize a multivolume diskette

0

:1

..~

Chapter 4. Utilities

UT-411

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)

o

Use the II command to write the IPL text on a disk or diskette volume (the first sector of the disk
or diskette). IPL text will then point to the IPL target (system nucleus) from which you wish to
IPL. ayou may use any nucleus as the IPL target. This allows you to define more than one
supervisor; however, the IPL text includes only one supervisor's location. When you write IPL
text with the II command on a specific volume, the system replaces the previous IPL text.
$INITDSK prompts you for the following information:
•

The name of the system nucleus you want used as the IPL target. You can specify the full
name of the nucleus, for example, $EDXNUCX (where x is any alphanumeric character) or
only the last character of the nucleus name (for example, x for $EDXNUCX).

•

The name of the volume containing the IPL target nucleus. The system writes IPL text on the
disk or diskette containing this volume.

The following two examples show initializing IPL text. The first example shows specifying the
full name of the system nucleus ($EDXNUCT); the second shows specifying only the last
character of the nucleus name (T). The results are the same in each example.
Example 1: Initialize IPL text; specify full name of nucleus.
C.OMMAND .( 1.): II

NUCLEUS: .EDXNUCt
VOLUME: EDX002

I PL TEXTWRI TTEN

COMMAND (1):
Example 2: Initialize IPL text; specify only last character of nucleus name (T).
COMMAND (1 ): J I

NUCLEUS:T .........• '
VOLUME :EDXO()2 ...

IPL.tEXTWRITTEN

Notes:
1. When specifying the name of the volume you want initialized, specify EDX002 for disk or
multivolume diskettes; for single-volume diskettes, specify your volume ID.
2. If you define the IPL nucleus to be other than $EDXNUC (allocated by $INITDSK), the system
may move the nucleus if you compress ($COMPRES) the volume or the device. The IPL text
then points to the wrong address unless you use II to rewrite the'IPL text on the volume.
Also, if the system moves $LOADER, you must use the starter system from diskette to load
$INITDSK.

o
UT -412

SC34-0644

$INITDSK

o

$INITDSK - Initialize Direct Access Device Volume Control (continued)
IV -

Initialize Volume

Use the IV command to initialize (write) a data set directory in a disk or diskette volume. You
have allocated the volume using the AV command. $INITDSK prompts for the following
information:
The name (1 to 6 characters) of the volume you want initialized.
The number (in decimal) of data sets you want in the volume.
Whether or not you wish to allocate

$EDXNUC

on the volume.

$INITDSK only prompts to allocate $EDXNUC if the volume is large enough to contain the system
nucleus. If you respond Y, $INITDSK copies the current $EDXNUC from volume EDX002. If you
have $EDXNUC allocated, $INITDSK also asks if you want the IPL text initialized. If you respond
Y, it writes the IPL text on the volume and points to the system nucleus that it just copied. This
allows you to IPL from this volume. If you respond N, the system does not initialize the IPL text.
To be able to point at a later time to the system nucleus just copied, use the II command.

Once you use

IV,

you can no longer access the data that was on the volume before.

Note: After you issue an
of the 4964.

IV

to a diskette on a 4964 device, you should open then close the door

Example: Initialize a volume containing $EDXNUC.

0

"1",'
:~

Chapter 4. Utilities

UT -413

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
LAV -

List All Volumes

o

Use the LAV command to list the volume(s) on all disks or diskettes on the Series/1 and the
number of records in each volume. LAV first lists information for the device you are using
currently and then lists other devices.
$INITDSK

prompts you for the following information:

•

Whether or not you want to list the directory information.

•

Whether or not you want to list the free space chain.

uses the directory to keep track of the amount of free space available on a volume. You
can list available free space, if it exists, by responding y to the LIST FREE SPACE CHAIN? prompt.

EOX

You can direct the list to a printer or display station other than the one you are currently using
by specifying the address of the target device.

o
UT-414

SC34-0644

$INITDSK

o

$INITDSK - Initialize Direct Access Device Volume Control (continued)
Example: List all volumes.

Note: FIRST REC is the number of the record containing the first record of the volume, relative
to the directory.

Chapter 4. Utilities

UT -415

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
LP -

List Performance Volumes

o

Use the LP command to list only volumes designated as performance volumes. You can indicate
the device whose volumes you want listed by entering the command and the device address (in
hexadecimal).
Example: List performance volumes for disk at device address 03.

LV -

List Volumes

Use the LV command to list the volume(s) on a disk or diskette and the number of records in
each volume. $INITDSK prompts you for the following information:
•

The address (in hexadecimal) of the device.

•

Whether or not you want to list the directory information.

•

Whether or not you want to list the free space chain.

o

uses the directory to keep track of the amount of free space. If free space exists on the
volume, you can find it listed under the directory information. $INITDSK issues the LIST FREE
SPACE CHAIN? prompt so you can list the location of the free space and its size (number of
256-byte records).

EDX

You can direct the list to a printer or display station other than the one you are currently using
by specifying the address of the target device.

o
UT -416

SC34-0644

$INITDSK

o

$INITDSK - Initialize Direct Access Device Volume Control (continued)
Example 1: List volumes on the disk at address 03.

Note: FIRST REC is the number of the record containing the first record of the volume, relative
to the directory.

o
Chapter 4. Utilities

UT -417

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
Example 2: List volumes on disk at address 48.

o

This list volume example corresponds to Figure 22 on page UT -408 in which the user moved the
directory to a record other than the default. In addition, this example lists the free space
available on the volume. FIRST REC is the number of the first record within the free space and
SIZE is the amount of free space (number of 256-byte records) starting at the FIRST REC.

o
UT -418

SC34-0644

$INITDSK

o

$INITDSK - Initialize Direct Access Device Volume Control (continued)
RD -

Rename Diskette VOL1/0WNERID

Use the RD command to rename a volume label (VOLl) and owner id on a diskette. You can use
individual diskettes on different diskette devices on the same or a different Series/I. Therefore,
you should assign each a unique name called a volume label. Owner identification indicates who
owns the contents of the diskette. When you rename the volume label and owner id on a
diskette, you can no longer access the data under the old name.
$INITDSK supplies the current volume label and the current owner ID and prompts you for your
new volume label and owner ID.

Example: Rename an existing volume label and owner identification.

If you enter the address of a device other than a diskette, $INITDSK issues the following message:

RV -

Rename Volumes

Use the RV command to rename a volume on a disk or multivolume diskette device. When you
rename a volume, you can no longer access the data under the old name. You can rename a
volume with a name that exists on another disk or diskette on the system, but this is not a
recommended procedure. This should be used only as the last step before you remove your
diskette. $INITDSK prompts you for the address of the volume you want renamed, the current
volume name, and the new volume name.
Example: Rename a volume.

o
Chapter 4. Utilities

UT -419

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
SV -

Split Volume

o

Use the sv command to split an existing disk volume or multivolume diskette volume and to
allocate an additional volume or volumes in the free space at the end of the existing volume.
With the option of defining additional volumes, the sv command enables you to utilize the entire
disk. Splitting a volume does not alter existing data.
To define additional volumes on a disk device, the free space must be contiguous and at the end
of the volume. If the available free space is fragmented, use $COMPRES to compress the volume
before using the sv command. If the size of the volume (in re.cords) specified on the sv
command exceeds the space at the end of the volume, the system issues a message and does not
allocate the new volume.
To determine if you have free space on a disk device and if that free space is contiguous or
fragmented, use either of the following commands:

•

LV command of $INITDSK
LS command of $DISKUTI

You cannot split a volume on a single-volume diskette device.
Example 1: Split a volume with sufficient free space at the end of the volume.

Example 2: Split a volume without sufficient free space at the end of the volume.

o
UT -420

SC34-0644

$INITDSK

o

$INITDSK - Initialize Direct Access Device Volume Control (continued)
VD -

Verify Device

Use the VD command to verify that each record in a disk or diskette device is readable. The
system locates defective records so that you can assign alternates with the $DASDI utility. The
system issues a message for each defective record it locates. Verifying records on a disk or
diskette device does not modify the data currently on the device. $INITDSK prompts you for the
address (in hexadecimal) of the device you want verified.
Example: Verify a device.
COMMAND .. (7): VD
DEVluCE ADDRESS: 48

229632 RECORDS VERIFIED
COMMAND (7):

VV -

Verify Volume

Use the vv command to verify that each record in a disk or diskette volume is readable. The
system locates defective records so that you can assign alternates with the $DASDI utility. The
system issues a message for each defective record it located. Verifying records on a disk or
diskette volume does not modify the data currently on the volume.

c

$INITDSK

prompts you for the following information:

The name of the volume you want verified.
Whether or not you wish to verify the entire volume.
The number (in decimal) of the first record you want verified.
The total number (in decimal) of records you want verified.

o
Chapter 4. Utilities

UT -421

$INITDSK
$INITDSK - Initialize Direct Access Device Volume Control (continued)
Example 1: Verify the first 500 records on a volume.

()

Example 2: Verify a volume with defective records. The system issues a message for each
defective record it locates.

WN -

Clear Write Verify

Use the WN command to remove the write verify set for a specific volume. When you clear write
verify, EOX does not verify that the data written is correct.
Example: Clear write verify.

WV -

Set Write Verify

Use the wv command to set the write verify on for a specific volume. By setting write verify,
EOX rereads all data that it writes on the data sets on the volume to make sure the data was
written correctly. You can set write verify off or clear it by using the WN command.
Example: Set write verify on.

o
UT -422

SC34-0644

$IOTEST

o

$IOTEST - Test Sensor I/O; List Configuration
$IOTEST determines the complete I/O configuration of a Series/1 and tests the operation of
sensor-based I/O features. $IOTEST performs the following functions:

Digital reads and writes (group or subgroup)
Digital writes with selected time intervals
•

External sync

DI

and DO

Interrupt processing (normal, special bit, and group)
•

Analog reads and writes
Hardware configuration listing of the Series/1
Device listing (devices supported by the system).

Invoking $IOTEST
You invoke

$IOTEST

with the

$L

command or option 9.3 of the session manager.

o
Chapter 4. Utilities

UT -423

$IOTEST
$IOTEST - Test Sensor I/O List Configuration (continued)
$IOTEST Commands

o

To display the $IOTEST commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

o
After $IOTEST displays the commands, you are again prompted with COMMAND (?):. Then you
can respond with the command of your choice (for example, DO). Press the attention key and
eriter ALTER to end repetitive functions and to reactivate the program if it enters the wait state.
For example:

Each command and its explanation is presented in alphabetical order on the following pages.

o
UT -4 24

SC34-0644

$IOTEST

o

$IOTEST - Test Sensor I/O List Configuration (continued)
AI -

Analog Input

Use AI to read analog input. AI issues a read every 10 milliseconds and only prints the value if it
is different than that of the last reading.
Example 1: Read analog input.

Analog input has a testing facility to convert diagnostic zero or voltage. $IOTEST allows these
functions if you give the ADC address instead of the multiplexer address.
Example 2: Convert diagnostic zero or voltage.

c:~

o
Chapter 4. Utilities

UT -425

$IOTEST
$IOTEST - Test Sensor I/O List Configuration (continued)
01 -

Digital Input

Use DI to read digital input.
Example: Read digital input.

DO -

Digital Output

Use DO to write digital output.
Example: Write X'A5A5' to DO address 52

o
An easy way to test the system is to use the Customer Engineer's wrap-back connectors. The
wrap cable for the IDIO unit connects the first 01 address on the card to the first DO address and
the same for the second DI and DO. These connections include the external sync functions, also.
Therefore, you can execute two copies, of $IOTEST simultaneously. Similar connectors are
available for the 4982 Sensor I/O Unit.
EN -

End $IOTEST

Use the EN command to end the $IOTEST utility.
Example: End $IOTEST.

o
UT -426

SC34-0644

$IOTEST

o

$IOTEST - Test Sensor I/O List Configuration (continued)
LD -

List Devices

Use LD to list the devices attached to your Series/1. LD reads the actual hardware addresses and
their IDs and displays a list of the descriptions. If a device exists but is not powered on, the
system still displays the description for that device. You can direct the listing to the terminal
that invoked $IOTEST or to the $SYSPRTR by using either the LISTT or LISTP command.
Example: List Series/1 hardware configuration.

c

c
Chapter 4. Utilities

UT -427

$IOTEST
$IOTEST - Test Sensor I/O List Configuration (continued)
LS -

List Current Supervisor Hardware Devices

o

provides a display similar to LD except that it lists only the devices your supervisor supports
after system IPL; this list can be different from the actual hardware attached to your Series/I.
You can direct the listing to the terminal that invoked $IOTEST or to the $SYSPRTR by using either
the LISTT or LISTP command.

LS

Note: The system will not list communication device cards that you did not install at IPL time.
Example: List devices supported by supervisor.

PO -

Up and Down Digital Output with Time.

Use PD to write digital output and specify various time intervals.
Example: Using DO address 53, set bit 8 on for 10 milliseconds, off for 50 milliseconds, and

do this 100 times.

Note: If you set ENTER NUMBER OF TIMES TO LOOP less than or equal to zero, the looping
continues until you enter the ALTER command.

o
UT -428

SC34-0644

$IOTEST

o

$IOTEST - Test Sensor I/O List Configuration (continued)
PI- Process Interrupt

Use

PI

to test for the occurrence of the process interrupt.

Example: Test process interrupt for the occurrence of event.

SB/SG -

Special Process Interrupt Bit/Group

Functionally, the SB and SG commands operate differently within the supervisor, but they print
basically the same information as normal PI with this utility program.
XI -

External Sync for Digital Input

Use xo to read digital input using external synchronization.
Example: Read digital input using external sync.

XO -

External Sync for Digital Output

Use xo to write digital output using external synchronization.
Example: Write digital output using external sync.

Note: The system writes data from a buffer within this program that is used for external sync DI
and DO. Therefore, you can input data by using DI and output data by using DO.

o
Chapter 4. Utilities

UT -429

$JOBQUT
$JOBQUT - Controlling Job Queue Processing
$JOBQUT controls the job queue processing as a whole. Its commands perform actions on the
entire job queue processing system rather than on individual jobs. (To submit and control
individual jobs, see "$SUBMIT - Submit/Control Jobs in Job Queue Processor" on page
UT-503.)

o

The job queue processing utility enables you to do the following:
•

Suspend and resume job queue processing.

•

Change the logging terminal.

•

Delete all jobs in the queue.

•

Display the status of the job queue processing system.

•

Reinitialize job queue data set.
Terminate job queue processing.

Note: Do not use $JOBQ to run interactive programs.

Invoking $JOBQUT
You invoke $JOBQUT with the $L command or option 10.1 of the session manager.
>

$L $JOBQUT

LOADING $JOBQUT
$JOBQUT
ENTER

~

I?I

COMMAND

8p,09:18:62, LP=2300, PART=l

EDX JOB QUEUE CONTROLLER PROGRAM
AT ANY TIME FOR HELP

(?):

After you invoke $JOBQUT, you can enter any of the available commands. If this is the first time
you enter a command and the job queue processor has not been used previously, $JOBQUT issues
the following messages:

JOB QUEUE PROCESSOR ($JOBQ,) MUST BE LOADED TOCONlINUE. L9ADIT{Y/N}?
PARTITION NUMBER (1 .. 8) OR ENTER FOR ANY:
Note: We recommend that you always check the status of the job queue processor and job
queue processing. To check the status of the job queue processor, enter the STQ command in
response to the COMMAND (?): prompt. (See "STQ - Display the Status of Job Queue
Processing" on page UT-435 for a description of theSTQ command.)

o
UT-430

SC34·0644

$JOBQUT

o

$JOBQUT - Controlling Job Queue Processing (continued)
The job queue processor, $JOBQ, starts if you respond y to the loading prompt. $JOBQUT
prompts you for a partition number in which to load $JOBQ. However, you do not need to select
a partition; just press the enter key, and the supervisor selects a partition large enough to
contain $JOBQ. $JOBQUT issues the following message:
J6sQ.lJEUE PROCESSOR LOADED INTO PARTITION x

where x indicates the partition where the job queue processor is loaded.
$JOBQUT then issues the following messages indicating its own status, the logging terminal, and if
there are jobs in the job queue.

$JOBQUT Commands
To display the $JOBQUT commands, enter a question mark in response to the prompting message
COMMAND(?): .

,2:'¢:6M~,j\:ND'.·~:(,'1.),,:.··· ".
.~ : ....:< ,,} . ,:" > ",

y::'"';":'

./r,.~'~r,>'.,4.·cM~r-;~i·,LQ.~·~JN~JJJR~J~AS··· ..···:.... . . :......:.;•...'
:·:·D.~:.~h J ::~,::,:",' .;

'h;', , :

After $JOBQUT displays the commands, it prompts you with COMMAND (?): again. Then you can
respond with the command of your choice (for example, RJQ). Each command and its
explanation is presented in alphabetical order on the following pages.

o
Chapter 4. Utilities

UT -431

$JOBQUT
$JOBQUT - Controlling Job Queue Processing (continued)
CLT -

Change Logging Terminal

o

Use the CLT command to change the terminal where the status (the start and end) of jobs is
displayed. Initially, the job queue logging terminal is $SYSPRTR. Once you specify the new
logging terminal, you have the choice of placing the terminal in roll screen mode. If you answer
Y and turn on roll screen mode, you do not need to press the enter key after the screen is full.
Output "rolls" off the top of the screen, as new terminal output appears at the bottom of the
screen. If you answer N, the roll option remains off. $JOBQ stops processing and you need to
press the enter key each time the screen fills up to display further terminal output.
Notes:
1. If you are running a large number of jobs, we recommend turning roll screen mode on.
2. The roll screen mode option does not apply to printers; however, $JOBQUT still issues the roll
mode prompt. Enter Y or N to allow $JOBQUT to continue.
Example: Change the logging terminal and turn on roll screen mode.

COMMAND

(?):

CL T

THE LOGGING TERMINAL IS NOW $SYSPRTR
NEW LOGG I NG TERM I NAL NAME OF * FOR TH IS TERMI NAL:
I

I,

$Syst..OG

LOGGING TERMINAL CHANGED TO $SYSLOG
PUT TERMINAL IN ROLL MODE {YIN}?
COMMAND

Y

(? ),:

Log messages are directed to the terminal specified until you change the logging terminal. If you
terminate and restart job queue processing, log messages are still directed to the terminal last
specified. If you do not wish to change the logging terminal, press the enter key.

o
UT.. 432

SC34 .. 0644

$JOBQUT

o

$JOBQUT - Controlling Job Queue Processing (continued)
DCH -

Detach $JOBQUT

Use the DCH command to place
attention key and type JOBQUT
To end

$JOBQUT

$JOBQUT

in suspended mode. To resume operation, press the

without resuming operation, press the attention key and enter ENDJUT.

Example:

DJQ -

Delete Job Queue

Use the

DJQ command to delete
$JOBQUT questions whether you

N

all jobs currently in the job queue. Once you enter DLQ,
want to delete all jobs in the queue. Enter y to delete all jobs,

to cancel the command.

Example: Delete jobs in job queue.

EN -

End $JOBQUT

Use the

EN

command to end the $JOBQUT utility.

Example: End the $JOBQUT utility.

o
Chapter 4. Utilities

UT -433

$JOBQUT
$JOBQUT - Controlling Job Queue Processing (continued)
IJQ -

Reinitialize Job Queue Data Set (JOBQDS)

o

Use the IJQ command to initialize the job queue data set (JOBQDS) if the system detects an error.
If the job queue data set has an error, $JOBQUT issues the following message:

~~Ao/wRIT~.E~RORiINJ~~PS •..•
The logging terminal defaults to $SYSPRTR Use the CLT command to change the logging
terminal.
Example: Initialize the job queue data set.
IJQ

;,"JOB QUEUE DATA SET RE IN I TI ALI ZED

RJQ -

Resume Job Queue Processil1g

Use the RJQ command to resume job queue processing after you have suspended processing with
the SJQ command. When the job queue processor is initially loaded, it is in suspended mode; use
the RJQ command to activate it.
Example: Resume job queue processing.
i::C.OMMAND (?):

RJQ

"JOB QUEUE PROCESS I NG HAS BEEN RESUMED
COMMAND (?):

SJQ -

Suspend Job Queue Processing

Use the SJQ command to suspend job queue processing. All jobs in the job queue are held.
However, any job that is already executing when you issue the SJQ command will run to
completion. Jobs submitted for processing after job queue processing is suspended are held in
the job queue until job queue processing is resumed.
Example: Suspend job queue processing.

?;:~9B',.,o.~E;UE,;".~ROCESSIN,Q:;AAS;.BtEN.' • $USf>~NDED
>,",/"".)

o
UT -434

SC34-0644

$JOBQUT

o

$JOBQUT - Controlling Job Queue Processing (continued)
STQ -

Display the Status of Job Queue Processing

Use the STQ command to display the status of job queue processing on your display terminal. If
job queue processing is in effect and there are jobs in the job queue, $JOBQUT issues the
following messages:

If $JOBQUT detects an error in the job queue data set, it issues the following messages:

c

< ,

,:

/
,

,

,
<

:"';

1.;NrERNAl,··ERR~R·iOETEe:rEo,il.N.J()a·Q.tieu~,.J);ATA';Se:tJ····

····THE.;•.iQB:.:.Q.QEJ~::.·pAmA . ·,s,er;:·~~$J;,,;,Bi:.·~'E'.l··~;ill·.~bt,~;~p;;':ay:,··
:THE.I~I~JQ.Ll\.~:9.Mf1AN.O;/fN'$;J9BQ.U:1.,/";""··"·· ,.',.";':
,

..

~',

,,'

'/ . . . ';./,;, '.

o
Chapter 4. Utilities

UT-435

$JOBQUT
$JOBQUT - Controlling Job Queue Processing (continued)
T JQ -

Terminate Job Queue Processing

o

Use the TJQ command to end job queue processing. You are asked if the jobs currently in the
job queue should be deleted. If you respond Y, all jobs are deleted .. If you respond N, $JOBQ
maintains the job queue and the jobs in the queue execute when job queue processing restarts.
When you terminate job queue processing, any job that is executing will complete. In addition,
$JOBQ (the job queue processor) and $JOBQUT end.
E?Cample: End job queue processing.

$JOBQ ENDED AT 10:11:62
JOB QUEUE PROCESSING TERMINATED

Note: You can only terminate job queue processing - and $JOBQ - with this command. You
cannot cancel $JOBQ with the $C operator command. If any job in the job queue is executing,
$JOBQ will not end.

o
UT-436

SC34-0644

$JOBUTIL

o

$JOBUTIL - Job Stream Processor
$JOBUTIL is a batch processing capability that you can invoke simultaneously with the execution
of other programs. This allows you to execute a series of programs sequentially without
intervention. You include the names of the programs and other information in a collection of
$JOBUTIL commands that you create with $EDITIN or $FSEDIT.

A procedure can invoke another procedure; however, the called procedure cannot invoke
another procedure. A typical use of $JOBUTIL would be to execute a procedure that causes the
assembly, link-editing, and formatting of your program. Refer to "Batch Job Example" on page
UT-455. For additional examples of using $JOBUTIL, see the Operation Guide.
$JOBUTIL is the main program. It loads and waits for the termination of the following three
independent programs that actually carry out the majority of the work:

$JP 1 - opens required data sets
$JP2 - interprets all commands
$DISKUT3 - executes the AL and DE commands
Programs that are capable of receiving parameters in the format used by $JOBUTIL are:
$COBOL
$EDXASM
$FORT
$LlNK
$EDXLlNK
$EDXLlST

$PASCAL
$PL/I
$PREFIND
$S1ASM
$UPDATE

Invoking $JOBUTIL
You invoke $JOBUTIL with the $L operator command or option 7 of the session manager.
Setup Procedure

To create your procedure, use either of the text editing facilities, $EDITIN or $FSEDIT. If you use
$EDITIN to create your procedure, you must use $DISKUTI to preallocate a disk or diskette data
set to save the procedure. If you use $FSEDIT to create your procedure, you do not have to
preallocate a data set. $FSEDIT automatically creates it for you.
To run your job, load $JOBUTIL and specify the name of your procedure data set.

Refer to the Operation Guide for instructions on setting up your own JOBUTIL procedure.

o
Chapter 4. Utilities

UT -437

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)

0,,', ./

'IL

$JOBUTIL Commands
The $JOBUTIL commands are listed below. Commands must be entered in the following format:
Command - Start in position 1.
Operands - Start in position 10.
Comment - Start in position 18 or after. You can extend a comment as far as position 71.
(At least one blank must separate the comment from the operands.) If a command does not
have any operands, its comments can start in column 10.
For internal comments, use '*' in position 1
Command
AL
DE

Delete data set

DS

Identify data set

EJECT

Start a new

EOJ
EOP

Identify end of job

SC34-0644

pa~e

in log listing

Identify end of nested procedure

EXEC

Load and execute prOQram

JOB

Identify job

JUMP

Jump to label

LABEL
LOG

End jump

NOMSG

Suppress load messages

Log Job Stream Processor Commands

PARM

Identify prOQram parameter

PAUSE

Await manual intervention

PROC

Identify nested procedure
Identify prOQram

PROGRAM

UT -438

Function
Allocate data set

REMARK

Remark to operator

*

Internal comment

$JOBUTIL

o

$JOBUTIL - Job Stream Processor (continued)
AL -

Allo~ate

Data Set

Use the AL command to identify a data set to be allocated. It returns a $DISKUT3 return code
that can be used by the JUMP command.
Note: An AL statement between a PROGRAM and EXEC statement can cause
unpredictable results.
Syntax:

AL

name,volume size type

Required: name,volume
size
type
Default: none

Operands

Description

name

Defines the data set to be allocated.

volume

Defines the volume on which the data set is to be allocated.

size

Defines the size in blocks of the data set.

type

Defines the type of data set as follows:
D indicates data (default)
P indicates program

Example:

AL

TEMPDS,EDX003 25 D

o
Chapter 4. Utilities

UT -439

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
DE -

Delete Data Set

o

Use the DE command to identify a data set to be deleted.
Note: A DE statement between a PROGRAM and EXEC statement can cause unpredictable
results.
Syntax:

DE

name,volume

Required: name,volume
Default: none

Operands

Description

name

Defines the data set to be deleted.

volume

Defines the volume from which the data set is to be deleted.

Example:

(~)
DE

TEMPDS,EDX003

o
UT-440

SC34-0644

$JOBUTIL

o

$JOBUTIL - Job Stream Processor (continued)
DS -

Identify Data Set

Use the DS command to identify a data set to be opened and accessed by a program. DS
commands are allowed only between PROGRAM and EXEC commands. Up to nine (9) DS
commands can be specified for a program.

Syntax:

OS

name,volume

Required: name
Default: volume is IPL volume

Operands

Description

name

Defines the data set to be accessed by a program.

volume

Defines the volume that contains the data set to be accessed by a program.

Example:

DS

WORK1,EDXOOl

o
Chapter 4. Utilities

UT -441

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
EJECT -

()

Start New Page in Log Listing

Use the EJECT command to print tbe next command in the log listing at the top of a new page.
If no logging is being done, EJECT commands are ignored.
Syntax:

EJECT

Required: none
Default: none

Operands

Description

None
Example:

EJECT

()
UT-442

SC34-0644

$JOBUTIL

o

$JOBUTll- Job Stream Processor (continued)
EOJ -

End of Job

Use the EO] command to indicate the end of the primary procedure. EO] must be the last
command in the procedure data set.

Syntax:

EOJ

Required: none

Operands

Description

None
EOP -

End of Procedure

Use the EOP command to indicate the end of a nested procedure. EOP must be the last command
in the called procedure data set.

Syntax:

EOP

Required: none

Operands

Description

None

0 ',
I,

Chapter 4. Utilities

UT -443

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
EXEC -

Execute Program

Use the EXEC.command to load and execute the program identified in the preceding PROGRAM
command. EXEC must have been preceded by a PROGRAM command.

Syntax:

EXEC
STORAGE=size
Required: none
Default: STORAGE=Q

Operands

Description

STORAGE Specifies the amount of dynamic storage to be allocated to the program to be

executed. This value overrides the value specified when the program was compiled.
STORAGE=O (the default) indicates that the dynamic storage specified (if any)
during compilation should be allocated.
JOB -

Identify Jot:

Use the JOB command, an optional command, to identify the procedure or a collection of
commands within a procedure data set. When a JOB command is read by $JOBUTIL, a message is
printed on the terminal with the job name, time started, and date (if timer support is included).

Syntax:

JOB

job-name

Required: job-name

Operands

Description

job-name

Names the current group of commands as a job.

Example:

JOB

UT -444

SC34-0644

TEST1

o

$JOBUTll

o

$JOBUTIL - Job Stream Processor (continued)
JUMP -

Jump to Label

Use the JUMP to bypass $JOBUTIL commands by testing the completion code of the previously
executed program. The test compares the program completion code to 'cc'. The commands
between the JUMP and the LABEL command with the same label name are ignored if the
condition tested for is 'true'.
unconditional JUMP to a LABEL is also permitted. Jumps are
forward only and are limited to the range of the current procedure; for example, a jump cannot
occur from one procedure to a label in another procedure. A JUMP with no label name jumps to
the next unlabeled LABEL command or to an EOJ or an EOP, whichever occurs first. If the system
encounters an EOJ or an EOP while searching for a LABEL command, it stops its search for the
LABEL command and executes the EOJ or EOP.

An

Note: The

JUMP

and

LABEL

commands are not permitted in the

PAUSE

mode.

Syntax:

JUMP

label-name,op,cc

Required: none

c)

Operands

Description

label-name

The name associated with a LABEL command.

op

LT, GT, EQ, GE, LE,

cc

Program completion code.

or

NE.

Examples:

JUMP
JUMP
JUMP

LBL1,EQ,20
LBL2

o
Chapter 4. Utilities

UT -445

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
LABEL -

Identify Continuation Point

o

Use the LABEL command to continue job processing after a related JUMP command is
encountered. Job processing continues at the LABEL command. The LABEL command is not
valid in the PAUSE mode
Syntax:

LABEL

label-name

Required: none

Operands

Description

label-name

Defines the command where processing can continue.

Examples:

LABEL
LABEL

LBL1

o
UT-446

SC34-0644

$JOBUTIL

o

$JOBUTIL - Job Stream Processor (continued)
LOG -

Log Control

Use the LOG command to indicate whether the $JOBUTIL commands are to be printed as they are
read and which terminal device is to print them. You can place LOG commands anywhere in the
procedure data set. If you do not specify a terminal device, the commands are logged on the
terminal from which you invoked the Job Processor.
Syntax:

LOG

Operand

Required: none
Default: ON

Operands

Description

ON

Indicates that $JOBUTIL commands are to be printed.

OFF

Indicates that $JOBUTIL commands are not to be printed.

terminal-name

Identifies the terminal device which is to print the job processor commands.
If you omit this operand, if omitted indicates that the job processor
commands are to be logged on the terminal from which the job processor
was called.

Examples:

LOG
LOG
LOG
LOG

ON
OFF
$SYSPRTR

o
Chapter 4. Utilities

UT -44 7

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
NOMSG -

o

No Message Logging

Use the NOMSG command to set LOGMSG=NO for the program identified in the preceding
PROGRAM command. See the LOAD instruction in the Language Reference for the definition
LOGMSG. NOMSG is invalid if not preceded by a PROGRAM command.

of

The NOMSG command must be between the PROGRAM and EXEC commands.

Syntax:

NOMSG
Required: none

Operands

Description

None

Example:

PROGRAM
NOMSG

CALCDEMO

o
UT -448

SC34-0644

$JOBUTIL

o

$JOBUTIL - Job Stream Processor (continued)
PARM -

Pass Parameter

Use the P ARM command to identify the parameters being passed to the program in the preceding
PROGRAM command. PARM must be between the PROGRAM and EXEC commands. Maximum
length of the operand on the P ARM command is 62 characters. The parameters specified on the
PARM command are passed to the specified program as an EBCDIC character string. In the
specified program they can be referenced as beginning at the label $PARMI and are packed two
characters per word. The length of the string is determined by the P ARMN operand of the
PROGRAM statement in the specified program. For example, PARM=31 would cause the
maximum 62 characters from positions 10-71 of the PARM command to be transferred to the
specified program starting at the label $PARMl.
Syntax:

PARM

parameters

Required: none

o

Operands

Description

parameters

Defines parameters to be passed to the program.

Example:

NOLIST,XREF

PAUSE -

Await Manual Intervention

You may code PAUSE as either a command in your $JOBUTIL stream or by typing in PAUSE. as a
command from your terminal keyboard. JUMP and LABEL commands are not permitted.
When a PAUSE command is read, $JOBUTIL prompts you for input. You communicate with the
processor using the attention key and three PAUSE subcommands.

o
Chapter 4. Utilities

UT -449

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
PAUSE

sub commands are:

•

ABORT - To end $JOBUTIL processing

•

ENTER - To enter $JOBUTIL commands

o

GO - To end the PAUSE mode and read the next command in the procedure data set.
Syntax:

PAUSE
Required: none

Operands

Description

None
Examples: Data set with PAUSE.

JOB
LOG
PROGRAM
EXEC
REMARK
REMARK
PAUSE
EOJ

PAYROLL
ON
WAGES

o

LAST DAY OF MONTH?
RUN MONTH END

Example: In PAUSE mode (terminal output).

PAUSE -

*-

ATTN: GO/ENTER/ABORT

PAUSE
> ENTER
ENTER
ENTER
ENTER
ENTER

COMMAND PROGRAM
OPERAND MONTHEND
COMMAND EXEC
OPERAND

o
UT -450

SC34-0644

$JOBUTIL

o

$JOBUTIL - Job Stream Processor (continued)
PROC -

Execute Procedure

Use the PROC command to pass control to another procedure data set. The operand identifies
the data set. A PROC command is not allowed in the called procedure data set. You cannot
place PROC between a PROGRAM command and an EXEC command. The completion code of the
last program executed in the subprocedure will be available for testing by the main procedure.
Syntax:

PROC

procedure- name, volume

Required: procedure-name
Default: volume is IPL volume

Operands

Description

procedure-name

Defines the procedure data set to which control is to be passed

volume

Defines the volume containing the procedure data set to which control is to
be passed.

Examples:

PROC
PROC

PAYROLL,EDX002
PAYROLL

C,·\
'

'""

"

Chapter 4. Utilities

UT -451

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
PROGRAM -

Identify Program

Use the

PROGRAM

command to identify the program to be executed.

Syntax:

PROGRAM

program-name,volume

Required: program-name
Default: volume is IPL volume

Operands

Description

program-name

Defines the name of the program member to be executed.

volume

Defines the name of the volume containing the program member to be
executed.

Examples:

PROGRAM
PROGRAM

$DEBUG,EDX002
CHECKS

()

o
UT-452

SC34~0644

$JOBUTIL

o

$JOBUTIL - Job Stream Processor (continued)
REMARK -

Display Remark

Use the REMARK command to output a message to the operator with log ON or OFF. The
operand contains the message. The maximum message length is 62 characters.

Syntax:

REMARK comment
Required: none

Operands

Description

comment

Defines the comment to be displayed.

By including an @ sign in column 9, the screen or printer is advanced one line before remark is
displayed/ printed.

Example:

REMARK @INSERT DISKETTE EDX005

Chapter 4. Utilities

UT -453

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
*-Comment

o

Use an asterisk (oil) in position 1 to indicate internal comments in the procedure data set.
Comments can start in position 2. The internal comment is not printed.

Syntax:

* internal comment
Required: none

Operands

Description

None

Example:

*

THIS PROCEDURE IS A TEST CASE

o
UT -454

SC34-0644

$JOBUTIL

o

$JOBUTIL - Job Stream Processor (continued)
Batch Job Example

The following examples list three procedure data sets. The last two procedures shown are
invoked by the first.
Example 1: List data set BATCH on EDX003.

JOB
LOG
REMARK
PROGRAM
NOMSG
DS
PARM
EXEC
PROGRAM
EXEC
JUMP
PROGRAM
EXEC
LABEL
PROGRAM
PARM
EXEC
JUMP
PROGRAM
DS
EXEC
LABEL
PROC
PROC
EOJ

BATCH
$SYSPRTR
THIS JOB SHOULD RUN UNINTERRUPTED
JUTEST1,EDX003
LOAD1,EDX003
FOF4F1F7
JUTEST2,EDX003
JMP1,EQ,-10
CALCDEMO,EDX002
JMP1
JUTEST3,EDX003
2
JMP2,LT,5
$EDIT1N,EDX002
EDITWORK,EDX002
JMP2
PROC1,EDX003
PROC2,EDX003

Example 2: List data set PROCI on EDX003.

LOG
REMARK
PROGRAM
EXEC
EOP

ON
PROC1
JUTEST2,EDX003

o
Chapter 4. Utilities

UT-455

$JOBUTIL
$JOBUTIL - Job Stream Processor (continued)
Example 3: List data set PROC2 on EDX003.

REMARK
PROGRAM
DS
PARM
EXEC
EOP

o

PROC2
JUTEST1,EDX003
LOAD1,EDX003
ENDT

o

o
UT-456

SC34-0644

$LOG

o

$LOG - Log Errors into Data Set
$LOG records information concerning I/O errors onto a disk or diskette data set. You can
display the information recorded on the log data sel by using $DISKUT2.

To use $LOG you must include the SYSLOG module at system generation. If you want to record
program check, soft exception, and machine check information, you must also include the
CIRCBUFF module at system generation.

Log Data Set
Before the system can record I/O errors, you must allocate a log data set to contain the device
and system information available at the time of the I/O error. The log data set should be at least
eight records long (data type). The log data set may reside in a disk or diskette volume. The log
data set contains one 256-byte log entry per record; the first two records are used for control
information.

Invoking $LOG
$LOG can be invoked by EDL programs with the LOAD instruction issued from a terminal. The
log data set must be defined by the DS= keyword on the LOAD statement. The only required
parameter is the address of a 4-byte area that contains:

o

Hexadecimal
Displacement

PARM 1

0

PARM 2

2

Length
(Bytes)

1
1

If P ARM! = "y" , $LOG will terminate on log data set wrap. If P ARM! = " " or "N" , a blank

or null character, $LOG will not terminate when the log data set wraps.
If PARM2="y" ,error messages will be displayed on occurrence. If PARM2= " " or "N" ,a

blank or null character, error messages will not be displayed.

Coding Example

LOAD

PARMLIST

EQU

DC
DC

$LOG,PARMLIST,DS=(LOGDS,EDX002)

*CL2'N'
CL2'y'

o
Chapter 4. Utilities

UT-457

$LOG
$LOG - Log Errors into Data Set (continued)
You may also invoke $LOG with the $L operator command, the $JOBUTIL utility, or with a LOAD
instruction issued from a program coded in the Event Driven Language. You must load $LOG
for. any error logging to occur. If you are loading $LOG from an application program or by using
a $JOBUTIL procedure, you must pass $LOGa 1-word parameter of zeroes.

o

Note: For the remote manager (RM1) to receive error log messages, you must also load either
the host program (CJUALTHL) or the send program (CJUALTSL).
To activate error logging, load $LOG into any partition; $LOG prompts you for the name of the
log data set.

$LOG Commands
After you load $LOG and the system activates error logging, you can use the attention commands
provided by $LOG to deactivate, reactivate, or terminate error logging. You can also reinitialize
the log data set using one of these attention commands. All attention commands can be invoked
from any terminal assigned to the same storage partition. Messages will always go to the
terminal from which $LOG was actually loaded.

Each command and its explanation is presented in alphabetical order on the following page. For
an explanation of the $LOG output, refer to the Problem Determination Guide.

o
UT-458

SC34-0644

$LOG

o

$LOG - Log Errors into Data Set (continued)
$LOG -

Reissue Command List

Use $LOG to display the attention commands. You can also display the error messages from the
utility itself that have nothing to do with the errors that $LOG is tracking.
$LOGDISP -

Display Error Messages on Occurrence

Use $LOGDISP to display error messages as they occur. For example, if your log data set
becomes full during error logging, $LOG immediately displays an error message. If you don't use
$LOGDISP, you must use $LOG to display the errors.
$LOGINIT -

Initialize Log Data Set/Reactivate Logging

Use $LOGINIT to clear the log data set. The system then writes a new log control record to
indicate that the log data set contains no entries. $LOGINIT also restarts error logging.
$LOGOFF -

Temporarily Deactivate Logging

Use
$LOGON -

$LOGOFF

to suspend error loggirlg

($LOG

remains loaded but but will no longer log errors.)

Reactivate Logging

Use
$LOGTDW -

$LOGON

to restart error logging.

Terminate on Data Set Wrap

Use $LOGTDW to end the $LOG utility if the log data set becomes full during error logging. If
you don't use this command, the the system returns to the third record in the data set and begins
writing over the existing entries.
Example: End $LOG when data set wrap occurs; display messages as they occur ($LOGDISP).

$LOGTERM -

Terminate Logging

Use

$LOGTERM

to end the error logging utility

($LOG

is deactivated and removed from storage.)

For more information about I/O error logging, refer to the Problem Determination Guide. For
information about system generation considerations, see the Installation and System Generation
Guide.

c
Chapter 4. Utilities

UT -459

$MEMDISK
$MEMDISK - Allocate Unmapped Storage as a Disk
Use $MEMDISK to allocate all or a portion of unmapped storage to use as a "disk." This disk
resembles a single-volume diskette with the volume name MEMDSK. You must include the
STORMGR module at system generation to be able to use unmapped storage and this utility.

o

Use the MEMDSK volume to create temporary work data sets for the$SlASM assembler, the
$EDXASM compiler, and $EDXLINK. You may also want to place the assembler itself and all the
overlays on MEMDSK.. This will decrease assembly time.

Note: Since MEMDSK is part of the memory system, you will lose the volume in the event of a
power failure. Use it only for work data sets, programs, and other files that you can recover if a
power failure does occur.

Invoking $MEMDISK
You invoke $MEMDISK with the $L operator command.

Once you load $MEMDISK, you can use MEMDSK with any of the the other utilities except $DASDI
and $INITDSK.

()

$MEMDISK Commands
To display the $MEMDISK commands at your terminal, enter a question mark in response to the
prompting message COMMAND (1):.

Each command and its explanation is presented in alphabetical order on the following pages.

o
UT -460

SC34-0644

$MEMDISK

o

$MEMDISK - Allocate Unmapped Storage as a Disk (continued)
DV -

Delete MEMDSK from the System

Use the DV command to delete MEMDSK from the system and release that part of unmapped
storage.
Example: Delete the MEMDSK volume.

EN -

End $MEMDISK

Use the EN command to end the $MEMDISK utility.
Example: End $MEMDISK.

o

IV -

Load MEMDSK Support and Initialize Disk

Use the IV command to allocate and initialize MEMDSK. The system then allocates all the
resources it needs.
Example: Allocate and initialize MEMDSK volume.

At IPL time, the system gives you the message UNMAPPED STORAGE=XXX (DEC) 2K BLOCKS
where xxx will be the number in decimal of the available 2K blocks of unmapped storage. You
can figure your available records by multiplying this number by 8. If you respond to SIZE IN
RECORDS with a number that is larger than the unmapped storage area that is available, the
system displays the following messages and then reprompt you.

o
Chapter 4. Utilities

UT -461

$MEMDISK
$MEMDISK - Allocate Unmapped Storage as a Disk (continued)
After the system reprompts you for the SIZE IN RECORDS that you want, it prompts you for with
MAXIMUM NUMBER OF DATA SETS. If you specify too many data sets, the system will display the
following message and then reprompt you.

o

NUMBER OF DATA-SETS MUST BE BETWEEN 1 - XXX
RL -

Reset $LOADER to Load from Disk(ette)

Use the RL command to reset the loader table to its original contents.
Example: Reset $LOADER to load from disk.

COMMAND (?) :

RL

$LOADER WILL NOW BE LOADED FROM DISK
COMMAND(?):
RD -

Reset System Default Volume

Use the RD command to reset the system default volume to what it was before you issued the SD
command.
Example: Reset system default to EDX002.

COMMAND{?):

RD

SYSTEM DEFAULT VOLUME SET TO EDX002
COMMAND{?):
SO -

Set System Default Volume to MEMDSK

Use the SD command to set the default volume to MEMDSK.
Example: Set system default volume to MEMDSK.

COMMAND ( ? ) :

SO

SYSTEM DEFAULT VO,LUME SET TO MEMDSK
COMMAND(?):

c
UT -462

SC34~0644

$MEMDISK

o

$MEMDISK - Allocate Unmapped Storage as a Disk (continued)
SL -

Set $LOADER to Load from MEMDSK

Use the SL command to cause the system to load $LOADER from MEMDSK. This allows you to
load programs much more rapidly since it acts as a resident loader. You must copy $LOADER to
MEMDSK (with the $COPYUTI utility) before you use this command. The system saves the
contents of the loader table in case you wish to restore the table using the RL command.
Example: Set $LOADER to load from MEMDSK.

c

C

·"lj

"

Chapter 4. Utilities

UT -463

$MOVEVOL
$MOVEVOL - Disk Volume Dump/Restore
(,

.~

~)

With $MOVEVOL you can dump the contents of an Event Driven Executive direct access volume
to diskette when such a volume spans several diskettes. You can also restore a volume from
diskette to disk. Thus, $MOVEVOL makes it possible for you to transfer large amounts of data
from one system to another or to create backup copies of an online data base.

Diskette Usage
Diskette Contents

The first of the set of diskettes used for the dump function, called the control diskette, records
control information and the volume directory. The rest of the diskettes store the data portion of
the volume you are dumping. Control information is recorded on each data diskette to identify
the diskette contents and to ensure that it contains data related to the dump operation described
on the control diskette.
Diskette Format

All diskettes must be formatted identically with $DASDI. You can use either single-sided or
double-sided diskettes; however, all diskettes in a set must be the same type. Each diskette must
contain a volume label in the standard format. The volume label must be a six-character field in
which the last three characters are used for sequencing, for example, SAVOOO, SAV001, """' SAVNNN,
where nnn is the last diskette used. All diskettes used must have the same three-character
prefix. The last three characters used for sequencing must start with 000 for the first diskette.
4966 Diskette Usage Considerations
If you are using the 4966 diskette magazine unit for your dump/restore operation, you can use
diskette magazines or an individual diskette slot. If you use an individual diskette slot, then you
must place all of the subsequent diskettes you mount in the same slot. If you use diskette

magazines, you must have all of your diskettes in the correct sequence with no empty slots in the
magazine. The first volume with the suffix 000 must be in slot number 1 of the first magazine.
You can use either or both of the diskette magazines, A and B.

Invoking $MOVEVOL
You invoke

UT -464

SC34-0644

$MOVEVOL

with the

$L

operator command or option 3.8 of the session manager.

()

$MOVEVOL

o

$MOVEVOL - Disk Volume Dump/Restore (continued)
Data Set Specification

If you invoke $MOVEVOL with the $L operator command, the system prompts you to enter the
names of the data sets and volumes to be used.

The following example shows the parameter menu displayed when you invoke $MOVEVOL with
the session manager. Enter the requested information and press the enter key.

Figure 25. $MOVEVOL parameter input menu

Dump Procedure
The following steps are required to dump the contents of a direct access volume onto diskette.
1. Set up a control diskette.
a. Use

$INITDSK

to:

1) Initialize the control diskette with a volume label that is suffixed with 000 (for
example, SAvooo).
2) Create a directory containing at least 1 member.
3) If the diskette will be used to IPL another system, reserve space for a nucleus of the

appropriate size and write the
b. Use

$DISKUTI

IPL

text.

to:

1) Determine the directory size, in records, of the volume to be dumped.
2) Change volume to the control diskette (for example, SAVOOO) and allocate a control

data set with the same name as the name of the volume to be dumped. The member
size of the control data set must be one record larger than the size of the directory
of the volume being dumped.

o
Chapter 4. Utilities

UT -465

$MOVEVOL
$MOVEVOL - Disk Volume Dump/Restore (continued)
c.

o

Use COPYUTl to:
1) Copy other data sets onto the control diskette. For example, you may require

$EDXNUC, the transient loader, or a copy of $MOVEVOL.
Note: The first record in the control data set contains control information and up to
50 characters of text describing the data being dumped. The remaining space stores
a copy of the directory of the volume being dumped.
2. Set up a series of data diskettes. For each data diskette:
a. Use $INITDSK to:
1) Create a volume label. The volume label of each diskette must have the same

three-character prefix as the control diskette and a three-character suffix indicating
the sequence number, for example, SAVOOO, SAVOOl, ...... , SAVNNN.
2) Create an owner ID field.
3) Allocate a one-member directory (the minimum number of members contained in a

directory is one).
b. Use $DISKUTl to:
1) Allocate a one-record data set named $CONTROL.

2) Allocate a second data set with the name of the volume to be dumped (for example,

EDX002). The second data set must use the remaining available space on the diskette
as follows:

Diskette
type
Diskette 1
Diskette 2
Diskette 2-D

Number of
records at
128 BPS
946
1921

Number of
records at
256 BPS
1107
2217
3845

Number of
records at
1024 BPS

4733

3. Mount the control diskette and 10:10 ¢""10VEVOL for execution.
You must specify two data sets at load. L.;,{le:
DISK

The volume on disk to be dumped. Specify $$EDXLIB,volname.

DISKETTE

The control data set on diskette. Specify dsname,volname.

o
UT -466

SC34-0644

$MOVEVOL

o

$MOVEVOL - Disk Volume Dump/Restore (continued)
$MOVEVOL

asks if you wish to dump from disk to diskette.

MOVEVOL then determines the number of additional diskettes required to dump the
referenced volume (DISK), informs you of this requirement, and asks if the procedure should
be continued. Reply N and the operation ends. Reply y and the control information and
disk directory are recorded on the control diskette and you are asked to mount a new
diskette for transfer of the data portion of the volume being dumped.

4. Each time a diskette is filled, $MOVEVOL requests another diskette. Mount as many data
diskettes as the system requests.
Example: Dump operation using a 4966 diskette magazine unit.

o
Chapter 4. Utilities

UT -467

$MOVEVOL
$MOVEVOL - Disk Volume Dump/Restore (continued)
You may enter any text in response to the ENTER VOLUME IDENTIFICATION (1-50 CHAR.): prompt
when dumping a volume. During the restore procedure, the information you entered here is
redisplayed.

o

Restoration Procedure
The following steps are required for a restore operation.
1. Mount the control diskette and load $MOVEVOL for execution.
a. Respond as described previously in dump procedure to requests for data sets.
b. Select the restoration mode by responding N to the query for disk to diskette dump and
to the query for diskette to disk restoration.

Y

2. Mount data diskettes as requested.
Example 1: Restore operation using an individual 4966 diskette magazine slot. The source

and target volumes are equal in size.
>

$L $MOVEVOL $$EDXLIB,EDX003$EDX003,SAVOOO

LOADING $MOVEVOL

20P,11:05:05,

LP~6300, PART~2

DUMP VOLUMEEDX003 FROM DISK TO DISKETTE?

RESTORE VOLUME FROM DISKETTE TO DISK VOLUMEEDX003?
RESTORIN~ DUMP OF EDX003 -DATE IS 09/14/82
CONTINUE? Y
PROCESSING DISKETTE VOLUME SAVOOO
MOUNT NEXT nlSKETTE
REPLY -Y~ WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAVOOl
MOUNT NEXT D1SKETTE
REPLY -Y~WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAV002
MOUNT ~EXT DISKETTE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUM£SAV003
MOUNT NEXT DISKETTE
REPLY ~Y-WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAvo04
VOLUME.INSTALLED
3600 RECORDS TRANSFERRED
$MOVEVOL ENDED 11.10;56

UT -468

SC34-0644

()

N
Y

$MOVEVOL

o

$MOVEVOL - Disk Volume Dump/Restore (continued)
Example 2: Restore operation using a 4964 diskette unit. The source is smaller in size than

the receiving volume.

>$L $MOVEVOL
DISK
(NAME, VOLUME): $$EDXL IB,MACL IB
DISKETTE(NAME,VOLUME): $MACLIB,BACOOO
LOADING $MOVEVOL
20P,00:26:08, LP= 7000, PART=l
DUMP VOLUME MACLIB FROM DISK TO DISKETTE? N
RESTORE VOLUME FROM DISKETTE TO DISK VOLUME MACLIB? Y
RESTORING 5719-XX5 V04MOO 9/12/82 TO VOLUME MACLIB
CONTINUE? Y
SOURCE VOLUME IS SMALLER THAN THE TARGET. CONTINUE? Y
COMPRESS THIS VOLUME AFTER INSTALLATION.
PROCESSING ~ISKETTE VOLUME BACOOO
MOUNT NEXT DISKETTE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUME BACOOl

o
Chapter 4. Utilities

UT -469

$MSGUT1
$MSG UT1 - Message Utility

ICI~
,,1

__ .

,I

formats source messages into a form suitable for use with the message handler. Once
you have created a source-message data set, $MSGUTI takes the source messages, converts them
to either disk or storage-resident format, and saves them in another data set which you specify.
If you have not allocated this data set previously using $DISKUTl, $MSGUTI allocates it for you.
For information on creating a source-message data set, see the Event Driven Executive Language
Programming Guide.
$MSGUTI

Invoking $MSGUT1
You invoke $MSGUTI with the $L operator command or option 2.14 of the session manager.
After you invoke $MSGUTl, it prompts you for a work data set. This work data set must be at
least as large as the source-message data set.
>$L $MSGUn
WORKfIL~

fNAME,VOLUME):

$MSGUT1 Commands
To display the $MSGUTI commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

f")-·-'.

'-

After $MSGUTI displays the commands, it prompts you with COMMAND (?): again. Then you can
respond with the command of your choice (for example, PRT).
Each command and its explanation is presented in alphabetical order on the following pages.

c
UT-470

SC34-0644

$MSGUT1

o

$MSGUT1 - Message Utility (continued)
DSK -

Convert Source to Disk-Resident Format

Use the DSK command to convert source messages to the format used for disk-resident
messages. The DSK command converts a source-message data set to disk-resident format and
stores the messages in a data set on disk or diskette. Messages converted to disk-resident
format do not contain variable information or comments. The variable information and
comments are stripped off, control bytes are inserted at the beginning of each message, and the
256-byte EDX records are restructured into four logical records of 64 bytes for each message.
prompts you for the name of the source-message data set and the volume on which it
resides. After you enter this information, DSK prompts for the name of the disk-resident data set
and the volume where the messages, once converted, are to be stored.

DSK

Example: Convert a source-message data set (USRSRC) on USRVOL and store the messages in

a disk-resident data set

(USRMSG)

on the

USRVOL.

COMMAND (1): DSK
MES$AGESOURCE DATA SET (NAME,VOLUME}:USRSRC,USRVOL
DISK-RES,DENT DATASEl(NAME, VOLUME): USRMSG,USRVOL
START OF DISK MESSAGE PROCE$SINGaEGINS
DISK-RESIDENT MESSAGE$STORED IN USRMSG ,USRV:OL
COMMAND (1):

END -

End $MSGUT1

Use the

END

command to end

$MSGUTl.

Example:
COMMAND (1)':

END

ENDED At'Ol:36:0lt,

o
Chapter 4. Utilities

UT -4 71

$MSGUT1
$MSGUT1 - Message Utility (continued)
LST -

Direct Output to a Terminal

o

Use the LST command to direct output to a device other than the $SYSPRTR. Use the LST
command with the PRT, STG, and DSK commands. Unless you change the output device with the
LST command, all listings requested by the PRT, STG, and DSK commands are directed to the
$SYSPRTR. If you specify LST *, the listing appears on the terminal where you invoked $MSGUT1.
Note: When you use the PRT, STG, and DSK options, all error messages are directed to the
$SYSPRTR unless you specify otherwise. If any errors are detected, the following message is
displayed:

FUNCtI9~';;~~S: :COM~:t.E:TE b:;'w fTH:ERRORS.

:C~ECICALL .OUJPUJ}

~.'

.

Example: A listing of the messages in EDITUSER on USRVOL is first directed to the MPRINTER

and then to the terminal labeled TERMOl.

'~ESS,t(GE •. . s.oqRcfiD.ATA.~SE·T. (:"NAM~:,:VOLOME·~.r

I. NCLUD('MS;GlD;' .;tY:L~l?:· .. Y. . • '~.,
.. EN~e:.R/·· ~·.··c flf\R~GJE~ ·. •. t1E~SA~~:·: .•.•.

".,'

;NO~. ~.~·~i:· t~·E~I.~/,( O;·~WAUtirMSG#t:. ' .
I:1E$~AG·t·lOlJR.~ E':'OAT~:SEt :pkoq~S;S"N.~

o
UT -472

SC34-0644

$MSGUT1

o

$MSGUT1 - Message Utility (continued)
PRT -

Print Messages

Use the PRT command to obtain a hard-copy listing of the messages in a specific source-message
data set. You have the option of requesting a listing of the messages in the source-message data
set with or without MSGIDS (consisting of the four-character component IDand the message
number). The listing is directed to the $SYSPRTR. If you want to direct the listing to another
output device name, use the LST command.
Example: Request a listing of the messages and MSGIDS in EDITUSER on USRVOL.
COMMAN~

(7):

PRT

MESSAGE SOURCE DATA SET (NAME,VOLUME):
INCLUDE MSGfD (Y/N):Y
ENTER 4 CHARACTER MESSAGE
NUMBER PREFIX (OEFAULTMSG#): PGMA

EDITUSER,USRVOL

MESSAGE SOURCE DATA SET PROCESSING HAS BEGUN
COMMAND (7):
Following is a sample of the listing that appears on $SYSPRTR.

PGMA001
PGMA002
PGMA003
PGMA004
PGMA005
PGMA006
PGMA007
PGMA008
PGMA009

@SPOOL ACTIVE LIMIT REACHED
@SPOOL JOB CAPACITY REACHED
@SPOOL DATA SET FULL
ENTER COMMAND:
@DALL COMMAND COMPLETED
GENERIC JOB NAME PREFIX:
@DG COMMAND COMPLETED@
@SPOOL COMMAND INVALID@
@SPOOL COMMAND REJECTED - STOP PENDING@

o
Chapter 4. Utilities

UT -4 73

$MSGUT1
$MSGUT1 - Message Utility (continued)
STG -

Convert Source-Message to Storage-Resident Format

o

Use the STG command to convert a source-message data set to storage-resident format
(object-like) for systems that do not have a disk or diskette or for better performance. The
converted data set is stored in a disk data set that must be linked with application programs.
The name of the disk data set containing the converted data must be the same as the name
specified in the COMP statement. For a description of the COMP statement, see the Language
Reference. This data set includes a cross-reference table with the address of the beginning of
each message number. The address of the cross-reference table is an entry point in the
storage-resident module and is used by the supervisor to access these messages.
STG prompts for the source-message data set and the name and volume where the
storage-resident message module is to be saved.

Example: Store a source-message data set (MSGlSRC on USRVOL) in a data set (MSGIOBJ) on
volume OBJUB in main storage.

c
UT-474

SC34-0644

$PFMAP

o

$PFMAP - Identify 3101 (Block Mode)/4978/4979/4980 Program Function
Keys
The $PFMAP utility identifies the program function keys on the 3101 (Block Mode), 4978, 4979
and 4980 display stations. As you press each key, $PFMAP displays the associated system code
in decimal and hexadecimal. A key's associated system code is the identification returned at
completion of a WAIT KEY instruction or an ATTNLIST interrupt. The hard-copy key is active
during execution of this program, and the system does not display its code. Press the enter key
to end $PFMAP.

Invoking $PFMAP
You invoke $PFMAP with the $L operator command or option 4.6 of the session manager.
After you load $PFMAP, it displays two columns, DECIMAL and HEX. For each PF key you press,
$PFMAP displays the system code in decimal and hexadecimal.
Example:

>$L $PFMAP
LOADING $PFMAP
DECIMAL

HEX

2
3

02
03

2P, 00 :52: 11 ,LP=9200, PART=l

5
05
(Press enter key to end $PFMAP)
$PF,MAPENDED AT 00:.54: 51

Note: The interrupt key system code displayed in the $PFMAP utility differs from code listed in
the hardware manual. Coding is always reduced by the value specified for PF1 at system
generation. If you used the default value for the PF1 key at system generation, it decreases by
one, the default value. If another number was specified as the value for PF1 at system
generation, it will decrease by that number.

o
Chapter 4. Utilities

UT -4 75

$PREFIND
$PREFIND - Prefinding Data Sets and EDL Overlays
The $PREFIND utility locates the disk, diskette, and tape data sets and EDL overlay programs
referenced by your program and stores their addresses in the header of your program. After
$PREFIND has executed, program load time is shortened because the tasks performed by EDX are
reduced.

o

$PREFIND is most effective when it is used to process programs that reference a large number of
disk, diskette, or tape data sets and EDL overlay programs and when these programs must be
loaded frequently from disk or diskette. We recommend using $PREFIND if your operating
environment is relatively "static" or unchanging.

Program Load Process Overview
If a program uses data sets or EDL overlays programs (DS= and PGMS= parameters in PROGRAM

statement), the assembler creates control blocks in the program header for each data set and
EDL overlay program specified. These control blocks contain space for the physical addresses of
the data sets and EDL overlay programs defined.
All data sets and EDL overlay programs required by a program are located and their sizes
determined each time the program is loaded for execution. Thus, the loaded program executes
correctly even if the size or location of one or more of the data sets or EDL overlay programs it
uses has changed.
After you complete the program preparation process with $EDXLINK or $UPDATE, you can load
the executable load module to storage.
When a large number of data sets and/or EDL overlay programs are defined, loading can be a
time-consuming process because EDX must search a volume directory for each data set and
program used. Thus, in a relatively "static" or unchanging environment, such as a production
application, $PREFIND is useful in reducing the run time of the application.

o

$PREFIND allows data sets and EDLoverlay programs to be located prior to program load time
and writes physical addresses directly into the program header on disk or diskette. When the
program is loaded, the information required is already present, so load time is reduced.

Invoking $PREFIND
You invoke $PREFIND with the $L operator command, option 2.11 of the session manager, or the .
job stream processor ($JOBUTIL).
Prefinding Data Sets and Overlays Using the $L Command

When you invoke $PREFIND with the $L operator command, it prompts you for the information it
requires.

o
UT-476

SC34-0644

$PREFIND

o

$PREFIND - Prefinding Data Sets and EDL Overlays (continued)
$PREFIND Commands
To display the commands available under $PREFIND, enter a question mark (?) in response the
COMMAND (?): prompt.

COMMAND (?):

?

PF - PRELOCATE DATA SETS AND OVERLAYS
DE - DELETE PREFOUND STATUS
EN - END THE PROGRAM
COMMAND

(1):

After $PREFIND displays the commands, it prompts you again with COMMAND
command of your choice.

(?):.

Enter the

If you enter either PF or DE, $PREFIND prompts you for the name and volume of the program and

the numbers (1 through 9) of the data sets and EDL overlay programs that are to be located or
whose pre found status is to be deleted.
You can enter all of the required information without waiting for the prompting messages. For
example:

o

COMMAND

(1):

PF MYPROG,EDX003 0=(1,2,4,7) P=(1,2,3)

The numbers in parentheses correspond to the numbers used in the DSN and PGMN parameters
on the READ, WRITE, and LOAD Event Driven Language instructions.
You must always enter the data set and program numbers in the formats D= (_,_,_) and
P=(_,_). Data set numbers, if present, must always precede EDL overlay program numbers.
The word ALL can be used in place of the number string within the parenthesis. If you make a
null response to the prompt for either (but not both) the data set or program numbers, no
change in the status of the data sets or programs will occur. If you enter a number larger than
the number of the largest data set/program, this information will be ignored and not cause an
error. In other words, if you have two data sets listed in the program header, and you enter
D=(1,3,5) for the data set numbers' prompt, the first data set will be prefound. The 3 and 5
will be ignored.
Enter only those data set or program numbers whose status is to be changed. For example, if a
program references six data sets and you desire to pre locate the first three and the sixth, enter
D=(1,2,3,6) when using the PF command. If at a later time you desire to delete the third data
set from the prefound state, use a DE command specifying D=(3).

Chapter 4. Utilities

UT -477

$PREFIND
$PREFIND .. Prefinding Data Sets and EDL Overlays (continued)

()

After performing the PF and DE commands described above, data sets 1, 2, and 6 are prefound
and data sets 3, 4, and 5 are not. The execution of the DE command only affects DS3 and does
not update the information in the program header concerning DSl, DS2, or DS6.
In the PROGRAM instruction, you can specify "dsname, ??" format. For example, you may have
coded the PROGRAM instruction as follows:

TASK1

PROGRAM

START1,DS=(??, (NAME2,EDX002»),

In this statement, two data sets are defined. The name of DS 1 will be specified at load time.
When the program is loaded, you are prompted for the name of DSl.
During execution of the DE command, you can delete a data set specified in this manner.
$PREFIND prompts you to enter the name of this data set to be placed back into the program
header since the original name was overridden during the previous PF command. If you invoke
the DE command via $JOBUTIL, an error message occurs if the above condition is encountered.
Any data set or EDL overlay program not marked as being in the prefound state is located by
$LOADER whenever the program is loaded into storage for execution.
Example 1: Processing mUltiple programs with prompting messages.
COMMANO( 1 ) : PF
PGM(NAME, VOLUME ).: ... TESTPREF ,EOXOO 1
ENTER DATASET NUMBERS: 0=( 1,2,3~7 ,9)

ENtER OVERLAYPGM. NUM8ERS:

P~(ALL)

COMMANDC()MPLETED
COMMAND (?):

Example 2: Processing multiple programs without prompting messages .
.C~MMAND(?)j ... PF
PGM( NAME,VOLl)ME)·:
,

. . ,.

,

COMMANO·COMPI,;ETED
COMMANO( ?}:

EN

c
UT-478

SC34-0644

$PREFIND

o

$PREFIND - Prefinding Data Sets and EDL Overlays (continued)
Prefinding Data Sets and Overlays Using the Session Manager

You can use the session manager option menu for program preparation to invoke $PREFIND.
Figure 26 shows the parameter input menu displayed when you invoke $PREFIND with the
session manager.

$SMM0211:SESSION MANAGER $PREFIND PARAMETER INPUT MENU
ENTER/SELECT PARAMETERS '
PRESS PF3 TO RETURN
COMMAND (P/O):
PROGRAM (NAME,VOLUME)
OATA SET ,IS (OR ALL)
PROGRAM #'5 (OR ALL)

===>
===>
===>
===>

0
TESTPREF,EDXOOl
ALL
ALL

Figure 26. $PREFIND parameter input menu

After you enter the parameters,

$PREFIND

executes as if you had invoked it with

$JOBUTIL.

Prefinding Data Sets and Overlays Using $JOBUTIL

When invoked through $JOBUTIL, $PREFIND requires the same information as described under
"Prefinding Data Sets and Overlays Using the $L Command" on page UT-476. You provide
this information with a PARM command having the format shown below. The number of spaces
between the operands in the PARM command may be one or more, as long as the total number of
characters, including spaces, does not exceed 62.

Syntax:

Character
Position
10
1

PARM

c progname,volume D=(_,_,_) P=(_,_,_)

Operands

Description

c

Either character P for

progname

The name of the program whose data set and EDL overlay program status is to be
modified.

volume

The volume of the program whose data set and EDL overlay program status is to be
modified.

-'-'-

The string of data set or EDL overlay program numbers, or the word ALL.

PREFIND

or character D for

DELETE.

o
Chapter 4. Utilities

UT -4 79

$PREFIND
$PREFIND - Prefinding Uata Sets and EDL Overlays (continued)
When invoked with $JOBUTIL, $PREFIND performs either a single prefind or delete function and
then ends. $PREFIND directs error and/or termination messages to the device defined as

o

$SYSPRTR.

Example: The following is an example of a $JOBUTIL procedure for prefinding data sets and
EDL

overlays.

LOG
JOB
PROGRAM
NOMSG
PARM
EXEC
EOJ

$SYSPRTR
PREFIND
$PREFIND,EDX001
D TESTPREF,EDX001 D=(ALL) P=(ALL)

1r1(~~\

;~.....~)

o
UT-480

SC34-0644

$PRT2780/3780

o

$PRT2780 and $PRT3780
The $PRT2780 and $PRT3780 utilities print the spool records produced by the $RJE2780 and
$RJE3780 utilities.

Invoking $PRT2780 and $PRT3780
You invoke $PRT2780 and $PRT3780 with the $L operator command or session manager options
8.6 and 8.7, respectively. When either utility is loaded, it prompts you for the name of the spool
file to be printed. The utility ends when it reaches the end of the spool file. An initial option
allows you to choose a printer other than $SYSPRTR if you want.

>$L $PRT3780
DS1(NAME,VOLUME): ASMWORK
LOADING $PRT3780
27P,00:02:44, LP= ,8000, PART=2
PRINT TO $SYSPRTR? (y OR N): Y
$PRT3780 ENDED AT 00:03~05
Spooled data from a /*DR HASP command during a remote job entry session as printed out by
the $PRT3780 utility is:

C'~)

$19.28.14
$19.28.14
$19.28.14
$19.28.14
$19.28.14
$19.28.14

RM74.RD1
RM74.PR1
RM74.PU1
RM7S.RD1
RM75.PR1
RM75.PU1

***
***
***
***
***
***

INACTIVE
INACTIVE
INACTIVE
INACTIVE
INACTIVE
INACTIVE

o
Chapter 4. Utilities

UT -481

$PRT2780/3780
$PRT2780 and $PRT3780 (continued)
Sample $RJE Session

o

Figure 27 shows a typical remote job entry session using the $RJE2780 and $PRT2780 utilities.

o

Figure 27 (Part 1 of 2). Sample $RJE session

o
UT-482

SC34-0644

$PRT2780/3780

o

$PRT2780 and $PRT3780 (continued)
SPOOL·
ENTER SPOOL FILE NAME (NAME,VOLUME):
SPOOL FILE DEFINED
> SUBMI T RJEJ,OB02
SUBMIT FILE READY TO SEND
FILE TRANSMISSION STARTED
FILE TRANSMtSSION COMPLETED

>

SPOOL01,EDX002

SPOOLING STARTED
PUNCH DATA BEINGRECEfVED -NO PUNCH FILE DEFINED
ENTER PUNCH FORMAT - S OR o:S
ENTER PUNCH FILE NAME (NAME,VOLUME): PCHOUT02,EDX002
PUNCH FILE DEFINED
PUNCHING STARTED
PUNCHING COMPLETED
LAST CARD PUNCHED WAS CARD 1 ON RECORD
51
>ENDSPOOL
SPOOLING COMPLETED
> COMMAND
ENTER COMMAND
I*SIGNOFF
COMMAND READY TO SEND
COMMAND SENT
$RJE2780 ENDED AT 00:00:00
> $L $PRT2780 .
OS 1(NAME ,VOLUME) : SPOOLO 1,EDX002
LOAD ING.$PRT2780
9P ,00: 00: 00, LP= 7COO
PRINT TO $SYSPRTR? (y ORN): N
ENTER PRI NTER NAME:PRTfU
$PRT2780ENDEDATPO:OO:OO
Figure 27 (Part 2 of 2). Sample $RJE session

o
Chapter 4. Utilities

UT-483

$RJE2780/$RJE3780
$RJE2780 and $RJE3780
$RJE2780 and $RJE3780 are utilities that simulate an IBM
"RJE utility" refers to both $RJE2780 and $RJE3780.

The

$RJE2780

2780 and 3780, respectively. The term

utility simulates an IBM 2780 having the following characteristics and features:

•

Model 2 (Card reader, card punch, and printer)

•

EBCDIC transparency

•

Multiple record transmission

•

End-of-media punch recognition

•

132-character print line

•

Transparent punch output only

•

No horizontal tab

•

No tape-controlled operations (except channell as new page indicator), including vertical
tab.

The

$RJE3780

o

utility simulates an IBM 3780 having the following characteristics and features:

3780 with IBM 3781 Card Punch
•

Compression for both input and output

•

Transparent or nontransparent (compressed) punch output.

Interface to Host RJE Subsystems
$RJE2780 and $RJE3780 present the same interface to the following System/360 and System/370
host RJE subsystems:

or HASP V4

•

HASP

•

JES2

•

RES

•

VMRSCS

or JES3

o
UT-484

SC34-0644

$RJE2780/$RJE3780
\

o

$RJE2780 and $RJE3780 (continued)
Invoking $RJE2780 or $RJE3780
You invoke $RJE2780 and $RJE3780 with the $L operator command or session manager options
8.4 and 8.5, respectively.
When the $RJE utility is first loaded, it checks for the presence of only one BSC line specified in
the supervisor. If there is only one line, the actual device address of the adapter is used as the
default line address and the utility issues no prompt. If more than one BSC line has been
defined, the $RJE utility prompts you for the RJE line address. Subsequent control operations are
all performed using the $RJE attention commands. Figure 28 lists these commands.
You can load multiple copies of $RJE using different lines to the host. You can use the spool
facility to avoid contention for a single printer. Figure 27 on page UT -482 shows a sample $RJE
session.
ABORT

Stops transmission to or from the host

COMMAND

Sends a single card image to the host

ENDRJE

Terminates execution of the utility

ENDSPOOL

Switches from spooling to direct printing

PRINTON

Defines the terminal name used for output

PUNCHO

Defines a disk or diskette file for punch output of
object data

PUNCHS

Defines a disk or diskette file for punch output of
source data

RESET

Reset function (use caution)

SPOOL

Defines a disk or diskette file for printer output
and to commence spooling

SUBMIT

Sends a data stream to the host

SUBMITX

Sends a transparent data stream to the host

..~.

Figure 28. $RJE attention commands

0" ,

"~I

Chapter 4. Utilities

UT -485

$RJ E2780/$RJ E3780
$RJE2780 and $RJE3780 (continued)

o

Attention Commands
Eleven commands are available to perform control operations.
ABORT

Use the
SUBMIT

ABORT command to stop a data transmission that is currently in process. During a
or SUBMITX operation, normal end-of-file is transmitted to the host following the current

block.
During receive operations, EOT is returned instead of a normal acknowledgement, and data then
continues to be received until the host sends EOT. Depending on the operation of the host RJE
system, this can result in suspension of print or punch output and a pause during which the host
will receive input. Since the pause for input by the host may be short, you should enter any
desired commands (for example, submitting another job, cancelling the current output, holding a
job, or displaying status) before you enter the ABORT command.
ABORT command simulates pressing STOP on a 2780 while printing or punching, CARRIAGE
STOP on a 3780 printer while printing, or STOP on a 3781 punch while punching.

The
COMMAND

Use the COMMAND command to send a single card image record to the host. The most common
use of this capability is to send control commands and information requests to the host. For
example, this command should be used to terminate BSC job stream processing on JES2 and JES3
host systems by sending the signoff control statement, /*SIGNOFF.
After entering COMMAND, you are asked to enter the actual command to be sent to the host.
For a list of valid commands and requests, refer to the operator reference manuals pertaining to
your system.
ENDRJE

Use the

ENDRJE

command to end the

$RJE

utility program.

ENDSPOOL

Use the ENDSPOOL command to end the spooling of printer output (see SPOOL). If a print data
stream is being received and spooled when you enter this command, spooling continues until the
end of the data stream. Subsequent print data streams will then be printed on the defined
printer.
PRINTON

Use the PRINTON command to define the name of the terminal to be used for print output. If
you do not specify this, $SYSPRTR is assumed. If a print data stream is being received and
printed when you enter this command, the print data stream continues to print on the same
device until the end of the data stream is reached. Subsequent print data streams will then be
printed on the newly defined printer.

UT-486

SC34-0644

$RJE2780/$RJE3780

o

$RJE2780 and $RJE3780 (continued)
PUNCHS and PUNCHO

Use the PUNCHS and PUNCHO commands to define the disk or diskette file to receive punch data
from the host. Card image punch data streams are written to disk in two different formats:
source (s) or object (0). Source format produces two 80-byte card image records per 256-byte
disk record with the second card starting at byte location 129. Object format produces three
80-byte contiguous card image records per 256-byte disk record with the last 16 bytes set to
hexadecimal zeros. The punch specification is automatically reset at the completion of each
punch data stream so that multiple punch data streams can be separated into different output
data sets by issuing another PUNCHS or PUNCHO command.
When you enter PUNCHS or PUNCHO, the $RJE utility prompts for the name and volume of the
file to be used for punch output. If you do not specify volume, the IPL volume is assumed. The
file name and volume can also be specified as part of the PUNCHS or PUNCHO command, for
example:
PUNCHSPUNCHOLJT,EDXOOl

$RJE examines the first cards received from the host and disregards those containing a X'6A' in
columns 1, 10, and 11 (indicating a HASP punch header card) . You must modify $RJE to purge
other than HASP punch header cards.

RESET

Use the RESET command to reset functions that have not started operation in $RJE (for example,
buffered command images that have not yet been sent to the host and SUBMIT files that have not
yet started transmission). Use RESET with caution: if you issue RESET while a function is in
process or if you overlap a function initiation sequence, you may get unpredictable results.
RESET conditionally prompts you with the following:
:

Wo.

'.

,.

'

ENJER>RESeTT¥PE.···· fdr,su,sP<~PtJ ).• :
CO'··.. .~OMMANi)PONCTI()N .'.......... ' ..'
>'SU -SUBM[J(xJFUNCTION"
.SP-'SP,OOLFUNCrJON ..•. .............. . '
·:,pti·;.;.ptJ~tflJS"o~.ol·,·F.uNtTfoN···.· .

o
Chapter 4. Utilities

UT -487

$RJE2780/$RJE3780
$RJE2780 and $RJE3780 (continued)
SPOOL

o

Use the SPOOL command to define the disk or diskette file to receive printer data from the host.
If you do not define a file, $RJE prints received data directly to the printer. Once specified, all

printer output is spooled until you issue an ENDSPOOL command The $PRT2780 or $PRT3780
utility is used to print the contents of a spool file produced by $RJE2780 or $RJE3780, respectively.
Upon entering the SPOOL command, you are prompted for the name and volume of the disk or
diskette file to be used for printer output. If you do not specify a volume, the IPL volume is
assumed. The space allocated to this file must be at least equal in size (256-byte records) to the
number of print lines to be spooled, and there must be an even number of records in the spool
file. Once the spool file is full, the output reverts to the defined printer. You can enter the
spool file name and volume with the SPOOL command, for example:
SPOOL SPOOLFLE,WRKLIB
SUBMIT and SUBMITX

Use the SUBMIT and SUBMITX commands to define and send, respectively, a data stream or
transparent data stream to the host. You can send multiple disk or diskette files using the
/*CONCAT statement in the data stream itself. The files must be in the same format as that
produced by the $EDITIN and $FSEDIT utility programs (for example, two 80-byte card image
records per 256-byte disk or diskette record with the second card beginning at byte location
129).
Two command statements within the data stream are recognized by RJE and are not transmitted
to the host:
/*END,

which signifies the end of the data stream to be sent; and

filename,volume, which signifies that the data stream is to be continued using the
file specified. If you do not specify a volume, the IPL volume is assumed. You can
concatenate any number of files into one data stream, but the /*CONCAT statement can only
be used once in each file. It should be the last statement since the utility uses the statement
to open the next file and never returns to the previous or original file.

/*CONCAT

When you enter a SUBMIT or SUBMITX command, you are prompted for the name and volume of
the file to be sent to the host. If you do not specify a volume, the IPL volume is assumed. You
can also enter the submit file name and volume with the SUBMIT or SUBMITX command, for
example:
SUBMITX MYJOB,WRKLIB

o
UT -488

SC34-0644

$SPLUT1

o

$SPLUT1 - Spool Utility
You can use $SPLUTI to change the spooling capacity parameters and specify restart of the
spooling facility under specific circumstances.

$SPLUT1 Operations
You can use the spool utility to perform the following operations:
1. Change any of the following spooling capacity parameters.
Command Function

c~

CD

Change the devices designated as spool devices and specify spool writer autostart.

DS

Change the spool data set to be used.

GS

Change the spool data set group size.

MA

Change the maximum number of active spool jobs.

MJ

Change the total number of spool jobs allowable in the system at any point in
time.

SO

Change the separator page option.

Figure 29 on page UT-491 lists the default parameters shipped with the spooling facility.
2. Specify that spooling is to be restarted using a specified, previously used spool data set.
Use spool RS command to:
Restart spooling to retrieve the output spooled up to the last checkpoint in the event of a
system failure. Checkpoint data is written to the spool data set each time a group of
records is allocated to a spool job, each time a spool job becomes ready or is deleted,
arid each time a $S operator command is processed. For an explanation of the $S
operator command, see "$S - Control Spooled Program Output" on page UT-19.
•

Restart spooling as a normal procedure after invoking the spool facility - whether or not
any previously spooled data remains in the spool data set used for the restart.

•

Copy a spool data set to diskette and transfer to another machine and thus make spooled
output available across systems.

Note: Once the spool restart is specified, restart remains in effect for all subsequent spool
sessions until reset with $SPLUTI.

o
Chapter 4. Utilities

UT -489

$SPLUT1
$SPLUT1 - Spool Utility (continued)
3. Use the RS command to specify that spooling is to be cold-started, initializing the specified
spool data set. A cold start should be specified:
•

o

The first time a new spool data set is used;
To delete any jobs left over from a previous spool session.

Set the restart mode on (y) to start spooling using a previously used spool data set. Use
restart mode to:
Ensure that any data left from a previous session is not lost.
•

Restart spooling to retrieve the output spooling up to the last checkpoint before a system
failure. Checkpoint data is written to the spool data set each time a group of records is
allocated to a spool job, each time a spool job becomes ready or is deleted, and each
time a $S operating command is processed.
Transfer a spool data set on diskette from another Series/I.
Notes:
a. The specified restart mode (YIN) remains in effect for all subsequent spool sessions.
b. Restart mode must be set to off (N) before you change any spooling capacity
parameters.
c. You cannot set restart mode to on (Y) during the $SPLUTI session in which you
change any spooling capacity parameters (CD, DS, GS, MA, MJ, and so commands).

o

d. The changes take effect in the next spooling session.
Specify the termination of $SPLUTI.
CA

Cancel the utility and ignore the changes.

EN

End the utility and record the changes.

o
UT -490

SC34-0644

$SPLUT1

o

$SPLUT1 - Spool Utility (continued)
Notes:
1. Items 1 and 2 are mutually exclusive in a single utility session. On any single invocation of
the spool utility, you can do one or the other of these, but not both. That is, if you change
the spooling support parameters, you cannot specify a spool restart; if you specify a spool
restart, you cannot change the spooling capacity parameters.
2. Restart mode must be reset before you can use any of the spool capacity change parameters.
3. The changes do not affect the current spooling session. They take effect in the next
spooling session.
4. With the shipped system, the
session.

$SYSPRTR

writer is automatically started at the start of a spool

PARAMETER
Spool data set name (DSNAME)
Spool data set volume (VOLUME)
Maximum allowable spool jobs (MAXJOBS)
Maximum active spool jobs (MAXACTV)
Restart (RESTRT)
Spool data set group size (GRPSZ)
Spool data set groups (GRPS)
Separator page option (SEP)
Designated spool devices (DEVICES)

DEFAULT
SPOOL
EDX003
10
4
N

100
10
Y

$SYSPRTR

Figure 29. Spooling Defaults

Invoking $SPLUT1
You invoke $SPLUTI with the $L operator command or option 4.7 of the session manager. You
can load $SPLUTI into any partition whether or not spooling is active.
$L $SPLUTl
LOADING $SPLUTl

>

30P,01:00:16, LP= 0000, PART=l

******************************************************

**
**

EDX SPOOL UTILITY
CHANGES EFFECTIVE THE NEXT TIME $SPOOL IS LOADED

**
**

******************************************************
DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSl-SEP--DEVICES-AUTO-FORM
SPOOL

EDX003

10

4

N

10

100

Y

$SYSPRTR Y

COMMAND (?) :

o
Chapter 4. Utilities

UT -491

$SPLUT1
$SPLUT1 - Spool Utility (continued)
$SPLUT1 Commands

o

To display the $SPLUTI commands, enter a question mark in response to the COMMAND (?):
prompt.

COMMAND (?h

?

DS - CHANGE DATA SET NAME
MJ-CHANGE MAX JOBS
MA ... CHANGE MAX ACT1VEJOBS
RS ... RESTART
CD ... CHANGE SPOOL DEVICE(S) (10 MAXIMUM)
GS- CHANGE SPOOL DATA SET GROUPSIZE
SO ... SET SEPARATOR PAGE OPTION
CA - CANCEL UTILITY (CHANGES IGNORED)
EN - END UTILITY (CHANGES ACCEPTED)
COMMAND(?):
After $SPLUTI displays the commands, it prompts you with COMMAND (?): again. Then you can
respond with the command of your choice (for example, DS).

Spool Capacity Change Examples
Example - Change Spool Support Parameters

The following example shows how to:
•

Change the spool data set to SPOOLTMP,EDX003.
Increase the total number of spool jobs allowed in the system at any point in time to 14.
Increase the maximum number of active spool jobs to 10.
Designate the devices MPTR and LPTR as well as $SYSPRTR as spool devices.

•

Specify automatic writer start for $SYSPRTR with forms code FM35.

•

Specify no automatic writer start for LPTR and MPTR.

•

Change the spool data set allocation (groupsize) to 20 records per group.

•

Change separator option to no (do not write separator page between jobs).

o
UT -492

SC34-0644

$SPLUT1

o

$SPLUT1 - Spool Utility (continued)
$L $SPLUTI
LOAD lNG" $SPLUTl

>

30P,01:00:16, LP= 0000, PART=1

******************************************************
**
EDX SPOOL UTILITY
**
** CHANGES EFFECTIVE THE NEXT TIME $SPOOL IS LOADED **
******************************************************
DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ-SEP--DEVICES-AUTO-FORM
SPOOL

EDX003

10

4

N

14

100

Y

$SYSPRTR Y

COMMAND (?) : OS
ENTER(NAME,VOLUME): SPOOLTMP,EDX003
DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ-SEP--DEVICES-AUTO-FORM
SPOOLTMP EDX003

10

4

N

14

100 Y

$SYSPRTR Y

COMMAND (? ): MJ
MAX JOBS: 14
DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ-SEP--DEVICES-AUTO-FORM
SPOOLTMP EDX003
14
4
N
14
100 Y $SYSPRTR Y
COMMAND (?): MA
MAX ACT IVE JOBS: 6
DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ-SEP--DEVICES-AUTO-FORM
SPOOLTMP EDX003
14
6
N
14
100 Y $SYSPRTR Y
COMMAND (?): CD
DEVICE NAME (ENTER BLANK TO END): $SYSPRTR
WRITER AUTOSTART ? (YIN): Y
ENTER FORMS CODE: FM3,
DEVICE NAME (ENTER BLANK TO END): MPTR
WRITER AUTOS TART ? (YIN): N
DEVICE NAME (ENTER BLANK TO END): ,LPTR
WRITER AUTOSTART ? (YIN): N
DEVICE NAME (ENtER BLANK T~END):
DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ"';SEP--DEVICES-AUTO-FORM
SPOOLTMP EDX003

14

6

N

14

100 Y

COMMAND (?) :GS
PHYSICAL RECORDS PER GROUP

$SYSPRTRY
MPTR
N
LPTR
N

FM35

(1~255): to
DSNAME---\lOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ"';SEP-~DEVICES-AUTO-FORM

SPOOL TMP E·DX003

14

6

N

14

20Y

COMMAND ( ?): . SO
SET SEPARATOR PAGE OPTI ON(Y/NNOWISY} :N ......

'$SYSPRTRY
MPTR
N
LPTR
N

FM35

DSNAME--~VOLUME-MAXJOBS-MAXACTV-REStRT-.GRPS':'GRPSZ-SEP"-OEV1CES~AUTO"';FORM

SPOOLTMP EDX003

FM35

COMMANO(?}: EN

o
Chapter 4. Utilities

UT -493

$SPLUT1
$SPLUT1 - Spool Utility (continued)
Spool Start Type Examples

o

EXfJmp/e 1: Specify spool restart to current data set. This example shows how to specify that

a spool restart is to be done using the same spool data set used in the last spooling session
(SPOOL,EDX003) .

o
UT -494

SC34-0644

$SPLUT1

o

$SPLUT1 - Spool Utility (continued)
Example 2: Specify spool restart using data set SPOOLl. This example shows how to specify

that a spool restart is to be done using a different spool data set than that used in the last
spooling session.
>

$L $SPLUTl
LOADING $SPLUTl

30P,01:00:16, LP= 0000, PART=2

****************~#~************************************

**

EDX SPOOL UTILITY
**
CHANGES EFFECTIVE THE NEXT TIME $SPOOL IS LOADED **
******************************************************

**

DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ-SEP--DEVICES-AUTO-FORM
SPOOL

EDX003

14

6

N

14

100

Y

$SYSPRTR Y
MPTR
N
LPTR
N

FM35

COMMAND(?): RS
RESTART YIN

(1):

Y

ALL PREVIOUS CHANGES IGNORED
RESTART TO SPOOL,EDX003? N
ENTER (NAME,VOLUME): SPOOL1,EDX003
NO FURTHER CHANGES ALLOWED
DSNAME---VOLUME-MAXJOBS-MAXACTV-RESTRT-GRPS-GRPSZ-SEP--DEVICES-AUTO-FORM
SPOOLl
EDX003
COMMAND(?): EN

10

4

Y

15

100

Y

$SYSPRTR Y

FM35

Note: MAXJOBS, MAXACTV, GRPS, and DEVICES reflect the configuration of the spool data used
in the last spooling session using that data set.

o
Chapter 4. Utilities

UT -495

$SPLUT1
$SPLUT1 - Spool Utility (continued)
Example 3: Specify spool cold start. This example shows how to specify that spooling is to be

o

cold-started.

c
UT-496

SC34-0644

$STGUT1

o

$STGUT1 - Free Up Nonprogram Areas of Storage
$STGUTI releases any areas of storage, within a specific partition, that are not assigned currently
to application programs. It also prints out the segmentation registers of the partition you are in
currently or the number of overlay segments in unmapped storage.

Invoking $STGUT1
Invoke
utility.
>

$STGUTI

with the

$L

operator command. The session manager does not support this

SL $STGUn
$STGUTl - FREE STORAGE UTILITY
LOADING $STGUTl
9P,00:00:00, LP= 0000, PART= 2
COMMAND

(1):

$STGUT1 Commands
To display the
COMMAND (?):

$STGUTI

commands on your terminal, enter a question mark in response to the

prompt.

COMMAND (1):?
FR - FREE UP STORAGE
OS - LI ST STORAGE SEGMENTAT ION REG I STERS
MX - MONITO~ SYSiEMCONTROl BLOCKS
(-CA- WI LLCANCEU
UN-LIST UNMAPPED STORAGE INFORMATJON
EN...; END PROGRAM
.
COMMAND C?h

After $STGUTI displays the commands, you are prompted with COMMAND (?): again. Then you
can respond with the command of your choice (for example, FR).
Each command and its explanation is presented in alphabetical order on the following pages.

o
Chapter 4. Utilities

UT -497

$STGUT1
$STGUT1 - Free Up Nonprogram Areas of Storage (continued)
os -

List Storage Segmentation Registers

o

Use the DS command to list the storage segmentation registers for the current partition. If you
wish to list the segmentation registers of another partition, use the $CP operator command to
change partitions.
Example: List segmentation registers.

EN -

()

End Program

Use the

EN

command to end the

$STGUTI

utility.

Example:

c
UT -498

SC34-0644

$STGUT1

o

$STGUT1 - Free Up Nonprogram Areas of Storage (continued)
FR -

Free Up Storage

Use the FR command to release storage that is not being used by application programs. $STGUTl
prompts you for the partition number and location (load point) of the storage you' want to
release. If the area is assigned to a program currently, $STGUTl issues a message and does not
release the area.
Example 1: Free up storage in partition 4 at load point O.

COMMAND (?): FR
PARTITION = 4
LOAD POINT = 0
STORAGE RELEASED
Example 2: Attempt to free up storage beginning at load point 0 in partition 4 that is assigned

to a program currently.

COMMAND (?): FR .
PARTITION '=·4
LOAD POINT =0
,

.

"

PROGRAM AREA,;. NOT RELEASED

o

In this example, the storage area was assigned to a program or there was no storage to be
released at the load point (address) you specified.
MX -

Monitor System Control Blocks

Use the MX command to monitor the buffer used to track the number of interrupts that are
received by the supervisor and the cross partition stack used by the supervisor when branching
between partition one and supervisor code located in other partitions. The interrupt buffer and
cross partition stack are defined with the SYSTEM definition station. The interrupt buffer IABUF
is defined with the IABUF= operand and defaults to 20 interrupts. The cross partition stack
XPSSTK is defined with the XPSSTK= operand and defaults to 20 entries. You can list the buffer
and stack information on your terminal or write it out to disk or diskette.
To list the information on your terminal, use the> DI command under the MX command.
$STGUTl displays the most recent size of the IABUF and the XPSSTK, the maximum number of
entries used to date (MAX USED ENTRIES), and the number of entries being used currently.
To write the information to a disk or diskette, $STGUTl prompts you for a data set name and
volume. If the specified data set has already been used to store buffer and stack information,
$STGUTl first reads the information contained in it and then automatically updates this
information periodically. If the specified data set did not exist previously, STGUTl.creates and
updates the information automatically. The data set is updated whenever the attention DI (> DI)
command is used to display the information on the terminal. It is not necessary to enter the (>

0':,

,;

Chapter 4. Utilities

UT-499

$STGUT1
$STGUT1 - Free Up Nonprogram Areas of Storage (continued)
command after using the MX) command for the first time. Information appears automatically
at that time only.

DI)

o

Use the MX command to obtain other types of information, such as SCBs and/or static and
dynamic segmentation register information.
It is recommended that you check the IABUF and XPSSTK periodically to ensure that they are
large enough for your system to continue executing. If the maximum used entries for either the

or the XPSSTK is reaching the specified size, you should redefine the sizes on the SYSTEM
definition statement and regenerate your system.

IABUF

Example 1: List the XPS stack information on the terminal and cancel buffer and stack

monitoring.

Example 2: Write XPS stack information to diskette and display it on the terminal.

o
UT-500

SC34-0644

$STGUT1

o

$STGUT1 - Free Up Nonprogram Areas of Storage (continued)
UN -

List Unmapped Storage Information

Use the UN command to list the number of overlay segments residing in unmapped storage for a
specific program.

COMMAND (?): UN
PROGRAM NAME: EDXLINK
If the program you specify is not active currently, $STGUTI issues the following message:

PROGRAM EDXLINK NOT FOUND
If the program specified does not require any overlay segments in unmapped storage or no

overlay segments have been referenced,

PROGRAM= EDXLINK
NO STORAGE BLOCKS

$STGUTI

issues the following message:

PART= 2
FOUN~

If the program specified does require overlay segments in unmapped storage, $STGUTI issues the

.

following messages (an explanation of the numbered items follows the example):

c~)

fJ
II

a

COMMAND (1):UNEDXLINK
PROGRAM= EDXLINK

PART=

UNMAPPED

NUMBER OF UNMAPPED

II
II

o
Chapter 4. Utilities

UT-501

$STGUT1
$STGUT1 - Free Up Nonprogram Areas of Storage (continued)
. . The name of the program requiring overlay segments in unmapped storage.

II

The number of the storage block that is being described. (If more than one control block is
described, information about each control is displayed.)

II

The overlay manager has requested the storage block area. The overlay manager is
automatically invoked by the $EDXLINK UNMAPCNT control statement .

o

. . The number of unmapped storage areas requested.

II

The number of unmapped storage areas actually obtained. If the number is less than
requested, the program will still execute with the areas not placed in unmapped storage being
referenced off the disk.

II

The address and partition of the mapped area.

o

c
UT-502

SC34-0644

$SUBMIT

o

$SUBMIT - Submit/Control Jobs in Job Queue Processor
The $SUBMIT utility performs several functions to submit jobs ($JOBUTIL command data sets)
and control processing of those jobs by the job queue processor. $SUBMIT enables you to:
Submit a job for execution.
•

Submit and hold a job.
Hold a job waiting for execution.

•

Release a held job for execution.

•

Delete a job.

•

Display the status of the job queue processing system.

$SUBMIT starts (or restarts) job queue processing, if necessary, and then allows you to enter job
queue commands.

For information on submitting jobs by a program, refer to Event Driven Executive Language
Programming Guide.
Inv~king

$SUBMIT
You invoke $SUBMIT with the $L operator command or option 10.2 of the session manager.
You must start the job queue processor, $JOBQ, the first time you invoke $SUBMIT. You are
prompted for a partition number in which to load $JOBQ. However, you do not need to select a
partition. Just press the enter key and the operating system selects a partition large enough to
contain $JOBQ. If you do not want to start the job queue processor, respond Nand $SUBMIT
ends.
>

$L $SUBMIT

LOAD I NG $SUBM IT

,.

8p,.09:18:62 v LP=2300., PART=2

....

....

.......,.,

PARTlrl ONNUMBE~' (1~8}dR .ENTEriFoR.AN~:.

'4

JOB·.:QUEUE.·.PJ~OCE·SS:QR.·.{$JOB·Q:) ~ ·i$.·.·.·I·N··.s·usp·~NP··E·~··.·.;MOOE:···.·······

··.TH·E ••.•
•.••••
·USE ··THE···J~RJQI'. ·C.OMMAND.I.N··. $~OBQUl:··JO·.·R;ESUME •• ·PROC~SSJNG.,

COMMAND . {?):

c
Chapter 4. Utilities

UT -503

$SUBMIT
$SUBMIT - Submit/Control Jobs'in Job Queue Processor (continued)
$SUBMIT Commands

o

To display the $SUBMIT commands, enter a question mark in response to the prompting message
COMMAND (?):

After $SUBMIT displays the commands, it prompts you with COMMAND (?): again. Then you can
respond with the command of your choice (for example, SJ).
Each command and its explanation is presented in alphabetical order on the following pages.
DJ -

Delete a Job

Use the OJ command to delete a job that is either waiting for execution or is being held. Identify
the job to be deleted with the job number displayed when the job was submitted.

0

Note: To cancel an executing job, use the $C operator command.
Example: Delete job 5:

o
UT -504

SC34-0644

$SUBMIT

o

$SUBMIT - Submit/Control Jobs in Job Queue Processor (continued)
DCH -

Detach $SUBMIT

Use the DCH command to place $SUBMIT in suspended mode. To resume processing, press the
attention key, enter SUBMIT, and press the enter key. If you suspend $SUBMIT, the job queue
processor remains active and any jobs executing complete processing.
To end

$SUBMIT

once it is in suspended mode, press the attention key and enter ENDSUB.

Example 1: Suspend $SUBMIT and then resume processing.

'COMMAND (?):

DCH

>SUBMIT

COMMAND

(?):

Example 2: End $SUBMIT.

COMMAND (?):DCH
>ENDSUB

$SlJBM IttNDED

()

EN -

End $SUBMIT

Use the

EN

command to end the

$SUBMIT

utility.

Example: End the $SUBMIT utility:

o
Chapter 4. Utilities

UT -505

$SUBMIT
$SUBMIT - Submit/Control Jobs in Job Queue Processor (continued)

,0 .
Iii!

HJ -

Hold a Job Waiting for Execution

Use the HJ command to place a job waiting for execution into a hold state. You must identify
the job to be held with the job number displayed when the job was submitted. If you have
submitted many jobs and cannot remember the job number of the specific job you wish to hold,
use the STQ command to display a list of the jobs in the data set.
Example: Hold job 26 (a job already submitted) for later execution.

Once a job is placed in a hold state, you can release it for execution using the
delete it using the DJ command.
RJ -

RJ

command or

Release a Held Job

Use the RJ command to release for execution a job that is being held currently. To identify the
job you wish to execute, enter the job number of the held job. Use the STQ command to display
the status of individual jobs.
Example: Release job 17 for execution:

SJ -

Submit Jobs to the Job Queue Processor

Use the

command to submit jobs for execution. You are prompted for the name of the
command data set to be executed.

SJ

$JOBUTIL

Optionally, you can assign a priority to the job you wish to execute. Four priorities are
available, zero through three, where zero is the highest priority. Jobs with higher priorities
execute before those with lower priorities. For example, if you want a particular job to run
before other jobs, you can assign it a higher priority. On the other hand, you might not care
how quickly a job executes. In this case, you do not assign a priority to the job. Just press the
enter key, or enter an asterisk, in response to the JOB PRIORITY: prompt, and $SUBMIT assigns
priority 2 to the job.

o
UT -506

SC34-0644

$SUBMIT

o

$SUBMIT - Submit/Control Jobs in Job Queue Processor (continued)
Example: Submit two jobs, one with and one without priority. The first job is submitted

without a priority using prompt-reply mode; the second job is submitted specifying a priority of
1 using the single-line format. When using single-line format, enter the responses in the order
the system expects them.
COMMAND (1): . SJ
ENTER COMMAND DATA SET (NAME,VOLUMEh

COMPILE,CANPRC

ENTEKA PRIORITY FROM 0 TO.3 (DEFAULT 2):
JOQ PRIORITY DEFAULTED T02
JOB NUMBER
5 :SUBMlTTED
COMMAND DATASET:COMPILE,CANPRC
JOa PR10RITY
2
.
COMMAND(1)~

SJcJOB1,EDX0021

JOB NUMBER
6. : SUBMITTED
. COMMAND DATA SET: JOB 1,EDX002
JOB .PRJ(lR l T Y l

. SH -

Submit Job and Hold

Use the SH command to submit a job and place it into an immediate hold state. For example, a
job may require specific diskette or tape data sets that are not available at the time you submit
the job, or you may want to make sure a certain execution sequence is followed. By holding the
job, you can set up the environment and then release the job for execution using the RJ
command. If you decide to delete a held job, use the DJ command.
Example: Submit and hold a job with a priority of 3.

o
Chapter 4. Utilities

UT -507

$SUBMIT
$SUBMIT - Submit/Control Jobs in Job Queue Processor (continued)
STQ -

Display the Status of Job Queue Processing

o

Use the STQ command to display the status of job queue processing and the status of individual
jobs. STQ displays the jobs in the order in which they were submitted. For each job in the
queue, $SUBMIT displays the following:
•

Job number

•

Command data set name
Job priority
Individual job status -

waiting, held, executing.

Example: Display status of job queue processing.

o
UT -508

SC34-0644

$S1ASM

o

$S1ASM - Series/1 Assembler
$SlASM assembles source programs coded in Series/1 assembler language into object modules.
The source program can include Series/1 assembler language macros such as the commands
provided by the Event Driven Executive Macro Library.

If you have a mixture of Series/1 assembler language statements and EDL instructions, you must
use $SlASM.
If your program contains only EDL instructions, use $EDXASM; your processing will be much
faster. For more inform.ation, see the "$EDXASM - Event Driven Language Compiler" on
page UT -265.

Before using $SlASM, you must enter the source program onto a disk or diskette data set with
one of the text editor utilities ($EDITIN or $FSEDIT).

Required Data Sets
$SlASM requires the following data sets. You must specify these data sets in the order shown
when you use the $L operator command to invoke $SlASM. The source program input data set
and the object data set must be specified when you invoke $SlASM using the session manager.

1. The source program input data set (DS1) contains the program to be assembled. Use a text
editor ($EDITIN or $FSEDIT) to create the source data set. You must specify the name of this
data set when you invoke $SlASM.
2.

Three work data sets (DS2-DS4) are used by the assembler. They contain object code,
relocation pointers, the symbol table, and other information. You must allocate these data
sets if you use the $L operator command to invoke $SlASM. For most programs, sizes of
3000,3000, and 800 records for ASMWRKl, ASMWRK2, and ASMWRK3" respectively, are
sufficient. The sizes can increase when assembling a large program containing many macro
calls. Specify the names of these data sets you allocated as a parameter on the $L operator
command. These data sets are allocated automatically by the session manager.

3. The object data set (DS5) will contain the output object module from the assembly. It serves
as input to the linkage editor. A size of 50 to 100 records is sufficient for most programs.
You must allocate this data set and specify its name when you invoke $SlASM.

Invoking $S1ASM
You invoke $SlASM with the $L operator command, with option 2.3 of the session manager, or
with the $JOBUTIL utility. In each case, you must provide the same information when you load
$SlASM for execution.
You can cancel the assembly or subsequent listing at any time by pressing the attention key and
entering CA.

0 :,
,.,

Chapter 4. Utilities

UT -509

$S1ASM
$S1ASM - Series/1 Assembler (continued)
Assembler Options

o

The $SlASM assembler has several options. You specify the option(s) you want when you
invoke $SlASM. To direct the processing done by the assembler, the following assembler options
are available.
LIST/NOLIST

LIST

tells the assembler to write all assembly listings to the print file.

NOLIST tells the assembler to write only the statistics and diagnostic
messages, if any, to the print file.

TEXT/NOTEXT

tells the assembler to write the source and object program
listings to the print file.

TEXT

suppresses this process.

NOTEXT

ESD/NOESD

tells the assembler to write the external symbol dictionary before
the source program listing.

ESD

NOESD

RLD/NORLD

suppresses this process.

tells the assembler to write the relocation dictionary after the
source program listing.

RLD

NORLD

suppresses this process.

XREF /NOXREF /FULLXREF

tells the assembler to write the cross-reference listing to the
print file for only referenced symbols.

XREF

NOXREF

suppresses this process.

tells the assembler to write the cross-reference listing to
the print file for all defined and referenced symbols.

FULLXREF

OBJECT/NOOBJECT

OBJECT

causes the object module to be written to the OBJOUT data

set.
NOOBJECT

MACRO/NOMACRO

MACRO

suppresses this process.

tells the assembler to process any macros encountered in the

source.
NOMACRO

suppresses this process.

o
UT -510

SC34-0644

$S1ASM

o

$S1ASM - Series/1 Assembler (continued)
SYSPARM(' ... ')

Defines up to 8 characters of information substituted for the
value during macro processing. Blanks may be contained
within the apostrophes. Each blank counts as one character. A
single apostrophe within the string must be represented by two
apostrophes. The default value for &SYSPARM is a null character
string.
&SYSPARM

LINECOUNT(n)

LINECOUNT

specifies n as the number of lines per page of the print
data set. If this option is omitted, the default line count is 55. The
value of n must be in the range 1-999.

SETC(n)

SETC specifies n as the maximum number of characters allowed to be
assigned to SETC symbols. The default value is assigned as 64
characters. The value must be in the range 2-98. If the assigned
value is odd, it is rounded up to the next even number.

END

END

CA

CA

terminates the option processing.

cancels the assembly.

You must enter option(s) separated by commas. The default options are LIST, OBJECT, AND
MACRO

Data Sets Used in Examples
For illustrative purposes, assume that:
EDX002

is the IPL volume;

Data sets ASMSRC and ASMOBJ are on the IPL volume;
WORK

contains the WKl, WK2, and WK3 data sets;

•

PRNTRI

is the name of a print device; and

•

$SlASM

is to have 32K bytes of dynamic storage allocated to it.

Note: Unless you override the default dynamic storage size, $SlASM uses 22K bytes of the
partition for a work area. If space in the partition is severely limited, $SlASM will execute
with less dynamic storage work space. If more space is available, you can improve $SlASM
performance by specifying more dynamic storage work space. Dynamic work space for
$SlASM must be in the range of 8704 to 57344 bytes.

Assembling a Program Using the $L Operator Command
Assembling a program using the $L operator command involves loading the assembler,
specifying macro libraries (if any), and specifying assembly options.

o
Chapter 4. Utilities

UT -511

$S1ASM
$S1ASM - Series/1 Assembler (continued)
Loading $S1ASM

o

When you assemble a program with the $L operator command, load $SlASM from the ASMLIB
volume.
The following example shows the prompt/reply sequence for invoking $SlASM, specifying 32K
of dynamic storage work area.

The following single-line entry is equivalent to the multiline entries above.

Specifying Macro Libraries
If you require macros for an assembly, you can specify one or two macro library volumes.

,f-)

~

....

In both of the previously shown methods of loading $SlASM, you are then prompted as follows:

~AC~ rBL{ll:
A null response (ENTER) causes the next prompt (ENTER OPTIONS) to appear. If you specify a
macro library for the MACLIBI prompt (as shown in the following example), another prompt
(MACLIB2) appears:

You can supply the name of another macro library or enter a null response.
Note: If your source program contains Event Driven Language instructions, you must specify,
as either MACLIBI or MACLIB2, the name of the volume(s) that contains the Event Driven
Eyecutive Macro Library and copy code.

()
UT -512

SC34-0644

$S1ASM

o

$S1ASM - Series/1 Assembler (continued)
Specifying Assembly Options

After entering the macro library volume name(s) or a null response, you are prompted as
follows:

ENTER OPTIONS (1):
After the prompt appears, you can:
•

Enter a null response and take the default options
Enter the options you desire (for example,
on page UT-510.

•

(LIST, OBJECT, MACRO).

LIST, NOXREF, NORLD).

See "Assembler Options"

Enter a question mark to display a list of the options. After the options are displayed, the
ENTER OPTIONS (?): prompt is displayed. Enter the option(s) you want.
Enter the options, followed by the name of your output device.

If you do not specify the name of the output device with your options, as follows:

ENTER OPTIONS (1):

LIST,NOXREF,NORLD

you are prompted with:

ENTER OUTPUT DEVICE NAME:
You can enter the name of the device on which your listings and diagnostic messages are to be
written. You can specify an asterisk (*) to direct the listings back to your loading terminal. If
you do not specify an output device (a null response), the output device defaults to $SYSPRTR.
The next message

CPAOOOI

$SlASM

displays is:

ASSEMB~ERSTARTEO

o
Chapter 4. Utilities

UT -513

$S1ASM
$S1ASM - Series/1 Assembler (continued)
Example: The following examples shows how to use single-line entry and prompt-mode entry

o

and use:
ASMSRC

for the source library

WK1, WK2, and WK3 for work files
ASMOBJ for the output file
•

MACLB1 for the macro library
PRNTR1 for the output listing.

Single-line Format: This example illustrates how to specify mUltiple data sets/volumes using

single-line entry.

(~-\

IV
Prompt/ Reply Format: This example illustrates how to specify multiple data sets/volumes

in prompt mode.

o
UT -514

SC34-0644

$S1ASM

o

$S1ASM - Series/1 Assembler (continued)
Assembling a Program Using the Session Manager
To invoke $SlASM using the session manager, select option 2 from the program preparation
secondary option menu.
Figure 30 shows the input menu for entry of the required data sets and optional parameters.
Source data set ASMSRC is to be assembled and the object output is directed to data set ASMOBJ.

$SMM0203: SESS,ION MANAGER $S lASM PARAMETER INPUT MENU
ENTER/SELECT PARAMETERS:
PRESS PF3 TO RETURN
SOURCE INPUT

(NAME,VOLUME):

===>

ASMSRC,EDX002

OBJECT OUTPUT (NAME,VOLUME):

===>

ASMOBJ,EDX002

ENTER OPTIONAL PARAMETERS BY POSITION:
MACLBl

PRNTRl

LIST,NORLD,NOXREF

1---------2--------~3---------4-----------------------------

MACLIBl
(VOLUME)

MAClIB2
(VOLUME)

PRINTER
NAME

ASSEMBLER OPTIONS SEPARATED BY COMMAS
LIST/NOLIST XREF/NOXREF/FULLXREF
TEXT/NOTEXT MACRO/NOMACRO
ESD/NOESD
OBJECT/NOOBJECT
RLD/NORLD
LI~ECOUNT(N} N=LINES/PAGE
DEFAULT OpTIONS ARE:

LIST,OBJECT,MACRO

Figure 30. $SlASM parameter input menu

o
Chapter 4. Utilities

UT -515

$S1ASM
$S1ASM - Series/1 Assembler (continued)

o

Assembling a Program Using $JOBUTIL
You can invoke $SlASM with the job stream processor $JOBUTIL. The same options are available
through the PARM facility of $JOBUTIL as were described previously under the $L command. If
you require the default options, you can leave the PARM card blank, but you must include it in
the procedure.
The following is a sample procedure:
PROGRAM
OS
OS
OS
OS
OS
PARM
EXEC

$SlASM,ASMLIB
ASMSRC
WK 1,WORK
WK2,WORK
WK3,WORK
ASMOBJ
MACLBl

PRNTRl

LIST,NOXREF,NORLD

Note: Parameters of the PARM statement are column- dependent:
MACLBl,if coded, must start in column 10.
MACLB2, if coded, must start in column 20.
PRNTRl, if coded, must start in column 30.
The option list, if coded, must start in column 40.

$S1ASM Output

()

Upon successful completion of $SlASM, the object data set will contain the output of the
assembler. For a description of that output, refer to the IBM Series/l Event Driven Executive
Macro Assembler Reference.

o
UT-516

SC34-0644

$8181 UT1

o

$S1 S1 UT1 - Series/1-to-Series/1
You can use $SlSlUTl to invoke the IPL feature and perform data transfer and status operations.
After the Series/1-to-Series/1 Attachment is installed, use the EC (echo test) command of
$SlSlUTl to verify that the attachment is installed correctly.
$SlSlUTl can also be used to check out an application. For example, if the application on the
initiating processor issues a PRINTEXT, the RE (read) command of $SlSlUTl can be used on the
responding processor to read the data from the PRINTEXT.

Invoking $S1S1UT1
You invoke $SlSlUTl with the $L operator command or option 4.8 of the session manager.
$SlSlUTl must be active on two connected processors for processor-to-processor communication
via the RE (read), WR (write), and AB (abort) commands. For example, if you issue a WR
command on one processor, then a corresponding RE command must be issued on the other
processor.
When you load $SlSlUTl, it immediately issues a DD (define device) command to obtain the
terminal name.
> $L $$1 S lUT 1
LOAD I NG $S 1S lUT 1
38P ,02: 52: 52, LP= 0000, PART= 2
"?I' FOR LIST OF COMMANDS

ENTERS1S1 DEVICE NAME:

$S1 S1 UT1 Commands
To display the $SlSlUTl commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.
COMMAND ( ? ) :

?

After the $SlSlUTl displays commands, you are again prompted with COMMAND(?):. Then you
can respond with the command you want (for example, AB). Each command and its explanation
is presented in alphabetical order on the following pages.

o
Chapter 4. Utilities

UT -517

$S1S1UT1
$S1S1UT1 - Series/1-to-Series/1 (continued)
AB -

Perform Write Abort

o

Use the AB command to issue a "write abort" for a pending operation on the initiating
processor. $SlSlUTl issues the write abort operation to the attachment specified by the most
recent DD command. This command is used by the responding processor to end a data transfer
operation abnormally.
Example:

DD -

Define Device Name

Use the DD command to specify the terminal name of the attachment used for all ENQTS of the
attachment for subsequent operations, until you issue another DD command. The terminal name
is the name specified on the TERMINAL configuration statement at system generation.
Example:

EC -

Echo Test

Use the EC command to verify that the attachment is installed correctly. It results in a
continuous exchange of 1024-byte records between the attached processors. To terminate EC
press the attention key and enter "Ee."
Example:

o
UT -518

SC34-0644

$5151 UT1

o

$5151 UT1 - 5eries/1-to-5eries/1 (continued)
EN -

End the Program

Use the EN command to end the $SISIUTI utility.
Example:
COMMAND (?) :

EN

$SlS1UTl ENDED AT 00:00:00

IP -

IPL the Other Processor

Use the IP command to issue an IPL (initial program load) command to the secondary processor,
if it is the primary processor issuing the IP command. $SISI UTI prompts you for the member
name and volume that contain the nucleus to be transferred to the secondary processor.

c"

The nucleus being transferred must begin with the characters $EDXNUC. It must be a single
partition supervisor with no overlays. The IPL bootstrap program, IPLSISI, must be located in
the IPL volume; $SISIUTI prompts you to verify that the volume name specified is correct. You
are also asked if the secondary system has a disk or diskette device and for the address of that
device. The specified disk or diskette becomes the default direct-access device for disk I/O
operations on the processor being initialized. The bootstrap program is sent to the slave and it
reads the specified nucleus, 1024 bytes at a time, across the attachment. Control is passed to
the nucleus upon completion of the transfer.
Example:
COMMAND(?):

IP

ENTER NUCLEUS DSN:

$EDXNUC

ENTER NUCLEUS VOLUME: EDX002
IS THERE A DEFAULT DISK DEVICE FOR THE NUCLEUS?
SUPPLY D I SKID I SKETTE DEV I CE ADDRESS (HEX) :
48
I PL PROGRAM NAME:
I PLS 1S1 ON VOLUME:
EDX002
OK?
Y
READY FOR IPL? Y

Y

o
Chapter 4. Utilities

UT -519

$5151 UT1
$S1S1UT1 - Series/1-to-Series/1 (continued)
RE -

Read Data

o

Use the RE command to issue an ENQT instruction for the terminal name specified by the most
recent DD command. $SlSlUTl then issues a READ TEXT instruction for that terminal to read data
from the other processor. If $SlSlUTl is active on the other processor, a WR command must be
issued to complete an RE command.
Example:

RS -

Reset Device

Use the RS command to issue a device reset to the attachment specified by the most recent DD
command. This command clears any pending interrupt or busy condition.
Example:

ST -

Obtain Status

Use the ST command to obtain status information on an operation. The status returned by this
command is the same as the information returned when a TERMCTRL STATUS instruction is
issued.
Example:

o
UT -520

SC34-0644

$S1S1UT1

o

$S1S1 UT1 - Series/1-to-Series/1 (continued)
WR -

Write Data

Use the WR command to issue an ENQT instruction to the terminal name specified by the most
recent DD command. A PRINTEXT instruction is then issued for that terminal to write data to the
other processor. If $SlSlUTl is active on the other processor, an RE command must be issued to
complete a WR command.
Example:

COMMAND (7): WR
ENTER TEXT:
TEST DATA TO WRITE
MESSAGE SENT!
COMMAND(?) :

o
Chapter 4. Utilities

UT-S21

$TAPEUT1
$TAPEUT1 - Tape Management
performs several commonly-used tape management functions. You can initialize
tapes, allocate tape data sets, copy data sets or volumes to or from tape, copy tape to tape, print
tape records, dump/restore disk devices, and test the tape transport hardware.
$TAPEUTI

o

Invoking $TAPEUT1
You invoke $TAPEUTI with the $L operator command or option 3.10 of the session manager.
Once invoked and prior to accepting commands, $TAPEUTI displays the following information
about the tapes defined to the system:
tape identification
density selection for the 4969 (800, 1600, DUAL) or the 4968 (1600, 3200, DUAL)
Note: The 3200 density for the 4968 is not ANSI compatible but is compatible with other
4968 tape units.
•

label type (SL: standard label, NL: null label, BLP: bypass label processing)

•

current density setting
tape speed (inches per second) - 4968 only
online or offline
volume information (if an online SL tape)

r:f---.~).

~,-

device address.
Example: Loading $TAPEUTI and its automatic display for system tapes.

Once you have invoked $TAPEUTl, you can list this information at any time by using the LT (list
tape drives and attributes) command.
Note: Error logging of tape errors is available. Refer to the Problem Determination Guide.

o
UT -522

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
$TAPEUT1 Commands
To display the $TAPEUTl commands at your terminal, enter a question mark in reply to the
prompting message COMMAND (1):.

COMMAND

(?);

CD
CT
DP
EN
EX
IT
LT
MT
RC
RT
ST
TA

COPY TAPE DATASET
CHANGETAPEA1TRIBUTES
DUMP1AP.E
[NO ~1APEUTl
EXERCISE TAPE
INITIALIZE TAPE
liSTTAPEtiR1VES AND ATTRI~UTES
MOVE TAPE

COMMAND

(1):

~ISPlAYTAPE;RETURNCODES

RESTORE DISK/VOL FROM TAPE
SAVE DlSK/VOLON TAPE
ALt.OCATE TAPE DATASET

After $TAPEUTl displays the commands, it prompts you with COMMAND (?): again. Then you
can respond with the command of your choice (for example, CD). Each command and its
explanation is presented in alphabetical order on the following pages.
CD -

Copy Data Set

Use the CD command to:
copy a disk or diskette data set onto a tape
copy a tape data set into a disk or "diskette data set
copy a tape data set onto another tape.
CD writes a trailer label at the end of the data set on the target tape if it is a standard label tape.
The system does not write header labels on standard or nonlabeled tapes; therefore, you must
preallocate the target tape data set.

If you are copying a disk or diskette data set to tape, the tape records are 256 bytes. If you copy

a tape data set from another system (for example, an S/370) to a disk or diskette and the source
records are not 256 bytes, the system splits the source records into multiple 256-byte records
and pads any unused bytes with zeros. Prior to copying, $TAPEUTl prompts you for the
maximum input record size. If the actual record size differs from the input record size,
$TAPEUTl prompts if you wish to continue processing. $TAPEUTl issues this prompt every time it
encounters a record with the wrong length.

Chapter 4. Utilities

UT -523

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
Consider the following when you are copying data sets:

o

When you reach a tapemark (end of input data), $TAPEUTI prompts you to continue. If you
have more records to copy, you can continue; however, make sure that the target tape has
sufficient room. $TAPEUTI prompts at every tapemark it encounters on the source tape. If
you do not wish to continue, the system writes the trailer label on the target tape.
•

To copy the contents of one tape to another tape, thereby creating an exact duplicate of the
entire tape (header label and data records or only data records), you can use either of two
methods:
To copy only data records, initialize the target tape (using the IT command) so that it has
the same label type as the source tape. Copy (using the CD command) the source tape
to the target tape. This allows you to create a new header label on the target tape and
to duplicate only the data records from the source tape.
To create an exact duplicate of the source tape, mount the source and target tapes on
drives specified for bypass label processing. Then copy (using the CD command) the
entire source tape. The target tape becomes an exact duplicate of the source (all label
records, all data records, and all trailer labels).
If the source data set is larger than the target tape, you can continue copying onto another

tape.
If the source data set is larger than the target disk data set, you can continue copying into

another disk data set.
You can also combine a mUltiple disk data set into one tape data set.

o
UT -524

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
Example 1: Copy data from a disk to a tape (standard label tape).

COMMAND (?):

CO

SOURCE (NAME,VOLUME): $TAPEUT1,EDX002
TARGET (NAME,VOiUME): DATA1111,123456
ENTER SOURCE BLOCKSIZE (NULL=DISK(ETTE»:
USE ATTN/CA TO CANCEL COpy
ARE ALL PARMS CORRECT? (Y,N):
EOD ON SOURCE DATA SET
25 RECORDS COPIED

Y

COMMAND (?):
Example 2: Copy data from a tape (nonlabeled) to a tape (standard labeled).

COMMAND (?):

CD

SOURCE (NAME,VOLUME): X,TAPEOl
TARGET (NAME, VOLUME): DATA 1111, 123456
ENTER SOURCE BLOCKSrZE{NULL=DISK(ETTf»:
USE ATTN/CA TO CANCEL COpy

()

ARE ALL PARMS CORRECT? (Y,N):
EOD ON SOURCE DATA SET
_ 25 RECORDS COPIED

Y

COMMAND (?):
Note: TAPEO! is the ID assigned to the tape drive at system generation.

0.
1

\

"

Chapter 4. Utilities

UT -525

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
CT -

0

1.

"

Change Tape Drive Attributes

Use the CT command to reset the label type and density for any tape drive. The label type and
density are set at system generation. CT allows you to reconfigure the tape drives dynamically.
You must vary the tape drive offline before you can change its attributes.

CTid

where id is the tape ID assigned to the tape drive during system generation.
For the 4969, the system displays the current settings for label and density. For the 4968, the
system displays the current settings for label, density, and tape speed. $TAPEUTI prompts you to
enter any changes.
Note: For the 4968 only, a density selection of 1600 causes the system to set the tape drive
speed to 25 inches per second (IPS). A density selection of 3200 results in a tape drive speed of
50 inches per second (IPS).
The CT command fails and issues an error message on the terminal for the following conditions:
invalid device address
tape drive is not varied offline
invalid label type
invalid density
tape drive not defined as dual density if you tried to change the density.
Example 1: Specify changes to the label processing and density selection for a 4969 tape drive

at address 4C.

o
UT-526

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
Example 2: The system makes no changes for label processing and density selection for a

4969 tape drive at address 40.

COMMAND (?):

CT TAPE02

TAPE TAPE02 ATADDR 40 IS SL 800 BPI
DO YOU WISH TO ~ODIFY (y OR N)?: N
COMMAND (?):
DP -

Dump Tape Records

Use the OP command to dump tape record(s) on the system printer ($SYSPRTR), on the terminal
from which you invoked $T APEUTl, or on the terminal you specify. The output format is similar
to the $OISKUT2 utility: hexadecimal data plus the EBCDIC conversion.
The system shows the record number for each record and prints the words 'tapemark' when it
encounters a tapemark. $T APEUTI prompts you for the number, of records you want to print.
When the system detects a tapemark, $TAPEUTI prompts you to continue or to end the dump.
$TAPEUTI prompts you for the maximum record size. This allows you to print record sizes up to
the maximum amount of storage available. If the record you are reading is smaller or larger than
the maximum size specified, the system issues a message indicating:

wrong-length record
the actual record size
The system prints smaller records and pads them with zeros for their length. It truncates larger
records and prints to the maximum size allowed. $TAPEUTI informs you of the actual record
size.
Notes:
1. The tape must be varied offline before you can dump records.
2. The T APEIO you specify must match the one specified at system generation.
3. This is an offline utility; therefore, the tape will not rewind automatically when the dump
finishes. Use the move tape command (MT) to rewind the tape.

4. You can use the dump command (op) and the move tape command together (MT) to search
and dump portions of a tape selectively. DP keeps track of the actual record count (along
with the MT command) and will print this value. However, if you issue a forward space file
(FSF) control function to move the tape to the end of the file and then issue a back space
records (BSR) control function to back up the tape a specified number of records, DP cannot
track the actual record count. As a result, it prints a relative record count with an R printed
after the number indicating the count is relative.

Chapter 4. Utilities

UT -527

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
Example: Dump five records on display terminal.

o

If you respond y to the PRINT DUMP ON $SYSPRTR? prompt, the system directs the dump to
$SYSPRTR If you respond N, $TAPEUTI prompts you for the terminal name of your choice. You

can respond as follows:

*=

terminal where you are currently assigned

name

= device name of the target terminal.

If the tape you want to dump is in use, $TAPEUTI prompts you as follows:

DEVICE NOT OFFLINE
DO YOU WISH TO CONTINUE? (Y,N):
If you specify Y, the dump will continue but the device will be unusable by the original user.

EX -

Exercise Tape
EX,

a software exerciser, performs two operations:
It exercises any of the three label-type tapes to ensure that the I/o commands to that tape

are executing correctly.
It analyzes the surface of the tape to verify that the surface is free of defects. The system

prints on the system printer
tape.

($SYSPRTR)

any errors and their approximate location on the

Note: Surface analysis writes records over the information currently on the tape. This destroys
any existing data records or labels.

o
UT -528

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
Each operation is optional and the system prompts you before it continues.
The

EX

command performs the following functions:

Writes 600 unique records to a data set on the tape
Closes and reopens the data set
Finds a particular record within the data using NOTE/POINT
Verifies that it accesses the correct record
Performs a surface analysis of the tape by writing over the tape.
If it encounters an error, the system prints the return code and the contents of the buffer. The

buffer contains all FFFF'S except for the last word which is the record count of the failing record.
Example: Exercise tape MYDATA.
COMMAND (?) :EX
TARGET (NAME ,VOLUME) : MYDATA,123456
USE ATTN/CA TO CANCEL THE EXERCISER
DO YOU WANT TO EXERCISE THE SOFTWARE (YIN):>y

Exerciser runs

a~d

prints status on printer

WRITE ENTIRE SURFACE OF TAPE.? (YIN):

Y

THI SSECTIONWLLLDESTROY ALL LABECFI ELDS
DO YOUW I SH TO CONTI NUfJ Y,N) : y

Exerciser we i tes on entire. sUrface of

tap~

COMMANO (?):

A sample of the data the

EX

command prints follows.

o
Chapter 4. Utilities

UT -529

$TAPEUT1
$TAPEUT1 - Tape Management (continued)

o

TAPE EXERCISER STARTED
WRITE 600 UNIQUE RECORDS TO THE TAPE
TEST DATA WRITTEN
STEP
1 SUCCESSFUL
CLOSE DATA SET FOR REUSE VIA SETEOD
STEP
2 SUCCESSFUL
READ 250 OF THE RECORDS
NOTE PRESENT POSITION
STEP
3 SUCCESSFUL
POINT TO RECORD 150 AND READ THAT RECORD
STEP
4 SUCCESSFUL
NOTE PRESENT POSITION
STEP
5 SUCCESSFUL
VERIFY DATA RECORD
STEP
6 SUCCESSFUL
POINT TO RECORD 500 AND READ THAT RECORD
STEP
7 SUCCESSFUL

VERIFY 2nd WORD OF TCB CONTAINS ACTUAL BLOCKSIZE
STEP
17 SUCCESSFUL
READ UNTIL END OF DATA ENCOUNTERED
VERIFY LAST DATA RECORD
STEP
18 SUCCESSFUL
CLOSE DATA SET FOR REUSE
STEP
19 SUCCESSFUL
REOPEN THE DATA SET
READ 598 OF THE RECORDS
ATTEMPT TO READ MORE RECORDS WITH 1 STMT THAN ARE AVAILABLE
VERIFY END-OF-DATA RETURN CODE
STEP
20 SUCCESSFUL
VERIFY 2ND WORD OF TCB CONTAINS ACTUAL # REALLY READ
STEP
21 SUCCESSFUL
WRITE ENTIRE SURFACE OF TAPE?
REWIND TAPE TO LOAD POINT
STEP
22 SUCCESSFUL
WRITE ENTIRE TAPE
WRITE TAPE MARKS ON END OF TAPE
STEP
23 SUCCESSFUL
REWIND TAPE TO LOAD POINT
STEP
24 SUCCESSFUL
CLOSE TAPE OFFLINE
STEP
25 SUCCESSFUL

o

Figure 31. Sample of output from EX (tape exerciser).

o
UT-530

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
IT -

Initialize Tape

Use the IT command to initialize a new tape completely or to change the label information on a
used tape. The IT command initializes tapes for nonlabeled and standard label use.
When you initialize a tape as nonlabeled, the IT command writes three tapemarks, deleting any
previous labels on the tape.
When you initialize a tape as standard label, the IT command writes on the tape:
•

a volume label (VOLl)
a header label (HDRl)
2 tapemarks to delimit the label information and to indicate an empty data set
a trailer label (EOFl) and 2 tapemarks signifying the end of data on the tape.

$T APEUTI

prompts you for the the contents of all required label fields.

Example: Initialize a standard label tape.
COMMAND (7):

IT

ENTER TAPEID (1-6 CHARS): TAPEOl
STANDARD, LABEL 1600 BPI? ,Y
TAPEDS(NAME, VOLUME):" DATAllll,123456
OWNER I 0 (1 ~ 1(j CHARS ):·OWNER7JD
EXPIRATION DATE (YYDDD): 79001
TAPE 1~ITlAl~ZED
COMMAND (?):

Your tape must be varied offline before you can initialize it. If the tape is not offline, $TAPEUTI
issues the following warning message:
rSN"'r··OFFLINE~

If you respond Y, $TAPEUTI varies the tape offline, initializes it, and varies it online under its
new name. If you respond N, the IT command ends and $TAPEUTI prompts you for another

command.

0,
· ••.

IL'·

Chapter 4. Utilities

UT -531

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
If you are changing the label information on a used tape that has an unexpired data set,
$TAPEUTI prompts you as follows:

o

If you respond Y, $TAPEUTI varies the tape offline, initializes it, and varies it online under its
new name. If you respond N, the IT command ends and $TAPEUTI prompts you for another
command.

Notes:
1. The system initializes your tape with the same attributes (label and density) as those defined
for the tape drive on which you mounted the tape. Refer to the TAPE statement in the
Installation and System Generation Guide.
2. If you initialize a 4968 tape drive with a density of 3200 BPI, the initialized tape will not be
ANSI compatible but is compatible with any other 4968 tape unit.
3. When specifying the volume and data set names, do not use the same names as were
specified for tape ID at system generation.
You can also initialize a tape from a program or by invoking $JOBUTIL and passing the following
parameters:
Name of module: $TAPEIT
Required parameters:

$PARM1
$PARM4
$PARM8
$PARM11
$PARM16

LENGTH
3 words
4 words
3 words
5 words
3 words

$PARM19

3 words

NL

X
X
X
X

X

SL
EXPLANATION
X
TAPEID
DS name
Volume
Owner ID
Create date (YYDDD )
(if no timers in system)
X
Expiration date(YYDDD )

Examples of loading $TAPEIT from a program or through a $JOBUTIL procedure follow.

o
UT-532

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
Example 1: Loading $TAPEIT from a program for a standard label tape; timers are included in
the system.

LOAD $TAPEIT,PARMS,EVENT=ITWAIT
WAIT ITWAIT

PARMS EQU *
ID
DATA
DSN
DATA
VOL
DATA
OWNR
DATA
CRDATE DATA
*
EXDATE DATA
*

$TAPEIT PARAMETER LIST
(TAPEID - 3 WORDS)
CL6' TAPEO 1 '
CL8'MYDATA'
(DATA SET NAME - 4 WORDS)
CL6'10010'
(VOLUME NAME - 3 WORDS)
CL10'SMITH'
(OWNER ID - 5 WORDS)
,
CL6'
(UNUSED CREATE DATE 3 WORDS)
,
CL6'81100
(EXPIRATION DATA 3 WORDS)

* CREATION DATE AND EXPIRATION DATE ARE YYDDD FORMAT
* AND MUST BE LEFT JUSTIFIED WITHIN A 6-BYTE FIELD.

Example 2: The following figures show the procedures you can set up to initialize tapes
through the $JOBUTIL utility.

Figure 32 is a procedure to initialize a standard label tape. In the PARM statement, you specify
the TAPEID, data set name, volume, owner identification, create date, and expiration date.

REMARK
REMARK
DEFINE -TAPE01- FOR SL,1600 BPI
REMARK
MOUNT A TAPE ON -TAPE01- BUT DO *NOT* VARY ON
PAUSE
***** IS THE TAPE MOUNTED? *****(REPLY -GO-)
PROGRAM $TAPEIT
*********************************************************
PARM
TAPE01TEMPDATA123456DEPT563
76100 78100
EXEC
JUMP
OK1,EQ,-1

Figure 32. $JOBUTIL procedure for invoking $TAPEIT for an SL tape.

Chapter 4. Utilities

UT -533

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
Figure 33 is a procedure to initialize a nonlabeled tape. When you initialize a tape as
nonlabeled, the system writes three tapemarks on the tape deleting any previous labels on the
tape.

o

REMARK
**** DEFINE -TAPE01- FOR 800 BPI & NL PROCESSING
REMARK
REMARK
MOUNT A TAPE ON -TAPE01- BUT DO *NOT* VARY IT ON
PAUSE
***** IS THE TAPE MOUNTED? *****(REPLY - GO-)
PROGRAM $TAPEIT
*****************************
PARM
TAPE01
EXEC
JUMP
OK4,EQ,-1

Figure 33. $JOBUTIL procedure for invoking $TAPEIT for an NL tape.

Figure 34 is a procedure to test the error code $TAPEIT returns.

REMARK
PROGRAM
PARM
EXEC
JUMP

POST CODE 102 - DEVICE NOT OFFLINE
$TAPEIT
TAPE01
ERR3,EQ,102

invoked through $JOBUTIL.

Figure 34. Testing the post code returned by $TAPEIT when

If you initialize a tape by loading $TAPEIT from a program or by invoking $JOBUTIL and passing
the above parameters, the system returns following post codes.

Code

Condition

-1

Function successful.

RC

Any tape 110 return code.

101

TAPEID not found.

102

Device not offline.

103

Unexpired data set on tape.

104

Cannot initialize BLP tapes.

()
UT -534

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
LT -

List Tape Drives and Attributes

Use the LT command to list all the tape drives defined to the system and the attributes of each
on the terminal where you invoked $TAPEUTl. The information displayed for each tape drive is
as follows:
TAPEID

density selection for the 4969 (800, 1600, DUAL)
density selection for the 4968 (1600, 3200, DUAL)
label type (SL, NL, BLP)
current density setting
current tape speed (4968 only)
status (online or offline)
volume information (if an online SL tape)
device address

(j

Example:

COMMAND (1):

LT

TAPE DUAL SL 1600 OFFLINE
DEVICE ADDRESS = 004C
TAPE DUAL NL 1600 OFFLINE
ADDRESS = 0040
COMMAND (1):

o
Chapter 4. Utilities

UT -535

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
MT -

Move Tape

o

Use the MT command to control tape motion on the specified tape. The available control
functions are:
BSF - Back space file
BSR - Back space records
FSF -' Forward space file
FSR - Forward space records
OFF - Set device offline
REW - Rewind
ROFF - Rewind offline
WTM - Write tapemark
A count is available for FSR, BSR, FSF, BSF, and WTM so that you can specify the number of
records or files you want to space over or the number of tapemarks you want to write.
An EOT (end-of-tape) terminates only the write tapemark (WTM) function and issues a return
code. If you wish to proceed past the EOT, you must request another WTM.
Notes:
1. You can proceed past the EOT, but make sure that there is sufficient tape to perform the

operation.
2. The tapemark record is smaller than the end-of-tape (EOT) foil indicator so you could
receive two or more end-of-tape strip indications for the same EOT.
A tapemark ends FSR or BSR operations and the system positions the tape following that
tapemark.
Example: Move TAPEOI forward 3 records.

o
UT-536

SC34-0644

.$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
If the tape is positioned at the first record and the utility forward spaces 3 records, it positions

the tape at the 4th record.
Notes:
1. You must vary your tape offline before you can issue the motion commands. If you have
not varied the tape offline, the system issues a warning message and $TAPEUTI prompts you
to continue.
2. The response to ENTER T APEID must be the same T APEID that you specified at system
generation.

3. This is an offline utility; therefore, the system will not reposition or rewind the tape when it
ends. Use the REW command to rewind the tape.
4. The MT command keeps track of the actual record count so you can print this value with the
DP command. However, if you issue a forward space file control function (FSF) to move the
tape to the end of the file and then issue a back space records control function (BSR) to back
up the tape a specified number of records, MT cannot track the actual record count. When
this occurs, MT keeps track of the relative record count (relative to the start of the tape) and
DP prints this value with an R printed after the number indicating the count is relative.

o
Chapter 4. Utilities

UT-537

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
RC -

Display Tape Return Codes

Use the

RC

o

command to display the tape return codes on the terminal where you invoked

$TAPEUTI.

Example: Display tape return codes.

o
UT -538

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
RT and ST - Saving and Restoring a Disk Device, Volume, or Data Set

To save a disk device, volume, or data set on tape, use the ST command. To restore a disk
device, volume, or data set from tape, use the RT command. Two functions are available that
these commands use:
The first function (called the double-buffered function) uses two buffer areas to hold the
output from tape or disk. As the first buffer area is emptying its contents, the utility is
filling the second buffer area. By using two buffer areas, the tape drive or disk never has to
wait for the system to empty the contents of the buffer area. If the system has sufficient
storage available (we recommend a 64K area), it will always use the double-buffered
function.
The second function (called the single-buffered function) uses one buffer area to hold the
output from tape or disk. As a result, the tape drive or disk has to wait for the the system to
empty the contents of the buffer area to disk.
To help you monitor the save and restore processes, $TAPEUTI issues a progress report to the
terminal where you loaded the utility. The report contains the total number of records the utility
must transfer and the number of records that it has transferred already. The system issues the
progress report only if you are operating under the double-buffered function.

o

Example: In this progress report, the utility must transfer a total of 10000 records. The

current number of records it has transferred already is 5760.

I

TRANSFER TOTAL=

10000

CURRENT=

5760

As the transfer takes place, the system updates the CURRENT= number on your screen until it
completes the operation. Once the operation completes, the TOTAL= and CURRENT= numbers
are the same.
In addition, when you save or restore tapes using the double-buffered function, you can initialize
and vary tapes online automatically.
RT - Restore Disk Device, Volume, or Data Set from Tape

Use the RT command to restore a disk device, volume, or data set from tape. To restore
information from a tape, you must have created the tape previously using the ST command in the
same version of EDX. In addition, you can restore a disk volume from a tape to the same device
type or a different device type, except for the IPL volume. (The system treats the IPL volume
similarly to a disk device; you must restore it to the same device type.) To restore an entire disk
device from tape, the device type and model number of the source and target disks must match.

o
Chapter 4. Utilities

UT -539

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
Two restore functions are available to the RT command:
•

The first function (called the double-buffered function) uses two buffer areas to hold the
output from tape.
The second function (called the single-buffered function) uses one buffer area to hold the
output from tape.

Automatic Varyon: If you choose automatic varyon and
double-buffered function, it issues the following messages:

$TAPEUTI

can load the

The system automatically varies online each tape used in the restore process.
If it cannot load the double-buffered function, $T APEUTI attempts to load the single-buffered

function and issues the following messages:

Note: $TAPEUTI issues the warning message only if you are using a 4968 tape unit.
If $TAPEUTI is successful in loading the single-buffered function, you can proceed with the

restore process; however, you must vary each tape online with the

$VARYON

operator command.

If $TAPEUTI cannot load the single-buffered function, it issues return code 70, indicating that

there is not enough storage to load the function, and issues the

COMMAND (?):

prompt.

Note: To have sufficient storage available for the double-buffered function, we recommend that
you load the $TAPEUTI utility into a full 64K partition.

o
UT-S40

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
When you enter

RT, $TAPEUTI

issues the following message:
,y

If you respond Y, $TAPEUTI automatically varies each tape online.
If you respond N, you must vary each tape online yourself.

Then enter all the parameters necessary for the restore function. The following example shows
the parameters necessary for a volume restore using automatic varyon.
ENTER. TAPE I 0 ( 1~6 ).Cl'iAF{ACTERS) :TAPE02
****~*****************************

~.f\~.N.:I;·N·~.,~, ".TO, ,.:::E~SU,R.:~. ·P;R·O.P·~R
*OISI(CONTENTS, 'j'HESYSTEM .,
* SHOULD BE I NACT I VE WHILE
* RUNNING TH IS UTIL ITY

*
*

...
'.

*.*.*:*:*'~**·.**'**:i't*·*******.~***-**·*.:***.~·*.-If '
R£,~j:O~'~"OPT;I{)NS :
l=:,OEV,ftE

2: ·,~,.::~'OLUME
3 = 'DATA SET

4';;;\· EXIT

ENTER RESTORE OPTION:

E~TtR'

2

TAR G,E101 SKVOLUME'NAME:MYVOL

After you enter the necessary parameters, $TAPEUTI attempts to load the double-buffered
function.
Nonautomatic Varyon Mode: If you choose nonautomatic varyon mode, $TAPEUTI goes

through the same procedure as outlined under the "Automatic Varyon:" on page UT-540.
However, you will need to use the $VARYON operator command to vary online each tape used in
the restore process.

o
Chapter 4. Utilities

UT -541

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
Restoring Multiple Tapes:

then prompts you to mount any additional tapes it
may need to complete the restore. In the following example using the double-buffered utility
(automatic varyon mode), $TAPEUTI prompts you to mount TAPE##Ol which is the next tape in a
series of two tapes you are restoring.
$TAPEUTI

o

If you did not choose automatic varyon mode, use the $VARYON operator command to vary the
tape online.

When it has restored the volume, $TAPEUTI issues the following message and prompts you for
another command.

For the 4968 tape unit, once a restore completes successfully, the system rewinds and unloads
the source tape automatically. This also occurs at the end of each tape (EOT), after the system
writes the trailer record. If the restore is not successful, the system only rewinds the tape.
Note: If you do not want the source tape to be unloaded after a restore, do not use automatic
varyon.
ST -

Save a Disk Device, Volume, or Data Set on Tape

Use the ST command to save an entire disk device, volume, or data set on tape. ST prompts you
to specify whether you are saving a device, volume, or data set. ST is used in conjunction with
the restore command (RT) to back up data you wish to protect.
There are two restore functions available to the ST command:
The first function (called the double-buffered utility) uses two buffer areas to hold the
output from disk.
•

The second function (called the single-buffered utility) uses one buffer area to hold the
output from disk.

o
UT -542

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
Automatic Initialization: When operating under the double-buffered function, $TAPEUTI
automatically initializes each tape during the save process. This means that you need not stop a
save operation and initialize each tape before saving information on it.
When using auto initialization, $TAPEUTI assigns the tape data set name, volume name, and
owner identification. The default owner identification assigned is "SYSTEM." The names the
system assigns for standard label tapes are as follows:
Save Type

Assigned Volume Label

DATASET

TAPE##XX,DATSAV

VOLUME

TAPE##XX,VOLSAV

DEVICE

TAPE##XX,DEVSAV

For bypass and nonlabeled tapes, the system assigns only the trailer label as follows:
Type

Assigned Volume Label

SAVE

TAPE##XX,TAPEID (TAPE DRIVE ID)

SAVE

TAPE##XX,TAPEID

$TAPEUTI increments the last two characters of TAPE##XX for each tape required to complete the
save process. For example:

HEADER FOR FIRST TAPE
HEADER FOR NEXT TAPE
HEADER FOR NEXT TAPE

TAPE##OO
TAPE##01 (tape trailer from first tape)
TAPE##02 (tape trailer from second tape)

You can modify the names automatically assigned (default parameters) only during initialization
of the first tape. $TAPEUTI automatically initializes any subsequent tapes and writes the trailer
records with the new default parameters.
After $TAPEUTI initializes a tape, it issues one of the following messages depending upon the
type of save (device, volume, or data set):

"'I

"/

C"

Chapter 4. Utilities

UT -543

$TAPEUT1
$TAPEUT1 - Tape Management (continued)
If the target tape volume label is satisfactory, respond Y. If you want to change the label,

0"

,,'

respond N. $TAPEUTI then prompts you for the new default tape label.

When you enter ST, $TAPEUTI issues the following message:

If you respond Y, $TAPEUTI initializes any tapes used for the save process.
If you respond N, you must initialize each tape with the IT command and vary the tape online

using the $VARYON operator command.
Then enter all the parameters necessary for the save function. The example shown is for a
device-save using the double-buffered utility (automatic initialization).

o
UT-544

SC34-0644

$TAPEUT1

o

$TAPEUT1 - Tape Management (continued)
After you enter the necessary parameters, the $TAPEUTI attempts to load the double-buffered
utility.
If you choose automatic initialization mode and $TAPEUTI is successful in loading the

double-buffered utility, $TAPEUTI issues the following messages:
,

,

DEVICE SAVE OFDI $KATADDRESS

34p,01:07:09, LP= 9200, PART=l

COMMAND (1): 1
AD - ASSIGN DEFINE KEY
C
CHANGE KEY DEFINITION
EN
END PROGRAM
LC
LOAD CONTROL STORE
LI
LOAD IMAGE STORE
LT
LOAD 4980 TERMINAL
RE
RESTORE 4974 TO STANDARD 64-CHARACTER SET
SC
SAVE CONTROL STORE
SI
SAVE IMAGE STORE
COMMAND

(1):

After $TERMUT2 displays the commands, you are again prompted with COMMAND (?):. Then you
can respond with the command of your choice (for example, AD).

Chapter 4. Utilities

UT -559

$TERMUT2
$TERMUT2 - Change Image/Control Store (continued)
AD -

Assign a Define Key

o

Use the AD command to predefine a key that causes the 4978 attachment to enter define mode
and allows you to assign a function or a series of functions to a specific key. For example, if you
wanted to use key number 66
in Figure 35 on page UT-563 ), find that number in
Figure 37 on page UT -564 (e) and make note of its scan code, in this case 20. The 4980 has a
predefined DEFINE key that you may want to use instead of the AD command. For a
step-by-step explanation of this procedure, refer to "Chapter 3" of the Operation Guide.

(e

Note: The 4980 has a predefined DEFINE key.
Syntax:

AD

number terminal

Required: ALL
Default: none

Operands

Description

number

Hexadecimal number of the key assigned as the DEFINE key.

terminal

The name of the terminal whose control store you are modifying. Pressing the'
enter key (cR=carriage return) or entering an * and pressing the enter key specifies·
the terminal that you used to invoke $TERMUT2.

Example: Assign a define key.

Note: The

NISI A options will appear only on the 4980.

o
UT -560

SC34-0644

$TERMUT2

o

$TERMUT2 - Change Image/Control Store (continued)
C-

Change a Key Definition

Use the C command to change the function ID, local character, or interrupt code of a key to
another definition on the terminal you specify. For a step-by-step explanation of this procedure,
refer to "Chapter 3" of the Operation Guide.

Syntax:

C

terminal key id char interrupt

Required: ALL
Default: none

Operands

Description

terminal

The name of the terminal whose control store you are modifying. Press the enter
key (cR=carriage return) or enter an and press the enter key to specify the
terminal that you used to invoke $TERMUT2.

key

Defines the key (in hexadecimal) you want to redefine.

id

Defines the new function of the key (in hexadecimal).

char

Defines the EBCDIC code (in hexadecimal) used to print the character on the
screen.

interrupt

Defines the key (in hexadecimal) as an interrupt key or a character.

*

Notes:
1. The decimal and hexadecimal values associated with the interrupt key code are reduced by
your system. These values decrease by the number specified for the PFI key during system
generation. If you used the default value for PFI at system generation it decreases by 1, the
default. To verify the system code use the $PFMAP utility. Note that values for the interrupt
code have been reduced by the value specified for PFI at system generation.
2. You can find a partial listing of the scan code, function ID code, character/function code,
and interrupt code for the 4978, PRPQ D02056 in Figure 37 on page UT -564 and for the 4980
in Figure 38 on page UT-565. For a complete listing, see the general information manuals
for the 4978 keyboard or the 4980 display station.

Chapter 4. Utilities

UT -561

$TERMUT2
$TERMUT2 - Change Image/Control Store (continued)
Example: Change a key definition.

Note: The

o

NISI A options will appear only on the 4980.

o
UT -562

SC34-0644

$TERMUT2

o

$TERMUT2 - Change Image/Control Store (continued)

Figure 35. 4978 Display Station keyboard

~B

B B B B B B B B B EJ B
G B G B B B EJ G B B B G

Figure 36. 4980 Display Station

Chapter 4. Utilities

UT -563

$TERMUT2

o

$TERMUT2 - Change Image/Control Store (continued)
Control Store Data

K

c

Upshift

UII sh ifted

Do wllshift

K Scali code

Scali code

I'

fill/ctioll If) code

I'

0

Key top
symbol

Illterrupt code

s
i

()

II

01
02
03
04
05
06
07

20
21

20
20
20
20
20
20,
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
70

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

4('
4D
4E
41
50
51
52

00
00
00
00
00
00
00

('I

OR

09
OA
OB

OC
00

22 OF

~

LQ.z.

i

i

01
10
II
12
1]

14
15
16
17
18
19
IA
IB

Ie
ID

11
11

r
116
117
118

Key top
symbol

Interrupt code

s

Roll'

Character inzoKc table

I

I

2

3

4

5

6

7

Row

I

01
02
03
04
05
06
07
OB

3
4
6
7
9
10
12
13
15
17
19
20

OC-

OD
01
01
10
II
12
13
14
15
16
17
18
19
IA
IB
Ie

22

ID

II
II
20
21
22
23
00 00 00 100 00 00 00 00 00 1(Bl:1n\c)

ocr j3\Y f{J5
E2 00 07 48

('4 00 70
('6 00 78
('7 00 31
('8 00 48
01 00 OB

05
40

OC
48
01

48
04
0('
40
40
48
01

48 78 48
30 01 48
OC OC 05
70 40 40
40 58 0('
78 48 4~
Of 41 41

48
07
70
40
38
48
34

00
00
00
00
00
00
00

()

II

r--

112
113
114

()

()

0

23
25
26
28
29
31
32
34
35
37
39
41
42
44
61
63
~ ,64
66

Character/local function code

p

Character illUlKe table

I

i

I
3
4
6
7
9
10
12
13
15
17
19
20

Flillctioll ID code

v

Character/local fUllctiol1 code

f1

Shifted

A
S

0
f

c;
II

J

23
25
26
28
29
31
32
34
35
37
39
41
42
44
61
63
64
66
67

-

112
113
114
115
116
117
118

I

2

J

4

5

6

7

01
02
03
04
05
06
07
OB

81
82
83
84
85
86
117
88
89
8A
88
8('
8D
8F
81'
90
91
92
93
94
95
96
97
98
99
9A
98
9C
90
9E
91'
AO
Al

20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
70

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

('('

00
00
00
00
00
00
00

Cl 00 30 05 48 48 78 148 48 00 A
L2 00 07 48 04 30 01 48 07 0(') S

oe
00
01'
01·
10
II
12
13
14
15
16
17
III
19
IA
18
Ie
ID

;1'------.'\

\~.,.~

IE
II'

20
21
22
23
Inn Innlnn 100 00 00 00 00 00 (Rhnk)
r-- .......

(,D
(,L
('I

00
O)
02

oe 0('
78 40 40 70
31 0(' 40 40
48 48 48 78
OB 01 01 01

e4 00 70 05
('6
('7
('8
01

00
00
00
00

0('
40
58
48
41

05
40
0('
48
41

70
40
38
48
34

00
00
00
00
00

--

D
F
G
U

J

Figure 37. Control Chart for 4978 Display Station

o
UT-564

SC34-0644

$TERMUT2

o

$TERMUT2 - Change Image/Control Store (continued)
Key
Reference
Scan
Code

00
01
02
03
04
05
06
07
08
09
OA
OB
OC

aD
OE
OF
10

11

12
13

14
15
16
17
18
19
1A
1B
1C
10
1E
IF
20

i6c60
6E
6F
70
71

72
73

74
75
76
77

78
79
7A
7B
7C
70
7E
7F

Key
Num

1
2
3
4
5
6
7
8
9
10
11

12
13

14
17
18
19
20
21
22
23
24
25
26
27
28
31
32
33
34
35
36
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109

AlternaAlphanumeric tive
Mode
Mode
00
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10

.-....-61
10
10
10
20
61
10
10
10
10
61
10
10
10
10
61
01
01
10
10

NonShift
Entry

02
02
02
02
02
02
02
02
02
02
02
02
02
02
02
02
02
02
02

00
F7
F4
Fl
17
00
F8
F5
F2
FO
00
F9
F6
F3
4B
00
00
00
60
4E

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

E2

C4

00

00
00

C6

C7
~8

-

-

- 00
F7
F4
Fl
17
00
F8
F5
F2
FO
00
F9
F6
F3
4B
00
00
00

61)

4E

OQ

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

Data Key
Functions

f

Alternative Default
is no Operation
Alphanumeric
Shift
Non-shift

AlphaAlternanumeric tive
Code
Shift
Entry
Entry
00
Al
> BB
7C
7B
5B
6C
> BA
50
5C
40
50
60
4E
90
08
E6
C5
09
E3
E8
E4
C9
06
07
> 4F
6A
C1

00
00
79
02
F1
02
F2
02
F3
02
F4
02
F5
02
F6
02
F7
02
F8
02
F9
02
FO
02
60
02
7E
02
8F
02
98
02
A6
02
85
02
99
02
A3
02
A8
02
A4
02
89
02
96
02
97
02
> BO
02
EO
02
81
02
A2
02
84
02
86
02
87
02
88
OL-

02

Interrupt
Entries

Character/Local
Entries

Function 10
Entries

-

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
10
00
00
00
00
lE
00
00
00
00
1F
00
00
00
00
20
21
22
00
00

I

1
2
3
4
5

QI

•
$

Y-

-&

6

7
8
9
0

<<<<<<-

*(
)

-

-

=

+

:!:

0

q

Q

w

W

<-

E

e

R
T

r

t
y

y

u

U
I
0

i
0

P

p
¢

<<-

!

'\

A
S

a
5

d
f

-

~

---

0
F
G

H

-

~

Repla~le legend~y
7
4
1

00
Replaceable legend key
8

5
2
0
Replaceable legend key
9

6

3
Replaceable legend key
Replaceable legend key
Replaceable legend key

-

+

Figure 38. Control Chart for 4980 Display Station

o
Chapter 4. Utilities

UT -565

$TERMUT2
$TERMUT2 - Change Image/Control Store (continued)
EN -

End Program

o

Use the EN command to terminate the $TERMUT2 utility.

Syntax:

EN
Required: none
Default: none

Operands

Description

None

Example: End the

$TERMUT2

utility.

()

o
UT-566

SC34-0644

$TERMUT2

o

$TERMUT2 - Change Image/Control Store (continued)
LC -

Load a Control Store

Use the LC command to load the control-store data set into the terminal specified.
Syntax:

LC

name,volume terminal

Required: ALL
Default: none

c:'

Operands

Description

name

Defines the name of the data set to be accessed.

volume

Defines the name of the volume containing the data set.

terminal

Defines the name of the terminal that loaded the data set; press the enter key
(cR=carriage return) or enter an * and press the enter key to specify the terminal
that invoked $TERMUT2.

Example: Load a 4978 control store.

Chapter 4. Utilities

UT -567

$TERMUT2
$TERMUT2 - Change Image/Control Store (continued)
LI -

Load an Image Store

o

Use the LI command to load an image store (character image table) on the terminal specified.
Syntax:

LI

name,volume terminal

Required: ALL
Default: none

Operands

Description

name

Defines the name of the data

volume

Defines the name of the volume cOhtaining the data set.

terminal

Defines the name of the terminal that loaded the data set; press the enter key
(cR=carriage return) or enter an * and press the enter key to specify the terminal
that invoked $TERMUT2.

~o

be accessed.

Example 1: Load a 4978 image store.

Example 2: Load a 4974 image store.

o
UT -568

SC34-0644

$TERMUT2

o

$TERMUT2 - Change Image/Control Store (continued)
LT -

Load 4980 Terminal

You can use the LT command to complete loading of a 4980 terminal. If you did not include the
power-on support for the 4980 and your 4980 gets powered off, you can bring it back up again
by using the LT command.

Syntax:

LT

terminal

Required: terminal
Default: none

Operands

Description

terminal

Defines the 4980 you want to load.

Example: Load a 4980 terminal.

c
Chapter 4. Utilities

UT -569

$TERMUT2
$TERMUT2 - Change Image/Control Store (continued)
RE -

Restore 4974 to Standard 64-Character Set

Use the RE command to restore the ima,ge buffer of a 4974 printer to the standard 64-character
set.
Syntax:

RE

terminal

Required: terminal
Default: none

Operands

Description

terminal

Defines the device to be restored.

Example: Restore 4974 to standard 64-character set.

UT -570

SC34-0644

o

$TERMUT2

o

$TERMUT2 - Change Image/Control Store (continued)
SC -

Save a Control Store

Use the sc command to save a redefined control store in the data set specified.
Syntax:

SC

name,volume terminal

Required: ALL
Default: none

Operands

Description

name

Defines the name of the data set to be saved.

volume

Defines the name of the volume where the data set is to be saved.

terminal

Defines the name of the terminal issuing the save; press the enter key (CR = carriage
return) or enter an * and press the enter key to specify the terminal that invoked
$TERMUT2.

Example: Save a control store.

o
Chapter 4. Utilities

UT -571

$TERMUT2
$TERMUT2 - Change Image/Control Store (continued)
SI -

Save an Image Store

The

SI

o

command saves a redefined image store in the data set specified.

Syntax:

51

name,volume terminal

Required: ALL
Default: none

Operands

Description

name

Defines the name of the data set being saved.

volume

Defines the name of the volume where the data set is to be saved.

terminal

Defines the name of the terminal issuing the save; press the enter key (cR=carriage
return) or enter an * and press the enter key to specify the terminal that invoked
$TERMUT2.

Example: Save an image store.

o

$TERMUT3

o

$TERMUT3 - Send Message to a Terminal
$TERMUT3 sends a single-line message from your terminal to any other terminal defined in the
system. One message line is sent at a time and you are prompted for the message and the
terminal where the message is to be sent, and if additional messages are to be sent.

Invoking $TERMUT3
Invoke

$TERMUT3 with the $L operator command or
$TERMUT3 does not have commands and only issues

option 4.3 of the session manager.
prompting messages as follows:

C.

'I

}'

o
Chapter 4. Utilities

UT -573

$TERMUT3
$TERMUT3 - Send Message to a Terminal (continued)
Example 1: Send a message to terminal $SYSLOGA.

o

Example 2: Select another terminal after sending a message.

o
UT -574

SC34-0644

$TERMUT3

o

$TERMUT3 - Send Message to a Terminal (continued)
Example 3: Keep $TERMUT3 active, send a message later.

"

,

'".'

"'

..."

.' ~' .

. . . ': ...., .

.'

;:«:'IlEtAtJr,PRQGRAM~,.·.CWA IT

FOR IAtTN . . SE N0 1 ) (YIN) i .y. ,

·,.·:.>'···'·S·EN6:·,··.·····/.··.: . .•. .•·.·,.·• ', • :,: . ,.', .......... ,. . ,'
.... E: NtE:B~T:,EB~I:N~~;.J~AME:... "lIYJO

··.···.·ENTER .•. :M:ESS~GEi,l~:·SEND
/,:':'~rrY3:Q'§::'::ABE :.~(~)U:,tHER~·

~{·.~N~~~;t~./MES~·~~9:.···.•·tY:/N.)? ... N
:::.:,·.,~.~():n~:~~,,'tE~~i,,&AL.J:'(/N;.).l.·.····N
.~<

":"'~ ;"',

'",

;" .. (

":.'

"

~

/ ....

"

".'

~{.6~!T:A61+'PR~~RAM) . '(!:~AiT:FQR

Chapter 4. Utilities

UT-575

$TRACEIO
$TRACEIO - ACCA/EXIO Trace Facility
The $TRACEIO utility will trace the activities of one device attached through an ACCA or EXIO
attachment. $TRACEIO is only capable of tracing the activities on a device (one address).
Therefore, you must invoke the $TRACEIO utility for each device you want to trace. Multiple
traces require multiple loads, one for each address.

()

$TRACEIO uses an internal buffer (storage area) to record events as they occur. You can
increase or decrease the size of the buffer by using the set storage (ss) command of $DISKUT2.

Invoking $TRACEIO
You invoke $TRACEIO with the $L operator command. The session manager does not support
this utility.

$TRACEIO Commands
To display the $TRACEIO commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

After $TRACEIO displays the commands, it prompts you with COMMAND (?): again. Then you can
respond with the command of your choice (for example, TR).
To use $TRACEIO, you should start out with the TR command and set up the trace for a specified
communications line.
Each command and its explanation is presented in alphabetical order on the following pages.

()
UT -576

SC34-0644

$TRACEIO

o

$TRACEIO - ACCA/EXIO Trace Facility (continued)
01 -

Display Trace Data Set

Use the DI command to display the contents of the trace data set on the device specified. You
have the option of monitoring 10 instruction executions (010) and/or interrupts. You can
display the contents on the terminal where you are working currently or direct the contents to
any device you specify.
Example: Display contents of the trace data set on MYPRTR.

DU -

Dump Trace Buffer

Use the DU command to dump the contents of the trace buffer. You have the option of .
monitoring 10 instruction executions (010) and/or interrupts. You can also display trace
progress data on a terminal or printer and/or log to a disk( ette) data set previously allocated
using the allocate (AL) command of the $DISKUTI utility.
prompts you to determine what you want to do with the trace data set in the
data buffer. You can display, log, or print the data to disk(ette), or you can do any
combination of the three.

$TRACEIO
$TRACEIO

Example: In this example, the contents of the $TRACEIO data buffer are to be printed on the

system printer and also saved in a data set named

$TRACEDS.

Sample output displayed on the monitoring terminal/printer would appear as in following
example.

o
Chapter 4. Utilities

UT -577

$TRACEIO
$TRACEIO - ACCA/EXIO Trace Facility (continued)

()
$TRACEIO MONITOR OF ACCA LINE AT ADDRESS -- 08
TRACE DATA SET ---------------------------- $TRACEDS,EDX002
EXECUTE RESET
EXECUTE START
EXECUTE START
EXECUTE START
INTERRUPT

010
010
010
010

CC=7
CC=2
CC=2
CC=7
ICC=2 (EXCEPTION)
ISB=AO
DEVICE-DEPENDENT STATUS AVAILABLE
WRONG LENGTH RECORD
DCB
CONTROL WORD
TIMER 1
TIMER 2
CHAIN ADDR
BYTE COUNT
DATA ADDR

EXECUTE SCSS 010
INTERRUPT

2004
0002
OOOA
0000
0008
1A4E

(INPUT RECEIVED)

CC=7
ICC=3 (DEVICE END)
STATUS WORD
a 1A54 RESIDUAL ADDR
1 0000
FLAG WORD l'
2 F400
FLAG WORD 2
DTR
ON
DSR
ON
RTS
ON
CTS
ON
RECEIVE MODE

For ACCA devices, status words are interpreted via messages derived from the bit-significant
data contained in the css words 1 and 2. EXIO status words may also be
displayed/printed/logged. However, with EXIO devices, the hardware type is unknown to the
software. You must be very familiar with the device in order to use the EXIO support.
Therefore, you must interpret the results of the EXIO CSS words.
EN -

End $TRACEIO Utility

The EN command terminates the $TRACEIO utility.
Example: End $TRACEIO utility.

o
UT-578

SC34-0644

$TRACEIO

o

$TRACEIO - ACCA/EXIO Trace Facility (continued)
RE -

Repeat Previous Trace

Use the

RE

command to repeat the trace previously performed on a communications line.

Example:

l COM~AND(,?t:,RE'
TR -

Trace Communications Line

You can use the

TR

When you enter TR,

command to trace the activities on a specific communications line.
$TRACEIO

prompts you for the address of the line to be traced.

If the device at the specified address is not traceable, $TRACEIO issues the following message:

( ":
.. /

If the device at the specified address is not an ACCA or EXIO device (defined with the TERMINAL

or EXIO definition statements, respectively),

$TRACEIO

issues the following message:

o
Chapter 4. Utilities

UT -579

$TRACEIO
$TRACEIO - ACCAjEXIO Trace Facility (continued)
If the device is valid, $TRACEIO automatically adjusts itself to the type of device handler to

which it is attached. As a result, you are not required to specify the device type. After verifying
that the device is on a traceable line, $TRACEIO modifies the CCB/DDB to point to the immediate
action address (FLIH) in the INCLUDE module TRACEIO. $TRACEIO then prompts you to specify
one or a combination of the following terminating condition(s);
010

count

interrupt count
end-of-buffer
a specific PF key
•

a combination of these conditions

If you do not specify end-of-buffer as a terminating condition, the trace buffer wraps on a

full-buffer condition as necessary until a specified termination condition (count or PF key)
occurs. The first occurrence of any specified termination condition ends the trace regardless of
whether other specified criteria have been met.
Interrupts and their condition codes, ISB, and DCB information are recorded. Attempts to
execute I/o instructions and their resulting immediate conditions are also recorded. When a
device end interrupt from a start cycle steal status (scss) instruction is received, the status words
are records.

o
UT -580

SC34-0644

$TRANS

o

$TRANS - Transmit Data Sets Across a Bisync Line
Load $TRANS in order to transmit EDX data sets and programs from one Series/l to another
across a point-to-point bisynchronous communication line.

Invoking $TRANS
Invoke $TRANS first on the receive end with the $L command. Take this precaution whenever
using $TRANS. It will insure that the receive end is ready for any data coming across the line.
Only after the receive end has been prepared, invoke $TRANS on the transmit end using the $L
command. The session manager does not support this utility. Refer to the Operation Guide for
step-by-step information on on use of the $TRANS utility.
Load

$TRANS

on the receiving system. Respond to prompts as shown:

o
Chapter 4. Utilities

UT-581

$TRANS
$TRANS - Transmit Data Sets Across a Bisync Line (continued)
Load $TRANS on the transmitting system. Respond to prompts as shown:

Notes:
1. Messages regarding errors encountered on the receive end will appear on both the receive
and transmit ends.
2. If $TRANS is renamed to $INITIAL, it will automatically be loaded at IPL time as a receive end
with a default line address of 9. the RECEIVE program will automatically be loaded.

$TRANS Commands
To display the $TRANS commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

Each command follows in alphabetical order with an explanation.

o
UT -582

SC34-0644

$TRANS

o

$TRANS - Transmit Data Sets Across a Bisync Line (continued)
CALL -

Copy All Members in a Volume from Source to Target

Use

CALL

to copy all members in a volume or all members starting from a certain member.

Example: Copy all members.

Example: Copy all members starting from a certain member.

o
Chapter 4. Utilities

UT -583

$TRANS
$TRANS - Transmit Data Sets Across a Bisync Line (continued)
CG -

Copy All Members from Source to Target

Use

CG

o

to copy all members from one system to another.

Example: Copy All Members from Source to Target.

CM -

Copy Member from Source to Target

Use

CM

to copy a single member from one system to another.

Example: Copy a member.

o
UT -584

SC34-0644

$TRANS

o

$TRANS - Transmit Data Sets Across a Bisync Line (continued)
CV -

Change Source Volume

Use cv to change source volume.
Example: Change the source volume.

EN -

End $TRANS

Use

EN

to end

$TRANS

at the transmit end.

Example: End the $TRANS utility.

CI

ES -

End $TRANS Utility with Shutdown on Receive End

Use

ES

to end

$TRANS

at the transmit and receive ends.

Example: End the $TRANS utility with shutdown on the transmit and receive ends.

o
Chapter 4. Utilities

UT -585

$TRANS
$TRANS - Transmit Data Sets Across a Bisync Line (continued)
Example 1: The following example illustrates use of the cv (Change Volume,) CM (Copy

o

Member) and CG (Copy Generic) commands.

o
UT -586

SC34-0644

$TRANS

o

$TRANS - Transmit Data Sets Across a Bisync Line (continued)
Example 2: The following example illustrates use of the CALL (Copy All Members) command.

o
Chapter 4. Utilities

UT -587

$TRANS
$TRANS - Transmit Data Sets Across a Bisync Line (continued)
Example 3: This example illustrates use of the CALL (Copy All Members) command that runs
into overflow problems attempting to complete the copy.

UT -588

SC34-0644

(j~

$TRAP

o

$TRAP - Save Storage on Error Condition
The $TRAP utility enables you to isolate intermittent ha.rdware and ~.1ftwar~ problem~ When an
error condition occurs, the utility writes, or "dumps," the contents of the hardware registers and
processor storage to a disk or diskette data set.
You can set $TRAP to dump processor storage when a specific type of error occurs, such as a
program check. If the expected error or failure does not occur, you can force the utility to dump
the contents of processor storage by entering the TRAP DUMP command or by pressing the
console interrupt button on the programmer console. The use of the TRAP DUMP command and
the console interrupt button are explained under "Forcing a $TRAP Dump" on page UT -593.
Once an error has occurreaand $TRAP has captured the contents of processor storage, you must
IPL the system in order to continue processing.
The

$DUMP

utility formats and prints the data saved by

$TRAP.

Considerations When Using $TRAP

Consider the following when you use
You must load

$TRAP

$TRAP:

in partition 1.

must be active when an error occurs. For this reason, you should use $TRAP when a
problem exists and you are confident that you can reproduce the problem. For example, all
programs that were active when the problem occurred should be active and in the same
partitions. In addition, all devices that were switched on at the time the problem occurred
should also be switched on when you start $TRAP.

$TRAP

•

dumps all of physical storage residing on your system. For this reason, make sure
your dump data set is large enough to hold all mapped and unmapped storage.

$TRAP

If you cannot use $TRAP, you should perform a stand-alone dump of processor storage and send
the diskette(s) with an APAR to IBM. The Operation Guide explains the procedure for taking a
stand-alone dump. If you are preparing an APAR and you wish to send IBM a copy of your $TRAP
or stand alone dump data set, you may need to send two or more diskettes. If your $TRAP data
set was dumped to disk, you will need to follow the procedure in the Operation Guide on

"Copying a $TRAP Data Set to Two Diskettes."

C.'.· \
;1

,.I

Chapter 4. Utilities

UT -589

$TRAP
$TRAP - Save Storage on Error Condition (continued)
Allocating a Data Set
$TRAP dumps the mapped and unmapped storage areas of the system to a work data set which
you supply. You have three options available for creating the data set:

1. Disk -

You must create the disk data set at least as large as your system's physical storage.

2. One Diskette - You must create the diskette data set at least as large as your system's
physical storage. You can use one diskette if your storage is not greater than 512K.
3. Two Diskettes - If your storage is greater than 512K, you must create two identical
diskettes by using primary option 0 of the $DASDI utility. The name and volume must be the
same for both diskettes ($$EDXLIB,IBMEDX).
Note: You may want to number the diskettes" 1" and "2" so you can distinguish them
more easily later on.
When dumping to diskettes created by using primary option 0 of the $DASDI utility, it is not
necessary to allocate the $TRAP work data set. However, if you are not dumping to these
diskettes, you must calculate the data set size needed and allocate the data set using the
$DISKUTI utility.
To determine the size of the work data set, multiply the amount of physical storage in your
system by four. For example, if you have 512K bytes of physical storage, you must allocate a
data set of at least 2048 records. With 1024K bytes of physical storage, the $TRAP work data
set must be a minimum size of 4096 records.
Loading $TRAP

You must load $TRAP in partition 1. To load the utility, press the attention key and type $L
$TRAP. As shown in the following example, the system requests the name of the $TRAP work
data set and volume.

Note:
If your dump data set resides on diskette and you are using a 4966, the diskette must be in slot
one (1) .

•

UT -590

SC34-0644

$TRAP

o

$TRAP - Save Storage on Error Condition (continued)
Selecting The Conditions for the Dump

After you load $TRAP and enter the name of the work data set, the utility displays the $TRAP
commands. Before entering a command, such as TRAPON, you must specify under what
conditions you want the $TRAP dump to be taken. The utility displays the conditions, one at a
time, and asks if it should dump processor storage on each condition. You can respond y (YES)
to one or all of the conditions shown here:
Machine Check: Indicates that your system has a hardware problem. If you respond y to this
prompt, the utility saves the hardware registers and storage when a storage parity, CPU control,
or I/O check occurs. For an explanation of these errors, refer to the description manual for
your processor.
Program Check: Indicates an error in an application program. If you respond y to this
prompt, the utility prompts you for the type of program check to trap. You can select any
combination of the following five types:

Specification Check - Occurs if a storage address violates boundary requirements. For
example, a specification check occurs if a program attempts to move a word of data to an
odd-byte boundary.
Invalid Storage Address - Occurs when a program attempts to refer to a storage address
outside of the storage size of the partition. This error occurs, for example, if a program
attempts to do a cross-partition move to a nonexistent partition.
Privilege Violate - Occurs if a program in problem state attempts to issue a privileged
instruction. A privileged instruction can execute only if the program is in supervisor state.
Normally, this error never occurs in an EDL program.
Protect Check - Occurs if a program attempts to use protected storage. The processor can
control access to areas in storage by using a storage protect feature.
Normally, this error would never occur in an EDL program.
Invalid Function (Program Check) operation code.

Occurs if the system attempts to execute an illegal

c
Chapter 4. Utilities

UT -591

$TRAP
$TRAP - Save Storage on Error Condition (continued)
Soft Exception: Indicates a software error that the system software is equipped to handle. If

o

you respond y to this prompt, the system prompts you for the type of soft exception to trap.
You can select any combination of the following three types:
Occurs if a program attempts to execute an instruction
associated with a feature that is not contained in the supervisor. This error can occur, for
example, if an EDL program attempts to use floating-point instructions (FADD, FSUB, FMULT,
or FDIVD) when the supervisor does not support floating-point.

•

Invalid Function (Soft Exception) -

•

Floating-Point Exception -

Occurs when the optional floating-point processor detects an
error condition. An EDL program can detect such an error condition by testing the return
code from a floating-point instruction.

Respond

N

to this prompt if your system does not have floating-point hardware.

Occurs when a program attempts to move an operand from a,n empty
processor storage stack into a register or to move an operand from a register into a full
processor storage stack. A stack exception also occurs when the stack cannot contain the
number of words to be stored by an assembler Store Multiple (STM) instruction.

Stack Exception -

Normally, this error never occurs in an EDL program.
Console Interrupt: Respond y to this prompt if you want to be able to use the console
interrupt button on the programmer console to force a $TRAP dump.
Save Floating-Point Registers: Respond y to this prompt to save the contents of the

floating-point registers when an error condition occurs. Respond
system does not have floating-point hardware.

N

to this prompt if your

o
UT-592

SC34-0644

$TRAP

o

$TRAP - Save Storage on Error Condition (continued)
Starting, Suspending, and Ending $TRAP

Once you've selected the error conditions to trap, the utility displays the following messages:

",

";:·,:$r~~~·': i$N.PW.~USJ:'-EN:D.~O •

PRESS THEATTENTI ON KEY

/ .E·:NTE.R.: <'ON"E:;c OF··:.>T"HE>,· F~O. LL.OW··I N.Ii·. COMMANDS:

" ' ' ' ' r O ' ' · S T A R T . '$TRAP:
,~T:.OFg~~~, • ·.~.[jUMP:.
, .• ::-TOSUSP'ENOi'$TRAP:
>~.TOE·ND·$T't'AP:"

... ,

TRAP ON
TRAP DUMP
TRAPO'FF

lRAPEND

You can "start" $TRAP now by pressing the attention key and entering TRAPON. The system
returns the message: "$TRAP STARTED."
The TRAP ON command activates the trap utility but does not produce a storage dump. After
starting $TRAP in partition 1, you should reload all programs and start all devices that were
running when the error occurred. Remember to load the programs into the same partitions that
they were in when you noticed the problem.
If $TRAP encounters the error you specify, it dumps the hardware registers and the contents of

processor storage to the data set you specified when you loaded $TRAP. The dump is complete
when your console lights display 'FFFF' Refer to "Dumping to Multiple Diskettes" on page
UT-597 for an explanation of how to dump to two diskettes. You must then IPL the system to
continue processing. Note the load points of the programs so you can display program storage if
necessary with $DUMP. Use $DUMP to retrieve, format, and print the contents of the $TRAP work
data set.
If you have a programmer console and you run your Series/lin Diagnostic mode, you will

receive a stop code of E9 if the $TRAP dump is successful.
Note:
If you set $TRAP to trap a program check, the program check message will not appear when you

take the $TRAP dump. In addition, if a program has a task error exit routine, that routine will not
receive control.
To suspend the $TRAP utility at any point, change to partition 1, press the attention key and
enter TRAPOFF. The system returns the message: "$TRAP SUSPENDED (TRAPON RESTARTS
$TRAP)." This command stops $TRAP until you start the utility again with the TRAP ON command.
To end or cancel the $TRAP utility, press the attention key and enter the TRAPEND command in
partition 1. The system returns the message: "$TRAP TERMINATED." Do not use the $C operator
command to cancel $TRAP.
Forcing a $TRAP Dump

If an error condition (detectable by $TRAP) does not occur while $TRAP is active, you can still

force a dump of storage by pressing the attention key and entering TRAPDUMP in partition 1. If

o
Chapter 4. Utilities

UT -593

$TRAP
$TRAP - Save Storage on Error Condition (continued)
you have a programmer console, you can force a dump by pressing the console interrupt button.
(To use this option, you must have replied y to the prompt "DUMP ON CONSOLE INTERRUPT?
(YIN).")

Example 1

The following example shows the various options of the $TRAP utility. A description of each of
the numbered items follows the example.

o
UT -594

SC34-0644

$TRAP

o

$TRAP - Save Storage on Error Condition (continued)
..

Load $TRAP.

II

Enter the data set name and volume of the $TRAP work data set.

II

Set $TRAP to dump storage when it encounters a machine check, program check, or soft
exception.

II

Indicate that you want the option of using the console interrupt button to force a $TRAP
dump.

B

Indicate that you want to save the floating-point registers (if you have floating-point
hardware installed).

II

The utility initially sets itself to "off."

II

Start $TRAP. Duplicate the problem you wish to trap.

In the following example, $TRAP is set to dump the hardware registers and the contents of
processor storage when a specification check occurs. When the specification check does not
occur, the operator suspends the utility and then ends it. A description of each of the numbered
items follows the example.

Chapter 4. Utilities

UT -595

$TRAP
$TRAP - Save Storage on Error Condition (continued)
Example 2

o

o
UT .. 596

SC34-0644

$TRAP

o

$TRAP - Save Storage on Error Condition (continued)
..

Load $TRAP.

II

Enter the data set name and volume of the $TRAP work data set.

II

Set $TRAP to dump storage when it encounters a specification check.

..

Start $TRAP.

II

Suspend $TRAP. If the error occurs before the operator enters this command, the
operator must IPL the system.

II

End $TRAP. The $DUMP utility formats and prints the data saved by $TRAP.

Dumping to Multiple Diskettes

To dump to multiple diskettes, mount the first $DASDI, primary-option-O-formatted diskette, load
$TRAP, and reply to the prompts as in example 2 with the exception of DUMP (NAME,VOLUME).
The NAME,VOLUME will be $$EDXLIB,IBMEDX. Then when a specification check occurs, $TRAP
starts dumping to $$EDXLIB,IBMEDX. The programmer console lights indicate one of the
following:
FFF2

Insert the next diskette in the same slot where you mounted the first one. The
dump completes automatically.

FFFF

The dump is complete; IPL the system.

1111

Invalid format on the diskette. There is a possibility that you have used the wrong
diskette.

Use the $DUMP utility to format and print the data saved by $TRAP.

o
Chapter 4. Utilities

UT -597

$UPDATE
$UPDATE - Converting Series/1 Programs
The $UPDATE conversion utility converts an object module into an executable, relocatable load
module.

o

The object module used as input to $UPDATE may have been compiled by the Event Driven
Language compiler $EDXASM or the host assembler. Object modules created by the host
assembler must be transmitted to a Series/1 disk or diskette volume by a facility such as the IBM
2780/3780 RJE emulation utility $RJE2780/$RJE3780, or by the $HCFUTl utility, before you can
use them as the input to $UPDATE.
The object output of language translators other than $EDXASM or the host assembler must be
processed by the linkage editor, $EDXLINK

Required Data Sets
$UPDATE requires
$UPDATE.

the following data sets. You must specify these data sets when you invoke

1. The object-input data set is the output of $EDXASM and serves as input to $UPDATE.
2. The program-output data set is the data set where the output of $UPDATE is to be placed.
$UPDATE allocates this data set if it does not exist.

Invoking $UPDATE
You invoke $UPDATE with the $L operator command, option 2.9 of the session manager, or with
the batch job stream processor ($JOBUTIL).

Updating a Program Using the $L Operator Command
When you invoke $UPDATE with the $L operator command, it prompts you for the information it
requires. Examples of this interactive usage follow.
Invoking $UPDATE Using the $L Operator Command

This example shows $UPDATE being loaded for execution and the subsequent prompt messages.

o
UT -598

SC34-0644

$UPDATE

o

$UPDATE - Converting Series/1 Programs (continued)
$UPDATE Commands
To display the $UPDATE commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

Each command and its explanation is presented in alphabetical order on the following pages.
CV -

Change Volume

Use the cv command to change the input or output volume. For example:

C.~I
"

If the volume is not mounted:

C'
.i~

Chapter 4. Utilities

UT -599

$UPDATE
$UPDATE - Converting Series/1 Programs (continued)
EN -

End $UPDATE

Use the EN command to end $UPDATE processing.
Example:

RP -

Read and Store a Program

Use the RP command to read (convert) and store a program in an allocated data set. If the data
set targeted for receiving output from the conversion process is not allocated, $UPDATE allocates
the data set.
Example 1: Convert and store a new program. This example allocates a new data set
TESTPROG

(type PGM) of the required size if a data set with that name has not already been

allocated.

o
If you specify the name of an input object module that does not exist, $UPDATE takes no action.

For example:

In addition, an appropriate error message is issued if the output data set was not defined as a

program type.

()
UT -600

SC34-0644

$UPDATE

o

$UPDATE - Converting Series/1 Programs (continued)
Example 2: Convert and store a program where program and object module names are to be
the same. In this example, an asterisk (*) is entered in place of the output data set name if the

name is to be the same as the input data set name.

Example 3: Convert and replace existing output program with same output name. In this
example, an existing output program is replaced with a new output program. If the new and old
sizes are the same, the new program data replaces the old with no other changes. If the new

space required is different from the existing space, the existing data set is deleted and a new one
of the proper size is allocated wherever enough free space is available.

Example 4: Convert and rename new output program if an output program already exists.

The existing output data set is undisturbed and a new data set (type PGM) of the proper size and
with the new name is allocated.

"

'-..:iI
..

"

Chapter 4. Utilities

UT -601

$UPDATE
$UPDATE - Converting Series/1 Programs (continued)
Updating a Program Using the Session Manager
To invoke

$UPDATE

using the session manager, select option 2.9.

Figure 39 shows the parameter input menu for entry of the required data sets and other
parameters. The object program in data set ASMOBJ is to be formatted and placed in data set
TSTPGM. The REPLACE parameter is left blank when a member does not already exist. If the
member does exist, enter YEs.

Figure 39. $UPDATE parameter input menu

Updating a Program Using $JOBUTIL
When you use the job-stream processor ($JOBUTIL) to invoke $UPDATE, the information that
$UPDATE requires must be passed by the PARM command of $JOBUTIL. The required information
consists of:
1. The name of the device to receive the printed output resulting from $UPDATE execution.
2. The name, volume of the data set containing the input object module. The volume name, if
omitted, defaults to the IPL volume.
3. The name, volume of the data set to contain the output loadable program. The volume name,
if omitted, defaults to the IPL volume.
4. The optional parameter YES if the output module is to replace an existing module of the
same name, volume.
The first three items of information are required and must be given in the order described. At
least one blank must occur between each of these four items in the PARM command.
When you invoke $UPDATE under $JOBUTIL, the system assumes you mean the "read program"
(RP) command. The "rename" function is not supported, but the "replace" function is. Refer
to the preceding examples for a description of rename and replace.

UT -602

SC34-0644

o

$UPDATE

o

$UPDATE - Converting Series/1 Programs (continued)
In batch mode, $UPDATE terminates after performing one RP command. A completion code is
set by $UPDATE depending upon the success or failure of the requested operation. You can test
this code by the JUMP command of $JOBUTIL.
Note: The $UPDATE completion codes are described in the Messages and Codes book.
The following is an example of invoking $UPDATE via $JOBUTIL commands.

PROGRAM
PARM
NOMSG
EXEC

$UPDATE
$SYSPRTR

OBJMOD,VOL1

MYPROG

YES

In this example, $SYSPRTR receives the printed messages, the input object module is OBJMOD on
VOLI, and the output program is MYPROG on the IPL volume. If MYPROG already exists on the
IPL volume, it is replaced by the new version. If MYPROG does not already exist, $UPDATE
allocates space for it.

$UPDATE Output
The output load module is stored in the output data set upon successful completion of the RP
command of $UPDATE.

Considerations When Creating a Supervisor
You can create multiple supervisor programs for different machine configurations on one
Series/1. You can then copy them to diskettes which can be used on the Series/1 having the
proper configuration.

Chapter 4. Utilities

UT -603

$UPDATE
$UPDATE - Converting Series/1 Programs (continued)

,,',':
C
~/

The name $EDXNUC for the output program receives special treatment by $UPDATE since the
creation of a supervisor results in an absolute rather than a relocatable program. The following
rules apply:
1. If the first seven characters of the output program name are $EDXNUC, then an absolute
supervisor program is formatted.
2. The eighth character can be a blank or any other character. The output program replaces an
existing program or creates a new program by that name on the specified volume.
3. An existing supervisor program is not deleted and reallocated by the update program. The
new version must fit in the existing space.
To test supervisors created and stored by $UPDATE, either:
•

Copy the new supervisor nucleus into the IPL supervisor on the IPL volume and IPL the
system again, or

•

Rewrite the IPL text on the volume on which the supervisor is located using the $INITDSK
utility option II.
'

c
UT -604

SC34-0644

$UPDATEH

o

$UPDATEH - Converting Host System Programs
transfers, over a communications link, Series/1 object programs that are members of
a host-partitioned data set (PDS) and stores them in a Series/1 disk or diskette volume in the
proper format to be loaded for execution. The programs must have been assembled previously
on the host.
$UPDATEH

To change the name of the default host library, locate the label "HOSTNAME" in the $UPDATEH
listing and change the name to the host library name you want. Then you must assemble
$UPDATEH and install it in the program library.
$UPDATEH
5796-PGH)

requires that the Event Driven Executive Host Communication Facility
be installed on the host computer.

(IUP

Invoking $UPDATEH
You invoke $UPDATEH with the $L operator command, option 2.10 of the session manager, or
with the batch job-stream processor ($JOBUTIL).

Updating a Hosting Program Using the $L Operator Command
When you invoke $UPDATEH with the $L operator command, it prompts you for the information
it requires. Examples of this interactive usage follow.
'l'~IiI!..,

C

,I

This example shows $UPDATEH being loaded with the $L operator command and the subsequent
messages that follow.

$UPDATEH Commands
To display the $UPDATEH commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?):.

Chapter 4. Utilities

UT -605

$UPDATEH
$UPDATEH - Converting Host System Programs (continued)
After $UPDATEH displays the commands, it prompts you with COMMAND (?): again. Then you
can respond with the command of your choice (for example, CH). Each command and its
explanation is presented in alphabetical order on the following pages.
CH -

o

Change Host Library

Use the CH command to change the host library. The system prompts you for the new host
library name.
Example: Change the host library.

CV -

Change Volume

Use the cv command to change the volume. The system prompts you for the new volume label.
Example: Change the volume.

EN -

End $UPDATEH

Use the

EN

command to end the

$UPDATEH

utility.

Example: End $UPDATEH.

o
UT -606

SC34-0644

$UPDATEH

o

$UPDATEH - Converting Host System Programs (continued)
RP -

Read a Program

Use the RP command to transfer a new program to a Series/1 data set, transfer a program and
rename it, or transfer and replace an existing program.
Example 1: Transfer a new program to a Series/1 data set.

Example 2: Transfer and replace an existing program.

Example 3: Transfer a program PROGI and rename it PROG2. The existing program (PROGl)

is not replaced.

Updating a Host Program Using $JOBUTIL or Session Manager
When you load $UPDATEH with the job-stream processor $JOBUTIL or the session manager, it
prompts you for control information. Execution is controlled as described above.

C

'",i'I

I,

Chapter 4. Utilities

UT -607

Notes

o

o
UT -608

SC34-0644

Glossary of Terms and Abbreviations

This glossary defines terms and abbreviations used in the Series/1 Event Driven Executive software publications. All software and
hardware terms pertain to EDX. This glossary also serves as a supplement to the IBM Data Processing Glossary, GC20-1699.
$SYSLOGA, $SYSLOGB. The name of the alternate system
logging device. This device is optional but, if defined, should be
a terminal with keyboard capability, not just a printer.

asynchronous communications control adapter. An ASCII
terminal attached via #1610, #2091 with #2092, or #2095 with
#2096 adapters.

$SYSLOG. The name of the system logging device or operator
station; must be defined for every system. It should be a terminal
with keyboard capability, not just a printer.

attention key. The key on the display terminal keyboard that, if
pressed, tells the operating system that you are entering a
command.

$SYSPRTR. The name of the system printer.

attention list. A series of pairs of 1 to 8 byte EBCDIC strings
and addresses pointing to EDL instructions. When the attention
key is pressed on the terminal, the operator can enter one of the
strings to cause the associated EDL instructions to be executed.

abend. Abnormal end-of-task. Termination of a task prior to its
completion because of an error condition that cannot be resolved
by recovery facilities while the task is executing.
ACCA. See asynchronous communications control adapter.
address key. Identifies a set of Series/1 segmentation registers
and represents an address space. It is one less than the partition
number.
address space. The logical storage identified by an address key.
An address space is the storage for a partition.
application program manager. The component of the Multiple
Terminal Manager that provides the program management
facilities required to process user requests. It controls the
contents of a program area and the execution of programs within
the area.

backup. A copy of data to be used in the event the original data
is lost or damaged.
base record slots. Space in an indexed file that is reserved for
based records to be placed.
base records. Records are placed into an indexed file while in
load mode or inserted in process mode with a new high key.
basic exchange format. A standard format for exchanging data
on diskettes between systems or devices.
binary synchronous device data block (BSCDDB). A control
block that provides the information to control one Series/1
Binary Synchronous Adapter. It determines the line
characteristics and provides dedicated storage for that line.

application program stub. A collection of subroutines that are
appended to a program by the linkage editor to provide the link
from the application program to the Multiple Terminal Manager
facilities.

Glossary of Terms and Abbreviations

UT-609

Glossary of Terms·and Abbreviations

block. (1) See data block or index block. (2) In the Indexed
Method, the unit of space used by the access method to contain
indexes and data.
block mode. The transmission mode in which the 3101 Display
Station transmits a data data stream, which has been edited and
stored, when the SEND key is pressed.
BSCAM. See binary synchronous communications access
method.

be used to contain control blocks or data that will be accessed by
more than one program.
completion code. An indicator that reflects the status of the
execution of a program. The completion code is displayed or
printed on the program's output device.
constant. A value or address that remains unchanged thoughout
program execution.

binary synchronous communications access method. A form
of binary synchronous I/O control used by the Series/1 to
perform data communications between local or remote stations.

controller. A device that has the capability of configuring the
GPIB bus by designating which devices are active, which devices
are listeners, and which device is the talker. In Series/1 GPIB
implementation, the Series/1 is always the controller.

BSCOOB. See binary synchronous device data block.

conversion. See update.

buffer. An area of storage that is temporarily reserved for use in
performing an input/output operation, into which data is read or
from which data is written. See input buffer and output buffer.

control station. In BSCAM communications, the station that
supervises a multipoint connection, and performs polling and
selection of its tributary stations. The status of control station is
assigned to a BSC line during system generation.

bypass label processing. Access of a tape without any label
processing support.

o

cross-partition service. A function that accesses data in two
partitions.

CCB. See terminal control block.
central buffer. The buffer used by the Indexed Access Method
for all transfers of information between main storage and indexed
files.
character image. An alphabetic, numeric, or special character
defined for an IBM 4978 Display Station. Each character image
is defined by a dot matrix that is coded into eight bytes.
character image table. An area containing the 256 character
images that can be defined for an IBM 4978 Display Station.
Each character image is coded into eight bytes, the entire table of
codes requiring 2048 bytes of storage.

cross-partition supervisor. A supervisor in which one or more
supervisor modules reside outside of partition 1 (address space
0).
data block. In an indexed file, an area that contains control
information and data records. These blocks are a multiple of 256
bytes.
data record. In an indexed file, the records containing customer
data.
data set. A group of records within a volume pointed to by a
directory member entry in the directory for the volume.

character mode. The transmission mode in which the 3101
Display Station immediately sends a character when a keyboard
key is pressed.

data set control block (OSCB). A control block that provides
the information required to access a data set, volume or directory
using READ and WRITE.

cluster. In an indexed file, a group of data blocks that is pointed
to from the same primary-level index block, and includes the
primary-level index block. The data records and blocks
contained in a cluster are logically contiguous, but are not
necessarily phYSically contiguous.

data set shut down. An indexed data set that has been marked
(in main storage only) as unusable due to an error.

COO (change of direction). A character used with ACCA
terminal to indicate a reverse in the direction of data movement.
cold start. Starting the spool facility by erasing any spooled jobs
remaining in the spool data set from any previous spool session.
command. A character string from a source external to the
system that represents a request for action by the system.

OCE. See directory control entry.
device data block (OOB). A control block that describes a disk
or diskette volume.
direct access. (1) The access method used to READ or WRITE
records on a disk or diskette device by specifying their location
relative the beginning of the data set or volume. (2) In the
Indexed Access Method, locating any record via its key without
respect to the previous operation. (3) A condition in terminal I/O
where a READTEXT or a PRINTEXT is directed to a buffer which
was previously enqueued upon by an 10CB.

common area. A user-defined data area that is mapped into the
partitions specified on the SYSTEM definition statement. It can

o
UT-610

SC34-0644

o

directory. (1) A series of contiguous records in a volume that
describe the contents in terms of allocated data sets and free
space. (2) A series of contiguous records on a device that
describe the contents in terms of allocated volumes and free
space. (3) For the Indexed Access Method Version 2, 8 data set
that defines the relationship between primary and secondary
indexed files (secondary index support).
directory control entry (DCE). The first 32 bytes of the first
record of a directory in which a description of the directory is
stored.

external label. A label attached to the outside of a tape that
identifies the tape visually. It usually contains items of
identification such as file name and number, creation data,
number of volumes, department number, and so on.
external name (EXTRN). The 1- to 8-character symbolic
EBCDIC name for an entry point or data field that is not defined
within the module that references the name.
FCA. See file control area.
FCB. See file control block.

directory member entry (DME). A 32-byte directory entry
describing an allocated data set or volume.
display station. An IBM 4978, 4979, or 3101 display terminal or
similar terminal with a keyboard and a video display.
DME. See directory member entry.
DSCB. See data set control block.
dynamic storage. An increment of storage that is appended to a
program when it is loaded.
end-of-data indicator. A code that signals that the last record of
a data set has been read or written. End-of-data is determined
by an end-of-data pointer in the DME or by the physical end of
the data set.
ECB. See event control block.
EDL. See Event Driven Language.
emulator. The portion of the Event Driven Executive supervisor
that interprets EDL instructions and performs the function
specified by each EDL statement.
end-of-tape (EDT). A reflective marker placed near the end of a
tape and sensed during output. The marker signals that the tape
is nearly full.
enter key. The key on the display terminal keyboard that, if
pressed, tells the operating system to read the information you
entered.
event control block (ECB). A control block used to record the
status (occurred or not occurred) of an event; often used to
synchronize the execution of tasks. ECBs are used in conjunction
with the WAIT and POST instructions.
Event Driven Language (EDL). The language for input to the
Event Driven Executive compiler ($EDXASM), or the Macro and
Host assemblers in conjunction with the Event Driven Executive
macro libraries. The output is interpreted by the Event Driven
Executive emulator.
EXIO (execute input or output). An EDL facility that provides
user controlled access to Series/1 input/output devices.

file. A set of related records treated as a logical unit. Although
file is often used interchangeably with data set, it usually refers to
an indexed or a sequential data set.
file control area (FCA). A Multiple Terminal Manager data area
that describes a file access request.
file control block (FCB). The first block of an indexed file. It
contains descriptive information about the data contained in the
file.
file control block extension. The second block of an indexed
file. It contains the file definition parameters used to define the
file.
file manager. A collection of subroutines contained within the
program manager of the Multiple Terminal Manager that provides
common support for all disk data transfer operations as needed
for transaction-oriented application programs. It supports
indexed and direct files under the control of a single callable
function.
floating point. A positive or negative number that can have a
decimal point.
formatted screen image. A collection of display elements or
display groups (such as operator prompts and field input names
and areas) that are presented together at one time on a display
device.
free pool. In an indexed data set, a group of blocks that can be
used for either data blocks or index blocks. These differ from
other free blocks in that these are not initially assigned to specific
logical positions in the file.
free space. In an indexed file, records blocks that do not
currently contain data, and are available for use.
free space entry (FSE). An 8-byte directory entry defining an
area of free space within a volume or a device.
FSE. See free space entry.
general purpose interface bus. The I EEE Standard 488-1975
that allows various interconnected devices to be attached to the
GPIB adapter (RPQ D02118).

Glossary of Terms and Abbreviations

UT-611

Glossary of Terms and Abbreviations

GPIB. See general purpose interface bus.
group. A unit of 100 records in the spool data set allocated to a
spool job.

H exchange format. A standard format for exchanging data on

index register (#1, #2). Two words defined in EDL and
contained in the task control block for each task. They are used
to contain data or for address computation.
input buffer. (1) See buffer. (2) In the Multiple Terminal
Manager, an area for terminal input and output.

diskettes between systems or devices.
host assembler. The assembler licensed program that executes
in a 370 (host) system and produces object output for the
Series/1. The source input to the host assembler is coded in
Event Driven Language or Series/1 assembler language. The
host assembler refers to the System/370 Program Preparation
Facility (5798-NNQ).
host system. Any system whose resources are used to perform
services such as program preparation for a Series/1. It can be
connected to a Series/1 by a communications link.

IACB. See indexed access control block.
IAR. See instruction address register.

input output control block (lOCB). A control block containing
information about a terminal such as the symbolic name, size and
shape of screen, the size of the forms in a printer, or an optional
reference to a user provided buffer.
instruction address register (lAR). The pointer that identifies
the machine instruction currently being executed. The Series/1
maintains a hardware IAR to determine the Series/1 assembler
instruction being executed. It is located in the level status block
(LSB).
integer. A positive or negative number that has no decimal
point.
interactive. The mode in which a program conducts a
continuous dialogue between the user and the system.

ICB. See indexed access control block.

liB. See interrupt information byte.
image store. The area in a 4978 that contains the character
image table.
immediate data. A self-defining term used as the operand of an
instruction. It consists of numbers, messages or values which
are processed directly by the computer and which do not serve as
addresses or pointers to other data in storage.
index. In an indexed file, an ordered collection of pairs of keys
and pointers, used to sequence and locate records.
index block. In an indexed file, an area that contains control
information and index entries. These blocks are a multiple of 256
bytes.
indexed access control block (lACB/ICB). The control block
that relates an application program to an indexed file.
indexed access method. An access method for direct or
sequential processing of fixed-length records by use of a
record's key.

internal label. An area on tape used to record identifying
information (similar to the identifying information placed on an
external label). Internal labels are checked by the system to
ensure that the correct volume is mounted.
interrupt information byte (liB). In the Multiple Terminal
Manager, a word containing the status of a previous input/ output
request to or from a terminal.
invoke. To load and activate a program, utility, procedure, or
subroutine into storage so it can run.
job. A collection of related program execution requests
presented in the form of job control statements, identified to the
jobstream processor by a JOB statement.
job control statement. A statement in a job that specifies
requests for program execution, program parameters, data set
definitions, sequence of execution, and, in general, describes the
environment required to execute the program.
job stream processor. The job processing facility that reads job
control statements and processes the requests made by these
statements. The Event Driven Executive job stream processor is
$JOBUTIL.

indexed data set. Synonym for indexed file.
indexed file. A file specifically created, formatted and used by
the Indexed Access Method. An indexed file is sometimes called
an indexed data set.
index entry. In an indexed file, a key-pointer pair, where the
pointer is used to locate a lower-level index block or a data block.

UT-612

jumper. (1) A wire or pair of wires which are used for the
arbitrary connection between two circuits or pins in an
attachment card. (2) To connect wire(s) to an attachment card or
to connect two circuits.
key. In the Indexed Access Method, one or more consecutive
characters used to identify a record and establish its order with
respect to other records. See also key field.

c

o

key field. A field, located in the same position in each record of
an indexed file, whose content is used for the key of a record.
level status block (LSB). A Series/1 hardware data area that
contains processor status. This area is eleven words in length.
library. A set of contiguous records within a volume. It contains
a directory, data sets and / or available space.
line. A string of characters accepted by the system as a single
input from a terminal; for example, all characters entered before
the carriage return on the teletypewriter or the ENTER key on the
display station is pressed.

multiple terminal manager. An Event Driven Executive licensed
program that provides support for transaction-oriented
applications on a Series/1. It provides the capability to define
transactions and manage the programs that support those
transactions. It also manages multiple terminals as needed to
support these transactions.
multivolume file. A data file that, due to its size, requires more
than one unit of recording media (such as tape reel or disk pack)
to contain the entire file.
new high key. A key higher than any other key in an indexed
file.

link edit. The process of resolving external symbols in one or
more object modules. A link edit is performed with $EDXLlNK
whose output is a loadable program.

nonlabeled tapes. Tapes that do not contain identifying labels
(as in standard labeled tapes) and contain only files separated by
tapemarks.

listener. A controller or active device on a GPIB bus that is
configured to accept information from the bus.

null character. A user-defined character used to define the
unprotected fields of a formatted screen.

load mode. In the Indexed Access Method, the mode in which
records are loaded into base record slots in an indexed file.

option selection menu. A full screen display used by the
Session Manager to point to other menus or system functions,
one of which is to be selected by the operator. (See primary
option menu and secondary option menu.)

load module. A single module having cross references resolved
and prepared for loading into storage for execution. The module
is the output of the $UPDATE or $UPDATEH utility.
load point. (1) Address in the partition where a program is
loaded. (2) A reflective marker placed near the beginning of a
tape to indicate where the first record is written.
lock. In the Indexed Access Method, a method of indicating that
a record or block is in use and is not available for another request.
logical screen. A screen defined by margin settings, such as the
TOPM, BOTM, LEFTM and RIGHTM parameters of the
TERMINAL or IOCB statement.
LSB. See level status block.
mapped storage. The processor storage that you defined on the
SYSTEM statement during system generation.
member. A term used to identify a named portion of a
partitioned data set (PDS). Sometimes member is also used as a
synonym for a data set. See data set.
menu. A formatted screen image containing a list of options.
The user selects an option to invoke a program.
menu-driven. The mode of proceSSing in which input consists of
the responses to prompting from an option menu.
message. In data communications, the data sent from one
station to another in a single transmission. Stations
communication with a series of exchanged messages.

output buffer. (1) See buffer. (2) In the Multiple Terminal
Manager, an area used for screen output and to pass data to
subsequent transaction programs.
overlay. The technique of reusing a single storage area allocated
to a program during execution. The storage area can be reused
by loading it with overlay programs that have been specified in
the PROGRAM statement of the program or by calling overlay
segments that have been specified in the OVERLAY statement of
$EDXLlNK.
overlay area. A storage area within a program reserved for
overlay programs specified in the PROGRAM statement or
overlay segments specified in the OVERLAY statement in
$EDXLlNK.
overlay program. A program in which certain control sections
can use the same storage location at different times during
execution. An overlay program can execute concurrently as an
asynchronous task with other programs and is specified in the
EDL PROGRAM statement in the main program.
overlay segment. A self-contained portion of a program that is
called and sequentially executes as a synchronous task. The
entire program that calls the overlay segment need not be
maintained in storage while the overlay segment is executing. An
overlay segment is specified in the OVERLAY statement of
$EDXLlNK or $XPSLlNK (for initialization modules).
overlay segment area. A storage area within a program or
supervisor reserved for overlay segments. An overlay segment
area is specified with the OVLAREA statement of $EDXLlNK.

multifile volume. A unit of recording media, such as tape reel or
disk pack, that contains more than one data file.

o
Glossary of Terms and Abbreviations

UT-613

Glossary of Terms and Abbreviations

parameter selection menu. A full screen display used by the
Session Manager to indicate the parameters to be passed to a
program.
partition. A contiguous fixed-sized area of storage. Each
partition is a separate address space.
performance volume. A volume whose name is specified on
the DISK definition statement so that its address is found during
IPL, increasing system performance when a program accesses
the volume.
physical timer. Synonym for timer (hardware).
polling. In data communications, the process by which a
multipoint control station asks a tributary if it can receive
messages.
precision. The number of words in storage needed to contain a
value in an operation.
prefind. To locate the data sets or overlay programs to be used
by a program and to store the necessary information so that the
time required to load the prefound items is reduced.

process mode. In the Indexed Access Method, the mode in
which records can be retrieved, updated, inserted, or deleted.

c

processor status word (PSW). A 16-bit register used to (1)
record error or exception conditions that may prevent further
processing and (2) hold certain flags that aid in error recovery.
program. A disk- or diskette-resident collection of one or more
tasks defined by a PROGRAM statement; the unit that is loaded
into storage. (See primary task and secondary task.)
program header. The control block found at the beginning of a
program that identifies the primary task, data sets, storage
requirements and other resources required by a program.
program/storage manager. A component of the Multiple
Terminal Manager that controls the execution and flow of
application programs within a single program area and contains
the support needed to allow multiple operations and sharing of
the program area.
protected field. A field in which the operator cannot use the
keyboard to enter, modify, or erase data.
PSW. See processor status word.

primary file. An indexed file containing the data records and
primary index.
primary file entry. For the Indexed Access Method Version 2,
an entry in the directory describing a primary file.

OCB. See queue control block.
OD. See queue descriptor.
OE. See queue element.

primary index. The index portion of a primary file. This is used
to access data records when the primary key is specified.
primary key. In an indexed file, the key used to uniquely identify
a data record.
primary-level index block. In an indexed file, the lowest level
index block. It contains the relative block numbers (RBNs) and
high keys of several data blocks. See cluster.
primary menu. The program selection screen displayed by the
Multiple Terminal Manager.
primary option menu. The
the Session Manager.

fir~t

queue control block (OCB). A data area used to serialize access
to resources that cannot be shared. See serially reusable
resource.
queue descriptor (00). A control block describing a queue built
by the DEFINEQ instruction.
queue element (OE). An entry in the queue defined by the
queue descriptor.
quiesce. To bring a device or a system to a halt by rejection of
new requests for work.

full screen display provided by

primary station. In a Series/1-to-Series/1 Attachment, the
processor that controls communication between the two
computers. Contrast with secondary station.
primary task. The first task executed by the supervisor when a
program is loaded into storage. It is identified by the PROG RAM
statement.
priority. A combination of hardware interrupt level priority and a
software ranking within a level. Both primary and secondary
tasks will execute asynchronously within the system according to
the priority assigned to them.

quiesce protocol. A method of communication in one direction
at a time. When sending node wants to receive, it releases the
other node from its quiesced state.
record. (1) The smallest unit of direct access storage that can be
accessed by an application program on a disk or diskette using
READ and WRITE. Records are 256 bytes in length. (2) In the
Indexed Access Method, the logical unit that is transferred
between $IAM and the user's buffer. The length of the buffer is
defined by the user. (3) In BSCAM communications, the portions
of data transmitted in a message. Record length (and, therefore,
message length) can be variable.
recovery. The use of backup data to re-create data that has
been lost or damaged.

o
UT-614

o

reflective marker. A small adhesive marker attached to the
reverse (nonrecording) surface of a reel of magnetic tape.
Normally, two reflective markers are used on each reel of tape.
One indicates the beginning of the recording area on the tape
(load point), and the other indicates the proximity to the end of
the recording area (EaT) on the reel.
relative block address (RBA). The location of a block of data on
a 4967 disk relative to the start of the device.
relative record number. An integer value identifying the
position of a record in a data set relative to the beginning of the
data set. The first record of a data set is record one, the second
is record two, the third is record three.
relocation dictionary (RLD). The part of an object module or
load module that is used to identify address and name constants
that must be adjusted by the relocating loader.
remote management utility control block (RCB). A control
block that provides information for the execution of remote
management utility functions.
reorganize. The process of copying the data in an indexed file to
another indexed file in a manner that rearranges the data for more
optimum processing and free space distribution.

c

restart. Starting the spool facility w the spool data set contains
jobs from a previous session. The jobs in the spool data set can
be either deleted or printed when the spool facility is restarted.
return code. An indicator that reflects the results of the
execution of an instruction or subroutine. The return code is
usually placed in the task code word (at the beginning of the task
control block).
roll screen. A display screen which is logically segmented into
an optional history area and a work area. Output directed to the
screen starts display at the beginning of the work area and
continues on down in a line-by-line sequence. When the work
area gets full, the operator presses ENTER/SEND and its contents
are shifted into the optional history area and the work area itself
is erased. Output now starts again at the beginning of the work
area.

secondary key. For the Indexed Access Method Version 2, the
key used to uniquely identify a data record.
secondary option menu. In the Session Manager, the second in
a series of predefined procedures grouped together in a
hierarchical structure of menus. Secondary option menus provide
a breakdown of the functions available under the session
manager as specified on the primary option menu.
secondary task. Any task other than the primary task. A
secondary task must be attached by a primary task or another
secondary task.
secondary station. In a Series/1-to-Series/1 Attachment, the
processor that is under the control of the primary station.
sector. The smallest addressable unit of storage on a disk or
diskette. A sector on a 4962 or 4963 disk is equivalent to an
Event Driven Executive record. On a 4964 or 4966 diskette, two
sectors are equivalent to an Event Driven Executive record.
selection. In data communications, the process by which the
multipoint control station asks a tributary station if it is ready to
send messages.
self-defining term. A decimal, integer, or character that the
computer treats as a decimal, integer, or character and not as an
address or pointer to data in storage.
sensor based I/O control block (SBIOCB). A control block
containing information related to sensor I/O operations.
sequential access. The processing of a data set in order of
occurrence of the records in the data set. (1) In the Indexed
Access Method, the processing of records in ascending collating
sequence order of the keys. (2) When using READ/WRITE, the
processing of records in ascending relative record number
sequence.
serially reusable resource (SRR). A resource that can only be
accessed by one task at a time. Serially reusable resources are
usually managed via (1) a GCB and ENG/OW statements or (2) an
ECB and WAIT/POST statements.
service request. A device generated signal used to inform the
controller that service is required by the issuing device.

SBIOCB. See sensor based I/O control block.

GPIB

second-level index block. In an indexed data set, the
second-lowest level index block. It contains the addresses and
high keys of several primary-level index blocks.

session manager. A series of predefined procedures grouped
together as a hierarchical structure of menus from which you
select the utility functions, program preparation facilities, and
language processors needed to prepare and execute application
programs. The menus consist of a primary option menu that
displays functional groupings and secondary option menus that
display a breakdown of these functional groupings.

secondary file. See secondary index.
secondary index. For the Indexed Access Method Version 2, an
indexed file used to access data records by their secondary keys.
Sometimes called a secondary file.

shared resource. A resource that can be used by more than one
task at the same time.

secondary index entry. For the Indexed Access Method
Version 2, this an an entry in the directory describing a secondary
index.

Glossary of Terms and Abbreviations

UT-615

Glossary of Terms and Abbreviations

shut down. See data set shut down.
source module/program. A collection of instructions and
statements that constitute the input to a compiler or assembler.
Statements may be created or modified using one of the text
editing facilities.
spool job. The set of print records generated by a program
(including any overlays) while engueued to a printer designated as
a spool device.
spool session. An invocation and termination of the spool
facility.
spooling. The reading of input data streams and the writing of
output data streams on storage devices, concurrently with job
execution, in a format convenient for later processing or output
operations.

system partition. The partition that contains the root segment
of the supervisor (partition number 1, address space 0).
talker. A controller or active device on a GPIB bus that is
configured to be the source of information (the sender) on the
bus.
tape device data block (TDB). A resident supervisor control
block which describes a tape volume.
tapemark. A control character recorded on tape used to
separate files.
task. The basic executable unit of work for the supervisor. Each
task is assigned its own priority and processor time is allocated
according to this priority. Tasks run independently of each other
and compete for the system resources. The first task of a
program is the primary task. All tasks attached by the primary
task are secondary tasks.

SRQ. See service request.
stand-alone dump. An image of processor storage written to a
diskette.
stand-alone dump diskette. A diskette supplied by IBM or
created by the $DASDI utility.
standard labels. Fixed length 80-character records on tape
containing specific fields of information (a volume label
identifying the tape volume, a header label preceding the data
records, and a trailer label following the data records).
static screen. A display screen formatted with predetermined
protected and unprotected areas. Areas defined as operator
prompts or input field names are protected to prevent accidental
overlay by input data. Areas defined as input areas are not
protected and are usually filled in by an operator. The entire
screen is treated as a page of information.
station. In BSCAM communications, a BSC line attached to the
Series/1 and functioning in a point-to-point or multipoint
connection. Also, any other terminal or processor with which the
Series/1 communicates.
subroutine. A sequence of instructions that may be accessed
from one or more points in a program.
supervisor. The component of the Event Driven Executive
capable of controlling execution of both system and application
programs.
system configuration. The process of defining devices and
features attached to the Series/1.
SYSGEN. See system generation.
system generation. The processing of defining I/O devices and
selecting software options to create a supervisor tailored to the
needs of a specific Series/1 hardware configuration and
application.

UT-616

SC34-0644

task code word. The first two words (32 bits) of a task's TCB;
used by the emulator to pass information from system to task
regarding the outcome of various operations, such as event
completion or arithmetic operations.
task control block (TCB). A control block that contains
information for a task. The information consists of pointers, save
areas, work areas, and indicators required by the supervisor for
controlling execution of a task.
task supervisor. The portion of the Event Driven Executive that
manages the dispatching and switching of tasks.
TCB. See task control block.
terminal. A physical device defined to the EDX system using the
TERMINAL configuration statement. EDX terminals include
directly attached IBM displays, printers and devices that
communicate with the Series/1 in an asynchronous manner.
terminal control block (CCB). A control block that defines the
device characteristics, provides temporary storage, and contains
links to other system control blocks for a particular terminal.
terminal environment block (TEB). A control block that
contains information on a terminal's attributes and the program
manager operating under the Multiple Terminal Manager. It is
used for processing requests between the terminal servers and
the program manager.
terminal screen manager. The component of the Multiple
Terminal Manager that controls the presentation of screens and
communications between terminals and transaction programs.
terminal server. A group of programs that perform all the
input/ output and interrupt handling functions for terminal devices
under control of the Multiple Terminal Manager.

o

o

terminal support. The support provided by EDX to manage and
control terminals. See terminal.
timer. The timer features available with the Series/1 processors.
Specifically, the 7840 Timer Feature card (4955 only) or the native
timer (4952, 4954, and 4956). Only one or the other is supported
by the Event Driven Executive.

update. (1) To alter the contents of storage or a data set. (2) To
convert object modules, produced as the output of an assembly
or compilation, or the output of the linkage editor, into a form that
can be loaded into storage for program execution and to update
the directory of the volume on which the loadable program is
stored.

trace range. A specified number of instruction addresses within
which the flow of execution can be traced.

user exit. (1) Assembly language instructions included as part of
an EDL program and invoked via the USER instruction. (2) A
point in an IBM-supplied program where a user written routine
can be given control.

transaction oriented applications. Program execution driven by
operator actions, such as responses to prompts from the system.
Specifically, applications executed under control of the Multiple
Terminal Manager.

variable. An area in storage, referred to by a label, that can
contain any value during program execution.

transaction program. See transaction-oriented applications.
transaction selection menu. A Multiple Terminal Manager
display screen (menu) offering the user a choice of functions,
such as reading from a data file, displaying data on a terminal, or
waiting for a response. Based upon the choice of option, the
application program performs the requested processing
operation.

vary offline. (1) To change the status of a device from online to
offline. When a device is offline, no data set can be accessed on
that device. (2) To place a disk or diskette in a state where it is
unknown by the system.
vary online. To place a device in a state where it is available for
use by the system.

vector. An ordered set or string of numbers.
tributary station. In BSCAM communications, the stations
under the supervision of a control station in a multipoint
connection. They respond to the control station's polling and
selection.
unmapped storage. The processor storage in your processor
that you did not define on the SYSTEM statement during system
generation.

volume. A disk, diskette, or tape subdivision defined using
$INITDSK or $TAPEUT1.
volume descriptor entry (VDE). A resident supervisor control
block that describes a volume on a disk or diskette.
volume label. A label that uniquely identifies a single unit of
storage media.

unprotected field. A field in which the operator can use the
keyboard to enter, modify or erase data. Also called
non-protected field.

o
Glossary of Terms and Abbreviations

UT-617

o

o
UT-618

SC34-0644

o
Index

The following index contains entries for this book only. See the Library Guide and Common Index for a Common
Index to all Event Driven Executive books.
Special Characters
$A - list partitions and programs
syntax UT -13
$B - blank display screen
syntax UT -14
$BSCTRCE utility
description UT -46
invoking UT -46
$BSCUT1 utility
commands UT -48
description UT -48
invoking UT -48
$BSCUT2 utility
change hard-copy device UT -53
commands UT -53
description UT -51
invoking UT -52
test pattern messages UT -51
$C - cancel program
syntax UT -15
$CHANUT1 utility
change device address UT -61
description UT -61
displaying commands UT -61
enable/ disable trace UT -62
I/O trace UT-61
invoking UT -61
print trace area UT -62
start channel attach device UT -62
stop channel attach device UT -62
terminate utility UT -62

trace example UT -63
$COMPRES utility
compress
a volume UT -70
device with fixed-head volumes UT -67
IPL volume UT-71
description UT -64
estimate progress of compress UT -68
invoke UT -65
$COPY utility
copy
data set UT -74
from basic exchange UT - 78
to basic exchange UT -79
volume UT -76
copy to a different size data set UT -72
invoking UT - 73
$COPYUT1 utility
copy
all data sets UT -85
all programs UT -87
data members UT -85
data sets not starting with a prefix UT -89
member UT -88
members beginning with a prefix UT -88
multiple data sets UT -83
one data set UT - 88
copy mode
change source and target volumes UT -82
copy all UT -82
description UT -82
read verify UT - 82

o
Index

UT-619

Index

turn off roll screen UT -82
turn on roll screen UT -82
verify member copy UT -82
write verify UT - 82
copy to a different size data set UT -80
description UT -80
invoking UT -80
$CP - change terminal partition
syntax UT -15
$D - dump storage
syntax UT -16
$DASDI utility
creating stand-alone dump/ UT -91
description UT -90
format
30-megabyte disk(DDSK-30) UT -117
60-megabyte disk(DDSK-60) UT -117
initialize
diskettes UT -94
2 diskettes for a dump >512K UT -92
30-megabyte disk (DDSK-30) UT-117
4962 disk UT -101
4963 disk UT -105
4967 disk UT -109
60-megabyte disk (DDSK-60) UT -117
invoking UT -90
operating characteristics for diskette initialization UT -96
$DEBUG utility
activate a stopped task UT -134
change
execution sequence UT -135
registers UT -139
storage UT -139
close spool job created by $DEBUG UT -132
data necessary for debugging UT -127
description UT -126
direct output UT -142
display
status of tasks UT -143
storage or registers UT -136
ending UT -133
features UT -126
list
breakpoints and trace ranges UT -132
commands UT -135
unmapped storage UT -136
modify base address UT -142
patch unmapped storage UT -139
post
event UT -141
process interrupt UT -141
remove breakpoints and trace ranges UT -138
set
breakpoints UT -130
trace ranges UT -130
$DICOMP utility
add a new member to data base UT -145
alter an existing member UT -145
description UT -144
display commands UT -144

insert/ delete elements in existing member UT -146
invoking UT -144
print member formatted UT -14 7
subcommands
advance X, Y coordinates UT -149
define multiple realtime data members UT -159
description UT -147
direct graphics output UT -149
display characters UT -155
display time and date UT -159
display variable UT -159
draw a line to X, Y coordinates UT -155
draw a symbol UT -149
draw line relative to current position UT -156
end display UT -154
exit program without update to data base UT -154
insert member UT -154
jump reference UT -155
jump to address UT -154
move beam to X, Y coordinates UT -157
plot curve only UT -157
plot data UT -157
save completed display profile UT -159
send data UT -154
test display as entered UT -147
$DIINTR utility UT-161
$DIRECT utility
alphabetical order sort UT -169
change volume for directory sort UT -170
description UT -168
end utility UT -171
invoking UT -168
list all data sets in volume UT -172
sort
by ascending data set size UT -172
by descending data set size UT -173
by location UT -170
directory in predefined order UT -174
interactively UT -176
$DISKUT1 utility
change
volume UT-181
vol ume bei ng accessed UT -181
delete
all members starting with prefix UT -182
data sets UT -181
data sets not starting with prefix UT -183
generic in prompt mode UT -182, UT -183
programs not starting with prefix UT -184
programs starting with prefix UT -182
description UT -177
determine free space on a volume UT -195
direct output UT -191
end utility UT -184
free space available in volume UT -195
invoking UT -177
list directory
all data sets in CTS/RBA mode UT-185
all members UT -184
all members in CTS/RBA mode UT-185, UT-190

()

o

o
UT-620

SC34-0644

o

c

all members on a volume UT -184
data sets on all volumes UT-187
data sets starting with specific prefix UT -187
data-type data sets UT -189
data-type data sets in CTS/RBA mode UT-189
free space available in volume UT -195
one data set UT -191
program-type data sets UT -193
program-type data sets in CTS/RBA mode UT-194
volumes UT -184, UT -188
renaming data sets UT -196
reset prompt mode UT -197
set
end of data pointer/flag UT-196
prompt mode UT -197
$DISKUT2 utility
change volume UT -201
clear a data set UT -201
description UT -198
end utility UT -206
invoking UT -199
list
all/portion of data set on printer UT -208
data set on terminal UT - 210
data-type data set UT -202, UT -203
log by relative record for a device UT -218
log by relative record for a terminal UT -209
log by wrap count for a device UT -218
log by wrap count for a terminal UT -209
log data set UT-207, UT-216
program-type data set UT -202, UT -203
sou rce data set UT - 21 0
patch a data set/program UT -211
set program storage parameter UT -219
$DIUTIL utility
allocate data member UT -221
build data member UT - 222
compress data base UT -223
copy member UT -223
delete a member UT -224
description UT -220
display
data base status UT - 227
directory UT -225
member header UT -225
end utility UT -224
initialize data base UT -224
invoking UT - 220
move data base UT - 226
rename member UT -227
$DUMP utility
description UT - 228
invoking UT -228
print a dump UT-228
storage
$TRAP output UT - 228
stand-alone dump UT -228
unmapped UT -228
unmapped storage UT -228
$E - eject printer page .

syntax UT -16
$EDIT1 /$EDIT1 N utility
add / replace text UT - 254
command syntax
EDIT UT-239
EDIT mode subcommands UT -247
END UT-240
LIST UT-241
READ UT-242
SUBMIT UT -244
WRITE UT -245
control keys UT - 238
data set requirements UT -235
description UT - 235, UT - 238
display changes to work data set UT - 263
end utility UT -240
enter edit mode UT -239
find a character string UT -253
invoking UT -235
line editing commands UT -264
list work data set UT - 241, UT - 255
move
line pointer up UT -262
text UT -256
position line pointer UT -262
renumber work data set UT -257
retrieve
host data set UT - 242
Series /1 data set UT - 243
save work data set UT - 258
sequence of operations UT -236
set tabs UT -259
submit job to host UT -244
write
work data set to host UT - 245
work data set to Series/1 data set UT -246
$EDXASM utility
description UT -265
invoking with $L UT -268
language-control data set UT -265
listing program ($EDXLlST) UT -271
options UT - 266
output UT - 270
overview UT - 265
required data sets UT -265
using the compiler UT -266
$EDXL language control data set UT -265
$EDXLlNK utility
AUTO CALL option
data set UT - 294
data set record format UT - 294
processing UT -295
system data set UT - 294
control statement data sets UT - 295
control statements
AUTOCALL UT -277
comment UT - 277
COpy UT -278
END UT-279
INCLUDE UT -279

o
Index

UT-621

Index

LINK UT-280
OVERLAY UT-282
OVLAREA UT -281
RESET UT-282
UNMAPCNT UT -283
VOLUME UT-284
data sets required UT-275
define
overlay area UT -281
overlay segment UT - 282
overlay segments in unmapped storage UT -283
identify
autocall data sets UT -277
comments UT - 277
end-of-control-statement data set UT -279
include object modules UT - 279
invoke using
$L interactive UT - 288
$L noninteractive UT - 288
link map UT -292
operator termination UT -291
perform a link-edit UT -280
primary-control-statement data set UT -275, UT -284
requesting a link-edit UT -287
reset $EDXLlNK UT -282
secondary-control-statement data set UT -275, UT -286
set default volume UT-284
specifying dynamic storage UT -286
$EDXLlST program UT -272
$FONT utility
create/modify a character image UT -306
data set requirements UT -296
display current image UT-297
enter edit mode UT -299
get image store from device UT -301
invoking UT -296
load image store into device UT -302
pf keys UT -306
read a data set UT -304
save image data set UT -305
$FSEDIT utility
data set requirements UT -315
directory line commands UT -325
directory list
change volume UT -321
display end of list UT -320
locate a specific data set UT -323
return to beginning of list UT -324
sort list UT -324
. edit line commands
copy block(s) of data UT -345
define copy or move UT -345
delete block(s) of text UT -347
description UT -344
display column setting UT -346
display insert mask UT -350
insert blocks of text UT -349
insert new line UT -348
move block(s) of text UT -351
shift left UT -345

shift right UT -345
edit upper /Iowercase data UT -330
invoking UT-312
overview UT -312
primary commands UT -331
cancel browse/edit mode UT-335
change text UT -337
clear work data set UT -338
description UT -334
end browse/edit mode UT-339, UT-341
find a specific text string UT -340
locate a line number UT -341
print contents of work data set UT -342
renumber lines within work data set UT -342
reset line commands UT -343
save contents of work data set UT -344
set COBOL line numbers UT -339
set tabs in edit work data set UT -343
set uppercase conversion UT -335
primary options
browse a data set UT -327
create a source data set UT -328
display tutorial text UT -333
edit a source data set UT -327
end utility UT -333
merge data sets UT -332
modify an existing source data set UT -329
print contents of work data set UT -332
retrieve a source data set UT -331
submit a job to host job stream UT -332
write a source data set to another data set UT -331
program function (PF) keys UT -317
scrolling UT -316
work data set UT -315
$GPIBUTl utility
change partition UT -353
define
device UT -354
end character UT -353
description UT -352
displaying commands UT -352
end utility UT -354
example UT -360
GPIB control UT -354
invoking UT -352
list device control block UT -355
post GPIB operation complete UT -360
read
data UT-357
error status UT -358
reset GPIB adapter UT -358
resume utility operation UT -360
suspend utility UT -359
write data to the GPIB adapter UT -359
$HCFUTl utility
description UT -366
invoking UT -366
release status record UT -368
set status UT -368
status commands UT -368

o

o
UT -622

SC34~0644

submit job to host job stream UT -368
transfer
data set from host to Series/1 UT -367
data set from Series /1 to host UT - 369
records from host to Series/1 UT-367
$HXUT1 utility
allocate H-exchange data set UT -374
change to another volume UT -376
copy
to EDX data set UT -379
to H-exchange data set UT -384
delete data set UT -376
description UT -371
initialize volume UT -376
invoking UT -372
list
contents of volume UT -377
space in volume UT -378
redirect listing to another terminal UT -377
rename an H-exchange volume UT -378
update
data set label by name UT -382
data set label by number UT -383
volume label UT -383
using UT -373
$IMAGE utility
define
attribute characters UT -391
null character UT -395
screen dimensions UT -392
description UT -386
display
field table UT -393
how to UT -390
PF key functions UT -394
end utility UT -393
enter screen mode UT -392
invoking UT -389
print images and tables UT -396
program function keys UT -399
save screen format UT -397
set
horizontal tabs UT -394
vertical tabs UT -399
$INITDSK utility
allocate
fixed-head volume UT -404
volume UT -404
define additional volume UT -420
delete volumes UT -406
description UT -402
displaying commands UT -403
initialize
device UT -407
IPL text UT -412
volume directories UT -407
invoking UT -402
listing volume directories UT -414, UT -416
rename
diskette vol1 /ownerid UT -419

volumes UT-419
split a volume UT -420
verify
device UT -421
volume UT -421
write
data set directory on volume UT -413
$IOTEST utility
description UT -423
displaying commands UT -424
invoking UT -423
list
devices attached to Series/ 1 UT -427
devices supported by supervisor UT -428
$JOBQUT utility
change logging terminal UT -432
delete job queues UT -433
description UT -430
displaying
commands UT -431
the status UT -430
end
job queue processing UT -436
utility UT -433
initialize job queue data set UT -434
invoking UT -430
resume job queue processing UT -434
suspend
job queue processing UT -434
utility UT -433
$JOBUTIL utility
allocate a data set UT -439
command syntax UT -438
description UT -437
display message UT -453
end
job UT-443
nested procedure UT -443
enter $JOBUTIL commands manually UT -449
execute
procedure UT -451
program UT -444
identify
continuation point UT -446
job to be executed UT -444
parameters to be passed UT -449
program to be executed UT -452
indicate internal comments UT -454
invoking UT -437
jump to label UT -445
log control commands UT -447
set no message logging UT -448
setup procedure UT -437
starting
new page in log listing UT -442
with $L UT -437
usage example UT -455
$L - load program
syntax UT -17
$LOG utility

~.··1.1."

~,1

Index

UT-623

Index

CIRCBUFF UT-457
commands UT -458
description UT -457
invoking UT -457
log data set UT -457
remote manager user requirements UT -457
$MEMDISK utility
allocate unmapped storage as a disk UT -460
commands UT -460
delete MEMDSK UT -461
initialize MEMDSK UT-461
invoking UT -460
reset $LOADER to load from disk UT -462
reset system default volume UT -462
set $LOADER to load from MEMDISK UT -463
set default volume to MEMDSK UT -462
$MOVEVOL utility
data set names required UT -465
description UT -464
diskette usage
contents UT -464
format UT -464
4966 considerations UT -464
dump procedure UT -465
invoking UT -464
restoring a system UT -468
saving a system UT -465
$MSGUT1 utility
description UT -470
displaying commands UT -470
end utility UT -471
format messages UT-471, UT-474
invoking UT -470
messages
disk-resident UT -471
storage-resident UT -474
print messages UT -473
$P - patch storage
syntax UT -18
$PFMAP utility
description UT -475
invoking UT -475
$PREFIND utility
commands UT -477
description UT -476
invoking UT -476
program load process UT -476
$PRT2780 utility
invoking UT -481
sample remote job entry session UT -482
$PRT3780 utility
invoking UT -481
sample remote job entry session UT -482
$RJE2780 utility
define
data to host UT -488
disk(ette) to receive data from host UT -487
spool file to receive data from host UT -488
terminal for output UT -486
description UT -484

end
spooling of printer output UT -486
utility UT -486
host subsystems UT -484
invoking UT -485
reset utility functions UT -487
stop data transmission UT -486
suspend
data to host UT -488
single card image record to host UT -486
$RJ E3780 utility
define
data to host UT -488
disk(ette) to receive data from host UT -487
spool file to receive data from host UT -488
terminal for output UT -486
description UT -484
end
spooling of printer output UT -486
utility UT -486
host subsystems UT -484
invoking UT -485
reset utility functions UT -487
send
data to host UT -488
single card image record to host UT -486
stop data transmission UT -486
$S - control printer spooling
ALT, alter printing
syntax UT - 20
DALL, delete all jobs
syntax UT - 21
DE, delete one job
syntax UT - 22
DG, delete jobs by prefix
syntax UT - 22
DISP, display status
syntax UT - 23
HOLD, hold job
syntax UT - 23
KEEP, keep/release job
syntax UT - 24
REL, release jobs
syntax UT - 24
STOP, stop spooling
syntax UT - 25
WRES, r~start writer
syntax UT - 25
WSTP, stop writer
syntax UT - 26
WSTR, start writer
syntax UT - 27
$SMMAIN load session manager
See session manager
$SMMLOG session manager logon menu
See session manager
$SMMPRIM primary option menu
See session manager
$SPLUT1 utility
functions UT -489

c

c
UT -624

SC34-0644

o
invoking UT -491
$STGUT1 utility
description UT -497
displaying commands UT -497
free storage UT -499
invoking UT -497
list
segmentation registers UT -498
unmapped storage information UT -501
$SUBMIT utility
delete a job UT -504
description UT -503
display
commands UT -504
status of job queue processing UT -508
end utility UT -505
hold a batch job UT -506
invoking UT -503
release a held job UT -506
resume utility processing UT -505
submit
and hold a batch job UT -507
job for execution UT -506
job to job queue processor UT -503
suspend utility UT -505
$S1ASM utility
assembler options UT -510
data sets required UT -509
description UT -509
invoking UT -509
output UT -516
$S1S1UT1 utility
define device name UT -518
description UT -517
displaying commands UT -517
echo test UT -518
end utility UT -519
invoking UT -517
I PL the other processor UT - 519
obtain status UT -520
perform write abort UT -518
read data UT - 520
reset device UT - 520
write data UT -521
$T - set date, time
syntax UT - 27
$TAPEUT1 utility
allocate a data set UT -547
automatic initialization mode UT -543
backup volume on tape UT -542
change
tape drive attributes UT -526
control tape motion UT -536
copy a data set UT -523
description UT -522
display
commands UT -523
tape return codes UT -538
double-buffered function UT -539
dump tape records UT -527

exercise tape UT -528
initialize a tape UT -531
initialize tapes automatically UT -543
invoking UT -522
list tape drives and attributes UT -535
monitor save or restore process UT -539
nonautomatic initialization mode UT -545
restore
data set UT -539
disk device UT -539
mUltiple tapes UT -542
volume UT -539
save
data set UT -542
disk device UT -542
using multiple tapes UT -546
volume UT -542
single-buffered function UT -539
vary tape online automatically UT -540
$TERMUT1 utility
assign printer for spooling output UT -548
change
hard-copy device UT -556
page formatting parameters UT -548
print PF key UT -556
terminal address UT -555
description UT -548
end utility UT -552
invoking UT -548
list a terminal's name/type/ address UT -552
rename a terminal UT -555
vary
terminal offline UT -553
terminal online UT -554
$TERMUT2 utility
assign a DEFINE key UT -560
change a key definition UT -561
description UT -557
displaying commands UT -559
end utility UT -566
invoking UT -559
load
control store UT - 567
image store UT -568
4980 terminal UT -569
required data sets UT -558
reserved data set names UT -558
restore
original character set to 4974 printer UT -570
4974 image UT -557
save
control store UT -571
image store UT -572
scan codes
for the 4978 UT -564
for the 4980 UT -565
4978 support UT -557
4978/4980 keyboards UT-563
$TERMUT3 utility
description UT -573

o
Index

. UT -625

Index

invoking UT -573
$TRACEIO utility
description UT -576
display trace data set UT -577
dump trace buffer UT -577
end utility UT -578
invoking UT -576
repeat communication line trace UT -579
trace activities on a communications line UT -579
$TRANS utility UT -581
copy/send/transmit data across a bisync Line UT-581
description UT -581
invoking UT -581
$TRAP utility
allocate work data set UT -590
attention commands
description UT -589
dump mapped and unmapped storage to work data
set UT-589
ending UT -593
error conditions UT -591
forcing a dump UT -593
loading UT -590
starting UT -593
suspending UT -593
$U operator command
description UT - 28
$UPDATE utility
change volume UT -599
data sets required UT -598
description UT -598
end utility UT -600
invoking UT -598
invoking with the session manager UT -602
output UT -603
read and store a program UT -600
update a program using $JOBUTIL UT -602
use considerations during system generation UT -603
$UPDATEH utility
description UT -605
displaying commands UT -605
invoking UT -605
$VARYOFF - set device offline
syntax UT - 28
$VARYON - set device online
syntax UT - 29
$W - display date, time
syntax UT -30

A
abort
Series/ 1-to-Series/ 1 write UT -518
absolute record copy UT -72
absolute record number
dump UT-199
patch UT -199
ACCA

UT-626

SC34-0644

communication line, trace activities UT -579
trace facility UT -576
activate
error logging UT -457
realtime data member UT -159
stopped task UT -134
TRAP function of storage dump UT -589
waiting task UT -141
add
member to partitioned data base (graphics) UT -145
null data set on tape volume UT -547
advancing printer forms
$E syntax UT -16
aligning forms
for spool jobs UT - 20
allocate
data set
creating partitioned ($PDS) UT -221
using $DISKUT1 UT -177
using $JOBUTI L UT -439
using $TAPEUT1 UT -547
unmapped storage as a disk UT -460
volume
on disk/diskette UT -404
on fixed-head device UT -404
alter
member (graphics) UT -145
spool job printing
command syntax UT -20
terminal configuration UT -548
alternate session menu, session manager
defined UT -33
alternate tracks UT -105
analog input
AT $IOTEST command UT -425
analog output
AO $IOTEST command UT -424
assembler
See $EDXASM and $S1ASM
assign
alternate sector UT -105, UT -115, UT -123
DEFINE key in control store UT -560
printer for spooling output UT -548
priorities to jobs UT -506
ATTR define attribute characters, $IMAGE command UT -391
AUTOCALL
control statement ($EDXLlNK) UT -277
data set ($EDXLlNK) UT -294
data set record format ($EDXLlNK) UT-294
option ($EDXLlNK) UT -294
processing ($EDXLlNK) UT -295
automatic
inclusion of modules in link edit UT -294
initialization mode UT -543

4'-~

('

'\

1,_,/

o

B
back up
disk or diskette volume on tape UT -542
diskette, $COPYUTl UT -80
diskette, $MOVEVOL UT -464
background option UT -36
backup dump restore utility, $MOVEVOL UT -464
base address, modify UT -142
basic exchange copy UT - 78
basic exchange diskette
copying from UT - 78
copying to UT -79
data set copy utility UT - 78
batch job processing
See $JOBUTIL utility
binary synchronous communications (BSC)
read transparent/ nontransparent data UT -54
read/write
nontransparent conversational UT -55
nontransparent data UT -54
transparent conversational UT -56
transparent data UT -57
transparent data, multidrop line UT -58
test BSCAM UT-51
trace printing utility, $BSCUTl UT -48
trace utility, $BSCTRCE UT -46
write
nontransparent data UT -60
transparent data UT -60
blanking display screen
$B syntax UT -14
breakpoint and trace range
remove UT -138
settings UT -130
browse a data set UT -320, UT -327
BSC trace records, dump UT -49
BSF (backward space file) UT -536
BSR (backward space record) UT -536
build data member (graphics) UT -222
BUILD option ($EDXASM) UT -267
bus
See General Purpose Interface Bus

c
CA attention request
$EDXASM UT -266
$EDXLlST UT -272
$FSEDIT UT -332
cancel
browse/ edit mode UT -335
dump UT-229
job queue jobs UT -504
print command UT -332
programs
$C syntax UT -1 5
utilities UT -45
change

character string
with $EDITl /N UT -248
with $FSEDIT UT -337
control store UT -557
data set name UT -558
DEBUG base address UT -142
definition of a key UT -561
display screen format UT -548
execution sequence of a program UT -135
GPIB partition UT -353
graphics or report display profile UT -144
hard-copy device
with $BSCUT2 UT -53
with $TERMUTl UT-548
image store UT -557
keyboard values UT -561
page formatting UT -548
PF key UT -560
print screen PF key UT -556
spool options UT -489
tape drive attributes UT -526
tape label UT -531
terminal
address UT -555
configuration UT -548
displaying job queue status UT -432
name UT-555
partition UT -15
volume
with $TERMUTl UT -556
with CV ($BSCUn) UT -48
with CV ($DISKUT1) UT-181
with CV ($DISKUT2) UT-200
with CV ($UPDATE) UT -599
channel attach
See also $CHANUTl utility
description UT -61
I/O trace UT -61
character image table, load UT -568
clear
data set UT -201
display screen
$B syntax UT -14
work data set UT -338
write verify UT -422
comment control statement ($EDXLlNK) UT-277
communication line, trace activities UT -579
communications utilities
$BSCTRCE UT -46
$BSCUTl UT -48
$BSCUT2 UT -51
$HCFUTl UT -366
$PRT2780 UT -481
$PRT3780 UT -481
$RJ E2780 UT -484
$RJE3780 UT-484
$TRANS UT -581
compile
a program UT -266
compiler

Index

UT -627

Index

See $EDXASM utility
completion codes
See also post codes, return codes
for $EDXASM UT-271
for $UPDATE UT-603
compress
disk, diskette, or volume UT -64
IPL volume UT -64
configuring
terminal UT-548
contents of data set, list UT - 210
control
job queue processing UT -430
keys for test editors UT - 238
processing of batch jobs UT -503
statements, $EDXLlNK UT -275
tape motion UT -536
CONTROL option ($EDXASM) UT -267
control store
changing UT -557
loading UT -567
saving UT -571
convert
new program with data set allocation UT -601
object modules to executing code UT -598
source messages
to disk-resident format UT -471
to storage-resident format UT -474
copy
basic exchange data set
from UT-78
to UT-79
block(s) of text UT -345
copy text UT - 249
data set UT -74
data set across a bisync line ($TRANS) UT -581
data sets not starting with a prefix UT -89
data sets with allocation UT -80
data to/from non-EDX systems
basic exchange data set UT -78, UT -79
diskette data set to tape UT -523
IPL text to diskette UT -73
line(s) of text UT -345
member
$DIUTIL UT -223
beginning with a prefix UT -88
from source to target UT -88
programs UT -87
tape data set
$COPYUTl UT -81
to diskette UT -523
to tape UT -523
volume or data set to an allocated volume or data
set UT-74, UT-76
COpy control statement ($EDXLlNK) UT -278
create
source data set UT -328
stand-alone dump/ UT -91
upper /Iowercase data set UT -557
custom menus, session manager UT -36

UT -628

SC34-0644

cylinder /head/sector UT -104

c

D
DALL subcommand
syntax UT - 21
data
editing UT -312
data management support
30-megabyte disk (DDSK-30)
allocate directory data ($DISKUT1) UT-180
format disk or diskette ($DASDI) UT -90
list directory data ($DISKUT1) UT -185
4971 printer
4975-01A ASCII printer
change terminal parameters ($TERMUT1) UT -550
4978/4980 display station
change image/control store ($TERMUT2) UT-557
process character /image tables ($FONT) UT -296
5219 printer
change terminal parameters ($TERMUT1) UT -551
60-megabyte disk (DDSK-60)
allocate directory data ($DISKUT1) UT -180
format disk or diskette ($DASDI) UT -90
list directory data ($DISKUT1) UT -185
data management utilities
$COMPRES UT-64
$COPY UT-72
$COPYUTl UT -80
$DASDI UT -90
$DISKUTl UT-177
$DISKUT2 UT-198
$INITDSK UT-402
$MOVEVOL UT -465
$TAPEUTl UT-522
data set
allocate
AL command UT -439
data-type UT -180
program-type UT -180
clear (set to zero) UT -201
copy
absolute record UT -72, UT -84
all data sets from source to target UT -85
from source to target UT -88
multiple data sets UT -80
to basic exchange diskette UT - 79
to tape UT -523
using $COPY UT -72
using H-exchange UT -373
with allocation of target data set UT -80
data organization UT -180
delete UT -440
data member UT-181
generic UT -182, UT -183
H-exchange UT-376
description UT -192
dump all or portion UT -202, UT -203
format

()

o

$FSEDIT UT-315
$PRT2780 UT -481
$PRT3780 UT -481
identify UT -441
list
all members UT-184
all members in CTS/RBA mode UT-185, UT-190
data sets starting with specific prefix UT -187
description of data sets in a volume UT -189
description of one data set UT -192
description of program members in volume UT -193
free space available in volume UT -195
programs in CTS/RBA mode UT-194
locating before loading a program UT -476
organization
DATA UT-72
PROGRAM UT -72
partitioned
allocate UT -221
delete UT - 224
rename UT -227
patch UT -211
in decimal UT -211
in EBCDIC UT -211
in hexadecimal UT -212
rename UT-196
set end - of- data UT -196
data set directory
listing
data set list commands UT -319
data set utilities
See data management utilities
date
directory sort UT -324
displaying
command syntax UT -30
setting
command syntax UT - 27
DDSK-30
See 30-megabyte disk (DDSK-30)
DDSK-60
See 60-megabyte disk (DDSK-60)
DE subcommand
syntax UT - 22, UT -440
using UT -440
default volume, change UT -284
defective records, locate UT -421
define
device name UT -518
end character (GPIB) UT -353
GPIB device UT-354
horizontal tabs UT -394
image dimensions UT -392
null characters UT -395
overlay area UT -281
overlay segments in unmapped storage UT -283
protected fields ($1 MAG E) UT -401
vertical tabs UT -399
3101 attribute characters UT -391
define key

specifying UT -560
delete
block(s) of text UT -347
data set
on tape UT -547
with $DISKUT1 UT-181
with $JOBUTIL UT -440
elements in graphics member UT -146
job queue UT -433
jobs in job queue UT -504
member
with ($DIUTIL) UT -224
with $DISKUT1 UT-181
text
with $EDIT1 /N UT -250
with line command ($FSEDIT) UT -347
volumes UT -406
density
for diskette initialization, $DASDI UT -94
detach
$SUBMIT UT -505
determine
data set
end-of-data UT-191
location UT -191
size UT-191
type UT -191
free space on a volume UT -195
number of
data sets on a volume UT -195
directory entries on a volume UT -195
unused directory entries on a volume UT -195
unused records on a volume UT -195
terminal
address UT -552
name UT-552
partition assignment UT -552
type UT-552
device
vary offline
command syntax UT -28
vary online
command syntax UT -29
device test utility, $IOTEST UT -423
DG subcommand
syntax UT - 22
diagnostic utilities
$DEBUG UT-126
$DUMP UT -228
$IOTEST UT -423
$LOG UT-457
$TRAP UT-589
digital input
direct output, $DICOMP subcommand UT-149
external sync, XI $IOTEST command UT -429
IOTEST commands UT -424
direct
$DEBUGoutput UT-142
graphics output UT -149
disk

Index

UT -629

Index

allocate unmapped storage as a disk UT -460
DISP command ($FONT) UT-297
initialize
a DDSK -30 (30-megabyte disk) UT -117
a DDSK-60 (60-megabyte disk) UT-117
a 4962 UT-101
a 4963 UT-105
a 4967 UT-109
message support UT -470
diskette
DISP command ($FONT) UT -297
format UT -94
initialize
using $DASDI UT -94
record sizes UT -466
rena'me volume label and owner id UT-419
stand-alone dump/$TRAP dump/ UT-91
vary offline
command syntax UT -28
vary online
command syntax UT - 29
DISP subcommand
syntax UT - 23
display
character image tables UT -297
column setting in source data set UT -346
insert mask UT -350
job queue status UT -432
processor composer, $DICOMP UT -144
processor interpreter, $011 NTR UT -161
processor utility, $DIUTIL UT -220
registers UT -136
screen image UT -396
spool status
command syntax UT -23
status of all tasks UT -143
status of job queue processing UT -435, UT -508
storage
command syntax UT -16
contents UT -136
registers UT -136
tape return codes UT -538
4978 and 4980 program function keys UT -475
draw
line, $DICOMP subcommand UT-155
symbol UT -149
dump
$D operator command
syntax UT -16
absolute record numbers UT -199
BSC trace records UT -49
data set
on printer UT - 202
on terminal UT - 203
using $TRAP UT -589
diskettes to disk
with $DUMP utility UT -234
tape records UT -527

UT-630

SC34-0644

to multiple diskettes UT -597
to printer
with $DICOMP UT-147
with $DISKUT2 UT -202
with $DUMP utility UT -228, UT -233
with $TAPEUT1 UT -527
to terminal
with $DICOMP UT-147
with $DISKUT2 UT-203
trace buffer UT -577
unmapped storage UT - 228
volume UT -464
with $DISKUT2 UT-203
dynamic storage, specifying UT -286

o

E
echo test, Series/1-to-Series/1 UT -518
edit
contents of data set UT -322
line commands, $FSEDIT UT -344
source data set UT -327
source statements UT -239
editor subcommands, $EDIT1 /N UT-247
eject page in log listing UT -442
ejecting printer page
command syntax UT -16
enable / disable trace for channel attach UT -62
end
$EDXLlNK UT-291
browse/edit mode UT-339, UT-341
display (graphics) UT -154
job queue processing UT -436
job, EOJ command ($JOBUTI L) UT -443
nested procedure, EOP command ($JOBUTIL) UT -443
END control statement ($EDXLlNK) UT -279
end-of-data pOinter/flag
reset UT-196, UT-201
set UT -196
enter
source statements UT - 239
unprotected output fields using $IMAGE UT -401
error codes
See return codes
error handling
I/O error logging UT -457
ERRORS command ($EDXLlST) UT -272
errors option ($EDXASM) UT -266
EX command ($TAPEUT1) UT -528
exerciser, BSC line ($BSCUT2) UT -51
exercising tape UT -528
EXIO device support
trace facility UT -576
external sync DI/DO, XI/XO, $IOTEST command UT-424
EXTRN statement
unresolved references UT - 295

o

o

F
find
specific text string UT -340
format
BSC trace files UT -48
disk or diskette ($DASDI) UT -90
formatted screen images UT -386
messages UT -4 70
viewing area into a plotter UT -157
free space, determining UT -195
free storage UT -499
FSF (forward space file) UT -536
FSR (forward space record) UT -536
full-screen text editor ($FSEDIT) UT -312

G

c

General Purpose Interface Bus
change partition UT -353
define
device UT -354
end character UT -353
description UT -352
displaying commands UT -352
end utility UT -354
example UT -360
GPIB control UT -354
invoking UT -352
list device control block UT -355
post G PI B operation complete UT -360
read
data UT-357
error status UT -358
reset GPIB adapter UT -358
resume $GPIBUT1 operation UT -360
suspend $GPIBUT1 UT -359
write data to the G PI B adapter UT -359
get character image table from device UT -301
GPIB
See General Purpose Interface Bus
GPIB control UT -354
graphic display, method for producing UT -147
graphics
utilities
$DICOMP UT-144
$DIINTR UT-161
$DIUTIL UT-220

syntax UT - 23
horizontal tabs, define with $IMAGE UT -394
Host Communications Facility
return codes UT -370
utility program ($HCFUT1) UT -366

I
I/O (input/ output)
exerciser ($BSCUT2) UT -51
tracing for channel attach UT -61
I/O error logging
data set list utility, $DISKUT2 UT -198
invoking UT -457
log data set UT -457
utility, $LOG UT -457
identify
batch job stream
continuation point UT -446
data set UT -441
defective RBAs UT -111
defective RBAs by cylinder UT -112, UT -120
overlay segment UT -282
image attributes
blinking UT -388
change UT -391
define UT -391
high intensity UT -388
low intensity UT -388
nondisplay UT -388
image dimensions, define UT -392
image store
loading UT -568
saving UT -572
image, formatted screen
See also $IMAGE utility
create UT -386
display UT -389
INCLUDE control statement ($EDXLlNK) UT -279
initial program load
See IPL (initial program load)
initialize
disk
$INITDSK utility UT -407
30-megabyte (DDSK-30) UT-117
4962 UT-101
4963 UT-105
4967 UT-109
60-megabyte (DDSK-60) UT-117
IPL text UT -412

H
HCF
See Host Communications Facility
hold
batch job UT -506
spool jobs
command syntax UT-23
HOLD subcommand

C· \
.~;

Index

UT -631

Index

job queue data set UT -434
MEMDSK UT -460
partitioned data base UT - 224
Series1-to-Series/1 UT -519
stand-alone dump/ UT -91
tapes UT -531
tapes automatically UT -543
unmapped storage as a disk UT -460
volumes UT -413
insert
blocks of text UT -349
elements in graphics member UT -146
line of text UT -348
member (graphics) UT -154
new line in source data set UT -348
interactive debugging UT -126
intercept class interrupts UT -589
interface
$L interactive ($EDXLlNK) UT -288
$L noninteractive ($EDXLlNK) UT -288
invoke
your operator command ($U) UT - 28
IPL (initial program load)
initialize text UT -412

J
job control statement UT-444
job printing, spool
$S ALT syntax UT - 20
job queue
data set, initialize UT -434
delete UT -433
priorities UT - 506
processing status UT -435
status of job UT -430
job queue processor
displaying job status UT -506
jump
to address (graphics) UT -154
to batch job stream label UT -445
to reference (graphics) UT -155

K
KEEP subcommand
syntax UT - 24
keeping spool jobs
command syntax UT - 24
kept spool jobs, releasing
command syntax UT -24
key
See program function (PF) keys
keyboard define utility UT -557

L

o

labels, tape
See tape
line editing, $EDIT1 /N UT -264
LINK control statement ($EDXLlNK) UT -280
link map ($EDXLlNK) UT -292
linkage editor
See $EDXLlNK utility
linkage editor overlays
See $EDXLlNK utility
list
all members with $DISKUT1 UT-184
breakpoints and trace ranges UT -132
characters (graphics) UT -155
configuration UT -428
data base status (graphics) UT -227
data members in CTS mode UT -177
data set
on printer UT - 208
on terminal UT -210
with $DISKUT2 UT-210
with $EDIT1 /N UT-255
with $FSEDIT UT -332
data set directory
one data set UT -192
date/time (graphics) UT -159
device control block (GPIB) UT -355
devices on a system UT -427
directory entries UT -314, UT -319
error specification UT - 266
graphics member UT -147
hardware configuration UT -424
header of data member UT -225
insert mask UT -350
processor program, $EDXLlST UT -271
program function key codes UT -475
program function keys UT -394
program members UT -177
segmentation registers UT -498
status of all tasks UT -143
supervisor configuration UT -428
tape drives and attributes UT -535
terminal name/type/ address UT -552
unmapped storage information UT -501
user-assigned sectors UT -115, UT -124
variables UT -159
volumes on disk or diskette UT -414, UT -416
LIST command
$EDXASM UT -266
$EDXLlST UT -272
list directory
data-type data sets in CTS/RBA mode UT-185
log data set
on printer UT - 216
on terminal UT -207
program-type data sets in CTS/RBA mode UT -192
load
control store UT -567
image store UT -568

o
UT-632

SC34-0644

o

image store into device UT -302
program
$L syntax UT -17
EXEC $JOBUTIL command UT -444
session manager UT -32
load-time storage allocation, modify UT-219
locate
line number in the work data set UT -341
log data set
for I 10 errors UT -457
list on printer UT -216
list on terminal UT -207
logoff menu, session manager
defined UT -32
logon menu, session manager
defined UT -32

M

o

magnetic tape
See tape
menus, session manager
custom defined UT -36
logon I logoff
defined UT -32
parameter input
defined UT -35
primary option
defined UT -33
example UT -34
secondary option
defined UT -34
example UT -34
merge source and work data set UT -332
message logging, set off UT -448
message-sending utility, $TERMUT3 UT -573
messages, program
convert to disk-resident format UT -471
convert to storage-resident format UT -474
on message volume UT -471
modify
an existing source data set UT -329
character image screen UT -299
character string
with $EDIT1 IN UT -248
with $FSEDIT UT -337
default storage allocation UT -219
image I control store UT -557
load-time storage allocation UT-219
multiple copy commands, $COPYUT1 UT -82
storage or registers UT -139
monitor
cross partition stack UT -499
interrupt buffer UT -499
save or restore process UT -539
move
block(s) of text UT -351
line pointer
down UT-251

to bottom UT - 247
to top UT - 262
up UT-262
partitioned data base to another volume UT -226
tape UT-536
text
$EDIT1 IN subcommand UT-256
volumes on disk or diskette UT -465

N
name directory sort UT -324
NOLIST command ($EDXASM) UT -266
nonautomatic initialization mode UT -545
NULL character, define UT -395

o
object data set for $EDXASM UT -265
operator commands
$A - list partitions and programs
syntax UT -13
$B - blank display screen
syntax UT -14
$C - cancel program
syntax UT -15
$CP - change display terminal partition
syntax UT -1 5
$D - dump storage
syntax UT -16
$E - eject printer page
syntax UT -16
$L - load program or utility
syntax UT -17
$P - patch storage
syntax UT -18
$S - control printer spooling
ALT UT -20
DALL UT -21
DE UT-22
DG UT-22
DISP UT-23
HOLD UT-23
KEEP UT-24
REL UT -24
STOP UT-25
WRES UT-25
WSTP UT-26
WSTR UT-27
$T - set date, time
syntax UT - 27
$U - user operator command UT -28
command syntax UT - 28
$VARYOFF - set device offline
syntax UT - 28
$VARYON - set device online
syntax UT - 29
$W - display date, time

Index

UT-633

Index

syntax UT -30
entering UT -12
invoking UT -28
operator termination ($EDXLlNK) UT -291
option selection menus, session manager
defined UT -32
overlay
area
defining UT -281
overlay segment
identify UT - 282
in unmapped storage UT -283
OVERLAY control statement ($EDXLlNK) UT-282
OVERLAY option ($EDXASM) UT-267
OVLAREA control statement ($EDXLlNK) UT -281
owner id on volume, rename UT -419

p
page eject, printer
$E syntax UT -16
page formatting parameters UT -548
parameter input menu
defined UT -35
example UT -35
partition
changing UT -15
changing assignment
CP command ($GPIBUT1) UT -353
listing
$A syntax UT -13
partitioned data base
allocate UT -221
compress UT -223
copy member UT -223
delete a member UT -224
display directory UT -225
display member header UT -225
initialize UT -224
list status UT -227
move UT-226
rename member UT -227
passing parameters
using $JOBUTIL UT -449
patch
absolute record numbers UT -199
data set/program UT -200, UT -211
storage or registers UT -139
PI
See process interrupt
place $SUBMIT utility in suspended mode UT -505
portion of data set, list UT -208
post
event UT-141
GPIB operation UT -360
process interrupt UT -141
post codes
See completion codes and return codes
primary commands, $FSEDIT UT -334

primary option menu, session manager
defined UT -33
example UT -34
primary- control- statement data set UT - 275
print
BSC trace files UT -48
contents of work data set UT -342
graphics member UT -14 7
messages UT -473
trace buffer for channel attach device UT -62
trace file on printer/terminal UT -48
print utilities, remote job entry UT -481
printer spooling
See spooling
printers
ejecting pages ($E) UT -16
process interrupt
IOTEST command UT -424
produce a graphic display UT -147
program
cancelling
$C syntax UT -1 5
dump
on printer UT -202
on terminal UT -203
listing active
$A syntax UT -13
load
$L syntax UT -17
patch UT -211
in decimal UT-212
in EBCDIC UT-213
in hexadecimal UT -213
with overlay segments UT - 214
program function (PF) keys UT -38
list 4978 and 4980, $PFMAP utility UT -475
list, KEYS $IMAGE command UT-394
when using $FSEDIT UT -317
when using $IMAGE UT-394
program identifier, $JOBUTIL command UT -452
program library update
See $U PDATE utility
program preparation
$EDXASM UT -265
$S1ASM UT-509
program storage parameter, set UT -219
prompt- reply format, operator commands UT -12
protected field
defined UT -387

o

R
read
records from host ($HCFUT1) UT -367
analog input UT -425
data set UT -304
data set into work file
with $EDIT1 /N UT -242
with $FSEDIT UT -331

(j
UT -634

SC34-0644

o
with $UPDATE UT-600
data using $GPIBUT1 UT -357
digital input using external sync UT -429
program with $UPDATE UT-600
realtime data member
RT $DICOMP subcommand UT-159
reclaim unused space in partitioned data base UT -223
record
format, EDX UT -315
sizes, diskettes UT -466
records
verify UT -421
redirect spool jobs
command syntax UT -20
reformatting diskettes UT -90
refresh data on 4967 disk UT -113, UT -120
registers
contents UT -139
modify UT-139
REL subcommand
syntax UT - 24
release
a held job UT -506
non program storage UT -497
spool jobs
$S KEEP syntax UT -24
$S REL syntax UT -24
release status record ($HCFUT1) UT -368
Remote Manager
error logging ($LOG) UT -458
list log by wrap count and relative record
on a printer UT -218
on a terminal UT -209
remove
alternate sector assignment UT -115, UT -123
breakpoints and trace ranges UT -138
rename
an H-exchange volume UT -378
data set UT -177, UT -196
new program with data set allocation UT -601
terminal UT -555
volume UT -419
with $DISKUT1 UT-177
with $DIUTIL UT -227
renumber lines within work data set UT -342
repeat communication line trace UT -579
replace old program with new program UT -601
request
compilation UT -266
reset
$EDXLlNK linkage editor UT -282
$LOADER to load from disk UT -462
control statement ($EDXLlNK) UT -282
device, Series /1 -to- Series / 1 UT - 520
end-of-data pointer UT -201
GPIB adapter UT -358
line commands, $FSEDIT UT -343
option ($EDXASM) UT -267
system default volume UT -462
restart

printer spooling UT -489
restore
character set, RE $TERMUT2 UT -570
data set UT - 539
disk device UT -539
disk or volume
from tape UT -539
diskette, $COPYUT1 UT -80
diskette, $MOVEVOL UT -465
monitor process UT -539
multiple tapes UT -542
volume UT -464, UT -539
4974 to standard character set UT -570
resume job queue processing UT -434
retrieve
host data set UT - 242
Series/1 data set UT -243
source data set UT -331
return codes
See also completion codes and post codes
Host Communications Facility UT -370
REW (rewind tape). UT -536
rewind tape UT -536
roll screen mode for multiple copying UT -82

s
sample session UT -482
save
contents of
storage and registers UT -589
work data set UT -344
control store UT-571
data set UT - 539
disk device UT -539
disk or diskette volume on tape UT -542
formatted screen UT -397
graphics data UT -159
image data set UT -305
image store UT -572
monitor process UT -539
using multiple tapes UT -546
volume UT -539
screen format builder utility
See $IMAGE utility
scrolling, $FSEDIT UT -316
search and dump tape UT -527
secondary option menu
defined UT -34
examples UT -34
secondary-control-statement data set UT -275, UT -286
sector size for diskette initialization $DASDI utility UT -95
segmentation registers
list UT-498
send
data, HX $DICOMP subcommand UT-154
message to another terminal UT -573
session manager
$SMMAIN UT -32

Index

UT-635

Index

$SMMLOG UT -33
$SMMPRIM UT -34
alternate session menu
defined UT -33
background option UT -36
custom menus defined UT -36
introduction UT -31
loading UT -32
logon menu
defined UT -32
parameter input menu
defined UT -35
example UT -35
primary option menu
defined UT -33
example UT -34
program function keys UT -38
secondary option menu
defined UT -34
example UT-34
user ID defined UT -32
utilities supported UT -39
set
$LOADER to load from MEMDSK UT -463
breakpoints and trace ranges UT -130
COBOL line numbers in edit mode UT -339
data set contents to zero UT -201
default volume for linkage editor UT - 284
program storage parameter UT - 219
status ($HCFUT1) UT -368
system default volume to M EM DSK UT -462
tabs UT-259
tabs in edit work data set UT -343
tape offline UT -536
uppercase conversion UT -335
3101 display terminal switch settings UT -318
set tabs
horizontal ($IMAGE) UT -394
vertical ($I MAG E) UT -399
with $EDIT1 /N UT -259
setup procedure for $JOBUTIL UT -437
single-line format, operator commands UT -12
sort
alphabetically UT -169
by ascending data set size UT -172
by descending data set size UT -173
L._ 1 _ _ _ .&.:

uy

__

IU\,;i:llIUII

II"'T"

U I -

.. ...,,,

I/U

in predefined order UT -174
interactively UT -176
source messages, format UT -470
special PI bit/group UT -429
specify
dynamic storage ($EDXLlNK) UT-286
split a volume UT -420
spool data set
designating UT -489
spooling
,
ALT subcommand UT -20
alter job printing
command syntax UT -20

automatic writer start UT -492
capacity parameters
changing UT -489
defaults UT -491
cold starting UT -490
DALL subcommand UT -21
DE subcommand UT -22
delete a job
command syntax UT -22
delete all jobs
command syntax UT -21
delete generic jobs
command syntax UT -22
DG subcommand UT - 22
DISP subcommand UT -23
display status
command syntax UT -23
ending
command syntax UT - 25
forms, altering ($S ALT) UT -20
hold jobs
command syntax UT -23
HOLD subcommand UT -23
keep jobs
command syntax UT -24
KEEP subcommand UT -24
operator functions
change max spool jobs UT -492
change spool data set UT -492
change spool devices UT -492
REL subcommand UT -24
releasing kept jobs
command syntax UT -24
restart writer
command syntax UT -25
restarting UT -489
start a writer
command syntax UT - 27
stop a writer
command syntax UT -26
stop spooling
command syntax UT-25
STOP subcommand UT -25
WRES subcommand UT -25
writer
changing UT -20
___ ..

_~:__

1t:;;:)lOILlII\:j

I IT

o

'It:::

VI-Lv

starting UT -27
status UT - 23
stopping UT -26
WSTP subcommand UT - 26
WSTR subcommand UT - 27
stand-alone dump
create diskette UT -91
start
channel attach device UT -62
job queue processing UT -503
programs
$L syntax UT -17
status commands ($HCFUT1) UT -368

o
UT-636

SC34-0644

o

status display, WHERE $DEBUG UT-143
status-obtaining error
with $GPIBUT1 UT -358
with $S1 S1 UT1 UT -520
stop
batch logging UT -432
channel attach device UT -62
multiple copies UT -83
spool writer UT - 26
STOP subcommand
syntax UT - 25
storage
displaying
command syntax UT -16
dumping UT -589
patching
command syntax UT -18
release nonprogram UT -497, UT -499
submit
and hold a batch job UT -506
job
for execution UT - 506
to host ($HCFUT1) UT -368
to host job stream UT -332
to job queue processor UT -503
surface analyzing tape UT -528
suspend
$GPIBUT1 UT -359
$JOBQUT utility UT -433
job queue processing UT -434
system
AUTOCALL data set ($EDXLlNK) UT -294

T
tab

display ($DICOMP) UT-147
generated report or graphics profile member UT -147
label types UT -528
process interrupt UT -429
text editing utilities
full-screen editor UT -312
line editors UT - 235
time and date
display
command syntax UT -30
set
command syntax UT -27
trace
ACCA activities UT -576
BSC activities UT -46
buffer for channel attach device, print UT -62
buffer, dump UT -577
communications activities, repeat UT -579
data set, display UT -577
EXIO activities UT -576 .
printing utility for BSC UT -48
range and breakpoint, remove UT -138
ranges and breakpoint settings UT -130
record format for BSC line UT -47
utility for BSC UT -46
transfer
data set across a bisync line ($TRANS) UT -581
data set from host ($HCFUT1) UT -367
data set to host
WR command ($HCFUT1) UT -369
WRITE $EDIT1 command UT -245
WRITE $FSEDIT UT -331
transmit data sets across a bisync line
$TRANS UT -581
data management support
$DASDI UT -90
$DISKUT1 UT-177

set in edit work data set UT -343
tape
control commands UT -536
data set, allocate UT -547
label, change UT -531
management UT -522
return codes, display UT -538
vary offline UT -28
vary online UT -29
tape drive
change attributes UT -526
list defined tape drives UT -535
terminal
configuration utility, $TERMUT1 UT -548
message-sending utility, $TERMUT3 UT -573
terminating GPIB operation UT -352
test
BSC conversational transparent mode UT -56
BSC definitions UT -51

u
UNMAPCNT control statement {$EDXLlNK UT -283
unmapped storage
allocate as a disk UT -460
dump UT -228
list UT -136
modify
allocation UT -219
locations UT -139
patch UT -139
trap UT -589
unprotected field
defined UT -387
output fields UT -401
unresolved external references (EXTRNs) UT -295

Index

UT-637

Index

w

v
vary
device offline
command syntax UT-28
device online
command syntax UT-29
tape online automatically UT -540
terminal offline UT -553
terminal online UT -554
verify
SSC communications UT -51
disk or diskette data set UT -421
tape is executing correctly UT -528
4967 disk UT -111
vertical tabs, define UT -399
volume
allocating UT -404
change UT-181, UT-201
change for directory sort UT -170
compressing UT - 70
copying UT -72, UT -76
deleting UT -406
disk backup UT -84
dump/restore, $MOVEVOL UT -465
free space UT -195
initialize UT -407, UT -413
initialize H-exchange UT -376
IPL volume, copy UT -84
list
all UT-188
disk or diskette UT -414, UT -416
list all data sets UT -172
list directory entries UT -319
number of
data sets UT -195
directory entries UT -195
free space entries UT -195
unused directory entries UT -195
unused records UT -195
rename UT -419
rename label and owner id UT -419
size UT-195
sort
alphabetically UT-169
by ascending data set size UT -172
by descending data set size UT - i i3
by location UT -170
description UT -168
in predefined order UT-174
interactively UT -176
split UT -420
update H-exchange volume label UT -383
verify UT -421
with $FSEDIT UT -324
VOLUME control statement ($EDXLlNK) UT-284
volume label, rename UT -419

UT-638

SC34-0644

wait state
put program in wait state UT -424
weak external reference (WXTRN) UT -295
work data set
$EDXASM UT-265, UT-272
$EDXLlNK UT -275
$S1ASM UT-509
save UT-344
WRES subcommand
syntax UT - 25
write
data
Series/1-to-Series/1 UT-521
to the GPIS adapter UT -359
digital output using external sync UT -429
IPL text UT-412
one sector 10 UT-116
source data set to a host/ native data set UT -331
write verify
clear UT -422
set UT-422
writer, spooling
See spooling
WSTP subcommand
syntax UT - 26
WSTR subcommand
syntax UT - 27

3
30-megabyte disk (DDSK-30)
data management support
$DASDI UT -90
$DISKUT1 UT -177
initialize UT -117
3101 Display Terminal
screen format UT -388

4
4971 printer
data management support
4975-01 A ASCII printer
data management support
$TERMUT1 UT -550
4978 display station
change hard-copy device ($TERMUT1) UT -556
data management support
$FONT UT-296
$TERMUT2 UT -557
data set sizes UT - 558
keyboard UT -563
scan code UT -561
screen format UT -387
4980 display station

o

o

change hard-copy device ($TERMUT1) UT -556
data management support
$FONT UT -296
$TERMUT2 UT -557
data set sizes UT -559
keyboard UT -563
load terminal command (LT) UT-569
scan code UT -561
screen format UT -386

6
60-megabyte disk (DDSK-60)
initialize UT -117

5
5219 printer
data management support
$TERMUT1 UT -551

Index

UT-639

c

o
UT-640

SC34-0644

s : :~~i: Series/1 Event Driven Executive

o

Publications Order Form
Instructions:
1.

Order:

Complete the order form, supplying all of the
requested information. (Please print or type.)

2.

Description

Order
number

Reference books:

If you are placing the order by phone, dial

1-800-IBM-2468.
3.

If you are mailing your order, fold the order
form as indicated, seal with tape, and mail.
We pay the postage.

Ship to:
Name:

Address:

Communications Guide

SC34-0638

Extended Address Mode and
Performance Analyzer User Guide

SC34-0591

Installation and System Generation Guide

SC34-0646

Language Reference

SC34-0643

Library Guide and Common Index

SC34-0645

Messages and Codes

SC34-0636

Operator Commands and Utilities Reference

SC34-0644

Guides and reference cards:
City:

o

State:

Zip:

Bill to:
Customer number:
Name:

Address:

Customization Guide

SC34-0635

Event Driven Language Drogramming Guide

SC34-0637

Operation Guide

SC34-0642

Problem Determination Guide

SC34-0639

Language Reference Card

SX34-0165

Operator Commands and Utilities
Reference Card

SX34-0164

Conversion Charts Reference Card

SX34-0163

Reference Card Envelope

SX34-0166

City:
State:

Zip:

Binders:

o

Your Purchase Order No.:

3-ring easel binder with 1 inch rings

SR30-0324

Phone: (

3-ring easel binder with 2 inch rings

SR30-0327

Signature:

Standard 3-ring binder with 1 inch rings

SR30-0329

Standard 3-ring binder with 1 1/2 inch rings

SR30-0330

Standard 3-ring binder with 2 inch rings

SR30-0331

Diskette binder (Holds eight 8-inch diskettes.)

S830-0479

Date:

Oty.

I

I
I
I
I
()

Publications Order Form

~

Q
II

Q.
Co

~
0

:l

to

0

r
5·
(I)

Fold and tape

Please Do Not Staple

Fold and tape

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

~

111111

NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY' MAIL
FIRST CLASS

PERMIT NO. 40

o

ARMONK, N.Y.

POSTAGE WI LL BE PAID BY ADDRESSEE:

IBM Corporation
1 Culver Road
Dayton, New Jersey 08810

...••.••.••....•••....•.•••••..•.•.....•........................•.•.....................................................•..•............•.••••.•..••.•.....•.••..•••.•....•.. ••.•.•. J
Please Do Not Staple

Fold and tape

Fold and tape

I
I
I
I
I
I
I
t

--

------ ----,-

®

International Business Machines Corporation

o

IBM Series/l Event Driven Executive
Operator Commands and Utilities Reference
Order No. SC34-0644-0

o

READER'S
COMMENT
FORM

This manual is part of a library that serves as a reference source for systems analysts, programmers, and
operators of IBM systems, You may use this form to communicate your comments about this publication,
its organization, or subject matter, with the understan'ding that IBM may use or distribute whatever
information you supply in any way it believes appropriate without incurring any obligation to you,
Your comments will be sent to the author's department for whatever r.eview and action, if any, are deemed
appropriate,

Note: Copies of IBM publications are not stocked at the location to which this form is addressed,
Please direct any requests for copies of publications, or for assistance in using your IBM system, to
your IBM representative or to the IBM branch office serving your locality,

..... E
c
Q)

E

0

0. ,~

::l .r:.
0- +-'
Q)

en
c

'';;

0
CI'l

'ro
E
"0

Q)

+-'

co

E
0

+-'

C

::l

ro
Q)
CI'l

0

+-'
Q)

0.

co

+-'

"0
Q)

E
E
::l

OJ

....

Q)

co .r:.
+-'

.r:.

0

'~

0

+-'
CI'l

E
Q)

Q)

>

'';;

'en

:0 cQ)
0

0.

CI'l

Q)

en
::l

::l
en
en

u

0.

co

c

co

U

en
Q)

~

Q)

Q)

en
::l
Q)

en
C. co
co Q)

+-'
CJ)

a::

Q)

+-'

0

Z

o
Thank you for your cooperation, No postage stamp necessary if mailed in the U,S,A, (Elsewhere, an IBM
office or representative will be happy to forward your comments or you may mail directly to the address
in the Edition Notice on the back of the title page,)

SC34-0644-0
Printed in U.S.A.

Reader's Comment Form

Fold and tape

Please Do Not Staple

Fold and tape

I"III

NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL
FIRST CLASS

PERMIT NO. 40

ARMONK, N.Y.

POSTAGE WILL BE PAID BY ADDRESSEE:

International Business Machines Corporation
Information Development, Department 28B
P.O. Box 1328
Boca Raton, Florida 33432

Fold and tape

-- -

Please Do Not Staple

---- ----- ----,-

®

Fold and tape

IBM Series/1 Event Driven Executive
Operator Commands and Utilities Reference

o

Order No. SC34-0644-0

READER'S
COMMENT
FORM

This manual is part of a library that serves as a reference source for systems analysts, programmers, and
operators of IBM systems. You may use this form to communicate your comments about this publication,
its organization, or subject matter, with the understan'ding that IBM may use or distribute whatever
information you supply in any way it believes appropriate without incurring any obligation to you.
Your comments will be sent to the author's department for whatever r,eview and action, if any, are deemed
appropriate.

Note: Copies of IBM publications are not stocked at the location to which this form is addressed.
Please direct any requests for copies of publications, or for assistance in using your IBM system, to
your IBM representative or to the IBM branch office serving your locality.

~

cQ)

E

0.

E
0

'+VI

:::l J::.
0- +-'
Q)

0>

0

0

'co
E
"0

Q)

+-'
CO

E
0

+-'

"

Q)

VI

'';:;
VI

C"

CO

C

:::l

+-'
Q)

0.

CO
+-'

"0

Q)

E
E

:::l

0>
'Q)

co J::.
+-'

J::.

+-'
.~
VI

E
Q)

0

0
Q)

>

'';:;

'en

::0 cQ)
0

VI

0. e
Q)

VI

:::l
CO

u

c

CO
U
VI
Q)

c.

CO
+-'
Cf)

:::l

VI
VI
Q)

0.
Q)
VI

:::l
Q)
VI

CO
Q)

0:

Q)

+-'

0

Z

Thank you for your cooperation, No postage stamp necessary if mailed in the U.S.A. (Elsewhere, an IBM
office or representative will be happy to forward your comments or you may mail directly to the address
in the Edition Notice on the back of the title page.)

SC34-0644-0
Printed in U.S.A.

,0'"
"

Reader's Comment Form

Fold and tape

Please Do Not Staple

Fold and tape

111111

NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL
FIRST CLASS

PERMIT NO. 40

,'-,,\

ARMONK, N.Y.

"'-,J:

POSTAGE WILL BE PAID BY ADDRESSEE:

International Business Machines Corporation
Information Development, Department 28B
P.O. Box 1328
Boca Raton, Florida 33432

Fold and tape

Please Do Not Staple

-- ------ ----,-

--

®

!

Fold and tape

-----.------- ----_---

--_.-

'"

International Business Machines Corporation

SC34-0644-0

SC34-0644-0
Program Numbers: 5719-XS5,
5719-XX6, 5740· LM6, 5719-LM9
File Number : S1-32
Printed in U.S .A .

-

,.



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                     : 2013:01:03 11:56:46-08:00
Modify Date                     : 2013:01:04 00:30:03-08:00
Metadata Date                   : 2013:01:04 00:30:03-08:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:6fbc5ca6-7d81-4aeb-8332-7a0817f2db36
Instance ID                     : uuid:786dae8c-3a61-4d7b-a729-e5cdcb0c96c1
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 662
EXIF Metadata provided by EXIF.tools

Navigation menu