SC34 0940 0_EDX_6.0_Operator_Commands_and_Utilities_Sep87 0 EDX 6.0 Operator Commands And Utilities Sep87

SC34-0940-0_EDX_6.0_Operator_Commands_and_Utilities_Sep87 SC34-0940-0_EDX_6.0_Operator_Commands_and_Utilities_Sep87

User Manual: SC34-0940-0_EDX_6.0_Operator_Commands_and_Utilities_Sep87

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

DownloadSC34-0940-0_EDX_6.0_Operator_Commands_and_Utilities_Sep87 SC34-0940-0 EDX 6.0 Operator Commands And Utilities Sep87
Open PDF In BrowserView PDF
------ ------ ----------,-

SC34-0940-0

Series/1
Event Driven Executive
Operator Commands and
Utilities Reference

Version 6.0

Library Guide and
Common Index

Installation and
System Generation
Guide

Operator Commands
and
Utilities Reference

SC34-0938

SC34-0936

SC34-0940

Language
Reference

Communications
Guide

Messages and
Codes

SC34-0937

SC34-0935

SC34-0939

Operation
Guide

Event Driven
Language
Programming Guide

APPC
Programming Guide
and Reference

SC34-0944

SC34-0943

SC34-0960

Problem
Determination
Guide

Customization
Guide

Internal
Design

SC34-0941

SC34-0942

LY34-0364

----- -- ------ -----------,-.

~O

SC34-0940-0

Series/1
Event Driven Executive
Operator Commands and
Utilities Reference

Version 6.0

Operator Commands
and
Utilities Reference

SC34-0940

o

(~\

\'"-~

First Edition (September 1987)

Use this publication only for the purposes stated in the section entitled "About This Book."
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 arenot stocked at the address given below. Requests for copies of IBM publications 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 for readers' comments
is provided at the back of this publication. If the form has been removed, address your comments to IBM
Corporation, Information Development, Department 28B, Internal Zip 5414, P. O. Box 1328, Boca Raton,
Florida 33429-1328. 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 1987

0','"
"

o

Summary of Changes for Version 6.0
This document contains the following changes.
3151 Display Terminal
• This book has been updated to include the 3151 display everywhere a reference
to the 3161 display appears.
Asynchronous Line Sharing
• The $TERMUTI utility can be used to change the characteristics of the 4201
and 4202 printer.
Extended Address Mode Support
• The $DUMP utility has been modified to print out all 32 banks of CPU
segmentation and the 32 banks of I/O segmentation registers.
• The $STGUTI utility has been modified to display all the segmentation registers
and monitors the status of the I/O registers.
$COPYUTI Utility
• The $COPYUTI parameter information has been added in this book.
• The LOG and READDS commands have been added to the $COPYUTI utility.
The LOG command sends messages to the specified log device; the READDS
command submits $COPYUTI commands from a command data set.
$DISKUT2 Utility
• The search command has been added to the $DISKUT2 utility. This command
enables you to search a data set for EBCDIC or hexadecimal character strings.
$INSTAL Utility
• The $INSTAL utility has been added to make the installation and maintenance
of most EDX system products easier and adds the ability to check for current
levels of any program products installed by $INSTAL.
$MEMDISK Utility
• The $MEMDISK parameter information has been added in this book. and
deleted from the Customization Guide.
$STGUTI Utility
• The list storage configuration (LC) command has been added the the $STGUT1
utility. This command lists the processor type and the amount of mapped and
unmapped storage on the current system. The MX and UN commands have
been modified to reflect this enhancement.
$TRAP Utility
• The $TRAP utility has been modified to include the following:

o

Dynamic Dump - the system continues to process after a dump
Software IPL - the system will automatically IPL after a dump
Allows $TRAP to be loaded out of partition 1 through the LOAD statement
or using $JOBUTIL.

Summary of Changes for Version 6.0

iii

-

Allows $TRAP to dump additional segmentation registers.
Allows $TRAP to dump either all storage or only mapped storage.

• The $TRAP parameter information has been included in this book.

()

o

o
iv

SC34-0940

o

Contents
Chapter 1. Introduction
1-1
Operator Commands
1-1
Session Manager
1-1
System Utilities
1-1
Job Cross-Reference Chart
1-2

o

2-1
Chapter 2. Operator Commands
Entering Commands 2-1
Prompt-Reply Format 2-2
Single-Line Format 2-2
Operator Command Descriptions
2-2
Syntax Conventions 2-2
$A - List Partitions and Active Programs
2-3
$B - Blank Display Screen 2-3
$C - Cancel Program 2-4
$CP - Change Display Terminal's Partition Assignment
2-5
$D - Dump Storage
$E - Eject Printer Page
2-5
$L - Load a Program or Utility
2-6
$P -,- Patch Storage
2-7
$S - Control Spooled Program Output
2-7
2-22
$T - Set Date and Time
$U - Load Your Own Operator Command
2-22
$VARYOFF - Set Device Offline
2-23
$VARYON - Set Device Online
2-24
2-25
$W - Display Date and Time
ERAP - Print Error Log Data Set on the System Printer

2-4

2-25

Chapter 3. Session Manager
3-1
Loading the Session Manager
3-1
Menus
3-1
Logon/Logoff Menu
3-2
Primary Option Menu
3-2
Secondary Option Menu 3-3
Parameter Input Menu
3-4
The Background Option 3-5
Custom Menus
3-5
Data Sets
3-6
Program Function Keys
3-7
3-7
Supported Utilities

o

Chapter 4. Utilities
4-1
Loading the Utilities
4-1
Entering Utility Commands
4-2
Cancelling a Utility
4-2
4-3
$BSCTRCE - Trace I/O Activity on a BSC Line
Loading $BSCTRCE
4-3
$BSCUT1 - Format BSC Trace Files
4-5
Loading $BSCUT1
4-5
$BSCUT2 - Communications I/O Exerciser 4-8
Loading $BSCUT2 4-9
$BSCUT2 Commands
4-9
Contents

V

$CHANUTI - Channel Attach Utility 4-17
Loading $CHANUTI
4-17
$CHANUTI Commands 4-17
$COMPRES - Compress Disk, Diskette, or Volume 4-20
Specifying Dynamic Storage 4-21
Loading $COMPRES 4-21
$COMPRES Commands 4-22
$COPY - Copy Data Set 4-27
Copying Programs or Data Members 4-27
Specifying Dynamic Storage 4-28
Loading $COPY 4-29
$COPY Commands 4-29
$COPYUTI - Copy Data Set with Allocation 4-35
Specifying Dynamic Storage 4-35
Loading $COPYUTI
4-36
Loading $COPYUTI From a Program 4-36
Loading $COPYUTI Using $JOBUTIL 4-37
Command Data Set Format 4-38
$COPYUTI Commands 4-39
$CPUMON - Monitor CPU Utilization 4-48
$CPUMON Requirements 4-48
Loading $CPUMON 4-48
$CPUMON Attention Commands 4-50
ENDMON - End the $CPUMON Utility 4-50
NOPRINT - Stop Printing the Summary Log 4-50
PRINT - Resume Printing the Summary Log 4-50
$CPUPRT - Print a CPU Utilization Report 4-51
Loading $CPUPRT 4-51
$DASDI - Format Disk or Diskette 4-53
Loading $DASDI 4-53
Primary Option 0- Create a Stand-Alone D~p/$TRAP Diskette
Primary Option I - Diskette Initialization 4-56
Primary Option 2 - 4962 Disk Initialization 4-63
Primary Option 3 - 4963 Disk Initialization 4-67
Primary Option 4 - 4967 Disk Initialization 4-70
Primary Option 5 - DDSK Disk Initialization 4-78
Primary Option 6 - IDSK Disk Initialization 4-85
Primary Option 9 - Exit Initialization 4-89
$DEBUG - Debugging Tool 4-90
Major Features of $DEBUG 4-90
Necessary Data for Debugging 4-91
Loading $DEBUG 4-91
$DEBUG Commands 4-93
$DICOMP - Display/Modify Profiles 4-106
Loading $DICOMP 4-106
$DICOMP Commands 4-106
Composer Subcommands 4-109
$DIINTR - Graphics Interpreter Utility 4-124
Loading $DIINTR 4-124
$DIRECT - Directory Organization Sort 4-131
Loading $DIRECT 4-131
$DIRECT Commands 4-132
$DISKUTI - Allocate/Delete/List Directory Data
4-139
Loading $DISKUTI
4-139
$DISKUTI Commands 4-140
$DISKUT2 - Patch/Dump/List/Search Data Set or Program 4-161

vi

SC34-0940

o

4-53

o

o

o

o

Program and Data Set Member Dumps and Patches 4-161
Absolute Record Numbers 4-162
Loading $DISKUT2 4-162
$DISKUT2 Commands 4-163
$DIUTIL - Maintain Partitioned Data Base 4-186
Loading $DIUTIL 4-186
$DIUTIL Commands 4-187
$DSKMON - Monitor Disk I/O Activity 4-194
$DSKMON Requirements 4-194
Loading $DSKMON 4-194
$DSKMON Attention Commands 4-196
ENDMON - End the $DSKMON Utility 4-196
NOPRINT - Stop Printing the Summary Log 4-196
PRINT - Start Printing the Summary Log 4-196
$DSKPRT1 - Print a Log for all Disk Activity 4-197
Loading $DSKPRT1
4-197
$DSKPRT2 - Print a Disk Activity Report 4-203
Loading $DSKPRT2 4-203
$DUMP - Format and Display Saved Environment 4-206
Loading $DUMP 4-206
$EDIT1 and EDIT1N - Line Editors 4-213
Data Set Requirements 4-213
Loading $EDIT1 or $EDIT1N 4-213
Sequence of Operations 4-214
Special Control Keys 4-216
Editor Commands 4-216
Edit Mode Subcommands 4-222
Line Editing Commands 4-235
$EDXASM - Event Driven Language Compiler 4-236
Required Data Sets 4-236
Loading $EDXASM 4-237
Data Sets Used in Examples 4-238
Output of the Compiler 4-240
Obtaining Extra Compilation Listings 4-241
Loading $EDXLIST with $JOBUTIL 4-242
$EDXLINK - Linkage Editor 4-243
Required Data Sets 4-243
$EDXLINK Control Statements 4-244
Specifying Dynamic Storage 4-253
Loading $EDXLINK 4-254
Operator Termination of $EDXLINK 4-258
$EDXLINK Output 4-259
AUTOCALL Option 4-261
Using $EDXLINK Control Statement Data Sets 4-262
$FONT - Process Character Image Tables 4-263
$FSEDIT - Full Screen Editor 4-279
Loading $FSEDIT 4-279
Work Data Set 4-282
Scrolling 4-282
Program Function Keys
4-283
3101 Display Terminal Switch Settings 4-284
Directory Data Set List Commands 4-284
Primary Options and Commands 4-289
Primary Commands 4-295
Edit Line Commands 4-305
$GPIBUTI Utility 4-313
Contents

vii

Loading $GPIBUTI
4-313
$GPIBUTI Commands 4-313
$GPIBUTI Example 4-321
$HCFUTI - Interact with Host Communications Facility 4-326
Loading $HCFUTI
4-326
$HCFUTI Commands 4-326
Return Codes 4-329
$HXUTI - H-Exchange Utility 4-330
Loading $HXUTI
4-330
$HXUTI Commands 4-331
Using the H-exchange utility 4-332
$IMAGE - Define Formatted Screen Image 4-343
Considerations for Using $IMAGE 4-343
Considerations when Creating Colored Screens 4-344
Additional Considerations 4-344
Formatting Screens with $IMAGE 4-344
Loading $IMAGE 4-350
$IMAGE Commands 4-350
Entering Edit Verification Mode
4-363
Considerations for Entering Edit Verification Mode 4-364
$INITDSK - Initialize Direct Access Device, Volume Control 4-367
Loading $INITDSK 4-367
$INITDSK Commands 4-368
$INSTAL - Program Product Installation Utility 4-386
Loading $INSTAL Using the $L Command 4-386
Loading $INSTAL Using the LOAD Statement 4-386
$INSTAL Commands 4-388
LISTP - Direct Listing to a Printer 4-396
LISTT - Direct Listing to Terminal 4-397
$IOTEST - Test Sensor I/O; List Configuration 4-398
Loading $IOTEST 4-398
$IOTEST Commands 4-398
$JOBQUT - Controlling Job Queue Processing 4-405
Loading $JOBQUT 4-405
$JOBQUT Commands 4-406
$JOBUTIL - Job Stream Processor 4-412
Loading $JOBUTIL 4-412
$JOBUTIL Commands 4-413
$LCCTRCE - Trace I/O Activity on an LCC Attachment 4-427
Loading $LCCTRCE 4-427
Controlling $LC~TRCE Execution 4-427
$LCCUTI - Format LCC Trace Files 4-430
Loading $LCCUTI
4-430
$LCCUTI Commands 4-430
$LINTRC - Communication Line Trace Capture Utility 4-439
Loading $LINTRC 4-439
$LINTRC Prompts 4-440
Loading $LINTRC with an EDL Program 4-442
Loading $LINTRC Using $JOBUTIL 4-442
Controlling $LINTRC Execution 4-443
$LINUTI - Communication Line Trace Display Utility 4-449
4-450
Loading $LINUT I
$LINUT I Commands 4-452
Trace Record Templates 4-455
$LOG - Log Errors into Data Set 4-457
Loading $LOG 4-457

viii

SC34-0940

o

o

o

o

o

$LOG Commands 4-459
$MEMDISK - Allocate Unmapped Storage as a Disk 4-461
Loading $MEMDISK 4-461
$MEMDISK Commands 4-467
$MOVEVOL - Disk Volume Dump/Restore 4-472
Loading $MOVEVOL 4-472
Dump Procedure 4-473
Restoration Procedure 4-476
$MSGUTI - Message Utility 4-478
4-478
Loading $MSGUTI
$MSGUTI Commands 4-478
$PCUTIL - Copy to and from EDX and Personal Computer Diskettes 4-483
Loading $PCUTIL 4-483
$PCUTIL Commands 4-484
$PFMAP - Identify 3101(Block Mode)/4978/4979/4980 Program Function
Keys
4-488
Loading $PFMAP 4-488
$PREFIND - Prefinding Data Sets and EDL Overlays 4-489
Program Load Process Overview 4-489
Loading $PREFIND 4-489
$PREFIND Commands 4-490
$PRT2780 and $PRT3780 4-494
Loading $PRT2780 and $PRT3780 4-494
Sample $RJE Session 4-495
$RJE2780 and $RJE3780 4-497
Interface to Host RJE Subsystems 4-497
Loading $RJE2780 or $RJE3780 4-498
Attention Commands 4-499
$SDLCST - Display Shared SDLC Device Statistics 4-502
Loading $SDLCST 4-502
$SPLUTI - Spool Utility 4-507
4-507
Loading $SPLUTI
$SPLUTI Commands 4-509
$STGUTI - Free Up Nonprogram Areas of Storage 4-517
4-517
Loading $STGUTI
$STGUTI Commands 4-517
$SUBMIT - Submit/Control Jobs in Job Queue Processor 4-525
Loading $SUBMIT 4-525
$SUBMIT Commands 4-526
$SIASM - Series/l Assembler 4-531
Required Data Sets 4-531
Loading $SIASM
4-531
Assembler Options 4-532
Data Sets Used in Examples 4-533
Assembling a Program Using the $L Operator Command 4-533
Assembling a Program Using the Session Manager 4-537
Assembling a Program Using $JOBUTIL 4-538
$SlASM Output 4-538
$SlPPRG - Analyze Program Performance
4-539
Loading $SIPPRG 4-539
$SlPPRG Commands 4-540
Controlling $SIPPRG Execution 4-543
$SlPSYS - Analyze System Performance
4-544
$SlPSYS Requirements
4-544
Loading $SIPSYS
4-544
$SIPSYS Commands 4-545
Contents

ix

$SIPSYSR - Generate a System Performance Report 4-548
$SIPSYSR Commands 4-549
$SISIUTI - Series/l-to-Series/l
4-560
Loading $SISI UTI
4-560
$SISI UTI Commands 4-560
$TAPEUTI - Tape Management 4-565
4-565
Loading $TAPEUTI
$TAPEUTI Commands 4-566
$TERMUTI - Change Terminal Parameters 4-590
Loading $TERMUTI
4-590
$TERMUTI Commands 4-590
$TERMUT2 - Change Image/Control Store 4-601
4974 Support 4-601
4978 and 4980 Support 4-602
Loading $TERMUT2 4-603
$TERMUT2 Commands 4-603
$TERMUT3 - Send Message to a Terminal 4-617
Loading $TERMUT3
4-617
$TRACEIO - ACCA/EXIO Trace ·Facility 4-620
Loading $TRACEIO 4-620
.
$TRACEIO Commands
4-620
$TRANS - Transmit Data Sets Across a Bisync Line 4-625
Loading $TRANS 4-625
$TRANS Commands 4-626
$TRAP - .Save Storage on Error Condition 4-631
Loading $TRAP in a Program 4-633
Loading $TRAP using $JOBUtIL 4-633
Selecting The Conditions for the Dump 4-635
Encountering Errors 4-637
$UPDATE - Converting Series/1 Programs 4-645
Required Data Sets 4-645
Loading $UPDATE 4-645
Updating a Program Using the $L Operator Command 4-645
$UPDATE Commands 4-646
Updating a Program Using the Session Manager 4-649
Updating a Program Using $JOBUTIL 4-650
$UPDATE Output 4-651
Considerations When Creating a Supervisor 4-651
$UPDATEH - Converting Host System Programs 4-652
Loading $UPDATEH 4-652
Updating a Hosting Program Using the $L Operator Command 4-652
$UPDATEH Commands 4-653
Updating a Host Program Using $JOBUTIL or Session Manager 4-655
Index

o

X-I

o
X

SC34-0940

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.

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:

o

• "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.

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 1-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.
Illustrations in this book are enclosed in boxes. Many illustrations display output
fohnats 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.

o
About This Book

xi

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, for a glossary of terms and abbreviations, and for an index to the
entire library.

o

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 IBM Series/! Event Driven Executive, refer to the
IBM Series/1 Software Service Guide, GC34-0099.

C)

o
xii

SC34-0940

o

Chapter 1. Introduction
Operating your IBM Series/I Event Driven Executive (EDX) system involves many
different tasks:
• 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.

o

Chapter 2, "Operator Commands" contains a description and the syntax of each
operator command, along with examples of its usage.

Session Manager
The session manager is a collection of predefined screens called "menus" that you
can use to access system utilities and application progr~ms from a display station.
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/I.
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.

o
Chapter 1. Introduction

1-1

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.

o

This column lists specific jobs you may want to perform.

JOB

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, Language Programming Guide, Communications Guide, .Problem
Determination Guide, or Installation and System Generation Guide, the
page prefix of the guide is listed.
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

$DISKUTI
$TAPEUTI

3.1
3.10

OP, IS

Allocate a data set with extents

$DISKUTI

3.1

-

Allocate an H-exchange data set

$HXUTI

3.11

OP

$DICOMP

5.2

-

Allocate a volume

$INITDSK

3.7

OP, IS

Allocate a volume under a fixed head

$INITDSK

3.7

OP, IS

Analyze GPIB errors

$GPIBUTI

4.9

CO,PD

Analyze hardware errors

$DUMP

9.1

PD

Analyze program checks

$DUMP

9.1

PD

Analyze program performance

$SIPPRG

-

-

Analyze system performance

$SIPSYS

-

-

Job

Allocate a member in a graphics data

Figure

1-2

bas~

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

SC34-0940

Guide
Information

o

o

o

o

Job

Operator
Commandl
Utility

Session
Manager
Option

Guide
Information

Analyze tape surface for defects

$TAPEUT1

3.10

-

Browse a source data set

$FSEDIT

1

-

Cancel a program

$C

-

OP

Change hardcopy device

$TERMUT1

4.1

OP

Change print screen PF key

$TERMUT1

4.1

OP

Change spool job attributes

$SPLUT1

4.7

OP

Change a tape label

$TAPEUT1

3.10

OP

Change a· terminal address

$TERMUT1

4.1

OP

Close job created by $DEBUG

$DEBUG

-

-

Compile· an EDL ·program

$EDXASM

2.1

PG,OP

Compile and link edit an EDL program

$EDXASM
$EDXLINK

2.2

PG,OP

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

$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

$EDXLINK
$UPDATE

2.7
2.9

PG

Copy a data set from a PC diskette to an EDX disk(ette) or
from an EDX .disk(ette) to a PC diskette

$PCUTIL

-

OP

Copy all data sets

$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

$FSEDIT
$TERMUT2

1
4.2

OP

Create your own terminal keyboard characters

$FONT

4.5

-

Figure

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

Chapter 1. Introduction

1-3

Job

Operator
Commandl
Utility

Session
Manager
Option

Guide
Information

Date and time, display

$W

-

OP

Date and time, set

$T

-

OP

Delete job queue

$JOBQUT

10.1

OP

Delete a data set

$DISKUTI

3.1

OP

Delete all data sets with the same prefix

$DISKUTI

3.1

OP

Delete a volume

$INITDSK

3.7

OP

Determine address of a data set

$DISKUTI

3.1

-

Determine how many records a data set contains

$DISKUTI

3.1

OP

Determine terminal name, address, type and partition
assignment

$TERMUTI

4.1

OP

Determine how much free space is on a volume

$DISKUTI

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

Display statistics gathered for a specific SDLC device

$SDLCST

-

-

Display statistics on the dynamic data set extent table

$STGUT1

-

-

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
$BSCUTI

8.1
8.2

CO,.PD

Format and print EXIO line trace data .sets

$LINUTI

-

CO

Format and print LCC trace data sets

$LCCUTI

8.12

CO

Format and print error log information

$DISKUT2

3.2,9.2

OP,PD

Generate a CPU utilization report

$CPUPRT

-

-

Figure

1-4

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

SC34-0940

o

o

o

Job

Operator
Command!
Utility

Session
Manager
Option

Guide
Information

Generate a disk activity log

$DSKPRT1

-

-

Generate a disk activity analysis report and. graph

$DSKPRT2

-

-

Generate a supervisor

$XPSLINK

2.8, 2.13

IS

Hold a job in the job queue processor

$JOBQUT

10.1

OP

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

$PFMAP

4.6

-

Increase the size of a data set

$COPY
$COPYUT1

3.5
3.3

-

$DASDI
$MEMDISK

3.6

IS,OP

-

Initialize unmapped storage as a disk

$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

lni tialize a tape

$TAPEUT1

3.10

OP

Install and maintain program products

$INSTAL

3.12

IS

IPL a remote Series/1

$SlSlUT1

4.8

CO

Job queue processing controller

$JOBQUT

10.1

OP

Job queue job submission utility

$SUBMIT

10.2

OP

Link edit programs

$EDXLINK

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 directory information

$INITDSK

3.7

OP

List all volumes on all disk/diskette devices

$DISKUT1
$INITDSK

3.1

OP

List all volumes on a particular device

$INITDSK

3.7

OP

List I/O configuration of a Series/1

$IOTEST

9.3

3.1

List information about one data set

$DISKUT1

3.1

OP

List messages in source message data set

$MSGUTI

2.14

OP

Load and execute a program

$L

-

OP

Load 4980 terminal

$TERMUT2

4.2

OP

Initialize a disk

o

o

Figure

OP

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

Chapter 1. Introduction

1-5

Job

Operator
Commandl
Utility

Session
Manager
Option

Guide
Information

Loading control image

$TERMUT2

4.2

OP

Loading control store

$TERMUT2

4.2

OP

Locate required data sets/overlays before program execution

$PREFIND

2.11

-

Message-source processing

$MSGUT1

2.14

OP

Modify a source data set

$FSEDIT

1

OP,PG

Monitor disk I/O activity

$DSKMON

-

-

Monitor system's CPU utilization

$CPUMON

-

-

Partition assigned to terminal, change

$CP

-

OP

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

$MIGRATE
$MIGAID
$MIGCOPY

-

IS

Print an error log data set

ERAP

-

OP

Print a formatted $TRAP dump

$DUMP

9.1

OP,PD

Print a stand-alone dump

$DUMP

9.1

OP,PD

Print a program performance report

$SlPPRGR

-

-

Print a system performance report

$SlPPRGR

-

-

Print $SYSLOG messages stored in a disk data set

$DISKUT2

3.2,9.2

Programs, display all active

$AALL

-

OP

Programs, display all active in terminal's partition

$A

-

OP

Recognizing intermittent program errors

$TRAP

-

OP,PD

Recording hardware errors

$LOG

-

PD

Recover a backed-up data set

$MOVEVOL

3.8

OP

Redefine terminal scrolling

$TERMUT1

4.1

-

Rename a disk/diskette volume

$INITDSK

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

$EDIT1N

-

-

Running batch job streams

$JOBUTIL
$SUBMIT

7
10.2

OP

Running multiple jobs

$JOBUTIL
$SUBMIT

7
10.2

OP

Search for EBCDIC or hexadecimal string

$DISKUT2

3.2,9.2

-

Send a data set to a host

$HCFUT1

8.8

CO

Figure

1-6

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

SC34-0940

.

-

o

o

o

o

o

o

Job

Operator
Commandl
Utility

Session
Manager
Option

Guide
Information

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, browse a spool job

$S BROW

-

OP

Spooling, change forms type

$S ALT

-

OP

Spooling, change heading id

$SALT

-

OP

Spooling, change number of copies

$SALT

-

OP

Spooling, change printer

$S ALT

-

OP

Spooling, delete a job

$SDEL

-

OP

Spooling, delete a set of jobs

$SDG

-

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

-

-

Storage, display contents

$D

-

OP

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

$EDIT1N

-

-

Suspend job queue processing

$JOBQUT

10.1

OP

Test the binary synchronous access method (BSCAM)

$BSCUT2

8.3

CO,PD

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

-

Figure

1-1 (Part 6 of7). Job Cross-reference Chart

Chapter 1. Introduction

1-7

Job

Operator
Commandl
Utility

Session
Manager
Option

Guide
Information

Trace I/O activities on a BSC line

$BSCTRCE

8.1

CO

Trace I/O activities on an EXIO line

$LINTRC

-

CO

Trace I/O activities on an LCe line

$LCCTRCE

8.11

CO

Transport data sets across a bisync line

$TRANS

-

OP

Trap storage image on error condition

$TRAP

-

PD

Trap to two diskettes

$TRAP

-

PD,OP

Using your own operator command

$U

-

OP, eu

Verify BSC hardware and software assignments

$BSCUT2

8.3

CO,PD

Verify Series/l-Series/l attachment performing correctly

$SISIUTI

4.8

CO, PD

Write a tape label

$TAPEUTI

3.10

OP

Figure

o

i

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

()

o
1-8

SC34-0940

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 15 operator commands and their functions are:

0

Command

Function

$A

Displays partition sizes and addresses, free space, data areas, and the
names, and locations 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

$8

Controls the spooling of program output

$T

Enters the date and time

$U

Loads a user-written routine

$VARYOFF

Sets a device offline

$VARYON

Sets a device online

$W

Displays the date and time

ERAP

Prints the error log data set on the system printer.

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 with the $L operator command.

o
Chapter 2. Operator Commands

2-1

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
LOADING MYPROG
4P.G8:3G:45, tP=GGGG, 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~M_Y_PR_O_G_'M_Y_VO_L_'2_5_6__________~~~________________~____~~~j

Operator Command Descriptions

o

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.

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.

o
2-2

SC34-0940

o

$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 supplies you with the starting address
of each partition, the names and addresses of active programs in each partition, the
terminal from which each program was loaded, the locations of data areas and free
space in each partition, and whether a specific partition is static or dynamic. In
addition, the $A command shows the size of the program, data area, or free space in
a decimal number of 256-byte pages.
You can use $A to list all partitions or only the one to which your terminal is
assigned.
Syntax:

o

$A

ALL Iblank

Required:
Default:

none
starting address, size, active programs, free space
and data areas of partition currently assigned to

Operands

Description

ALL

Displays the starting addresses, sizes, active· programs, free space and
data areas for all partitions.

blank

If you do not enter ALL, EDX displays the starting addresses of the
programs active in the partition where your terminal is running, along
with the free space and data areas in that partition.

$8 - Blank Display Screen
Use the $B operator command to erase all information on your display terminal
screen.
Syntax:

$B

Required:
Default:

none
none

Operands

Description

None

None

o
Chapter 2. Operator Commands

2-3

$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.

0

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.

C~)
~

Syntax:

$CP

n

Required:
Default:

n
none

Operands

Description

n

The partition to which the terminal is to be assigned.

o
2-4

SC34-0940

0"
.\

$D - Dump Storage
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

origin,address,count

Required:
Default:

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).

$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

n printername

Required:
Default:

none
ejects one page, $SYSPRTR

Operands

Description

n

The number of pages to eject.

printername
The name of the printer you wish to eject pages on.

o
Chapter 2. Operator Commands

2-5

$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 you specify an asterisk
(*), the loaded program receives 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,vo/ume name, ...
If data set names are required and you do not enter them as part ora
single-line command, EDX prompts you for them.

o
2-6

SC34-0940

o

$P - Patch Storage
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) or the executing program is reloaded, the patched
data reverts to its original value.
Syntax:

$P

origin, address, count

Required:
Default:

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 starts.

count

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

$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 subcommands is described on the following pages under:
•
•
•
•
•
•
•
•
•
•
•
•
•
•

"$S - List Subcommands" on page 2-8
"$S ALT - Alter Spool Job Printing" on page 2-8
"$S BROW - Browse a Spool Job" on page 2-10
"$S DALL - Delete All Spool Jobs" on page 2-15
"$S DE - Delete a Spool Job" on page 2-16
"$S DG - Delete Generic Spool Jobs" on page 2-16
~'$S DISP - Display Spool Status Information" on page 2-17
"$S HOLD - Hold Spool Job(s)" on page 2-17
"$S KEEP - Keep or Release a Spool Job" on page 2-18
"$S REL - Release Spool Job(s)" on page 2-18
"$S STOP - Stop Spooling Facility" on page 2-19
"$S WRES - Restart a Spool Writer" on page 2-19
"$S WSTP - Stop a Spool Writer" on page 2-21
"$S WSTR - Start a Spool Writer" on page 2-21.

o
Chapter 2. Operator Commands

2-7

$S - List Subcommands
Use the $S command to obtain a list of the $S subcommands.
Syntax:

()

$8
Required:
Default:

none
none

$S AL T - 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
Cha1:1ge 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
Change the lines per inch setting of a job.

Syntax:

$8 ALT
$8 AL T
Required:

Default:

id
[COPY nlFORM codelNAME headinglWRIT namelALIGN Y/NILPI nJ
or
WRIT cwriter nwriter

()

id and either COPY FORM NAME WRIT ALIGN or LPI
or
WRIT cwriter nwriter
none

o
2-8

SC34-0940

o

o

Operands Description
id

The 1- 3 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 (mustbe from 1 to 127).

FORM

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

NAME

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

WRIT

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.

ALIGN

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.

LPI

n - The lines per inch setting the system uses when printing a job.
Specify 6 or 8 (n=6 or n=8).

Notes:

1. You cannot change the lines per inch setting of a job while it is printing. The
lines per inch setting remains in effect until the job finishes.
2. If you use the LPI operand to set the lines per inch, this overrides the setting
you code in your program (TERMCTRL SET, LPI=).

o
Chapter 2. Operator Commands

2-9

$S BROW - Browse a Spool Job
Use $S BROW to browse a spool job. With the $S BROW command you can:
• Browse the work data set (containing the spool job) using a full screen.
• Scroll the work data set (containing the spool job) forward, backward, left or
right.
• Use PF (program function) keys for frequently-used functions.

o

Notes:

1. Before you can use the $S BROW operator command, you must create a work
data set.
2. You cannot use the $S BROW operator command to browse a job spooled to a
4201, 4202, or 4224 printer.

Creating the Work Data Set
You must allocate a work data set for your spool job before you can use the $S
BROW command. For a procedure on how to allocate a data set, refer to the
Operation Guide.

You must estimate the size of the work data set. To do this, issue the $S DISP
command to determine the number of lines in the spool job. In the following
example the job contains 650 lines. To estimate the size of the work data set, divide
the number of lines in the spool job by 32. In this example, divide 650 by 32. The
result is 20.31. If there is a remainder, round this number up to the next highest
number. In this case round up to 21. Then add 1 to this number. The size of the
work data set for this spool J' ob is approximately 22 records. If the work data set
you allocate does not contain enough records, the system issues a message telling
you the number of records required.

Cj
J

Example: Determining the Spool Job Size

$SOISP 1
JOB-.. -NAME-..;~rERMINAL;;.~WRrrER":~FORM;;.ACT-RDY -HLO- •••••• LINE. •••••••••
1 $OISKUTI $SYSLOG$SYSPRTR
R
650

You cannot browse a spool job under the following conditions:
• When someone is browsing the same job at another terminal
• When someone is printing the same job
• . When the spool job is in an active status.
When you are browsing a spool job, you cannot do the following:
•
•
•
•

2-10

SC34-0940

Print the job
Delete the job
Release the job
Browse the job at another terminal.

o

Syntax:

o

$S BROW

workds,volume jobid

Required:
Default:

ALL
None

Operands

Description

WORKDS The name of the work data set that holds the spool job. You must create
the work data set before you can browse the spool job.
VOLUME The name of the volume containing the work data set.
JOBID

The internal 1- 3 character identification assigned to a spool job by the
spool facility. Obtain the identification by using the $S DISP command.
In the "Example: Determining the Spool Job Size" on page 2-10, the
JOBID is indicated by a 1· under JOB.

Scrolling

o

The spool job output that is in your work data set usually exceeds the size of the
display screen. Scrolling allows you to page up or down or to the left or right
through the information. Four PF keys are used for this purpose, one for each
direction. To change the default scroll amount, move the cursor to the command
input line, enter the number of lines or columns, and press one of the four scroll PF
keys. "Browse Functions" on page 2-12 describes the functions of each PF key.

Default Scroll Amounts
The scroll amounts are:
PAGE or P

Specifies scrolling one page (21 lines).

HALF or H Specifies scrolling a half page (11 lines).
MAX or M

Specifies scrolling to the top or the bottom of the data set.

n

Specifies the number of lines you want to scroll.

When you scroll to the left or right and do not specify the number of lines, the
system scrolls 80 columns. If you change the scroll amount at the command input
line and press the PF key, this amount becomes the new default.
To specify PAGE or HALF do one of the following:
• Type in PAGE or HALF at the scroll input field.
• Type in P or H in the first column of the scroll input field.
To scroll to the bottom or top of the data set, do one of the following:
• Type in M or MAX at the command input line.
• Type in M in the first column of the scroll input field or type MAX in the first
three columns of the scroll input field.

o
Chapter 2. Operator Commands

2-11

Browse Functions
The $S BROW command has the following functions:
FIND

Find a specific character string. To find a specific character string, type
in either F or FIND with the string of characters on the command input
line. You can type the string of characters in either upper or lowercase.
The system finds strings in uppercase only. To repeat a find, press the
PF4 key. Use single quotes around a string of more than one word. An
example of this is F '$SPLWSR DATA'. To find the first occurrence of
a string, type in the word FIRST after the string to be found. An
example of this is IND PGM FIRST.

o

Note: When you try to find a string and the cursor comes back to the
command input line, one of two things has occurred. Either the
system cannot find the string, or you are at the bottom of the data
set and need to repeat the find.
PSXXXXXXXX
Print the screen on the printer you specify (XXXXXXXX). $SYSPRTR
is the default.
END

End the BROW subcommand.

PF2

Scroll up. You can specify a half page, a full page, or maximum by
typing HALF, FULL, or MAX in the scroll amount field.

PF3

Scroll down. You can specify a half page, a full page, or maximum by
typing HALF, FULL, or MAX in the scroll amount field.

PF4

Repeat a find. To repeat a find you specified previously, press PF4.

PF5

Scroll to the left. To specify the number of columns you want to scroll,
type the number in the command input line and press PF5. To scroll the
maximum number of lines, type in MAX on the command input line and
press PF5.

PF6

Scroll to the right. To specify the number of columns you want to scroll,
type the number in the command input line and press PF6. To scroll the.
maximum number of lines, type in MAX on the command input line and
press PF6.

a

o
2~ 12

SC34-0940

o

The following examples show you some of the ways to browse a spool job.
Example 1: Scrolling Down 13 Lines. To scroll down 13 lines, type 13 on the

command input line and press PF3.

BROWSE - $DISKUT1---------------------------------------------- COLUMNS 001 080
COMMAND INPUT ===> 13
SCROLL ==> PAGE
***** ***** TOP OF DATA *******************************************************
TIME: 00:00:12
DATE:MM/DD/YY
USING VOLUME EDX002
NAME
TYPE
FIRST RECORD SIZE
EOD/PGMSZ
NAME
TYPE
$SPLWSR PGM
27
5
SPLDSP DATA
5
$SPLNT1 PGM
82
7
$SPLNT2 PGM
6
EXPRIN13 PGM
324
17
$SPLREL DATA
15
$SPLSTP PGM
109
3
NA
$SPLOV6 PGM
$SPLUT1 PGM
129
20
$SPLUTA PGM
17
$SPLUTB PGM
159
12
$SPLWTR PGM
9
$SPLPRT PGM
464
12
$SPOOL PGM
12
$SPJ
PGM
231
23
$SPLOV5 PGM
23
$SPLCMD PGM
341
17
17
$SPLDEL DATA
$SPLOV4 PGM
476
9
7
$SPLHLD DATA
SPLOV2
PGM
382
15
15
SPLOV5 DATA
$SPLKEP PGM
410
3
SPLOV4 DATA
3
$SPLOV2 PGM
96
9
$SPLALT DATA
7
$SPLOPN DATA
$SPLMGR PGM
425
18
18
PF2=UP PF3=DOWN PF4=REPEAT FIND PF5=LEFT PF6=RIGHT

The results are as follows. Note that the number 13 appears on the scroll input line.
This is now the default until you change it.

BROWSE - $DISKUT1---------------------------------------------COMMAND INPUT ===>
$SPLPRT PGM
464
12
12
$SPOOL
$SPJ
PGM
231
23
23
$SPLOV5
$SPLCMD PGM
341
17
17
$SPLDEL
$SPLOV4 PGM
476
9
7
$SPLHLD
SPLOV2
PGM
382
15
15
SPLOV5
$SPLKEP PGM
410
3
3
SPLOV4
$SPLOV2 PGM
96
9
7
$SPLALT
$SPLMGR PGM
425
18
18
$SPLOPN
$SPlCLS DATA
451
6
6
$SP~CAN
$SPlDSP PGM
195
9
7
SPLDS
MTMUTIL PGM
616
20
16
$TEST
TEST
DATA
33
45
NA
LoADER
MTMOBJ
DATA
592
24
24
$SPLBRS
SPLBRS
DATA
485
94
94
1574 FREE RECORDS IN LIBRARY

COLUMNS 001 080
SCROLL ==> 13
PGM
PGM
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
PGM
PGM
PGM

***** ***** BOTTOM OF DATA ****************************************************

PF2=UP PF3=DOWN PF4=REPEAT FIND PF5=LEFT PF6=RIGHT

o
Chapter 2. Operator Commands

2-13

Example 2: Scrolling 11 Columns to the Right.

BROWSE - $DISKUTl-----.;.-----.;.----.. ----------~-- .. ----.;.--.:-~.:-- ... - COLUMNS 001 0S0
COMMAND INPUT·===> 11
SCROLL ==> PAGE
***** ***** TOP OF DATA *******************************************************
DATE: MM/DD/YY
TIME: 00:00:12
USING VOLUME EDX002
EOD/PGMSZ
NAME
TYPE
NAME
TYPE
FIRST RECORD SIZE
5
SPLDSP DATA
$SPLWSR PGM
27
5
$SPLNT2 PGM
6
$SPLNTl P.GM
S2
7
$SPLREL DATA
15
EXPRIN13 PGM
324
17
$SPLOV6 PGM
$SPLSTP PGM
109
3
NA
17
$SPLUTA PGM
$SPLUTl PGM
129
20
$SPLWTR PGM
$SPLUTB PGM
159
12
9
12
$SPOOL PGM
$SPLPRT PGM
464
12
$SPLOVS PGM
$SPJ
PGM
231
23
23
17
$SPLDEL DATA
$SPLCMD PGM
341
17
7
$SPLHLD DATA
$SPLOV4 PGM
476
9
SPLOV5 DATA
SPLOV2
PGM
382
15
15
SPLOV4 DATA
$SPLKEP PGM
410
3
3
$SPLALT DATA
7
$SPLOV2 PGM
96
9
$SPLOPN DATA
$SPLMGR PGM
425
18
18
***** ***** BOTTOM OF DATA ****************************************************

o

PF2=UP PF3=DOWN PF4=REPEAT FIND PF5=LEFT PF6=RIGHT

The results are as follows. The columns line indicates that you are viewing column
12 through 91. If you press PF6 again, the system scrolls over another 11 columns.
This is now the default until you change it.

o

BROWSE - $DISKUT1----------------------------------------------- COLUMNS 012 091
COMMAND INPUT ===>
SCROLL ==> 11
***** ***** TOP OF DATA *******************************************************
0:12
DATE: MM/DD/YY
E EDX002
NAME
TYPE
FIRST RECOR
EOD/PGMSZ
TYPE
FIRST RECORD SIZE
SPLDSP DATA
362
PGM
27
5
S
$SPLNT2 PGM
89
PGM
82
7
6
406
15
$SPLREL DATA
PGM
324
17
NA
$SPLOV6 PGM
121
PGM
109
3
149
PGM
129
20
17
$SPLUTA PGM
$SPLWTR PGM
171
PGM
IS9
12
9
$SPOOL PGM
204
PGM
464
12
12
$SPLOVS PGM
112
PGM
231
23
23
17
3S8
PGM
341
17
$SPLDEl DATA
$SPLHLD DATA
379
PGM
476
9
7
15
SPLOVS DATA
397
PGM
382
15
SPLOV4 DATA
10S
PGM
410
3
3
$SPLALT DATA
413
PGM
96
9
7
$SPLOPN DATA
443
PGM
425
18
18
***** ***** BOTTOM OF DATA *****************.***********************************
PF2=UP PF3=DOWN PF4=REPEAT FIND PF5=LEFT PF6=RIGHT

o
2-14

SC34-0940

Example 3: Printing a Spool Job Using the PS Command.: To print a spool job,

o

type in PS and the name of the printer you are using on the command input line.
To print a spool job on the system printer ($SYSPRTR), type in PS on the
command input line and press enter. You do not have to specify $SY8PRTR since
it is the default.
In this example, the system prints the spool job on MYPRINTR. (If you do not
specify a printer, the spool job is sent to $SYSPRTR.)
Notes:

1. Each time you use the PS command and specify a printer name, the printer you
specify becomes the system default for that session.
2. If the printer name you specify is a spool device, the system creates a spool job
called $SPLBRS.

o

BROWSE - $DISKUT1---------------------------------------------- COLUMNS eel eae
COMMAND INPUT ===> PS MYPRINTR
SCROLL ==> 11
***** ***** TOP OF DATA *******************************************************
DATE: MMjDD/YY
TIME: ee:ee:12
USING VOLUME.EDxee2
TYPE
NAME
NAME
TYPE
FIRST RECORD SIZE, EOO/PGMSZ
$SPLWSR PGM
27
5
SPLDSP DATA
5
$SPLNT2 PGM
$SPLNT1 PGM
82
7
6
EXPRIN13 . PGM
324
17
$SPLREL DATA
15
$SPLSTP PGM
1e9
3
$SPLOV6 PGM
NA
$SPLUTl PGM
129
2e
$SPLUTA PGM
17.
$SPLWTR PGM
$SPLUTB PGM
159.12
9
12
$SPOOL PGM
$SPLPRT PGM
464
12
lC:)766 FREE RECORDS ·INLIBRARY
***** ***** BOTTOM OF DATA ****************************************************
PF2=UP PF3=DOWNPF4=REPEAT FINDPF5=LEFT PF6=RIGHT

$S DALL - Delete All Spool Jobs
Use $8 DALL to delete all ready or printing spool jobs.
Syntax:

$S DALL
Required:
Default:

o

None
None

Operands

Description

None

None

Chapter 2. Operator Commands

2-15

$S DE - Delete a Spool Job
Use $S DE to delete one spooljob that is either ready or printing.
Syntax:

$8 DE

id

Required:
Default:

id

o

None

Operands

Description

id

The 1- 3 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.
Syntax:

$8 DG

string

Required:
Default:

string
None

Operands

Description

string

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

o

o
2-16

SC34-0940

o

$S DISP - Display Spool Status Information
Use $S DISP to display information about spool jobs, spool resources, and spool
writers.
Syntax:

$S DISP

idlALLISTAT

Required:
Default:

ALL

None

Operands

Description

id

The internal 1- 3 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.

o

Syntax:

$S HOLD

idlALL

Required:
Default:

ALL

None

Operands

Description

id

The 1- 3 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

2-17

$S KEEP - Keep or Release a Spool Job
Use $S KEEP tokeep a specific spool job from being deleted or to delete ajob that
has been kept. When a kept job is released, $SPOOL prints one additional copy
before deleting the job.

rf.)'I'

" "

Syntax:

$S KEEP

id YIN
. id and either Y or N
None

Required:
Default:

Operands

Description

id

The 1- 3 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.
Therefore, 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:

$S REL

idlALL

Required:
Default:

None
ALL

Operands

Description

id

The 1- 3 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.

o
2-18

SC34-0940

o

$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:
Default:

None
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:

$S WRES

name

Required:

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

Default:

[IMMIJOBIB nnn L/PIF nnn LIP) code

o
Chapter 2. Operator Commands

2-19

Operands

Description

name

The name of the writer 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.

()

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.

o

o
2-20

SC34-0940

$S WSTP - Stop a Spool Writer

o

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 must be started again with the $S WSTR
command.
Syntax:

o

$8 W8TP

name

[IMMIJOB) (TERMINOTERM)

Required:
Default:

name
IMM NO TERM

Operands

Description

name

The name of the writer to be 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 must be started with the $S
WSTR command.

NOTERM
Stop temporarily. The writer can be restarted with 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:

$8 W8TR

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.

o
Chapter 2. Operator Commands

2-21

$T - Set Date and Time
Use the $T operator command to set the date and time in the EDX operating
system.

o

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. The $Tcommand must be entered in prompt-reply format.
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 MMjDDjYY, MM.DD. YY. or
MM DD YY.

time

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

$U - Load Your Own Operator Command
Use the $U operator command to enter an operator command function that is
unique to your system. Refer to the Customization Guide for information on how to
write a program for the $U operator command.

r~

V

If $U is entered and your system does not have a program to support it, EDX
displays the message "FUNCTION NOT DEFINED."

o
2-22

SC34-0940

o

$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:

0

$V ARYOFF

ioda slot

Required:
Default:

ioda
none

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:
0 All diskettes (1,2,3,A,B)
1 Slot 1
2 Slot 2
3 Slot 3
A Magazine 1
B Magazine 2.

o
Chapter 2. Operator Commands

2-23

$VARVON - Set Device Online
Use the $VARYON operator command to set a diskette or tape drive online. When
using a 4966 diskette unit or a tape unit, you must use the $VARYON command to
vary the unit online. Then the system knows the unit is there.
Note: To vary the 4966 online, code the slot parameter.
You do not have to enter $VARYON when you put a new diskette into a 4964 or
4965 diskette unit. The system automatically varies the device online when you shut
the door of the diskette unit.
Note: When you are using a 4966 diskette unit or an IDSK diskette unit, you must
vary on the diskette after it is inserted in the drive. (For the 4966, insert the
diskette in slot 1.) To vary on the diskette, press the ATTN key and enter the
$VA RYON command.
Syntax:

$VARYON

ioda slotlfile 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

o

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

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 ~ust 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.

o
2-24

SC34-0940

o

$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:

Done
Done

Operands

Description

None

None

ERAP - Print Error Log Data Set on the System Printer
Use the ERAP operator command to print a default error log data set
(EDXLOGDS) on the system printer ($SYSPRTR). To use the ERAP operator
command, press the attention key, type ERAP, and press the enter key. After you
enter the ERAP command, the system directs a listing of the error log data set to
$SYSPRTR. The system prints the entire error log data set and issues the message
"ERAP ENDED."

o

If you do not want to print the entire log, use the $C command to cancel
$ERAPUTI. See "$C - Cancel Program" on page 2-4 for information on how to
use this command.
Notes:
1. If your system does not have a $SYSPRTR or the $SYSPRTR is busy, the

system lists the error log data set on the terminal where you entered the
command.
2. When you use the $C command to cancel a program, the program must be
assigned to the same partition as your terminal. The system automatically loads
$ERAPUTI into a partition where storage is available. Use the $A command to
find out where $ERAPUTI resides. If your terminal is not assigned to the same
partition as $ERAPUTl, use the $CP command to change your terminal's
partition. Then you can cancel $ERAPUTI.
3. The system automatically allocates an error log data set (EDXLOGDS), 200
records in size, on the IPL volume. For more information on error logging,
refer to the Problem Determination Guide.
4. $ERAPUTI and $LOGUTOO must be on the IPL volume (usually EDX002).

o
Chapter 2. Operator Commands

2-25

Syntax:

o

ERAP
Required:
Default:

none
none

Operands

Description·

None

None

()

o
2-26

SC34-0940

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.
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.

Loading 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 EOX system. When
the session manager is loaded during IPL, EOX 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:

l

o

>

$L $SMMAIN

To load the session manager automatically, you must rename the session manager
initialization program from $SMINIT to $INITIAL. This is done using the
$OISKUTI RE command as follows:

l~C_O_MM_A_ND__(_?)_:_R_E_$_S_MI_N_IT__$I_N_IT_I_A_L________________________________~J
When the session manager is loaded, it displays the logon menu shown in Figure 3-1
on page 3-2.

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:

o

•
•
•
•
•

Logon/logoff
Primary option
Secondary option
Parameter input
Custom.

Chapter 3. Session Manager

3-1

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).

o

Your user ID must be 1 - 4 unique characters, such as your initials. The session
manager uses your ID as part of the data set names of 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.
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 TO THE SESSION MANAGER
08:55:31

ENTER 1-4 CHAR USER 10
(ENTER· LOGOFF TO EXIT)

==>

ALTERNATE SESSION MENU
(OPTIONAL)

==>

Figure

3-1. 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-2 on page 3-3 for an example of the primary
option menu.)

o

The basic options are:
1. TEXT EDITING: Accesses the $FSEDIT text editor.
2. PROGRAM PREPARATION: 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.
S. COMMUNICATION UTILITIES: Accesses the utilities that support
communications.
9. DIAGNOSTIC AIDS: Accesses the utilities that help with problem
determina tion.

3-2

SC34-0940

o

o

10. BACKGROUND JOB CONTROL UTILITIES: Accesses the job queue
processing utilities.

$SMMPRIM: SESSION MANAGER PRIMARY OPTION MENU
ENTER/SELECT PARAMETERS:
PRESS PF3 TO EXIT
SELECT OPTION ==>
1 - TEXT EDITING
2 - PROGRAM PREPARATION
3 - DATA MANAGEMENT
4 - TERMINAL UTILITIES
5 - GRAPHICS UTILITIES
6 - EXEC PROGRAM/UTILITY
7 - EXEC $JOBUTIL PROC
8 - COMMUNICATION UTILITIES
9 - DIAGNOSTIC AIDS
10 - BACKGROUND JOB CONTROL UTILITIES
Figure

3-2. Session Manager Primary Option Menu

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 3-3 shows an example of the secondary option menu for primary
option 2 - Program Preparation.

o

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.

$SMM02: SESSION MANAGER PROGRAM PREPARATION MENU
ENTER/SELECT PARAMETERS:
PRESS PF3 TO RETURN
SELECT OPTION ==>
1 - $EDXASM COMPILER
2 - $EDXASM/$EDXLINK
3 - $S1ASM ASSEMBLER
4 - $COBOL COMPILER
5 - $FORT FORTRAN COMPILER
6 - $PLI COMPILER/$EDXLINK
7 - $EDXLINK LINKAGE EDITOR
8 - $XPSLINK LINKAGE EDITOR FOR SUPERVISORS
9 - $UPDATE
10 - $UPDATEH (HOST)
11 - $PREFIND
12 - $PASCAL COMPILER/$EDXLINK
13 - $EDXASM/$XPSLINK FOR SUPERVISORS
14 -$MSGUTI MESSAGE SOURCE PROCESSING UTILITY
Figure

3-3. Example Session Manager Secondary Option Menu

o
Chapter 3. Session Manager

3-3

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.

o

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.

$SMM0201: SESSION MANAGER $EDXASM PARAMETER INPUT MENU
ENTER/SELECT PARAMETERS:
PRESS PF3 TO RETURN
SOURCE INPUT

'NAME,VOLUME)

=;:>

MYSRC,MYVOL

OBJECT OUTPUT (NAME,VOLUME)

==>

MYOBJ,MYVOL

OPTIONAL PARAMETERS ==> LI TERM2
(SELECT FROM THE LIST BELOW)
FOREGROUND OR BACKGROUND (F/B)
(DEFAULT IS FOR6GROUND)
AVAILABLE PARAMETERS:
NOLlST
LIST TERMINAL--NAME
ERRORS TERMINAL-NAME
CONTROL DATA SET,VOLUME
OVERLAY #

==>

F

ABBREVIATION:
DESCRIPTION:
NO
USED TO SUPPRESS LISTING
LI TERMNL-NAME
USE LIST * FOR TERMNL
ER TERMNL-NAME
USE ERRORS * FOR TERMNL
CO DATASELVOL $EDXASM LANGUAGE CONTROL
OV #
NUMBER OF AREAS FROM 1 ~ 6

DEFAULT PARAMETERS:
LIST $SYSPRTR CONTROL $EDXL,ASMLIB OVERLAY 6
Figure

o

3-4. Example Session Manager Parameter Input Menu

o
3-4

SC34-0940

o

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 do not 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.

$SMM10: SESSION MANAGER BACKGROUND UTILITIES OPTION MENU
ENTER/SELECT PARAMETERS:
PRESS PF3 TO RETURN
SELECT OPTION

==>

2

1 - $JOBQUT $JOBQ PROCESSING CONTROLLER
2 - $SUBMIT $JOBQ JOB SUBMISSION UTILITY
Figure

o

3-5. Example Secondary Option Menu for Primary Option 10

Note: See the $JOBQUT and $SUBMIT utilities for the screen examples.

The session manager allocates one additional work data set ($SMBJOBQ) 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 does not, 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 ($SMBJOBQ) 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.

o
Chapter 3. SessionManager

3-5

Data Sets
The session manager uses six work data sets for'each person that is logged on. They
are $SMEuser, $SMPuser, $SMWuser, SSM! user, $SM2user, and $SM3user. (If
your session manager has been tailored as described in the Customization Guide,
additional data sets may be used.) 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.

o

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 3-6 lists the basic session-manager data sets, their sizes, and their purposes.

Data Set
Name

Size in
256-byte
Records

$SMEuser

400

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

$SMPuser

30

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.

$SMWuser

30

U sed by the session manger to submit procedures
through the job procedure utility ($JOBUTIL).

$SMluser l

400

Used by $SIASM, $EDXASM, $COBOL, $PLjI,
$PASCAL and $FORT as a work data set.

$SM2user l

400

Used by $EDXLINK, $SIASM, $EDXASM,
$XPSLINK, $COBOL, $PLjI, and $FORT as a
work data set.

$SM3userl

250

Used by the Seriesjl Macro Assembler
($SIASM), $COBOL, $PASCAL, and $PLjI as a
work data set.

Figure

Purpose

()

3-6. Session Manager Data Sets

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.

1

3-6

SC34-0940

These data sets must be deleted and reallocated to new sizes when using the session
manger to load compilers and assemblers. Recommended sizes for most programs are
2000 records for $SMluser and $SM2user and 800 records for $SM3user.

o

o

Program Function Keys
The session manager has four program function (PF) keys defined for special use:
PF1, 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.
When you press the PFI key, the session manager displays the following
messages:

ENTERING SYSTEM COMMAND MODE TO REENTER THE SESSION MANAGER,
DEPRESS THE ATTN KEY AND ENTER "$SM"

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.

o

Supported Uti Iities
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-1
on page 1-2 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.

o

Utility

Description

Options

$ARJE

Advanced RJE program and utilities

8.10

$BSCTRCE

Trace I/O activity on a BSC line

8.1

$BSCUTI

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

3-7 (Part 1 of 3). Session Manager Options by Utility

Chapter 3. Session Manager

3-7

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

3.2,9.2

$DISKUT2

Search for EBCDIC or hexadecimal
string

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/
$EDXLINK

Compile and link

2.2

$EDXASM/
$:XPSLINK

Compile and link a supervisor program

2.13

$EDXLINK

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,3101, 3151,
3161, 3163, or 3164 screen image

4.4

$INITDSK

Initialize disk or diskette, and volume
control

3.7

$INSTAL

Install and maintain program products

3.12

$IOTEST

Test sensor I/O; list hardware
configura tion

9.3

$JOBUTIL

Job stream processor

7

$JOBQUT

Job queue processing controller

10.1

Figure

3..8

SC34-0940

3-7 (Part 2 of 3). Session Manager Options by Utility

()

(J

o

o

0
,

, ' ~ t:'

Utility

Description

Options

$LCCTRCE

Trace I/O activity on an LCC
attachment

8.11

$LCCUTI

Format LCC Trace Files

8.12

$LINTRC

Communication line trace

8.13

$LINUTI

Display communication line trace file

8.14

$MOVEVOL

Disk volume dump and restore

3.8

$MSGUTI

Message-source processing

2.14

$PASCAL/
$EDXLINK

Pascal language compile and link

2.12

$PFMAP

Display 4978 and 4980 PF key codes

4.6

$PLI/$EDXLINK

PLI language compile and link

2.6

$PREFIND

Prefind data sets and EDL overlays

2.11

$PRT2780

2780 spooled RJE file printer

8.6

$PRT3780

3780 spooled RJE file printer

8.7

$RJE2780

2780 remote job entry to host

8.4

$RJE3780

3780 remote job entry to host

8.5

$SPLUTI

Spool utility

4.7

$SUBMIT

Job queue job submission utility

10.2

$SIASM

Series/l assembler

2.3

$SISlUTI

Series/l to Series/l

4.8

$TAPEUTI

Tape management

3.10

$TERMUTI

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/l programs

2.9

$UPDATEH

Convert host system programs

2.10

$VERIFY

Verify Indexed Access Method Files

9.4

$XPSLINK

Link a supervisor program

2.8

1

Figure

3-7 (Part 3 of 3). Session Manager Options by Utility

o
Chapter 3. Session Manager

3-9

o

o
3-10

SC34-0940

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/1 application program development and system maintenance.
This chapter provides detailed descriptions (in alphabetical order) of the EDX
system utility programs.

Loading the Utilities
The Event Driven Executive provides three ways to load the utility programs from a
terminal:

'0
1

"

II';

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) toaccess
the function needed.

$JOBUTIL

The job stream processor utility is used to load a predefined
sequence of utility programs and to pass parameters to those
programs. $JOBUTIL can be Joaded 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 loaded
using $L.

Any utility loaded results in a loading message being displayed., The following
example is for illustrative purposes only.

LOADING UTILITY xP,OO:OO:OO, LP= 0000, PART= number

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 10000 I , 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.

c
Chapter 4. Utilities

4-1

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

0
_

Prompt/Repiy Format
Type the utility command following the COMMAND (?): prompt and press the
enter key. EDX responds with a prompt for the next parameter as each parameter is
entered.
COMMAND (?): CV
COpy VOLUME
ENTER SOURCE VOLUME: IBMEDX
ENTER TARGET VOLUME: EDX002
ENTER TARGET DATA SET NAME: DATAl
ARE ALL PARAMETERS CORRECT? Y
COpy COMPLETE
949 RECORDS COPIED

l

j

COMMAND (?):

' - - - - - - - - -

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 EDX expects them.

COMMAND (?): CV IBMEDX EDX002 DATAl 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.
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.

4-2

SC34-0940

o

$BSCTRCE

o

$BSCTRCE - Trace 1/0 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.

Loading $BSCTRCE
Load $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 $BSCTRCE

DS1(NAME,VOLUME): TRACE9
LOADING $BSCTRCE
6P.11:03:22, LP=6500 PART=2
ENTER LINE NUMBER (HEX): 9
t

>

STOP

LAST TRACE RECORD EQUALS 19
$BSCTRCE ENDED AT 11:13:31

o

When the system reaches the end of the output file, it reus~s it from the beginning,
since $BSCTRCE displays the relative record number of the last trace record it
wrote before it ended. You can display or list the trace file by using the $BSCUT1
utility.
$BSCTRCE writes trace file records at the completion of a BSC operation.
Therefore, for a conversational BSCWRITE, if you specify the same buffer address
for both input and output, the trace file does not show the data that the system
transmitted; it shows only the data that it received.
Multiple BSC lines may be traced concurrently with multiple loads of $BSCTRCE
using different trace files. Each copy of $BSCTRCE must use a different trace data
set. We recommend that each trace data set name reflect a unique line number.
When $BSCTRCE ends, it displays the relative record number of the last trace
record it wrote.

"0,

','I

Chapter 4. Utilities

4-3

$BSCTRCE

Record Format
The format of the records produced by $BSCTRCE is shown below.

I ee IISW I STATUS I DeB I LGTH I DATA I LAST41
o

+2

+4

+10

+26

+28

o

+252
BG1183

CC

Interrupt condition code on completion of the I/O.

ISW

Interrupt status word on completion of the I/O.

STATUS The three status words of the BSC adapter (produced when bit 0 of the
ISW is on).
DCB

The device control block for the I/O.

LGTH

The length of the data sent/received.

DATA

The data in main storage following the I/O.

LAST4

The last 4 bytes of data if the data is longer than 227 bytes.

Note: The CC, ISW, and STATUS fields are zero when the DCB has been chained
from the previous record's DCB.
Refer to the IBM Series/l Binary Synchronous Communications Feature Description,
GA34-0244 for descriptions of the interrupt condition code, interrupt status word,
the three cycle steal status words, and the device control block.

o

o
4-4

SC34-0940

$BSCUTI

o

$BSCUT1 - Format BSC Trace Files
The $BSCUTI utility formats BSC trace files (see $BSCTRCE utility) for printing to
either $SYSPRTR or a terminal. You can select the record for the trace file to
dump. The system will prompt you as necessary for information that the functions
of $BSCUTI require.

Loading $BSCUT1
Load $BSCUTI with the $L command or option 8.2 of the session manager.

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

LOADING $BSCUTl

2!P.00:04:21. LP= 9200, PART=!

USING VOLUME EDX002
COMMAND(?):

o

?

CV ~ CHANGE VOLUME
DP - PRINT TRACE FILE ON PRINTER
DU - DUMP TRACE FILE ON TERMINAL
(CA WILL CANCEL)
EN - END PROGRAM
COMMAND (?):

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

o
Chapter 4. Utilities

4-5

$BSCUTI

Example: Figure 4-1 shows loading and using $BSCUTI to display specified trace
data records.

I

COMMAND (?): DU TRACE9,EDX993
FIRST RECORD: 32
LAST RECORD: 33

o

DUMP OF TRACE FILE TRACE9 ON EoXee3

II

***** RECORD 32 ***** START OF CHAINED OPERATION

I
I
I

CC = eee2 ISW = A0e9 STATUS = 9SDA gee1 cese
RESULT: EXCEPTION - WRONG LENGTH RECORD (SHORT)
oCB

= Bee4 egee egee eeeeeee9 2B1C ege2 2AE4

OPE~ATION:

CHAINED TRANSMIT

DATA LENGTH
1
1061

=

2

***** RECORD 33 ***** CONTINUATION OF CHAINED OPERATION

DCB = 2geB ege9 egee eee9 geee eeee e2e9 96F6
OPERATION: RECEIVE WITH TIMEOUT
DATA LENGTH = 4B5
1 9227 615B F1F6 4BF5
17 4e49 F4F2 F449 0709
33 E7C5 C3E4 E3C9 D5C7
49 49F7 1E27 615B FlF6
65 D6C2 4949 F4F2 F349
Sl 49C5 E7C5 C3E4 E3C9
97 D64e 49F7 1E27 615B
113 4901 06C2 494e F3F9
129 F4F5 49C5 E7C5 C3E4
145 09C9 0649 49F5 1E27
161 F3F4 49D1 06C2 1043
177 FeFl F949 o6D5 4007
193 D709 C906 494e F51E
299 4BF3 F449 0106 C249
LAST 4 D405 1E26

F94B
F3F9
49D4
4BF5
CBoS
05C7
F1F6
F94e
E3C9
615B
F4FB
09C9
2761
49F3

F3F4 49D1 06C2
F1F6 F5F64eC5
4eD7 D9C9 0649
F94B F3F4 4901
F1F2 F1F6 F5F6
4904 4907 09C9
4BF5 F94B F3F4
C9E2 F9F3 FIF4
05C7 4eE5 4e07
FlF6 4BF5 F94B
497BC7E2 07C5
05E3 D9F2 4949
5BFl F64B F5F9
F2Fe 49C6 C7F6

.• /$16.59.34 JOB
424 PR391656 E
XECUTING MPRIO
7•• /$16.59.34 J
OB 423 HQ121656
EXECUTING MPRI
o 7.. /$16.59.34
JOB 399 ISe314
45 EXECUTING V P
RIO 5.. /$16.59.
34 JOB .. 4B #GSPE
me ON PRINTR2
PRIO 5.. /$16.59
.34 JOB 329 FG6
MN ..

o

OUMP COMPLETE
ANOTHER AREA (YIN)?
Figure

4-1. Dumping BSC Trace Records to a Terminal

o
4-6

SC34-0940

$BSCUTI

o

II

The command for printing the selected records is DP; the command for
dumping records to a terminal is DU. This example uses DU. You can
change the volume on the command line. In the example, the volume changes
from EDX002 to EDX003.

fJ

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 4-1 on
page 4-3 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.

II

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
leftmost 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 I.
The detailed descriptions of these codes are contained in the IBM Series/l
Binary Synchronous Communications Feature Description, GA34-0244.
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.
This line provides a brief interpretation of the condition code field and the
interrupt status byte.
These eight words represent the values stored in the device control block
(DCB). Their meanings are described in detail in the IBM Series/l Binary
Synchronous Communications Feature Description, GA34-0244.

fJ

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

m 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 leftmost 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.

1m

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

o
Chapter 4. Utilities

4-7

$BSCUT2

$BSCUT2 - Communications 1/0 Exerciser
The $BSCUT2 utility is primarily an I/O exerciser and is used to verify the
following:

o

• Binary synchronous communications access method (BSCAM)
• BSCLINE definitions generated in the executing supervisor
• Customized jumper assignments in the 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/! 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:

o

• 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.

TASK READ ENTERED RECORD NUMBER=lRECOROLENGTH=72
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST

o
4-8

SC34-0940

$BSCUT2

The meanings of the task names are as follows:

o

• 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
• WNVl - 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.

Loading $BSCUT2
Load $BSCUT2 with the $L command or option 8.3 of the session manager.

$L $BSCUT2
LOADING $BSCUT2

>

76P,00:05:31, LP= 9200, PART=1

o
$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 ---:-l.

READ/WRITE - NONTRANSPARENT
READ/WRITE - TRANSPARENT
READ/WRITE - MULTIDROP LINE NONTRANSPARENT
READ/WRITE - MULTIDROP LINE TRANSPARENT
READ - TRANSPARENT/NONTRANSPARENT
WRITf: - NONTRANSPARENT
WRITE - TRANSPARENT
END THE PROGRAM
CH--~-~CHANGE HARDCOPy DEVICE
RWIVX --READ/WRITE- TRANSPARENT CONVERSATIONAL
RWIV -- 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).

o

Most of the commands and their explanations are presented in alphabetical order on
the following pages.

Chapter 4. Utilities

4-9

$BSCUT2

CH - Change Hard-copy Device
Use the CH command to reassign the hard-copy device for the terminal or printer
output.

o

Example:

COMMAND (?): CH
ENTER 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:

l $BSCUT2
COMMAND (1): EN
ENDED AT 01:14:40
RI - Read Transparent/Nontransparent
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/lor in another Series/I.

0

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

COMMAND (?): RI
RI ----- READ - TRANSPARENT/NONTRANSPARENT
READ ADDRESS? SA
READ REel? sa
READ MONITOR? Y

o
4-10

SC34-0940

$BSCUT2

o

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:

COMMAND (?): RWI
RWI ---- READ/WRITE - NONTRANSPARENT
READ ADDRESS? 5A
WRITE ADDRESS? 58
READ RECl? S9
WRITE REel? S9
NUMBER OF RECORDS? 19
READ MONITOR? Y
WRITE MONITOR? Y

READ ADDRESS 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.
The RECL prompts refer to the buffer size the system will use; 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.

o
Chapter 4. Utilities

4-11

$BSCUT2

RWIV - Read/Write Nontransparent Conversational
Use the RWIV to test limited conversational operation in nontransparent mode.
BUFFER LENGTH is equivalent to RECL.

o

Example:

COMMAND. (?): RWIV
RWIV ".-- READ/WRITE - NONTRANSPARENT CONVERSATIONAL
READ ADDRESS? 58
WRITE ADDRESS? 5A
BUFFER LENGTH?S9
NUMBER SF RECORDS? 5
READ ~ONITOR? y
WRITE MONITOR? Y

READ ADDRESS 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.
l'he RECL prompts refer to the buffer size the system will use; 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 system enables the monitor function, it writes messages such as TASK
ENTERED and TASK EXITED to the terminal.

0

".~

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

READ TASK
----ENQ------------->
<---ACK0 (Response)----Text------------>
<---Text (Response)-----ACKI (Response)->
<---Text----------------Text (Response)->
<---ACK0 (Response)-----Text------------>
<---Text----------------ACKl------------>

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

This sequence continues until the NUMBER OF RECORDS count is satisfied.

o
4-12

SC34-0940

$BSCUT2

o

RWIVX - 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? 5A
WRITE ADDRESS? 58
BUFFER LENGTH? 5
NUMBER OF RECORDS? 19
READ MONITOR? Y
WRITE MONITOR? Y

o

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
Chapter 4. Utilities

4-13

$BSCUT2

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

READ TASK
----ENQ------------->
<---ACK0 (Response)----Text------------>
<---Text (Response)-----ACKI (Response)->
<---Text----------------Text (Response)->
<---ACK0 (Response)-----Text------------>
<---Text----------------ACKl------------>

o

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

This sequence continues until the NUMBER OF RECORDS count is satisfied.

RWIX - Read/Write Transparent Data
Use the R WIX 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? 58
READ RECl? S9
WRITE RECl? S9
NUMBER OF RECORDS? 19
READ MONITOR? Y
WRITE MONITOR? Y

o

READ ADDRESS 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.
The RECL prompts refer to the buffer size the system will use; 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
grea ter than WRITE (RECL) or errors will occur.
NUMBER OF RECORDS determines the number of transmissions the system will
make before the test ends.

4-14

SC34-0940

o

$BSCUT2

o

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.
Th~ RECL prompts refer to the buffer size to be used; 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.

o

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.
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? 59
BUFFER LENGTH? S9
NUMBER OF RECORDS? . 5
LOOP COUNT? 1
MONITOR? Y
NUMBER OF TRIBUTARIES? 1

o

PARAMETERS FOR TRIBUTARY? 1
MT DEVICE.ADDRESS? 51
MT TRIBUTARY ADDRESS? 92
BUFFER LENGTH? S9
NUMBER OF RECORDS? 5
MONITOR? Y

Chapter 4. Utilities

4..15

$BSCUT2

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.

o

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 MC device address and valid tributaries (MT).
• NUMBER OF TRIBUTARIES must be equal in both programs;
• LOOP COUNT must be equal in both programs ..

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

COMMAND (?): WI
WI ----- WRITE - NONTRANSPARENT
WRITE ADDRESS? 58
. WRITERECL? S9
NUMBER OF RECORDS? 19
WRITE MONITOR? Y

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

COMMAND (?): WIX
WIX ---- WRITE - TRANSPARENT
WRITE ADDRESS? 58
WRITE REeL? S9
NUMBER OF RECORDS? 5
L~W_R_IT_E_M_O_N~IT_O_R?_._Y__________~____~______~__________________~j

o
4-16

SC34-0940

$CHANUTI

o

$CHANUT1 - C,",annel 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.

Loading $CHANUT1
Load $CHANUTI with the $L command or option 8.9 of the session manager.
When you load $CHANUTI, it prompts you for the address of the channel attach
device.

>

$l $CHANUTl

LOADING $CHANUT1
37P,G8:GG:Ge, LP
ENTER DEVICE AODRESS (Hex): 19
COMMAND(?) :

=

5BGG , PART

=

G1

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. Refer to Messages and Codes for
more information.

o

$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 DEVICE ADDRESS
TERMINATE THE UTILITY
PRINT THE TRACE AREA
START A CHANNEL ATTACH DEVICE
STOP A CHANNEL ATTACH DEVICE
ENABLE/DISABLE 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.

·0

COMMAND (?):CA .
ENTER DEVICE 'ADDRESS (HEX): 11
COMMAND(?) :

Chapter 4. Utilities

4-17

$CHANUTI

EN - End $CHANUT1 utility
Use the EN command to end the $CHANUTI utility.

l

COMMAND(?):

o

EN

$CHANUT1 ENDED AT 1:14:40

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

l

COMMAND(?): PR
TITLE: TRACE PRINTOUT MM/DD/YV
CONSOLE: $SYSPRTR
PRINT TRACE BUFFER SUCCESSFUL
COMMAND(?):

SP - Stop a Channel Attach Device
Use the SP command to stop the channel attach device you have specified.

COMMAND(?): SP
STOP DEVICE SUCCESSFUL
COMMAND(?):

o

ST - Start a Channel Attach Device
Use the ST command to start the channel attach device you have specified.

COMMAND(?): ST
START DEVICE SUCCESSFUL
COMMAND(?):

TR - Enable/Disable Trace
Use the TR command to enable (E) or disable CD) the trace function.

COMMAND(?): TR
ENABLE OR DISABLE: D
ENABLE/DISABLE SUCCESSFUL
COMMAND(?):

4-18

SC34-0940

o

$CHANUTI

o

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 ==> 9
1
2
3
4
5
6
7
8
9
10
11
12

-

$BSCTRCE
$BSCUTl
$BSCUT2
$RJE2780
$RJE3780
$PRT2780
$PRT3780
$HCFUTl
$CHANUTl
$ARJE
$LCCTRCE
$LCCUT1

(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)
(ADVANCED RJE PROGRAM AND UTILITIES)
(TRACE LCC ATTACHMENT)
(PRINT LCC TRACE FILE)

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 AVAILABLE COMMANDS.

o

The following shows what happens when you select option 9 (from the previous
screen), request and start device 10, and enable trace.

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

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

ENTER DEVICE ADDRESS(Hex)
COMMAND(?):
CAPGM

: 1e

ST
45P,00:00:00, LP= AA00

START DEVICE SUCCESSFUL
COMMAND(?):

TR

ENABLE OR DISABLE? E
ENABLE/DISABLE SUCCESSFUL
COMMAND (?) .:

o
Chapter 4. Utilities

4-19

$COMPRES

$COMPRES - Compress Disk, Diskette, or Volume
$COMPRES compresses a disk/diskette volume or the entire contents of a device.
Use it to allocate new data sets and volumes when a volume or device is fragmented
(due to deletion of data sets and volumes).

o

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 ih other partitions. However, if you are executing under the
session manager, the $SMU user 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 IPLabie 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 600 records.
c. Copy (using $COPYUT1) $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) for $MFARAM, $FPCARAM,
or $ACCARAM if you are using a 3101 (or equivalent) or an ACCA device
as $SYSLOG.

o·
,.

,

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 can use the starter system
to load $INITDSK to initialize the IPL text with the II command. This assumes
that one of the attached terminals will be recognized by the starter system as
$SYSLOG.

o
4-20

SC34-0940

$COMPRES

o

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.
7. Compressing a disk may relocate volumes which you defined as "performance
volumes." If this is the case, you must IPL.
~
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.

Specifying Dynamic Storage

The following example shows how to change a 512 byte dynamic storage allocation
temporarily to 10K.

l> $L $COMPRES •• 18248
You can use $DISKUT2 to modify the default load time storage allocation. See "SS
- Set Program Storage Parameter" on page 4-185 for an example.

Loading $COMPRES

o

Load $COMPRES with the $L command or option 3.4 of the session manager.
$L $COMPRES

>

LOADING$COMPRES
$COMPRES -COMPRESS
VOLUME/DEVICE COMPRESS
WARNING! SHOULD BE RUN ONLY
NO·OTHER·PROGRAMSARE·ACTIVE
COMMAND. (?) :
ROttON
ROLtOFF

WHEN

?

- .·St:TSCREEN.!?>.NO:' .; ;. EStIMA:rE
'EN:"'.: :
:"·END
.
'
:
. y....

;

.··.•

....

..

•••

'

.. ,

•••

.. ,., .......

".
" . . . . '... . "" " . . .

,~ess~,·
~'
MPRESSPROGRESS

.".,

ciO~M~ND• .··~·'(?J:·:·

o
Chapter 4. Utilities

4-21

$COMPRES

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

o

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

COMMAND (?):
ROllON
ROllOFF
D
V
 HF
EN

-

?

SET SCREEN => NO PAUSE
RESTORE STARTING CHARACTERISTICS
DEVICE COMPRESS
VOLUME COMPRESS
ESTIMATE COMPRESS PROGRESS
END

COMMAND (?):

D - Device Compress
Use the D command to compress the entire contents of a device. Use $A ALL to
determine if any programs are active before you compress the library.
Example: Compress a device with fixed-head volumes.

o

(Use $A ALL to determine if any nrnqrams are active
before you compress the volume.)
COMMAND (?): D
DEVICE ADDRESS:

48

COMPRESS DEVICE AT ADDRESS 0048 (YIN)? Y
DIRECTORY HAS BEEN SORTED BY MEMBER IN ASCENDING ORDER.
THE FIXED-HEAD VOLUME ==> FIXVOl NOT COPIED
EDX002 COPIED
EDITWORK COPIED
SRCLIB COPIED
OBJLIB COPIED
ASMLI-B COPIED
$COMPRESCOPIED
THE DEVICE IS COMPRESSED.
ANOTHER COMPRESS (YIN)? N

o
4-22

SC34-0940

$COMPRES

o

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

COMMAND (?): EN
$COMPRES ENDED AT BS: B3 : 59 .

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

o

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: 15 PERCENT
$SPM
COPIED
COPCHECK COPIED
$ASMEXIO COPIED
> HF

$ASMOOOH COPIED

o

COMPRESSING THE VOLUME/DISK, NOW AT: 17 PERCENT
CDRRCB COPIED
HEADER COPIED
TDBEQU COPIED

Chapter 4. Utilities

4-23

$COMPRES

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.

o

Example: Restore starting characteristics.

l:::::::

ROLLOFF

ROLLON - Set Screen = > No Pause
Use the ROLLON command if you do not 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.

l

COMM. AND.. (7).:

ROLLON

. COMMAND (?):

o

o
4-24

SC34-0940

$COMPRES

o

v-

Volume Compress
Use the V command to compress a disk or diskette volume. Use $A ALL to
determine if any programs are active before you compress the library.
Example 1: Determine if another program is running.

>

$A ALL

PROGRAMS
IN PARTITION #1 (STATIC)
**FREE** 6000 147.
PART. ADDR: 6000 HEX; SIZE: 37632 DEC. BYTES
PROGRAMS
IN PARTITION #2 (STATIC)
$COMPRES 6000 49 $SYSLOG
**FREE** 9100 111
PART. ADDR: 6000 HEX; SIZE: 40960 DEC. BYTES

PROGRAMS
IN PARTITION #16 (DYNAMIC) NONE
PART.ADDR: 0000 HEX; SIZE: 45056 DEC.BYTES

Example 2: Compress a volume.

>

$L $COMPRES

LOADING $COMPRES

47P, LP=4COO, PART=2

$COMPRES - COMPRESS UTILITY
VOLUME/DEVICE COMPRESS
WARNING! SHOULD BE RUN ONLY WHEN
NO OTHER PROGRAMS ARE ACTIVE
COMMAND (?): V
VOLUME LABEL = "EDX001
COMPRESS VOLUME EDXOOI (Y /N)? Y
m

DIRECTORY HAS BEEN· SORTED BY MEMBER IN ASCENDING ORDER.
MYPROG COPIED
PROG!
COPT EO
PROG2
COPIED
PAYROLL COPIED
THE VOLUME IS COMPRESSED.
ANOTHER COMPRESS· (YIN)? N
WANT TO SORT A VOLUME DIRECTORY (Y/N)? N
$COMPRES ENDED AT 08.16.03

C

""l

,r

Chapter 4. Utilities

4-25

$COMPRES

Example 3: Compress the IPL volume.

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

o

> $L $COMPRES

LOADING $COMPRES

47P, LP = CA00 , PART=2

$COMPRES - COMPRESS UTILITY
VOLUMEIDEVICE COMPRESS
WARNING! SHOULD BE RUN ONLY WHEN
NO OTHER PROGRAMS ARE ACTIVE
COMMAND (?): V
VOLUME LABEL = EDX002
COMPRESS VOLUME EDX002 (YIN)? Y
CAUTION: YOU ARE ABOUT TO' COMPRESS THE IPL VOLUME.
IF THE NUCLEUS IS MOVED THEN THIS VOLUME WIll NOT IPl AGAIN.
UNTIL THE "IP COMMAND OF II$INITDSK" IS REISSUED.
ALSO IF "$LOADER" IS MOVED THEN NO PROGRAM CAN BE LOADED.
DO YOU WISH TO PROCEED (YIN)? Y
DIRECTORY HAS BEEN SORTED BY MEMBER IN ASCENDING ORDER.
$EDXNUC ALREADY IN PLACE AND NOT COPIED
$LOADER COPIED
$TERMUTl COPIED
$COPYUT1 COPIED
D3
COPIED
04
COPIED
D5
COPIED
D6
COPIED
07
COPIED
08
COPIED
09
COPIED
D0
COPIED
$COMPRES COPIED
THE VOLUME IS COMPRESSED.

o

ANOTHER COMPRESS (YIN)? N
WANT TO SORT A VOLUME DIRECTORY (YIN)? N
$COMPRES ENDED AT 08.16.03

o
4-26

SC34-0940

$COPY

o

$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) EDX programs.
When you copy program members, the target member must be
equal to or greater than the source member.

o

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 4-330.

o
Chapter 4. Utilities

4-27

$COPY

Absolute Record Copy
$COPY$$pro$$vEl'dDesXaLn absoludt$e$rEecDoXrdvcOaLPabTilihit! usIll' ng the special system datda selt .
names,
IB, an
'
.
s a ows you to copy a recor re atIve
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
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.

0
'
,

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 maximum available storage is obtained
when an * is entered instead of the number of bytes.
The following example shows how to change a 2K dynamic storage allocation
temporarily to 20K.

l> $l $COPY,,2B4S0
$DISKUT2 can also modify the default load time storage allocation associated with
a program using the SS command. See "$DISKUT2 - PatchjDumpjListjSearch
Data Set or Program" on page 4-161 for an example.

o
4-28

SC34-0940

$COPY

o

Loading $COPY
Load $COPY with the $L operator command or option 3.5 of the session manager.

>

$L $COPY

40P t 00:12:04 t LP= 9200 t PART=1

LOADING $COPY

$COPY - COpy UTILITY
COMMAND (1):

?

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

COMMAND (?):

o

?

CD - COpy DATA SET
CV - COPY VOLUME
RE - COpy FROM BASIC EXCHANGE
WE - COpy TO BASIC EXCHANGE
(-CA- WILL CANCEL)
EN - END, PROGRAM
COMMAND (1):

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 set, 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
Chapter 4. Utilities

4-29

$COPY

Example 1: Copy entire data set.

COMMAND (?): CD

o

·SOURCE (NAME,VOLUME): DATAFILI
COpy ENTIRE DATA SET (YIN)? Y
TARGET (NAME,VOLUME): OATAFIL2,EDXee2
ARE ALL PARAMETERS CORRECT (YIN)? Y
COpy COMPLETE
50 RECORDS .COPIED
COMMAND (7):

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.

COMMAND (?): CD
SOURCE (NAME,VOLUME): DATAFILI
COpy ENTIRE DATA SET (YIN)? N
FIRST RECORD: 1
LAST RECORD: 3
TARGET (NAME, VOLUME): DATAFIL2
FIRST RECORD: 1
ARE ALL PARAMETERS CORRECT (YIN)? Y
COpy COMPLETE
3 RECORDS COPIED

o

COMMAND (?):

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 the following message:

TARGET DATA SET TOO SMALL
COPY REQUEST CANCELLED

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

o
4-30

SC34-0940

$COPY

CV - Copy Volume

o

Use the CV command to copy entire volumes. This provides a volume backup
capability. You can 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

256 Bytes!
Sector

1024 Bytes!
Sector

Diskette 1 (8")

949

1110

-

Diskette 2 (8")

1924

2220

-

4736

Diskette 2-D (8")

-

3848

Double-sided
Diskette (5.25")

-

1248

-

High-capaci ty
Diskette (5.25")

-

4128

-

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

o

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.

COMMAND (?): CV
COpy VOLUME
SOURCE VOLUME: IBMEDX
TARGET VOLUME: EDX992
TARGET DATA SET NAME: DATAl
ARE ALL PARAMETERS CORRECT (YIN)? V
COpy COMPLETE
949 RECORDS COPIED

c

COMMAND (?):

Chapter 4. Utilities

4-31

$COPY

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 $DISKUTI) 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 DATA SET HAS nn RECORDS
TARGET VOLUME HAS ONLY nn
DO YOU WISH TO CONTINUE (YIN)?

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 - End $COPY Utility
Use the EN command to end the $COPY utility.

l

J

COMMAND (?): EN
~$_C_OP_Y_._EN_D_ED__
AT__l_:l_4_:4_0________________________________________~

o
4-32

SC34-0940

SCOpy

o

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.
RE 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.
Example 1: Copy entire basic-exchange diskette data set to disk.

COMMAND (?): RE
SOURCE ($$EDXVOL,VOLUME): $$EDXVOL,IBMEDX
TARGET (NAME,VOLUME): DATAFIL1,EDX9a2
SPECIFY START/END (Y/N)?

N

ENTER BASIC-EXCHANGE DATA SET NAME: DATA
NUMBER OF RECORDS COPIED: 52
COPY COMPLETED
COMMAND (?):

o

Note: If you enter the wrong data set name, the system issues a read/write error
message.
Example 2: Copy basic-exchange data set to disk. The record number where the
copy is to start on target disk is specified.

COMMAND (?): RE
SOURCE ($$EDXVOL,VOLUME): $$EDXVOL,IBMEDX
TARGET (NAME,VOLUME): DATAFIL1,EDX992
SPECIFY START/END (YIN)? Y
FIRST RECORD: 19
ENTER BASIC-EXCHANGE DATA SET NAME: DATA
NUMBER OF RECORDS COPIED: 151
COpy COMPLETED
COMMAND. (?):

0"
",

Chapter 4. Utilities

4-33

$COPY

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 bf,eforef,You u~e the WE command.
Use $DASDI to format the diskette for Standard or In ormatIOn 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.

0

.. '

WE 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.
Example 1: Copy a disk data set to a basic-exchange diskette.

COMMAND (?): WE
SOURCE (NAME,VOLUME): DATAFILl,EDX992
SPECIFY START/END (Y/N)? N
TARGET ($$EDXVOL,VOLUME): $$EDXVOl,IBMEDX
ENTER BASIC EXCHANGE DATA SET NAME: DATA
COPY COMPLETE
COMMAND (?):

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.

o

COMMAND (?): WE
SOURCE (NAME,VOLUME): DATAFILl,EDX992
SPECIFY START/END (Y/N)? Y
FIRST RECORD: 199
LAST RECORD: 159
TARGET ($$EDXVOL,VOLUME): $$EDXVOL,IBMEDX
ENTER BASIC-EXCHANGE DATA SET NAME: DATA
COpy COMPLETE
COMMAND (?):

Notes:

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

o
4-34

SC34-0940

$COPYUTI

o

$COPYUT1 - Copy Data Set with Allocation
$COPYUTI 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 $COPYUTI, 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.
Notes:
1. Do not specify the dynamic storage option (for example, $L $COPYUTI,,48000)

when loading $COPYUTI 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 '"$TAPEUTI - Tape Management" on
page 4-565.

Specifying Dynamic Storage

o

To increase program performance you can change the dynamic storage used by
$COPYUTI. IBM ships $COPYUTI with a dynamic storage of 2K. You can
specify the number of bytes of additional storage the system should allocate when
you load $COPYUTI using the $L command. The maximum available storage is
obtained when an * is entered instead of the number of bytes.
The following example shows how to change a 2K dynamic storage allocation to
20K temporarily.

l

>

$L $COPYUT1 •• 28488

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

o
Chapter 4. Utilities

4-35

$COPYUTI

Loading $COPYUT1
Load $COPYUTI with the $L command, option 3.3 of the session manager, through
the $JOBUTIL utility, or EDL LOAD instruction .

0

. >$l $COPYUTl

LOADING·$COPYUTI

***WARNING ***
MEMBERS ON TARGET VOLUME W.ILL B.EDELETED
REALLOCATION AND COPYING OF MEMBERS I$,
DEPENDENT ON SUFFICIENT CONTIGUOUS SPACE
THE DEFINED SOURCE VOLUME IS EDXee20K (YIN)? Y
THE. DEFINED TARGET VOLUME IS EDXee2 .OK(Y/N)? Y
MEMBER WILL BE COPIED FROM EDXee2 TO EDXee2 OK (Y/~)? Y
COMMAND (n:

When you load $COPYUTl, the system assumes the source and target volumes are
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.

Loading $COPYUT1 From a Program
You can load $COPYUTI from a program using the LOAD statement.

LOAD
PARAM

DC

o

$COPYUT1,PARAM
C'CONTROLX,EDXOe2'

The command data set name and volume must be passed as parameters to
$COPYUTI.

o
4-36

SC34-0940

$COPYUTI

o

Loading $COPYUT1 Using $JOBUTIL
To enter the command data set as a parameter using the $JOBUTIL utility, create a
proced ure data set.

PROGRAM
PARM
EXEC
EOP

$COPYUTl , EDX002
COMMAND,EDX002

Note: If you use the command data set when in interactive mode, see "READDS Read Command Data Set" on page 4-47.

In the above example, COMMAND is the name of a command data set residing in a
volume called EDX002. The following commands are supported for use in a
command data set:

C"

II~

CM

Copy member from source to target

CG

Copy all members starting with text from source to target

CNG

Copy all members not starting with text from source to target

CALL

Copy all members from source to target

CAD

Copy all data members from source to target

CAP

Copy all programs from source to target

CV

Change source and target volumes

EN

End $COPYUTI

ROLLON

Set screen = = > no pause

ROLLOFF

Restore pause characteristics

LOG

Send messages to log device

READDS

Chain to the next command data set

Note: READDS command can be used in a command data set only if it is the last
command in the data set. If it is not the last command, any commands
following READDS are ignored.

0:
Chapter 4. Utilities

4-37

$COPYUTI

Command Data Set Format
Following is the format for coding the commands in the command data set.

command fromds tods
Note: Enter one command per line, starting in column 1 with 1 space separating
each entry on the line.
Example: Following is an example for coding a command data set.

LOG $SYSLOG
CV EDX882 MEMVI

- $SYSLOG receives the printed messages with the
screen set to "no pause"
Source volume is now EDX882 and target volume is
MEMVI

CG $XPS

- Copies all $XPS modules from EDX882 to MEMVI

CM $LOADER *

- Copies $LOADER from EDX882 to $LOADER on MEMVI

CALL or
CAD or
CAP

- If a member name is not specified after the command,
all the members in the data set will be copied.
If a beginning data set is specified and not an
ending data set, copy will be made to the end

()

Note: If you switch log devices in a command data set, use the "ROLLOFF"
command to reset the first log device back to its original state.

*
*

LOG $SYSLOG
CM X
ROLLOFF
LOG $SYSLOGA
CM Y

.()
4-38

SC34-0940

$COPYUTI

o

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

COMMAND (?): ?

====== MODE COMMANDS ======
WV
RDBK
SQ
NQ
CV
ROLLON
ROLLOFF
READDS

======

CM
CALL
CAD
CAP
CG
CNG

-- VERIFY COpy USING WRITE VERIFY
-- VERIFY COpy USING READBACK CHECK
-- SET PROMPT MODE FOR COPY COMMANDS
-- RESET PROMPT MODE FOR COPY COMMANDS
-- CHANGE SOURCE AND TARGET VOLUMES
-- SET SCREEN => NO PAUSE
-- RESTORE PAUSE CHARACTERISTICS
-- READ COMMANDS FROM A COMMAND DATA SET
COpy COMMANDS ======
-- COpy MEMBER FROM SOURCE TO TARGET
-- COpy ALL MEMBERS FROM SOURCE TO TARGET
-- COpy ALL DATA MEMBERS FROM SOURCE TO TARGET
-- COpy ALL PROGRAMS FROM SOURCE TO TARGET
-- COPY ALL MEMBERS STARTING WITH TEXT FROM ...
-- COpy ALL MEMBERS NOT STARTING WITH TEXT FROM ...

CA -- CANCEL MULTIPLE COPY COMMANDS
EN -- END PROGRAM
? -- HELP
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).

The Mode Commands
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

Copies all members. If you do not specify SQ, the multiple copy
command defaults to NQ.

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 specify RDBK, the
multiple copy command you are using defaults to WV.

READDS

Reads $COPYUTI commands from a data set. See "READDS - Read
Command Data Set" on page 4-47 for an example of READDS.

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

Copies one member at a time. If you only want to copy some of the
members, $COPYUTI asks you to verify each member before copying
it.
Chapter 4. Utilities

4-39

$COPYUTI

Note: If you do not want the system to delete and reallocate the target
data set automatically, issue the SQ command before you issue
the CM command. See "Copying Without Automatic
Allocation" on page 4-45 for more information.
WV

o

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

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-type members 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:

DATA4 TOO LARGE TO COpy. ONLY XX RECORDS LEFT IN LIBRARY
TARGET VOLUME IS FULL. DO YOU WISH TO CONTINUE ON A NEW VOLUME (YIN)?

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

IF NEW VOLUME IS A DISKETTE, MOUNT NEW VOLUME AND DO A $VARYON
THEN E:NTERATTN RESTART TO CONTINUE COpy

o

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

l

> $VARYOH 2
• . ED.X.001 ONLINE
> RESTART

In this manner, you can create a disk backup using 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 star.t with an empty target volume.
The copy commands will not copy the supervisor ($EDXNUC). This prevents the
inadvertent loss of a tailored supervisor. Furthermore, since the system allocates the
supervisor 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.

4-40

SC34-0940

o

$COPYUTI

o

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. As soon
as the system copies the current member, the command (CALL, CAD, CAP, CG,
CNG) ends.
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.

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).

0"

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.

'.

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

COMMAND(?):

CAD

COPY FROM BEGINNING (YIN)? Y
TEMP
COPY COMPLETE
DATAFILE COPY COMPLETE
MYDATA
COPY COMPLETE
COMMAND (?):

40 RECORDS COPIED
110 RECORDS COPIED
80 RECORDS COPIED

o
Chapter 4. Utilities

4-41

$COPYUTI

CALL - Copy All Data Sets from Source to Target

0

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 performing 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 tum 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.
Example 1: Copy all data sets from one volume to another, starting with DATAl
and ending with LASTONE.

$L $COPYUTI
LOADING $COPYUTI

>

55P,l1:l6:57, LP= 6900, PART=l

$COPYUTI - 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 MYVOL OK (YIN)? Y
THE DEFINED TARGET VOLUME IS MYVOL OK (YIN)? N
ENTER NEW TARGET VOLUME: YOURVOL
MEMBER WILL BE COPIED FROM MYVOL TO YOURVOL OK (YIN)? Y
COMMAND (?): ROLLON
COMMAND (?): CALL
COpy FROM BEGINNING (YIN)?

N

ENTER STARTING MEMBER: DATAl
COpy ALL THE MEMBERS AFTER DATAl (YIN)?
ENTER ENDING MEMBER:
DATAl COpy COMPLETE
DATA2 COpy COMPLETE

o

N

LASTONE
256 RECORDS COPIED
12 RECORDS COPIED

LASTONE COPY COMPLETE
14 RECORDS COPIED
l_C_OM_M_AN_D_(_?)_:____________________________------------~)

o
4-42

SC34-0940

$COPYUTI

o

Example 2: Copy all data sets. The SQ command prompts for copy of each data

set.

COMMAND(?):
COMMAND(?):

SQ
CALL

COpy FROM BEGINNING (YIN)? Y
COpy TEMP (YIN)? V
TEMP
COpy COMPLETE
COPY EDITWORK (YIN)? N
COpy DATAFILE (YIN)? V
DATAFILE COpy COMPLETE
COMMAND (?):

40 RECORDS COPIED
110 RECORDS COPIED

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).

o

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
reply N to the COPY FROM BEGINNING? prompt, $COPYUTI prompts you for
the first (starting) member and the last (ending) member to be copied.
Example: Copy only programs from one volume to another.

COMMAND(?):

CAP

COpy FROM BEGINNING (YIN)? V
PROG1
COpy
PROG2
COpy
PROG3
COpy
LASTPROG COpy
COMMAND ( 1) :

COMPLETE
COMPLETE
COMPLETE
COMPLETE

40
110
80
60

RECORDS
RECORDS
RECORDS
RECORDS

COPIED
COPIED
COPIED
COPIED

o
Chapter 4. Utilities

4-43

$COPYUTI

CG - Copy All Members Starting with a Prefix
Use the CG (copy generic) command to copy only those members beginning with
genenh·c texht (prefix). $lCOPYd.UTI
you bfor .the.
tdhen .
searc es t e source vo ume Irectory lor names egmmng WIt t s pre IX an copIes
only these members to the target volume.

pr~mpts

prefi~·h $hi~OPYfiUTI

()

Example: Copy members with prefix of DATA.

ENTER GENERIC TEXT: DATA
54 RECORDS· COPIED
DATAl COPY COMPLETE
DATA2 COpy COMPLETE
13 RECORDS COPIED
S0RECORDSCOPIED
DATA3 COPY COMPLETE
DATA4 TOO LARGE TO COPY, ONLY 92 RECORDS LEFT IN LIBRARY
TARGET VOLUME IS FULL, DO YOU WISH TO CONTINUE ON A NEW VOLUME (YIN)? Y
IF NEW VOLUME IS A DISKETTE, MOUNT NEW VOLUME AND DOA $VARYON
THEN ENTER ATTN RESTART TO CONTINUE COPY
>

$VARYON 2

EDX001 ONLINE
>

RESTART

THE DEFINED TARGET VOLUME IS ASMUB OK (YIN)? Y
VOLUME NOT MOUNTED
TRY AGAIN (YIN)? Y
ENTER NEW TARGET VOLUME: EDXael
DATA4
COpy COMPLETE
10eRECORDS COPIED
COMMAND (?):

o

o
4-44

SC34-0940

$COPYUTI

o

CM - Copy Member from Source to Target
Use CM to copy one member from a source volume to a target volume.
Copying With Automatic Allocation: When you issue the CM command,

$COPYUTI determines if a receiving member exists on the target volume. If the
target data set does not exist, $COPYUTI allocates it. If the target data set does
exist, $COPYUTI automatically deletes it and reallocates it to the required size.
Any data in the original target data set is lost.
Copying Without Automatic Allocation: If you do not want the system to delete and

reallocate the target data set automatically, you must issue the SQ command before
you issue the eM command. Then the system prompts you as to whether you want
to copy the source data set to the target data set without changing characteristics or
to delete the target data set and reallocate it with the source data set characteristics.
Use the SQ and CM commands when you want to copy a source data set with
extents to a target data set without extents. (For more information on allocating a
data set with extents, see "$DISKUTl - Allocate/Delete/List Directory Data" on
page 4-l39.)
Example 1: Copy a data set (MYPROG) from EDX002 to ASMLIB and rename
the data set S1.

>

$L $COPYUTI

LOADING $COPYUT1

o

55P,11:16:57, LP= 6900, PART=l

$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 O~ (YIN)? Y
THE DEFINED TARGET VOLUME IS EDXee2 OK (YIN)? N
ENTER NEW TARGET VOLUME: ASMLIB
MEMBER WIll BE COPIED FROM EDXee2 TO ASMLIB OK (YIN)? Y
COMMAND (?): eM
ENTER FROM (SOURCE) MEMBER: MYPROG
ENTER TO (TARGET) MEMBER OR * FOR SAME NAME AS SOURCE: 51
Sl
COpy COMPLETE
4 RECORDS COPIED
COMMAND (?):

o
Chapter 4. Utilities

4-45

$COPYUTI

Example 2: In the following example, the system deletes the existing target data set.
The system allocates a new data set with the source characteristics.

COMMAND (?): SQ

o

COMMAND (?).: eM
ENTER FROM (SOURCE) MEMBER: SPRING
ENTER TO (TARGET) MEMBER OR * FOR SAME NAME: *
TARGET EXISTS: COPY TO EXISTING DATA SET (YIN)? N
DELETE IT AND REALLOCATE WITH SOURCE CHARACTERISTICS (YIN)? Y
SPRING COpy COMPLETE
1e RECORDS COPIED
COMMAND (?):

Example 3: In the following example, the system copies the source data set to the
existing target data set. The characteristics of the target data set do not change.

( COMMAND (?): SQ
COMMAND (?): eM
ENTER FROM (SOURCE) MEMBER: SPRING
ENTER TO (TARGET) MEMBER OR * FOR SAME NAME: *
TARGET EXISTS: COpy TO EXISTING DATA SET (YIN)? Y
SPRING COpy COMPLETE

1e RECORDS COPIED

COMMAND (?):

()

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 do not 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
TEMP1 COpy COMPLETE
56 RECORDS COPIED
TEMP2 COpy COMPLETE
15 RECORDS COPIED
TEMP3 COpy COMPLETE
48 RECORDS COPIED
COMMAND (?):

o
4-46

SC34-0940

$COPYUTI

o

CA - Cancel Multiple Copy Commands
To end a copy command while the system is copying modules, press the ATTN key
and type CA.

>

CA

$TEMP3

COpy COMPLETE

XXX RECORDS COPIED

COMMAND(?):

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

COMMAND (?): EN
$COPYUT1 ENDED AT 11:18:30

o

LOG - Log Messages on a Logging Device
The LOG command can only be used within a command data set. (See "Loading
$COPYUTI Using $JOBUTIL" on page 4-37 for the example of the command data
set format.) This command sends messages to the specified logging device. To log
messages, you must use the $JOBUTIL utility or the EDL LOAD instruction.
Example: Following is an example of the LOG command format sending messages

to $SYSLOG.

LOG $SYSLOG

READDS - Read Command Data Set
Use the READDS command to read $COPYUTI commands from a data set.
Create the data set containing the $COPYUTI commands. See "Loading
$COPYUTI Using $JOBUTIL" on page 4-37 to set up the command data set.
Example: The following example shows how to use the READDS command.

COMMAND (?): READDS COMMAND,EDX002

c

or
COMMAND (1): READDS
COMMAND DSNAME . . (name volume) : COMMAND, EDX002
i

Chapter 4. Utilities

4-47

$CPUMON

$CPUMON - Monitor CPU Utilization
Use the $CPUMON utility to monitor the system's CPU utilization. With the
$CPUMON utility, you can determine the processor's peak periods and when the
processor is idle.

o

$CPUMON tracks disk I/O, how many programs the system loads, the number of
times you load $CPUMON and how the system utilizes the processor. $CPUMON
records this data and stores it on disk in a data set. Use the $CPUPRT utility to
print the data that $CPUMON records. See "$CPUPRT ~ Print a CPU Utilization
Report" on page 4-51 for an explanation of how the $CPUPRT utility works.
Once you load this utility, $CPUMON logs the average CPU utilization percentage
at intervals you specify.

$CPUMON Requirements
You must allocate a data set before you can use $CPUMON. The system uses this
data set to store all the statistics $CPUMON collects. See "$DISKUTI ~
Allocate/Delete/List Directory Data" on page 4-139 for information on allocating a
data set. This data set cannot contain extents and must be 50 records in size. This
is usually enough space to record data for one year. You can name the data set
anything you like and it ca,n reside on any volume.
In order to use $CPUMON, you must set the time and date each time you IPL the
system. You must also include timer support when generating the system. For more
information on generating your system, refer to the Installation and System
Generation Guide.

(.~

J

Note: If you attempt to load $CPUMON when $DSKMON or $SIPSYS is active,

the system issues the message "$CPUMON LOAD FAILED - $DSKMON
OR $SIPSYS ACTIVE." You must end $DSKMON or $SIPSYS and then
load $CPUMON.

Loading $CPUMON
Load $CPUMON with the $L operator command or through an EDL LOAD
instruction.
If you want to monitor your CPU continuously, we recommend that you load
$CPUMON through a $INITIAL program. For information on how to create a
$INITIAL program, refer to the Customization Guide.
When you load $CPUMON with the $L command, $CPUMON prompts for the
name of the printer or terminal where you want the CPU utilization percentages
displayed. $CPUMON then prompts you to put the terminal in roll mode. In
roll-screen mode, you do not need to press the enter key each time the screen fills
up.

o
4-48

SC34-0940

$CPUMON

o

You are asked if you want to print the summary log. If you reply Y, you are
prompted for the interval at which to print a summary of the CPU utilization
percentage. The time interval can range from every second to once every eight
hours. If you reply N, you do not receive the summary log. When you reply Y or N
to the prompt, $CPUMON stores the monitored data in the data set you allocated
previously. If you decide later that you want to display the summary log you can
use the> PRINT command. See "$CPUMON Attention Commands" on
page 4-50 for more information on this command.
In the following example, $CPUMON prints the CPU utilization percentage at I
minute intervals for 7 minutes. Then $CPUMON is cancelled. From the time
$CPUMON was activated until II :49:35, the CPU was in use 23 % of the time.
Example:

>

$L $CPUMON

DSNAME (NAME,VOLUME): CPUDATA,USRVOL
LOADING $CPUMON
20P,11:48:33 LP=E400, PART=1
WARNING - CPUDATA NOT PREVIOUSLY USED BY $CPUMON
EXISTING DATA WILL BE DESTROYED - CONTINUE (YIN)? Y
**** CPU MONITOR ****
ATTN NOPRINT - STOP LOG PRINTOUT
ATTN PRINT - START LOG PRINTOUT
ATTN ENDMON - TERMINATE MONITOR

* DEFAULT SETTING

LOG TERMINAL (DEFAULT IS CURRENT TERMINAL):
PUT THE TERMINAL IN ROLL MODE (YIN)? Y
PRINT THE SUMMARY LOG (YIN)? Y
ENTER SUMMARY LOG INTERVAL (DEFAULT = LMIN) - (H.MM.SS):
CPU MONITOR ACTIVATED
11:49:35 $CPUMON : CPU
11:50:35 $CPUMON : CPU
11:51:35 $CPUMON : CPU
11:52:35 $CPUMON : CPU
11 : 53 : 35 $CPUMON CPU
11 : 54: 35 $CPUMON CPU
11:55:35$CPUMON CPU
>

= 23%
= 25%
= 25%
= 25%
= 22%
= 1%
= 0%

ENDMON

$CPUMON ENDED AT 11:56:29

0"
:1

Chapter 4. Utilities

4-49

$CPUMON

$CPUMON Attention Commands
$CPUMON has three attention commands: ENDMON, NOPRINT, and PRINT.
An explanation of these commands follows.

ENDMON - End the $CPUMON Utility
To end the $CPUMON utility, press the attention key, type in ENDMON, and press
the enter key.
Example:

$L $CPUMON CPUDATA,EDX002
LOADING $CPUMON
20P,11:48:33 LP=E400, PART=1

>

**** CPU MONITOR ****
>

ENDMON

l~$_C_PU_M_ON__E_N_DE_D_A_T_l_l_:5_6_:2_9__________________________________~)

NOPRINT - Stop Printing the Summary Log
To stop the system from printing the summary log, press the attention key, type in
NOPRINT, and press enter.

o

Example:
I

1

__NO_P_R_IN_T________________________________________________~j

l~>

PRINT - Resume Printing the Summary Log
To resume printing, press the attention key, type in PRINT, and press the enter key.
$CPUMON prompts you for the interval at which to print a summary log of the
CPU utilization. The time interval can range from every second to once every eight
hours.
Example:

>

PRINT

ENTER SUMMARY LOG INTERVAL (DEFAULT = 1 MIN) -(H.MM.SS): 0.0.30
CPU MONITOR ACTIVATED

o
4-50

SC34-0940

$CPUPRT

o

$CPUPRT - Print a CPU Utilization Report
Use the $CPUPRT utility to print a report containing information about how the
system utilizes the CPU.
$CPUPRT formats and prints the data that $CPUMON records. This data is stored
in a data set you allocate before loading $CPUMON.

Loading $CPUPRT
Load $CPUPRT with the $L operator command. After the system loads
$CPUPRT, it prompts you for the terminal or printer where you want the output
sent. $CPUPRT prompts for the month you want to start printing data. The range
for months runs consecutively from 1-12, with 1 being January and 12 being
December. Then you are prompted for the ending month. This month can be
greater than or equal to the starting month. The month cannot go beyond
December. For example, if your starting month is September, you can print data
until the end of December (12).
>

$L $CPUPRT

DSNAME (NAME, VOLUME): CPUDATA,USRVOL
LOADING $CPUPRT
SP,12:19:11, LP= lS99, PART= 3
ENTER OUTPUT DEVICE (DEFAULT - $SYSPRTR):

o

ENTER STARTING MONTH (1-12): 10
ENTER ENDING MONTH (1-12): 11
'ATTN CA TO CANCEL LISTING
I

ADDITIONAL REPORTS WANTED (YIN)? N
$CPUPRT ENDED AT 15:25:07

c
Chapter 4. Utilities

4-51

$CPUPRT
The following is an example of a CPU utilization report. This report pertains to the
month of October and November and is printed on $SYSPRTR. An explanation of
the report follows the example.
$CPUPRT

.[)ATE
MONITORED.

OCT 25 185
OCT 26 185
OCT 27 '85
OCT 28 185
OCT 31 '85
NOV
1 185

0

..

AVERAGE CPU UTI LIZATtON REPORT

.·IPL.··
·COUNT

ELAPSED .CPU RUN AVERAGE
%>CPU·· .
TIME
TIME
. MINUTES MINUTES UTIL~

1440 40:18:476
1440 39:30:917
144G 11:11:414
1060 11:29:325
920 ·40:01:714
630
8:13:116

2.8
2.7
.7
1.8
4.3
1.3

233048
99566
41724

84969
81526
34605

1a98
1578
523
832
389
161

2
2
a
1
0
1

---------TOTALS

6930 15a:44:962

2.1

575438

4581

6

Report Field Description
Date Monitored
The month, day and year that $CPUMON collected this information.
Elapsed Time Minutes
The total amount of time, in minutes, the monitor is active on a
specific day.

()

CPU Run Time Minutes
The total amount of time in mjnutes, seconds, and milliseconds, the
CPU is busy on a specific day.
Average % CPU Utit.
The average CPU utilization percentage on a specific day.
Disk I/O Count
The total number of EDL initiated disk I/Os that occurred on a
specific day.
Pgm Load Count
The total number of times the system loads programs on a specific day
excluding programs you load with $L operator command.
IPL Count

The total number of times you perform an IPL on the system in one
day. This is also the total number of times $CPUMON was loaded on
a specific day.
Note: If you load (with $L) and cancel $CPUMON, the IPL count is
not accurate. It is accurate if you load $CPUMON through a
$INITIAL program.

o
4-52

SC34-0940

$DASDI

o

$DASDI - Format Disk or Diskette
$DASDI initializes your disks and formats your diskettes.

Loading $DASDI
Load $DASDI with the $L command or option 3.6 of the session manager.
When you load $DASDI, it prompts you for one of the following primary
initialization options:
•
•
•
•
•
•
•
•

Primary
Primary
Primary
Primary
Primary
Primary
Primary
Primary

Option
Option
Option
Option
Option
Option
Option
Option

0I234569-

Create a Stand-Alone Dump/$TRAP Diskette
Diskette Initialization
4962 Disk Initialization
4963 Disk Initialization
4967 Disk Initialization
DDSK Disk Initialization
IDSK Disk Initialization
Exit Initialization.

Notes:

o

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

Primary Option 0 - Create a Stand-Alone Dump/$TRAP Diskette
Primary option 0 uses a 4964, 4965, 4966, or IDSK diskette unit to initialize a
two-sided, single-density, 256-byte sector diskette 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 want to dump more than 512K bytes, you need a stand-alone dump diskette
for every 512K bytes. 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

4-53

$DASDI

> $L $DASDI

"LOADING$DASDI. .... 7P,00:3.4:11, LP.=9DG0,.PJ\RT=.1
DIRECT ACCESSiDEVICE.INIJIALIZATION
D'ISKINITIALIZATIONOPTioNS:
o = CREATE STAND";ALONE DUMP I$TRAP DISKETTE
1 = DISKETtE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 =4963 DISK INITIALIZATION
4 = 49670ISK INITIALIZATION
5 = DDSKOISK INITIALIZATION
6 = lDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 9

o

DO YOU WISH TO. FORMAT 2. DISKETTES (YIN)? Y
DISKETTE INITIALIZATION
DISKETTE TO BE FORMATTED FOR USE WITH STAND-ALONE DUMP
IS DISKETTE A 2-SIDED DISKETTE (YIN)?:

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

92

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

o

FORMATTING COMPLETE
DUMP DISKETTE BUILT
Figure

4-2 (Part 1 of 2). Creating Two Diskettes for a Stand-Alone Dump> 512K.

o
4-54

SC34-0940

$DASDI

o

*** REMOVE THE FIRST DISKETTE AND INSERT THE SECOND DISKETTE ***
PRESS "ENTER" TO CONTINUE OR "PF3" TO EXIT OPTION
DISKETTE TO BE FORMATTED FOR USE WITH STAND-ALONE DUMP
IS DISKETTE A 2-SIDED DISKETTE (YIN)? Y
FORMATTING COMPLETE
DUMP DISKETTE BUILT
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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION:
Figure

4-2 (Part 2 of 2). Creating Two Diskettes for a Stand-Alone Dump> 512K.

o

c
Chapter 4. Utilities

4-55

$DASDI

Primary Option 1 - Diskette Initialization
The $DASDI utility initializes single- and double-sided diskettes. Three formats are
available:

0"
.
,I.'

• Format for use with the Series/I Event Driven Executive
• Format to the IBM Standard for Information Interchange
• Format entire diskette to sector size: 128-, 256-, 512-, or 1024-byte records.
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. 5.25-inch diskettes are available in 256 bytes per sector only.
3. 128 bytes per sector are available only at single density on the 8-inch diskette.
4. 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

BG1184

Figure

4-3. Density and Sector Sizes Available According to Format

Note: For basic exchange copying under 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.

o
4-56

SC34-0940

$DASDI

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.

o

Standard for Information Interchange Format
If you select the IBM Standard for Information Interchange, format cylinder 0
according to that 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-256, 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 $HXUT1, 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

o

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:

Operating Characteristics
After you load $DASDI and choose primary option 1, $DASDI prompts you for the
device address of the diskette drive where the diskette to be formatted is inserted.
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. $DASDloperates on diskettes in slot 1 only; you must insert 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:

WARNING: FORMATTING WILL DESTROY ALL DATA ON THE DISKETTE.
CONTINUE (YIN)?

c
Chapter 4. Utilities

4-57

$DASDI

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:

l

o

FORMATTING COMPLETE

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

l

LOAD $INITDSK (YIN)?

If you want to create a logical volume or establish a directory, respond Y and
the system loads $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:

l

FORMATTING COMPLETE

DAT A consists of all the data tracks on the diskette.
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:

o

lI FORMATTING COMPLETE
$DASDI prompts you as follows:

l

ANOTHER DISKETTE (Y/N)?

If you respond Y, you have the following choices (you should insert another diskette
as required):
Choice 1

SAME DEVICE ADORESS ANO FORMAT (Y/N)?
OEVICEVARIEDOFFLINE

Y

OEVICE I\OORESS22 FOX . FORMAl, . . . OOUBLEOENSITY. 256 BYTES/SECTOR

WARNING:

4-58

SC34-0940

FORrvtArUNG

*******WARNING *'1<**********
THE .01 SKETTE.

WILLOEST~OYALLOATAON

o

$DASDI

Or

o

Choice 2

SAME DEVICE ADDRESS AND FORMAT (YIN)? N
ENTER DISKETTE ADDRESS IN HEX:

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.

C,.

'I

,I

o
Chapter 4. Utilities

4-59

$DASDI

Example 1: Format a double-density diskette on a 4966 for Event Driven Executive.

. ;:;. $L $DASDI

LOADING $DASDI

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

o

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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 1
DISKETTE INITIALIZATION
**********************************************
*
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:

22

ENTER 4966 SLOT NUMBER (I, 2, 3): 1
INITIALIZE FOR USAGE WITH THE IBM EVENT DRIVEN EXECUTIVE (Y/N)? Y
SELECT DENSITY (l=SINGLE, 2=DOUBLE): 2
SELECT SECTOR SIZE (1=256, 2=1024): 1
DEVICE VARIED OFFLINE
DEVICE ADDRESS 22 EDX FORMAT, DOUBLE DENSITY, 256 BYTES/SECTOR
** WARNING **
WARNING: FORMATTING WILL DESTROY ALL DATA ON THE DISKETTE.
IBMEDX VARIED ONLINE

FORMATTING COMPLETE
LOAD $.INITDSK? N
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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 9
$D.ASOI ENDED AT 00:29:30

4-60

SC34-0940

o

$DASDI

o

Example 2: Format a 5.25-inch double-density diskette in a IDSK diskette unit for
Event Driven Executive.

>

$L $DASDI

LOADING $DASDI

7P,00:28:55, LP= 7E00, PART=1

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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 1
DISKETTE INITIALIZATION
**********************************************

*

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

*
*

*
*

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

o

ENTER DISKETTE ADDRESS IN HEX: 61
DEVICE VARIED OFFLINE
DEVICE ADDRESS 61 EDX FORMAT, DOUBLE DENSITY, 256 BYTES/SECTOR
WARNING : FORMATTING WILL DESTROY ALL DATA ON THE DISKETTE
CONTINUE (YIN)? Y
IBMEDX VARIED ONLINE
FORMATTING COMPLETE
LOAD $INITDSK (YIN)? N
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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 9
$DASDI ENDED AT 00:29:30

o
Chapter 4. Utilities

4-61

$DASDI

Example 3: Format diskette on a 4964 to IBM Standard for Information

Interchange.

ENTER DISKETTE ADDRESS IN HEX: 92

o

INITIALIZE FOR USAGE WITH THE EVENT DRIVEN EXECUTIVE (YIN)? N
. INITIALIZE TO It3M STANDARDS FOR INFORMATIClN·INTERCHANGE{YINJ?
"".

".... ' ..' .">, . ~. . . '" ,"

.

.,.'....

.".>".: .... '.,.:............:.:.

":<"

"........:;..

:>

y

NOTE: EDX·SOPPORl' .•. FOR I.BM. STANDARDS FOR·. ·INFORMATION. INTERC~A~GE
DISKETTES IS LIMITED TO THE DOCUMENTED EDX EXCHANGE UTILITIES
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 **
WARNING: FORMATTING WILL DESTROY ALL DATA ON THE DISKETTE.
CONTINUE (YIN)?
IBMEDX VARIED ONLINE
FORMATTING COMPLETE
ANOTHER DISKETTE(Y/N)? N
$DASDI ENDED AT 00:44:30

Example 4: Format diskette on a 4966 to 256-byte records (double-density).

rENTER OlSKEnE AQDRESS IN HEX: •. 22,1

INITIALIZE FOR USAGE WITH THE EVENT DRIVEN EXECUTIVE? N
INITIALIZE TO STANDARDS FOR INFORMATION INTERCHANGE (YIN)? N
SELECT DENSITY (1=SINGLE,2=DOUBLE): 2
SELECT SECTOR SIZE (1=256, 2=512, 3=1024): 1
DEVICE VARIED OFFLINE
DEVICE. ADDRESS 22, NONSTANDARD. '.' DOUBLE DENSITY, . . 25.6 BYTES/SECTOR
**WARNING**
WARNING: FORMATTING WILL DESTROYALLDATA.ONTHE DISKETTE.
CONTINUE (7).:

o
4.. 62

SC34-0940

$DASDI

o

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 EDX. For a new disk
device, you should perform initialization before you install the EDX 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) - assign alternate sectors without destroying
the data currently on the disk.

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 bu~fer 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 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 o.
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 I 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.

Chapter 4. Utilities

4-63

$DASDI

The storage capacity and number of alternate sectors available on cylinder 1 depends
on the 4962 model.

Model

Storage Capacity
(in bytes)
Moveable Heads

1

9,308,160

IF

9,308,160

2

9,308,160

2F

9,308,160

3

13,962,240

-

180

4

13,962,240

-

180

Fixed Heads
-

122,880
-

122,880

o

Alternate
Sectors
120
120
120
120

Example 1: Primary initialization of a 4962 disk.
( >

$L'$DASDI

LOADING $DASDI

7P,00:28:55, LP=7E0e. PART=1

DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
e = 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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 2

o

4962 DISK INITIALIZATION
*******************************************************

*
*

*

WARNING
NO USER PROGRAM SHOULD BE RUNNING
WHILE PERFORMING DISK INITIALIZATION

*
*
*

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

DISK INITIALIZATION STARTED
ENTER DISK DEVICE ADDRESS-NN (HEX): 3
ENTER INITIALIZATION TYPE - PI OR AS: PI
ENTER INITIALIZATION MODE
REMOVE PREVIOUS ... DEFECTIVE SECTOR FLAGS (YIN)? N

o
4-64

SC34-0940

$DASDI

In the previous example, $DASDI prompts for the following:

o

• Disk or diskette primary initialization option: I 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 want 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:

l

ALTERNATE SECTOR ASSIGNED FOR ccchss

Note: ccchss = the address of the alternate sector assigned.

c
Chapter 4. Utilities

4-65

$DASDI

Example 2: Alternate sector assignment on a 4962 disk.

o

$L $DASDI

LOADING $DASDI

7P.aa:28:55"LP=7Eaa, PART=1

DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
a =.CREATESTAND",ALONEDUMP/$TRAP DISKETTE
1 = DISKETTE .INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963 DISK INITIALIZATION
4 = 4967 DISK INITIALIZATION
5 = ODSK DISK INITIALIZATION
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 2
4962 DISK INITIALIZATION
*******************************************************

WARNING
NO USER PROGRAM SHOULD 8E RUNNING
WHILE PERFORMING DISK INITIALIZATION

*
*
*

*
*

*

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

DISK INITIALIZATION STARTED
ENTER DISK DEVICE ADDRESS - NN (HEX):

93

ENTER INITIALIZATION TYPE - PI OR AS: AS
ALTERNATE SECTOR MODE
ENTER SECTOR ADDRESS - CCCHSS

()

$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 FOR CCCHSS
DISK INITIALIZATION COMPLETE
$DASOI

ENDED AT 00:31:15

o
4-66

SC34-0940

$DASDI

o

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
alterna te 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.

e

ll;"

)

.

The storage capacity and the number of alternate sectors for each 4963 model
follows:
Storage Capacity
(in bytes)

Alternate
Sectors

23A,B

23,592,960

358

29A,B

29,491,200

358

58A,B

58,982,400

358

64A,B

64,880,640

358

131,072

358

Model

Moveable head:

Fixed-head:
23A,23B
58A, 58B only

C

"··I.

I

r ••

I

Chapter 4. Utilities

4-67

$DASDI

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:
• 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: Loading 4963 disk initialization.

>

$l $DASDI

LOADING $DASDI

7P.00:28:55, LP=7E00. PART=!

DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
o = CREATE STAND-ALONE DUMP/$TRAP DISKETTE
! = DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963 DISK INITIALIZATION
4 = 4967 DISK INITIALIZATION,
5 = DDSK DISK INITIALIZATION
6 =IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 3
4963 DISK INITIALIZATION
*******************************************************

*
*

*

WARNING
NO USER PROGRAM SHOULD BE RUNNING
WUTI C
'·UIJ.I...L..

nco~nOUTM~
11..1\1 VI\I'I.t.nu

nTCV TMTTTAI T7ATTnM
IJJ,. ...H\.

.1..,.1.1 .LnLJ.L..nl .&.vn

*

o

*
*

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

DISK INITIALIZATION STARTED
ENTER DISK DEVICEADDRESS-NN (HEX):

48

THE AVAILABLE OPTIONS ARE:
1 - IDENTIFY DEFECTIVESECTOR(S)
2- RESTORE.DEFECTIVESECTOR(S)
3 .-MAP DEFECTIVE SECTOR(S)
4~ EXIT UTILITY
ENTER OPTION:

,~--------------------------------------------------------------------/

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
4-68

SC34-0940

$DASDI

o

Example 2: Obtaining a map of defective 4963 sectors.

ENTER OPTION:
DEFECT
0000101
0020114
0340401

3

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 OPTION:

1

ENTER CCCHHSS OF SECTOR TO BE MARKED DEFECTIVE OR END:
9919295

ENTER IV I TO ASSIGN ALTERNATE, ANYTHING ELSE TO CANCEL: Y
3580101 ASSIGNED ALTERNATE OF 0010205
ENTER CCCHHSS OF SECTOR TO BE MARKED DEFECTIVE OR END:

END

ENTER OPTION:

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
head
sector
* depending on model

o - 357
o - 4 (5,10,11)*
0-63

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:

o

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

Chapter 4. Utilities

4-69

$DASDI

Example 4: Restoring a previously assigned alternate sector.

o
.

.• 'ENTER

,

'.

':

..

,

,.'

,

Cc'CHH~S •OF . SECJOFtTO;SE. RESiORED,QR'ENb':

ENTER OPT I ON: 4
DISK INITIALIZATION ENOED
$14963 . 'ENDEDAT0H01: 27

Note: The system always refers to the fixed-head area on the 4963 as cylinder 511.
This cylinder contains eight heads (16 - 23) and 64 sectors (0 - 63).

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.

O'
~

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

Model

Storage Capacity
(in bytes)

Alternate
Sectors

2CA

200,202,240

7,980

2CB

200,202,240

7,980

3CA

358,959,104

14,336

3CB

358,959,104

14,336

o
4-70

SC34-0940

$DASDI

o

Example 1: Loading 4967 disk initialization.

>

$l $DASDI

LOADING $DASDI

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

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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 4
4967 DISK INITIALIZATION
*******************************************************

*
*
*

WARNING
NO USER PROGRAM SHOULD BE RUNNING
WHILE PERFORMING DISK INITIALIZATION

*
*

*

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

ENTER DEVICE ADDRESS OF DISK (HEX):
4967 UTILITY PROGRAM

972

OPTION MENU
o VERIFY ENTIRE DISK
1 VERIFY CYLINDER BY SELECTED RBA
2 REFRESH DATA
3 ASSIGN ALTERNATE SECTOR
4 REMOVE ALTERNATE SECTOR ASSIGNMENT
5 LIST ALL USER ASSIGNED ALTERNATES
6 WRITE ONE SECTOR 10
7 EXIT
SELECT ONE OPTION:

Your option entry must be one of the eight secondary options listed in the command
menu. Primary option 4 ends when you enter secondary option 7. Once you return
to the primary menu, $DASDI ends when you enter primary option 9.

c
Chapter 4. Utilities

4-71

$DASDI

Secondary Option 0 - Verify Entire Disk
Use secondary option 0 to identify any defective RBAs.on the entire 4967 disk. The
system reads and verifies all data fields and associated sector IDs on the disk. If it
finds no errors, $DASDI issues the following message:

0---

SELECT ONE OPTION: a
DISK BEING VERIFIED, ID'S AND DATA
NO SECTOR OR DATA ERRORS

When you use secondary option 0, no errors are expected to occur. However, if the
system detects errors, you should correct them.
If the system detects errors, $DASDI displays a table showing the relative block
address, the sector ID of the RBA, the head and cylinder, and a comment describing
the error. Following the table, $DASDI displays the recommended ways to correct
the errors.

RBA

ID-FG/SEC

HD/CYL

PHY/BSD

000000
0002AE
0BEED9
0BEEDA
0BEED8
0BEEDB
0BEEDC
0BEEDD
OBF189
0BF18A

W00
W00

0400
0400
063A
0A3A
023A
BBBB
9999
163A
BBBB
BBBB

03FF
03FF
03FF
03FF
03FF
BBBB
03FF
03FF
BBBB
BBBB

0001
0002
0000
BBBB
0004
0e06
BBBB
BBBB

NRF-ID NOT VALID
NRF-ID NOT VALID
DATA ERROR
SOFT ERR-ECC CORRECTED
DATA ERR-ECC INVERTED
NRF- 10 NOT READABLE
NRF- 10 NOT VALID
SOFT ERROR RETRY
NRF- 10 NOT READABLE
NRF- 10 NOT READABLE

0

UNREADABLE 10- ASSIGN AN ALTERNATE- USE ONLY ONE RBA PER SECTOR
DATA ERROR- REFRESH RECORD (OPTION 2). IF ERROR
PERSISTS, ASSIGN AN ALTERNATE.
SOFT ERROR- ECC CORRECT- REFRESH RECORD (OPTION 2).
IF ERROR PERSISTS, ASSIGN AN ALTERNATE.
ECC INVERTED- REFRESH RECORD (OPTION 2).
IF ERROR PERSISTS, ASSIGN AN ALTERNATE.
INVALID ID-WRITE SECTOR ID(OPTION 6). IF POSSIBLE, DATA
WILL BE RECOVERED.

L~__________~__~______~
This table shows flagged or bad sectors that exist on the disk.
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
for models 2CA and 2CB and 11 minutes for models 3CA and 3CB, since it is
reading and writing every sector on the entire disk.
If you suspect you have a defective RBA (as indicated by disk error messages), you

may want to look at your $SYSLOG (cycle steal status) to find which RBA is
causing the disk errors. If you do this, then use secondary option 1 to verify that
particular RBA.

4-72

SC34-0940

0-

$DASDI

o

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 it finds no errors, $DASDI issues the following message:

SELECT ONE OPTION: 1
ENTER RELATIVE BLOCK ADDRESS (RBA)-(HEX):
CYL BEING VERIFIEO lOIS AND DATA
NO SECTOR OR DATA ERRORS

12345

t

If $DASDI finds an error, it displays a table showing the relative block address, the
sector ID of the RBA, the head and cylinder, and a comment describing the error.
Following the table, $DASDI displays the recommended ways to correct the errors.

C'\

RBA

ID-FG/SEC

HD/CYL

PHY/BSD

000000
0002AE
0BEED9
0BEEDA
0BEED8
0BEEDB
0BEEOC
0BEEDD
0BFl89
0BF18A

1000
1000
0001
0002
0000
BBBB
0004
0006
BBBB
BBBB

0400
0400
063A
0A3A
023A
BBBB
9999
163A
BBBB
BBBB

03FF
03FF
03FF
03FF
03FF
BBBB
03FF
03FF
BBBB
BBBB

NRF-ID NOT VALID
NRF-ID NOT VALID
DATA ERROR
SOFT ERR-ECC CORRECTED
DATA ERR-ECC INVERTED
NRF- 10 NOT READABLE
NRF- 10 NOT VALID
SOFT ERROR RETRY
NRF- 10 NOT READABLE
NRF- ID NOT READABLE

I,

~I

UNREADABLE ID- ASSIGN AN ALTERNATE- USLONLY,ONERBA PER SECTOR·
DATA ERROR- REFRESH RECORD (OPTION 2) . IF ERROR PERSisTS, ASSIGN
AN ALTERNATE.
SOFT ERROR- ECC CORRECT- REFRESH RECORD (OPTION 2).
ASSIGN AN ALTERNATE.
ECC INVERTED- REFRESH RECORD (OPTION 2).
AN ALTERNATE.
INVALID ID-WRITE SECTOR ID (OPTION6j.
RECOVERED.

IF ERROR PERSISTS,

IF ERROR PERSISTS, ASSIGN
lFPOSSIBLE, DATA WILL BE

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

o
Chapter 4. Utilities

4-73

$DASDI

Secondary Option 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).

0
----.

Notes:

Eee errors, if you write back the RBA without correcting it, the
inverted Eee error disappears. However, the data could still be bad. Be sure to
verify the data.
2. For Eee corrected errors, you need not verify the data before writing it back to
disk.
1. For inverted

Example:

SELECT ONE OPTION: 2
ENTER RELATIVE BLOCK ADDRESS (RBA)-(HEX):

12345

At this point, $DASDI reads the selected RBA and displays the 256 bytes, in
eight-words-per-line format, contained in the RBA.
0000:
0010:
0020:
0030:
0040:
0050:
0060:
0070:
0080:
0090:
00A0:
00B0:
00C0:
0000:
00E0:
00F0:

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

0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 00000000
0000 0000 0000
0000 0000 0000
0000 0000 0000
00000000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
00000000 0000
0000 0000 0000

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

0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 00000000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
0000 0000 0000
00000000 0000
0000 0000 0000
0000 0000 0000

$DASDI then prompts you as follows:

l PATCH THE RBA IN STORAGE (YIN)?

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

l.ENTER THE ADDRESS, COUNT:

4-74

SC34-0940

Fe, 1

o

$DASDI

o

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

l

00F0: aaaa

. DATA: 5

$DASDI displays the selected RBA showing the selected address and changed data.
0000:
0010:
0020:
0030:
0040:
0050:
0060:
0070:
0080:
0090:
00A0:
00B0:
00C0:
0000:
00EO:
99F9:

o

0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
00eO
0000
9995

0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
00e0
0000
0000

0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0ElOO

p000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
eooo
0000
0000

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

00000000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000

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

$DASDI then prompts if you want to patch another location in the same RBA.

l

ANOTHER PATCH (YIN)?

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

WRITE THE RBA TO DISK (YIN)?
DATA RECORD WRITTEN

V

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

l

o

ANOTHER PATCH (YIN)?

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.

Chapter 4. Utilities

4-75

$DASDI

Secondary Option 3 - Assign Alternate Sector
Use secondary option 3 to assign an alternate sector for a selected RBA.
Example:

I

o

SELECT ONE OPTION: 3
ENTER RELATIVE BLOCK ADDRESS (RBA) -(HEX):···· 12345
ALTERNATE ASSIGNED

Secondary Option 4 - Remove Alternate Sector Assignment
Use secondary option 4 to remove an alternate sector assignment that you assigned
using secondary option 3.
Example:

SELECT ONE OPTION: 4
ENTER.RELATIVE BLOCK ADDRESS (RBA)~(HEX):
ALTERNATE UNASSIGNED

12345

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

o

following 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:

SELEcrONEOPTt'ON:

5

QISKBEING SEARCHED FOR USER D.EFECTS
USER ASSIGNEQ DEfECTIVE SECTORS;
.
RBA
RBAID=FG/SEC. HD/CYLPHYjBSD
·~1234:!5G125r'3
1100 ... G436
3BFF

o
4-76

SC34-0940

$DASDI

o

Secondary Option 6 - Write One Sector ID
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:

SELECT ONE OPTION: 6
ENTER RELATIVE BLOCK ADDRESS (RBA)-(HEX):
IOIIOI S WRITTEN

12345

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

USER-ASSIGNED ALTERNATE SELECTED 10 WILL NOT BE WRITTEN.
ASSIGN AN ALTERNATE FOR SELECTED RBA.
t

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

j

l

SA CYL SPECIFIED
_I_D_/I_D_I_S_N_OT__
WR_I_T_TE_N____________________________________________

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

RBA- XXXXX SECTOR WRITTEN. DATA ERROR.
AN INVERTED ECC HAS BEEN WRITTEN.

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
Chapter 4. Utilities

4-77

$DASDI

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.

0'
"

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:

$L $DASDI
LOADING $DASDI

>

7P,00:34:11, LP=9D00. PART=1

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 = ODSK DISK INITIALIZATION
6 = IOSK DISK" INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 5

o

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

Model

Storage Capacity
(in bytes)

Alternate
Sectors

30D

30,821,888

3,544

60D

61,668,864

7,088

o
4-78

SC34-0940

$DASDI

o

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.

DDSK DISK INITIALIZATION
***************************************************

*
*
*

WARNING
NO USER PROGRAM SHOULD BE RUNNING
WHILE PERFORMING DISK INITIALIZATION

*

*
*

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

ENTER DEVICE ADDRESS OF DISK (HEX): 44
DDSK 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 ASSIGNED ALTERNATE SECTORS
6 EXIT
SELECT ONE OPTION:

o

Select one of the secondary options listed above. A description of each secondary
option follows.

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:

SELECT ONE OPTION:

a

ENTIRE DISK BEING VERIFIED, IDS AND DATA
NO SECTOR OR DATA 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.

o
Chapter 4. Utilities

4-79

$DASDI

Following the error description, $DASDI displays the recommended way to correct
each error.

ENTIRE DISK BEINGVERIFIED,IDS AND .. DATA
ERROR . SECTORS
RBA
lO;..FG/SEC
HD/CYt
01222
11111
11111
12346

BEED8

3244
3244

SSll
ElISl

3244
3645

. 0101

ssse

0DS2
S23A

o

NRF~ JD NOT VALIO
NRf ... IDNOT.READABLE
DAtA ERROR
SOFT ERR - ECC CORRECTED
DATA ERR - ECC INVERTED

RECOMMENDED WAY TO CORRECT LISTED· ERRORS:
NRF - ID NOT VALID: NO RECORD FOUND- ID NOT READABLE - ASSIGN
AN ALTERNATE.
NRF - 10 NOT READABLE: NO RECORD FOUND - 10 NOT READABLE - ASSIGN
AN ALTERNATE.
DATA ERROR: READ .AND CORRECT RECORD. USE OPTION 2 TO REFRESH
RECORD. IF ERROR PERSISTS. ASSIGN AN ALTERNATE.
DATA ERROR: CORRECTED ECC. USE OPTION 2 TO REFRESH RECORD.
IF ERROR PERSISTS, ASSIGN AN ALTERNATE.
DATA ERROR: INVERTED ECC. USE OPTION 2 TO REFRESH RECORD.
IF ERROR PERSISTS. ASSIGN 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.

0

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.

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:

SELECT ONE OPTION: 1
ENtER RELATIVE BLOCK· ADDRESS (RBA) 5 HEXDIGlTS (RRRRR): 12456
SELECTED CYLINDER BEING VERIFIED, IDS AND DATA
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.

o
4-80

SC34-0940

$DASDI

o

ERROR SECTORS
RBA ID-FG/SEC
11111

3645

HD/CYL
0D02

DATA ERR-ECC INVERTED

RECOMMENDED WAY TO CORRECT LISTED ERRORS:
DATA ERROR: INVERTED ECC
USE OPTION 2 TO REFRESH RECORD. IF ERROR

PERSISTS~

ASSIGN 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 Eee errors, if you write the RBA back without correcting the
error, the inverted Eee error disappears. However, the data could still be bad.
Be sure to verify the data.
2. For Eee corrected errors, you do not need to verify the data before writing it
back to disk.

C,

Example:

'!
",I

SELECT ONE OPTION: 2
ENTER RELATIVE BLOCK ADDRESS (RBA)-5HEX DIGITS (RRRRR): 12346

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.

o

0000:
0010:
0020:
0030:
Oe4e:
Oe50:
0060:
0070:
0080:
00ge:
00A0:
08B0:
00C0:
0000:
00E0:
00F0:

0000 ee00000e 00ee 0000 e000 eOe0e00e
0000 0000 00e0 0000 0000e000·e00000e0
0000 e000 0000 0(;)00 0e00 0000···0000·· 00e0
00000e0e 0000000e 0000 0e0000000e00
0000 e000 0000 0000· 0000 0000 0000 oooe
000e 0e00 ee00 Oee0 oooe ee80 0000 ee8e
00000800 01300 0000 0000 00e0 00130 8000
00013 0e00 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
00000eOO 0000 00000000 800e 0000 0e00
0e00 0e00 0000 e000 0000 000e 0000 0080
0e00 0000 00e0 0000 00e0 0000 0000 00e0
0000 0e00 0000 0000 0000 0000 0000 0008
0000 0000 0000 0000 0000 0000 0000 0000
00eO oeoo 0080 0080 0000 0000 0080 0000
0000 0000 0000 0000 eooo 0000 0000 0000

Chapter 4. Utilities

4-81

$DASDI

$DASDI then prompts you as follows:

o

lPATCH THE RBJiIN STORAGE?

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

l ENTER ADDRESS,COUNT: F9,!

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

I 00F0:

\. DATA:

aeee
5

$DASDI displays the selected RBA showing the selected address and changed data.
0000:
0010:
0020:
0030:·
0040:
0050:
0060:
0070:
0080:
0090:
00A0:
00B0:
00e0:
0000:
.··00£0:

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

0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
0000 0000 00000000 0000
0000 00000000 0000 0000
0000 0000 0000 0008 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
00000000 0000 0000 0000
00000000 0000 0000 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
SeFe:. eees .0080 0000 0000 0000 ··0000

0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
00000000

$DASDI then prompts if you want to patch another area.

l

ANOTHER PATCH?

o
4-82

SC34-0940

$DASDI

o

If you respond Y, $DASDI issues the ENTER ADDRESS,CQUNT prompt. If you
respond N, $DASDI asks if you want to write the patched RBA to disk.

l

WRITE THE RBA TO DISK?

If you respond Y, $DASDI writes the changed RBA back to the disk and prompts if
you want to read another RBA.

WRITE THE RBA TO DISK? Y
WRITE DATA RECORD COMPLETED
READ ANOTHER RBA?

If you respond N, $DASDI asks if you want to read another RBA. 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 DDSK Disk Initialization menu.

Secondary Option 3 - Assign Alternate Sector

o

Use secondary option 3 to assign alternate sectors for a selected RBA. When
assigning alternate sectors, you should be familiar with the layout of the disk. Each
track contains 68 sectors (RBAs) for your use plus up to two sectors for use as
alternates. The alternate sectors on the same track are called primary alternate 1
and primary alternate 2.
When an RBA requires an alternate assignment, $DASDI attempts to assign primary
alternate 1. If primary alternate 1 has already been assigned by the same RBA or
another RBA, $DASDI attempts to assign primary alternate 2. If primary alternate
2 is also unavailable, $DASDI assigns a secondary alternate sector. The secondary
alternate sector is always located on a track different than the track where primary
alternates 1 and 2 are located.
If a secondary alternate goes bad, you can assign another secondary alternate.
However, using secondary option 4, you can unassign only the last secondary
alternate that you assigned.
Example:

ENTER OPTION: 3
ENTER RELATIVE BLOCK ADDRESS (RBA)~ (HEX)-5 DIGITS (RRRRR).: 12345
ALTERNATE ASSIGNMENT COMPLETED

o
Chapter 4. Utilities

4-83

$DASDI

Secondary Option 4 - Unassign Secondary Alternate Sector
Use secondary option 4 to unassign the last secondary alternate sector that you
assigned with secondary option 3. You can only unassign a secondary alternate.
Example:

o

ENTER OPTION: 4
, ENTER RELATIVE BLOCK ADDRESS (RBA) - (HEX) 5 DIGITS (RRRRR):
ALTERNATE UNASSIGNMENT COMPLETED

If the RBA you specified is not a secondary alternate sector, $DASDI issues the
following prompt:

NO USER SECONDARY ALTERNATE FOUND
ALTERNATE UNASSIGNMENT NOT COMPLETED

Secondary Option 5 - List All User-Assigned Alternate Sectors
Use secondary option 5 to display a list of alternate sectors you assigned. $DASDI
issues a listing of all the primary and secondary alternates assigned.
Example:

SELECT ONE OPTION: 5
USER ASSIGNED ALTERNATE SECTORS
RBA
ID-FG/SEC HD/CYL
01222
01222
11111
11111
11111
12346
12346

3244
3245
3244
3245
3645
3244
3245

0011
8011
8101
8101
OD02
0112
0112

PRIMARY ALTERNATE 1
PRIMARY ALTERNATE 2
PRIMARY ALTERNATE 1
PRIMARY ALTERNATE 2
SECONDARY ALTERNATE
PRIMARY ALTERNATE 1
PRIMARY ALTERNATE 2

The ID-FG/SEC column contains two bytes. The first byte in this column is a flag
byte which indicates the condition of the sector's surface. The second byte is a
sector byte which is the hexadecimal representation of the alternate sector assigned.
For a description of the flag and sector bytes, refer to one of the following hardware
description manuals:
• IBM Series/l 4952 Processor Model 30D Processor Features Description,
GA34-0251
• IBM Series/l 4954 Processor Model 30D and Model 60D and Processor Features
Description, GA34-0252
• IBM Series/l 4956 Processor Model 30D and Model 60D and Processor Features
Description, GA34-0253
• IBM Series/l 4965 Storage and I/O Expansion Unit Description, GA34-0254.

4-84

SC34-0940

0

$DASDI

Secondary Option 6 - Exit
Use secondary option 6 to end DDSK initialization (primary option 5) and return to
the primary option menu of $DASDI. Primary option 9 ends the $DASDI utility.

Primary Option 6 - IDSK Disk Initialization
The $DASDI utility identifies and restores defective sectors on the IDSK disk. For
these devices, the system identifies disk sector addresses by relative block address
(RBA) rather than by cylinder, track, and sector. The IDSK disk has a storage
capacity of 40,552,960 bytes and contains 5,110 alternate sectors.
With primary option 6, you can verify all data fields and associated IDs on the
entire disk. You can also assign an alternate sector for a specified RBA.
Enter a 6 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 6.
Example 1: Loading IDSK disk initialization

$L $DASDI
LOADING $DASDI

>

o

7P t 00:34:11, LP=9D00, PART=1

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
6 = IDSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 6
IDSK DISK INITIALIZATION
***************************************************
*
". '. WARNING
*

NO .• USER·~ROGRAMSHOULD BE RUNNING
WHII£PERFORMING· . DISK INITIALIZATION····.·

*

ENTER DEVICE ADDRESS OF DISK (HEX) : 69
THE· AVAILABLE QPTIONSARE:
o VERIFYE.IiTIRE DISK
1 ASSIGN ALTERNATE·. SECTOR·
4· REFRESBOATA
.7. EXIT"~:

SEtECT ONE OPTION:

o

Select one of the four secondary options. A description of each secondary option
follows.

Chapter 4. Utilities

4-85

$DASDI

Secondary Option 0 - Verify Entire Disk
Use secondary option 0 to identify any defective RBAs on the entire IDSK disk.
T$DheAsSYDstIemfj rdeads and
all dahta
associated sector IDs on the disk. If
m s no errors, It Issues t e 10 owmg message:

veri.fi~s

SELECT ONE OPTION:

~elilds ~nd

0

a

ENTIRE DISK BEING VERIFIED

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.

ENTIRE DISK BEING VERIFIED, IDS AND DATA
ERROR SECTORS
RBA
ID-FG/SECHD/CYL
·01222
11111
11111

12346
21356

3244
3244
3244
3645

0011

0000

023A

0101
0101
0002

NRF -10 NOT VALID
NRF ... ID NOT READABLE
DATA ERROR
SOFT ERR - ECC CORRECTED
DATA ERR - ECC INVERTED

RECOMMENDED WAY TO CORRECT LISTED ERRORS:
NRF - 10 NOT ~ALID: NO RECORD FOUND - 10 NOT READABLE - ASSIGN
AN ALTERNATE~
NRF - 10 NOT READABLE: NO RECORD FOUND - 10 NOT READABLE - ASSIGN
AN ALTERNATE.
DATA ERROR: READ AND CORRECT RECORD. ASSIGN AN ALTERNATE.
DATA ERROR: CORRECTED ECC. ASSIGN AN ALTERNATE.
DATA ERROR: INVERTED ECC. ASSIGN 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.

o
4-86

SC34-0940

$DASDI

o

Secondary Option 1 - Assign Alternate Sector
Use secondary option 1 to assign alternate sectors for a selected RBA. When
assigning alternate sectors, you should be familiar with the layout of the disk. Each
track contains 31 sectors (RBAs) for your use plus one sector to use as an alternate.
Example:

ENTER OPTION: 1
ENTER RELATIVE BLOCK ADDRESS (RBA)-(HEX) 5 DIGITS (RRRRR):
ALTERNATE ASSIGNMENT COMPLETED

12345

Secondary Option 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 1).
Notes:
1. For inverted Eee errors, if you write back the RBA without correcting it, the

o

inverted Eee error disappears. However, the data could still be bad. Be sure to
verify the data.
2. For Eee corrected errors, you need not verify the data before writing it back to
disk.
Example:

SELECT ONE OPTION: 2
ENTER RELATIVE BLOCK ADDRESS (RBA)-(HEX):

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

0000:0000 0000 0000 0000 0000 00000000 0000
0010: 0000 00000000 0000 0000 0000 0000 0000
0020: 0000 000000000000 0000 0000 0000 0000
0030: 0000 00000000 0000 0000 0000 0000 0000
0040: 0000 0000,0000 0000 0000 0000 0000 0000
0050: 00000000'00000000 0000 0000 0000 0000
0060:0000'0000 00000000 0000 0000 0000 0000
0070: 00000000 0000 0000 0000 0000 00000000
0080:0000 00000000 00000000 0000 00000000
0090: 0000 0900 0900 0000 0000 0000 0000 0000
00A0: 0009 0900 0000 0900 0000 0000 0000 0000
00B0: 0000 0000 0090 9000 0000 009000009000
00C0:0000 0000 9000 000000000000 00000000
0000: (3000 00000000 00000000000000000000
00E0: 0000 0000 0000 0000 0000 0000'0000 0000
00FO; 0000 '00000000 0000 ,0,00000000000(3000

Chapter 4. Utilities

4-87

$DASDI

$DASDI then prompts you as follows:

l

PATCH THERBA IN

STORAG~

()

(YIN)?

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

words (count) of the patch:

l

ENTER

T~E ADDRESS. COUNT:

Fe.l

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

lOOFO:

8088

DATA: 5

I

$DASDI displays the selected RBA showing the selected address and changed data.
0000:
0010:
0020:
0030:
0040:
0050:
0060:
0070:
0080:
0090:
00A0:
00BO:
00eO:
0000:
00E0:
99F9:

0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
00000000
0000 0000
9995 0000

0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000.000000000000
0000 0000 0000 0000
0000 0000 0000 0000

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

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

$DASDI then prompts if you want to patch another location in the same RBA.

l

ANOTHER PATCH (YIN)?

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

:WRIT.E THERBA TO DISK (YIN)? Y
DATA RECORD WRITTEN

4-88

SC34-0940

o

$DASDI

o

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

l

ANOTHER PATCH (YIN)?

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 IDSK Disk Initialization secondary menu.

Secondary Option 7 - Exit
Use secondary option 7 to end IDSK initialization (primary option 6) and return to
the primary option menu of $DASDI. Primary option 9 ends the $DASDI utility.

Primary Option 9 - Exit Initialization
Use primary option 9 to end the $DASDI utility.
>

$L $DASDI

LOADING $DASDI

c

7P,00:34:11, LP=9D00, 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
6 = IOSK DISK INITIALIZATION
9 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 9
$DASDI ENDED AT 01:12:29

o
Chapter 4. Utilities

4-89

$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:
• 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 can stop program execution after the system
executes each in~truction within a trace range. You can 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
stopped currently.
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.
Notes:
1. If you use the EDL Accelerator Custom Feature, RPQ D02723, you must end
$DEBUG as soon as you are finished debugging your program. $DEBUG
disables the Accelerator Custom Feature. As soon as you end $DEBUG, the
EDL Accelerator resumes processing.
2. If $DEBUG is running on a terminal, you cannot ENQT that terminal from a
program unless it is the program you are debugging.
3. If the program you are going to debug has more than one task, $DEBUG
requires an additional data area in the partition where $DEBUG is loaded. The
size of the data area is 138 bytes for each task in the program (not including the
main task). If the system cannot obtain this storage in $DEBUG's partition, it
will not load $DEBUG. When you end $DEBUG, the system releases the
storage.

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 load separate copies of $DEBUG concurrently if the system
has sufficient storage available.
• You can set breakpoints and trace ranges in the Series/1 assembler language as
well as in Event Driven Language instructions.
• The system automatically obtains the task names from the program you are
testing.

4-90

SC34-0940

o

$DEBUG

• You can display and modify task registers #1 and #2.

o

• You can display and modify hardware registers RO through R 7 and the IAR.
• You can display and modify the task return code words.
• 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 (or equivalent)
terminal in STATIC or ROLL screen mode.
• You can list breakpoints or trace ranges specified during a debug session.

o

• $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 $SIASM, 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, refer to the Language
Programming Guide.

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

> $l $DEBUG

LOADING$OEBUG

~1P~09:37:17.

LP=C200, PART=1

o
Chapter 4. Utilities

4-91

$DEBUG

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

'

."

o

.,~

JjR(iGBA~;{N~ME:, VOLUME):. OBUGDEMO, EOX992

The program that you are debugging does not have to run in the same partition
where the system loaded $DEBUG, but if the program has more than one task,
$DEBUG requires an additional data area in the partition where you 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. (You may enter the partition number and terminal name on
the same line as the program name if you prefer.)

PARTITION (DEFAULT IS CURRENT PARTITION): 3
TERMINAL NAME (DEFAULT IS CURRENT TERMINAL):

$SYSLOG

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 can
specify 0 as a partition number to tell $DEBUG to load your program in the first
available partition. In this case, $DEBUG will not look to see if your program is
already in storage.
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
displaysthe load point of the program as follows:

LOADING DBUGDEMO

4P,G9:1G:28, LP= 2GGG,PART=

~

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:

l

ALREADY ACTIVE ATS2ea 56lle SAee

J

You have the option of requesting a fresh copy of the program or specifying which
copy of the program you wish to debug.

DO YOU WANT A NEW COpy TO BE LOADED (Y/N)?~

o
4-92

SC34-0940

$DEBUG

o

If you respond Y, $DEBUG loads a new copy of the program.

LOADING DBUGDEMO

4P, 09:38:02, LP= 5E00, PART=3

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

l~P_R_OG_R_A_M_L_OA_D__PO_I_N_T:__5_6_0_0______________________________________~j
$DEBUG Commands
To display the $DEBUG commands at your terminal, press the attention key and
enter the HELP command as follows:
> HElP

o

HELP
WHERE
LIST
PATCH
QUALIFY
AT
OFF
GO
POST
PRINT
BP
GOTO
CLOSE
END

~

-

LIST DEBUG COMMANDS
DISPLAY TASK STATUS
DISPLAY STORAGE OR REGISTERS
MODIFY STORAGE OR REGISTERS
MODIFY BASE ADDR
ESTABLISH BREAKPOINTS
REMOVE BREAKPOINTS
START TASK PROCESSING
POST EVENT OR PROCESS INTERRUPT
DIRECT LISTING TO PRINTER
LIST BREAK POINTS
CHANGE EXECUTION SEQUENCE
CLOSE SPOOL JOB CREATED BY $DEBUG
TERMINATE DEBUG 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.

c
Chapter 4. Utilities

4-93

$DEBUG

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 (j) separates the keyword options that you
can specify.

o

Example 1:

AT
OPTION{*/ADDR/TASK/ALL): TASK
TASK NAME: TIMET
LOW ADDRESS: a
HIGH ADDRESS: 3aaa
LIST/NOLIST: LIST
OPTION(*.jADDR/R0 ... R7/#1/#2/IAR/TCODE/UNMAP):
TASK NAME: LOOP2
LENGTH: 2
MODE(X/F/D/A/C/E/L): F
STOP/NOSTOP: NOSTOP
1 BREAKPOINT(S) SET

>

#l

L

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.

AT T TIMET a 3aaa L #1 LOOP2 2 F N
I\. 1 BREAKPOINT(S) SET
>

o

Each command with its syntax description follows in alphabetical order.

o
4-94

SC34-0940

$DEBUG

o

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 NOSTOP option, $DEBUG prints task status as "taskname
CHECKED AT XXXX." The STOP option generates a "taskname STOPPED AT
XXXX" message.
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:

o

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
AT
AT
AT

ADDR address overlay# NOLIST ILIST NOSTOP ISTOP
TASK taskname start-add end-add NOLIST/LIST NOSTOP/STOP
ALL NOLIST/LIST NOSTOP/STOP
* NOLISTjLIST NOSTOP/STOP

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.

o

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.

Chapter 4. Utilities

4-95

$DEBUG

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.

TASK

Trace range specification.

taskname

Name 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 do not 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.

BP - List Breakpoints and Trace Ranges
BP 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.

o

0

·7<,·

I '_

Syntax:

:

none

Operands

Description

None

None

o
4-96

SC34-0940

$DEBUG

o

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.

l

> CLOSE

SPOOL JOB CLOSED

When you issue a LIST command to a specific spooling device, the system creates a
spool job. If you issue a CLOSE command, the system closes the job and prepares
to print it. Only the spool job associated with the most recent PRINT command is
closed. If $SPOOL is not active, the CLOSE command will be ignored and you will
receive the following message:

l

> CLOSE

SPOOLING NOT ACTIVE

Syntax:

o

I

CLOSE
Required: none

Operands

Description

None

None

END - End $DEBUG
END 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.
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:

I END
Required: none

0

Operands

Description

None

None

Chapter 4. Utilities

4-97

$DEBUG

GO - Activate a Stopped Task
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 that brackets the
addresses in the original trace request. If you are debugging only one task, you do
not need to specify any operands.

o

Syntax:

GO
GO
GO
GO
GO

ADDR address
TASK taskname
ALL

*

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

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

Operands

Description

current-address

Address where the task stops.

new-address

Address where you want execution restarted.

o
4-98

SC34-0940

$DEBUG

o

HELP - List $DEBUG Commands
The HELP command produces a list of $DEBUG commands and functions.
Syntax:

I HELP
~equired:

none

Operands

Description

None

None

LIST - Display Storage or Registers
LIST 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. To display values within the TCB you must use
the specific keywords (for example; R7, IAR, TCODE). You will not see the correct
values if you look directly into the TCB with the keyword ADDR.
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(*jADDRjR0 ... R7/#1/#2/IAR/TCODE/UNMAP):
STORBLK ADDRESS (0 TO CANCEL LIST): 34
SWAP#: 1
DISPLACEMENT: 12
LENGTH: 50
MODE(X/FjD/A/C): X

UNMAP

Syntax:

LIST
LIST
LIST
LIST
LIST
LIST
LIST

*
ADDR address
length mode
RO .•. R 7 taskname length mode
#1 ... #2 taskname length mode
IAR
taskname length mode
TCODE taskname length mode
UNMAP storblkaddress swap# displacement length mode

c
Chapter 4. Utilities

4-99

$DEBUG

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.

ADDR

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

RO ••• R7

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

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).

UNMAP

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

o

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.)
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 listing
from byte 26 of the unmapped storage area indicated. The largest
possible value for displacement is X I FFFF I 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:
XFDAC-

~,

C .."

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

OFF - Remove Breakpoints and Trace Ranges
OFF 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.

o
4-100

SC34-0940

$DEBUG

o

o

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 de bugging.

TASK

Keyword indicating you want $DEBUG to remove a trace range.

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 sy,stem determines this by the last usage of an AT,
GO, or OFF command.

o
Chapter 4. Utilities

4-101

$DEBUG

PATCH - Modify Storage or Registers
PATCH modifies the contents of storage locations, task registers, hardware registers,
task code words, and the JAR (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 *. To modify values within the TCB you must use the specific keywords
(for example: R7, IAR, TCODE). You will not see the correct values if you look
directly into the TCB with the keyword ADDR.

o

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

PATCH
OPTION(*/ADDR/RO ... R7/#l/#2/IAR/TCODE/UNMAP):
STORBLK ADDRESS (0 TO CANCEL PATCH): 34
SWAP#: 1
DISPLACEMENT: 12
LENGTH: 1
MODE{X/F/D/A/C): X
NOW IS
>

0012 X· 0000

UNMAP

1

DATA: FFFF
NEW DATA
0012 XI FFFFI
YES/NO/CONTINUE: Y

o

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 patch is padded to
the right with blanks for character data and zeros for all other data types.

o
4-102

SC34-0940

$DEBUG

Syntax:

o

0

PATCH
PATCH
PATCH
PATCH
PATCH
PATCH
PATCH

*
ADDR address
length mode
RO ... R7
taskname length mode
#1/#2
taskname length mode
IAR
taskname length mode
TCODE taskname length mode
UNMAP storblk address 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/l hardware registers RO through R7 where you want
$DEBUG to start the patch.

taskname

Name of task for which you want $DEBUG to modify register dala.
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 (instruction 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.

displacement Number of bytes (in ~lex) where you want to start patching 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.
I

o

I

length

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

mode

Mode of data entry:
XFDAC-

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

Chapter 4. Utilities

4-103

$DEBUG

POST - Post an Event or Process Interrupt
POST 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 a WAIT instruction as shown
on a program assembly listing. You can also post process interrupts by name using
the PIxx option.

o

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 address you want posted.

code

Decimal code you want posted to the specified ECB.

Plxx

Name of process interrupt PIl to PI99.

*

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

QUALIFY - Modify Base Address

o

QUALIFY modifies the base address that $DEBUG uses to refer to physical storage
locations. The base address must be greater than or equal to the beginning address
of available storage in the partition. To determine where the beginning of available
storage is, issue the $A operator command.
Syntax:

I

QUALIFY base displ
Q base displ

Operands

Description

base

New hexadecimal base address.

dispI

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.

o
4-104

SC34-0940

$DEBUG

o

PRINT - Direct Output to Another Terminal
PRINT allows you to direct the output to a terminal other than the one you used to
load $DEBUG.
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 load $DEBUG.

WHERE - Display Status of All Tasks
WHERE 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.

C

"'cl.,!

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. (Refer to the Language Reference for a
description of the ATTACH instruction.) 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:

WHERE
WH
Required: none

Operands

Description

None

None

o
Chapter 4. Utilities

4-105

$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.

o

Loading $DICOMP
Load $DICOMP with the $L operator command or option 5.2 of the session
manager.
To start execution of $DICOMP:
1. Load the $DICOMP utility and specify 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.

>

$L $DICOMP

DISPLIB (NAME,VOLUME):
LOADING $DICOMP
44P,00:19:34. LP= 9200. PART=1

2. The system responds with the program-loaded message followed by:

$DICOMP - DISPLAY DATA BASE COMPOSER
COMMAND (?).:

()

Note: The display data base must not exceed 32767 records in length.

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

COMMAND . (?): ?
AD
AL
EN
IN
PR
TO

-

ADD A NEW MEMBER
ALTER EXISTING MEMBER
EXIT PROGRAM
INSERT OR DELETE DISPLAY ELEMENTS IN A MEMBER
PRINT MEMBER FORMATTED
TEST DISPLAY

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).

4-106

SC34-0940

0

$DICOMP

o

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

l IS THIS A GRAPHIC DISPLAY?

N

$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

lIS THIS A GRAPHIC DISPLAY? Y

The composer then asks if you want a three-dimentional (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 4-109 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.

l

ALlER ENTRY?

Chapter 4. Utilities

4-107

$DICOMP

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

EN - Exit Program
Use the EN 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:

KEEP ENTRY?
DELETE ENTRY?
ALTER ENTRY?

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.

o

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:

END OF DATA - ISSUE SAVE OR ADDN~W>COMMANDS

The composer then returns to the AD command and you can enter additional
commands.

o
4-108

SC34-0940

$DICOMP

o

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.

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 loads $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:

c

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 BEAMTO X, Y
PC - PLOT CURVE ONLY
PL ~PLOT DATA, , » .'>,
Rl~-1

8G1185

Figure

4-4. X,Y Coordinate Grid and Viewing Area

o
32767~~---------+------------~

1
Z axis

0
1
I

,~----------------------

------------------

.... / / / /"

"

Y axis

""""'"

-32768
-32768
0(

0

32767

X axis -------'>->---

8G1186

Figure

4-110

4-5. X,Y,Z Coordinate Grid and Viewing Area

SC34-0940

o

$DICOMP

AD - Advance X,Y
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 three-dimentional
(3-D) object, then the system requests the Z axis value as well.

01 - 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 # - 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.

1/2

R

BG1187

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

1/2 R

BG1188

Chapter 4. Utilities

4-111

$DICOMP

Symbol # - 3: Draw damper vertical.

Modifier = Number of damper
pairs to be generated in the
down direction.

= start and end X, Y
current position.

I
I

t\
I

I~

II

16 Units Y

~I

40 Units X
BG1189

Symbol

# - 4: Draw damper horizontal.

Modifier = Number of damper
pairs to be generated to
the right.

= start and end X, Y
current position.

I
-----

------

....------

-----I~

40 Units Y

~I

()

16 Units X
BG1190

Symbol

# - 5: Draw a hot coil.

Modifier = Number of hot coil
pairs to be generated in the
down direction.

= start and end X. Y
current position.

------

....------

D
D
I~

I

16 Units Y

·1

12 Units X
BG1191

o
4-112

SC34-0940

$DICOMP

Symbol

o

# - 6: Draw a cold coil.

Modifier = Number of double
pairs to be generated in the
down direction.

-------------

I

16 Units Y

= start and end X, Y
current position.

I·

.,

16 Units X
BG1192

Symbol

# - 7: Draw a filter element.

Modifier = Number of elements
to be generated in the down
direction.

----:2-------

I

16 Units Y

= start and end X. Y
current position.

----

---------

8 Units X
BG1193

o
Chapter 4. Utilities

4-113

$DICOMP

Symbol

# - 8: Draw a valve.

o
~I
For 2-way valve
Modifier = 2

For 3-way valve
Modifier = 3

I
I
I
I
I

:0(
:I 32 Units X
I
I
I

16 Units Y

I
I
I
I
I

~:

:I
I
I
I

= start and end X, Y
current position.

I

32 Units Y

BG1194

Symbol

# - 9: Draw an arrow.

Modifier =
1 for left
2 for right

ec:::::::J I
C>~I

I""

16 Units X

3 for up
4 for down

8 Units X
= start and end X, Y
current position.

o

8 Units Y

DI16
VI16

Units Y

H

UnitsY

BG1195

o
4-114

SC34-0940

$DICOMP

o

Symbol

# - 10: Draw a logic block right.

Modifier = Radius of half circle.
Must be a mUltiple of 4.

= start and end X, Y
current position.

BG1196

Symbol

# - 11 : Draw a logic block left.

Modifier = Radius of half circle.
Must be a mUltiple of 4.

2R
= start and end X, Y
current position.

BG1197

o
Chapter 4. Utilities

4-115

$DICOMP

Symbol

# - 12: Draw a circle.

o

Modifier = Radius of circle.
Must be a mUltiple of 4.

= start and end X, Y
current position.

BG1198

Symbol

# - 13: Draw an arc right.

Modifier = Radius of circle.
Must be a multiple of 4.
=

start and end X, Y current position.

o

Notes:
1. This symbol requires additional values.
a. Draw arc up or down. Enter zero for
down or one for up.
b. Number of Y units to draw arc. Must
be a multiple of 4.
2. This symbol always starts at X=O and proceeds
until the Y units have been exhausted.

BG1199

o
4-116

SC34-0940

$DICOMP

Symbol

o

# -14: Draw an arc left.

Modifier = Radius of circle.
Must be a multiple of 4.
= start and end

X, Y current position.

Note:
See notes under symbol 13 for additional information.

BG1200

EN - Exit Program
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.

Cl
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.

o
Chapter 4. Utilities

4-117

$DICOMP

JP - 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:

o

• 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 real-time 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 conditionai jump is the same as that of an unconditional
jump.
The following example shows the use of the JP subcommand.

MP
JP
DR

JP
JR
OR
. ·"JR

X=299, Y=299
Zero~ WORO#=9. RECORD#=4, JR=AA
S¥M= 1. MOD=49.
JR=BB
AA .
SYM=.2 ,MOD=49
BB

o

EP
SA

The preceding example draws a fan symbol at 200,200 either right or left depending
on the zero/not zero condition of the real-time data member word 0, record 4.
In the preceding sequence, the first JP causes a jump to JR AA if word
is zero. The second JP causes an unconditional jump to JR BB.

°of record 4

JR - 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.

o
4-118

SC34-0940

$DICOMP

o

LB - Display Characters
Use the LB subcommand to place a character string on the screen. You do not have
to use an MP subcommand to position the beam because LB allows specification of
the location of first character. If you are defining a three-dimentional (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 I character position beyond the last
character in the string.
LI- Draw a Line to X,Y
Use the LI subcommand to draw a vector to the specified X and Y coordinates from
wherever you left the beam with the previous command.

600 -

/

200 -

Draw line to X=600

Y=600

END X, Y

I

I

100

600

Line shown on screen

Current position

BG1201

When generating a three-dimentional (3-D) display, the system requires 3 values.
These values are X, Y, and Z.

600 0-

-------------1......

I
Draw line to X=600

Y=600

Z=600

.........

I
I
I
I
I
I
I
I
I
I
I
I

I

o 600

END X, y, Z

BG1202

c
Chapter 4. Utilities

4-119

$DICOMP

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 Real-time 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 three-dimentional (3-D) object, then the system also
requests Z axis value.

o

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 -

•
I

100
Beam moved to X=1 00
EN D X, Y

Y=200

Nothing shown on screen

o

Current position

BG1203

When generating a three-dimentional (3-D) display, the system requires 3 values.
These values are X, Y, and Z.

100 0-

Beam moved to X=1 00

Y=100

Z=100

-------------1'
I
I
I
I
I
I
I
I
I
I
I
I

/---

I

I

o

100

END X, Y, Z Current position

BG1204

o
4-120

SC34-0940

$DICOMP

PC - Plot Curve Only

o

Use the PC subcommand to provide multiple curves on an existing background as
defined by a preceding PL command. See the following section (PL) for description~
of entry procedure. Steps 9 and 10 in 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. See "$DIUTIL Maintain Partitioned Data Base" on page 4-186 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
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
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. Do you want a vertical grid?
Specifying 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. Do you want a 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. Do you want Y axis division values?
If you want Y axis division values, respond with a Y. The composer asks for as

o

many values as you have specified divisions plus 1 (see Step 1). 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.

Chapter 4. Utilities

4-121

$DICOMP

8. Do you want X axis division values?
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.

o

9. Enter name of member for plot data
Enter the name of a plot curve data member. You must have allocated and
initialized this member with the utility program $DIUTIL. See "$DIUTIL Maintain Partitioned Data Base" on page 4-186 for procedures on allocating
and initializing this member.
10. Is this plot a point plot?
If you specify Y, the system requests the plot character you want. The composer
allows you to use any valid printable character for the plot. 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 issue PC subcommands next.

RT - Activate New Real-time Data Member
Use the RT subcommand to define multiple real-time data members. This
subcommand allows you to switch from one member to another during the
generation of a display. The default name for the real-time data member is
REALTIME.

SA - Save Accumulated Data

o

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
real-time 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:

l

HH: MM: 55

Where:

4-122

SC34-0940

MM/OD IYY

HH is Hours
MM is Minutes
SS is Seconds
MM is Month
DD is Day
YY is Year.

o

$DICOMP

VA - Display Variable

o

Use the VA subco.mmand to. place a data variable fro.m the real-time data member
o.n the screen. $DICOMP issues a pro.mpt message asking if yo.u wish to. lo.cate the
data at a lo.catio.n o.ther than the current X,Y po.sitio.n. If yo.u are defining a
three-dimentio.nal (3-D) o.bject, then the system requests X, Y, and Z. This
subco.mmand requires that yo.u allo.cate the real-time data member. The co.mpo.ser
co.ntinues by asking yo.u fo.r the reco.rd number and wo.rd number. The reco.rd
number is the reco.rd number within the real-time data member. The wo.rd number
is the wo.rd number within the reco.rd specified. This value is in the range o.f 0 - 8.
The system requests the functio.n co.de next and indicates the type o.f variable to. be
displayed. Valid functio.n co.des are as fo.llo.ws:

o

Single-precisio.n integer

1

Do.uble-precisio.n integer

2

Standard-precisio.n flo.ating po.int

3

Extended-precisio.n flo.ating po.int

15

Character data.

The system requests type co.de next. It is an indicato.r o.f the fo.rmat o.f the value to.
be displayed. Valid type co.des are:

o

o

Integer

1

Flo.ating-po.int F fo.rmat

2

Flo.ating-po.int E fo.rmat.

The system requests field width and number o.f decimal places next. If the variable
is an integer, the number o.f decimals sho.uld be zero..

o
Chapter 4. Utilities

4-123

$DIINTR

$DIINTR - 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. Real-time data member record
number and additional member names. are included in the display profile element.

o

Loading $DIINTR
You load $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 $DIINTR

Dl SPqe {NAME,IJOLIJME}:
LOADI.NG$DIINTR
38P,0S: 12:~8,
$DIINTR~OISPLAY·

'"""----

20 object on screen
~~.

()
Viewing screen

L

Platform location
Distance between platform location
and viewing screen = 1

BG1208

Figure

4-6. Viewing Area in 3-D Mode

o
4-128

SC34-0940

$DIINTR

The following examples define a three-dimentional (3-D) object in space:

0
A cube

CMD

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

BG1209

Object as viewed from:

S1
S2
S3
D

0
-400
0
0

T
R
D1
T1

0
0
0
0

~

/

/

~
BG1210

o
Chapter 4. Utilities

4-129

$DIINTR

o

Object as viewed from:

51
52
53
D

-150
-400
0
0

T

0

R
D1
T1

0
0
0

BG1211

Object as viewed from:

51
52
53

-150
-400
100

D

0

T

0
45
0
0

R
D1
T1

o
BG1212

o
4-130

SC34~0940

$DIRECT

o

$DIRECT - Directory Organization Sort
$DIRECT sorts a disk or diskette volume directory. $DIRECT sorts alphabetically,
by size, by location on disk, or in specific order.
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.

Loading $OIREeT
Load $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.
>

$L $DIRECT

LOADING $DIRECT

40P.00:23:30. LP= 9200. PART=l

$DIRECT - DIRECTORY SORT
WARNING: VOLUME DIRECTORY WILL
BE ALTERED. SHOULD ONLY BE RUN
WHEN NO OTHER PROGRAMS ARE ACTIVE!
CONTINUE (YIN)? Y
SET TERMINAL IN ROLL MODE (YIN)?

$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:

l.·• '.

vREJRY(Y
. O,LU.M. . ·.E .•.N..• ·O
. ·.·.r.·.·.• . . .M
.• ·. •. O
. . . U. N.T.·.E
IN);?···
.. ' '.D
........··..•.· .

c

If you reply Y, $DIRECT prompts you for another volume name. If you respond
N, $DIRECT ends.

Chapter 4. Utilities

4-131

$DIRECT

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

o

COMMAND!?}: ?_ ___ __ _
CV ;.--.. _CHANG[VOLUME
LA---.. LIST ALL MEMBERS IN VOLUME
UT --_ ... _- --SORT- BY .. USER-INPUT FROM TERMINAL
UD --"7- .SORT BY -PREDEFINED DATA SET AS INPUT
AO . ...;-- SORT BY - ALPHABETICAL ORIJER
DL "';--'- SORT BY - LOCATION ON D!SK(ETTE)
SA~ ... ·-SORT BY - SIZE ASCENDING
SD;'---SORT.BY-SIZE DESCENDING
EN-...;·- END PROGRAM
. COMMAND.(?):

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;SORTUSING VOLUME EDX002,CONTINUE (YIN)?

o

y

DIRECTORY SORTED
COMMAND (?):

After executing the AO command, the directory looks as follows:

NAME
$EDXDEF
DIRECT
RUN CALC
SORTLIST
_ TEST$ORT

o
4-132

SC34-0940

$DIRECT

o

CV - Change Volume to be Accessed for Directory Sort
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 volume you want to access.
Example: Change volume.

COMMAND (1):

CV

USING VOLUME EDX003
ENTER NEW VOLUME LABEL = EDX002
USING VOLUME EDX002
COMMAND (?):

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.

o

COMMAND (?): DL
SORT BY LOCATION ON DISK(ETTE) USING VOLUME EDX002, CONTINUE (YIN)? Y
DIRECTORY SORTED
COMMAND (?):

After executing the DL command, the directory looks as follows:

NAME

RUNCA'LC

$tOX{j~F.

. ·SORTLlSl
TE$T$ORT
DIRECT

TYPE
PGM
DATA
DATA
DATA
PGM

FIRSTREC
77
.•·82

801

1177··
1294

c
Chapter 4. Utilities

4-133

$DIRECT

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

COMMAND ( ?):.

o

EN

$DIRECTENDEO :AT08:36:El2

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.

COMMAND (?):

LA

USING VOLUME EDX002
NAME

TYPE

FIRST RECORD SIZE

DATA
PGM
A2
DATA-P
A2
DATA-E
A2
DATA-E
A2
DATA-E
EXTENTS: 3 TOTAL DATA
B

11

C

21
29
26
56
59
SET

10
5

o

6
3
3
3

SIZE:

A3
DATA-P
45
10
A3
DATA-E
40
5
EXTENTS: 1 TOTAL DATA SET SIZE:

15

15

COMMAND(?):

o
4-134

SC34-0940

$DIRECT

o

SA - Sort By Ascending Data Set Size
Use the SA command to sort the directory by ascending (smallest-to-Iargest) data set
size.
Note: If you allocate a data set with extents, the system uses the size of the primary

data set to do the sort.
Example: Sort directory in ascending order.

COMMAND (?)= SA
SORT BY ASCENDING SIZE USING VOLUME EDX002 CONTINUE (YIN)? Y
DIRECTORY SORTED
COMMAND (?):

After executing the SA command, the directory looks as follows:

NAME

0

v

TYPE

FI RST RECORD SIZE

C
PGM
A2
DATA-P
A2
DATA-E
A2
DATA-E
A2
DATA-E
EXTENTS: 3 TOTAL DATA
B
DATA
A3
DATA-P
A3
DATA-E
EXTENTS: 1 TOTAL DATA

21
29

5
6

26

3
3
3

56
59
SET SIZE:
11
45
40

SET SIZE:

15
10
10

5
15

COMMAND(?):

SO - Sort By Descending Data Set Size
Use the SA command to sort the directory by descending (largest-to-smallest) data
set size.
Note: If you allocate a data set with extents, the system uses the size of the primary

data set to do the sort.
Example: Sort directory in descending order.

COMMAND {?): SD
SORT BY DESCENDING SIZE USING VOLUME EDxa02 CONTINUE (YIN)? Y

0,'"

DTRECTORYSORTED
'I,'

COMMAND '. (?):

Chapter 4. Utilities

4-135

$DIRECT

After executing the SD command, the directory looks as follows:

o
B
A3
A3
EXTENTS:

'GATA
DATA.;P
DATA-E "
, ," ,'40
1 TOTAL DATA SET SIZE:

A2
A2
A2
A2
EXTENTS:

DATA';P
DATA-E
DATA;.E
DATA-E
3 TOTAL DATA
PGM

C

29
26
56
59
SET SIZE:

21

6
3
3
3

15
5

COMMAND(?):

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.

UD - Sort Directory in Predefined Order
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.

0'

Example: The following is an example of a data set named TESTSORT on

EDX002.

,-~:-",TESTSORT 1 .EDX002
8(1362):-7---:--~:-:- COLUMNS.001,072
COMMAND INPUT'===>
SCROLL ===> HALF
***** ***** TOP OF DATA ****************************************
00010 /I
00Q20 DIRECT
00030 WRONG
00041 SORTLIST
El0050 RUNCAI..C
00070$EDXGEF
00090'TESTSORT
00110/*
*:1t*'#* '*****.,'BOtTOM,OF:OATA*************:****C****:*******C******:****

'EDIT

o
4-136

SC34-0940

$DIRECT

o

The utility reorders the directory as specified by the input data set.

COMMAND (?): UD
USING VOLUME EDX002
A PREVIOUSLY ALLOCATED DATA SET IS REQUIRED, CONTINUE (YIN)? Y
ENTER (NAME,VOLUME): TESTSORT,EDX002
DIRECT HAS BEEN POSITIONED
WRONG NOT FOUND
SORTLIST HAS BEEN POSITIONED
RUNCALC HAS BEEN POSITIONED
$EDXDEF HAS BEEN POSITIONED
TESTSORT HAS BEEN POSITIONED
DIRECTORY SORTED
COMMAND (?):

The utility reorders the directory as follows:

o

""'
"
0

NAME
DIRECT
SORTLIST
RUNCALC
$EDXDEF
TESTSORT

TYPE
PGM
DATA
PGM
DATA
DATA

FIRST REC

SIZE

1294

44

801

11

77
82

5
44

1177

83

',I

Chapter 4. Utilities

4-137

$DIRECT

UT - Sort Directory in Desired Order Interactively
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:

COMMAND (?): UT
USING VOLUME EDX002
INTERACTIVE MODE REQUIRES USER INPUT CONTINUE (YIN)? Y
ENTER BLANK TO TERMINATE
DATA SET #

1: SORTLIST

SORTLIST HAS BEEN POSITIONED
DATA SET #

5: DIRECT

DIRECT HAS BEEN POSITIONED
DATA SET #

6:

DIRECTORY REORDERED
COMMAND (?):

o

The utility reorders the directory to look as follows:

NAME
SORTLIST
SORTLIST
SORTLIST
SORTLIST
EXTENTS:

TYPE
FIRST REC
SIZE
DATA-P
201
10
DATA-E
196
5
151
DATA-E
5
DATA-E
211
5
3 TOTAL DATA SET SIZE:

DIRECT
TESTSORT
RUNCALC
$EDXDEF

. f5GM

DATA
PGM
DATA

157
63
19

83

14

5

25

44
44

o
4-138

SC34-0940

$DISKUTI

o

$DISKUT1 - Allocate/Delete/List Directory Data
$DISKUTI performs several commonly-used disk or diskette storage management
functions. With this utility, you can:
• Allocate a data set (with or without disk extents)
• Rename a data set
• List data sets
• Direct listings to $SYSPRTR or terminal.
Note: For tape management functions, see "$TAPEUTI - Tape Management" on
page 4-565.

Loading $DISKUT1
Load $DISKUTI with the $L command or option 3.1 of the session manager.

$L $DISKUTl
LOADING $DISKUTl

>

52P,00:28:08, LP= 9200, PART=l

$DISKUTl - DATA SET MANAGEMENT, UTILITY
USING VOLUME EDX002
COMMAND (?):

When you load $DISKUT1, it issues the following message:

l

USING VOLUME XXXXXX

where XXXXXX is the IPL volume.
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 it 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 specify the CV command with a valid volume.

o
Chapter 4. Utilities

4-139

$DISKUTI

$DISKUT1 Commands
To display the $DISKUTI commands at your terminal, enter a question mark in
response to the prompting message COMMAND (?):
COMMAND .(?) : ?
AL
ALLOCATE A DATASET
ALLOCATE A DATA SETWIJH. Dl$i( EXTENTS
ALX
CHANGE VOLUME
CV
DE
DELETE A DATA SET
DELETE ALL MEMBERS STARTING WITH TEXT
DG *
DELETE ALL PROGRAMS STARTING WITH TEXT
DGP *
DELETE ALL DATA SETS STARTING WITH TEXT
DGD *
DELETE ALL MEMBERS NOT STARTING WITH . TEXT
DNG *
DELETE ALL PROGRAMS NOT STARTING WITH TEXT
DNGP *
DELETE ALL DATA SETS NOT STARTING WITH TEXT
DNGD *
SQ
SET PROMPT MODES
SNQ
RESET PROMPT MODES
EN
END THE PROGRAM
LIST ALL DATA SETS
LA *
LACTS * -- LIKE LA BUT IN CTS/RBA MODE
LIST DATA TYPE DATA SETS
LD *
LDCTS * -- LIKE LD BUT LIST IN CTS/RBA MODE
LIST A SPECIFIC DATA SET
LM
LIST PROGRAMS
LP *
LPCTS * -- LIKEIP BUT IN CTS/RBA MODE
LIST FREE SPACE
LS
LIST ALL VOLUMES
LAV *
LIST DATA SETS ON ALL VOLUMES
LAD *
LISTP
DIRECT LISTING TO PRINTER (DEFAULT IS $SYSPRTR)
DIRECT LISTING TO TERMINAL
LISTT
RE
RENAME A DATA SET
SET END OF DATA POINTER/FLAG
SE
* PREFIX (OPTIONAL)

()

o

COMMAND (?):

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 characters. If you do specify a prefix, the system lists only those
data sets beginning with the prefix.
2. To cancel a list, press the attention key, press the enter key, then enter CA and
press enter again. To cancel a LAV command, see "LAV - List All Volumes"
on page 4-149.
Note: For a 3101 (or equivalent) 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-140

SC34-0940

o

$DISKUTI

o

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.

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 lOO-record data-type data set named DATAFILE.

COMMAND (?): AL
MEMBER NAME: DATAFILE
HOW MANY RECORDS? 100
DEFAULT TYPE = DATA - OK (YIN)? Y
DATAFILE CREATED
COMMAND (?):

o
Chapter 4. Utilities

4-141

$DISKUTI

ALX - Allocate a Data Set With Disk Extents
Use the ALX command to allocate a data set with disk extents. A data set with
extents is a data set that the system expands automatically when additional space is
required (and volume and directory space is available). Use data sets with extents
when you expect an increase in data over time. You can maximize volume space by
using data sets with extents because the data sets expand only when space is
required.

o

$DISKUTI allocates one extent at allocation time. Then the system creates more
extents as the data set requires more records and space is available. All extents for a
data set are the same size.
You define the number of records the extent will contain. $DISKUTI prompts you
for the following information:
• The name of the data set
• The size of the primary data set in records
• The size of each disk extent.
When a data set requires more space, the system creates extents as they are needed
and volume and directory space is available. The system can create up to 957
extents. (The total number of extents is equivalent to the maximum number of
entries in the directory (958 per volume) minus one entry for the primary data set.)
The maximum size of an extent is 32,767 records.
Notes:

I. Do not use the ALX command to create a work data set with extents or a log
data set with extents.
2. In the example below, at the time of allocation the primary data set DATA FILE
is 1000 records in size. At the time the system allocates DATAFILE, 1 extent is
created at 100 records in size. Therefore, at the time of allocation, the total data
set size for DATAFILE is 1100 records.

()

Example: Allocate a 1000-record data set with disk extents 100 records in size.

COMMAND (?): ALX
MEMBER NAME: DATAFILE
"HOvfMANY"RECORDS"IN"PRIMARYlJATA" SET? IOGG
SIZE OF EACH DISK EXTENT? IGG
DATAFILE CREATED
COMMAND (?):

o
4-142

SC34-0940

$DISKUTI

o

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
USING VOLUME EDX002
COMMAND (?):

DE - Delete a Data Set
Use the DE command to delete a data set.
Notes:

c

1. If you use the DE command to delete a data set containing extents, the contents
of the entire data set (including the extents) are deleted.
2. In order to make a data set non-extendable, you must allocate a data set using
the AL command and copy the contents of the extendable data set to the new
data set (which has no extents).
$DISKUTI prompts you for the name of the data set (member) you want to delete.
Example: Delete a data set named DAT AFILE.

COMMAND (?): DE
MEMBER NAME: DATAFILE
DATAFILE DELETE (YIN)? Y
DATAFILE DELETED
COMMAND (?):

o
Chapter 4. Utilities

4-143

$DISKUTI

DG - Delete All Members Starting with Text
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.

o

Example: Delete all data sets starting with the prefix $Z.

COMMAND (7): DG
ENTER GENERIC TEXT:

$Z

DELETE·· ALL MEMBERS STARTING WITH $Z (YIN)? Y
CONFIRM DELETE GENERIC. REQUEST ON VOLUME:
CONTINUE (YIN)? Y
DATA
$Z1
DELETE (YIN)? Y
DELETED
$Z1
$Z3
DATA
DELETE (YIN)? Y
$Z3
DELETED
DATA
$Z2
DELETE (YIN)? Y
$Z2
DELETED

JMMOBJ

1681

2

NA

1685

2

NA

1683

2

NA

COMMAND (7):

o

Respond Y to the DELETE? prompt to delete a data set or respond 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 system has not set the end-of-data pointer and flag in the
directory member entry.

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 manner as DG except that you can only delete
program-type data sets.

o
4-144

SC34-0940

$DISKUTI

o

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 does not 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)? Y
CONFIRM DELETE GENERIC REQUEST ON VOLUME:
CONTINUE (YIN)? Y
USING VOLUME JMMOBJ
TYPE
FI RST RECORD
NAME

o

DATAl
DATA
DELETE (YIN)? Y
DATAl
DELETED
MYDATA DATA
DELETE (YIN)? Y
MY DATA DELETED
DATA2
DATA
DELETE (YIN)? Y
DATA2
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 and respond 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 system has not set the end-of-data pointer and flag in the
directory member entry.

DNGD - Delete All Data-Type Data Sets Not Starting with Text
Use the DNGD command to delete all data-type data sets that do not start with a
specific prefix. DNGD operates in the same manner as DNG except you can only
delete data-type data sets.

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.

o
Chapter 4. Utilities

4-145

$DISKUTI

EN - End the Program
Use the EN command to end the $DISKUTI utility.

LA - List All Data Sets

o

Use the LA command to list all data sets on a specific volume. There are four types
of data sets:
DATA

a standard data-type data set.

DATA-P

a primary data set that contains extents.

DATA-E

the portion of the data set that is an extent. The extent is part of a
DATA-P type data set.

PGM

a standard program-type data set.

If a data set contains extents, the system includes a summary of the primary data set
(DATA-P) along with each extent (DATA-E). The summary lists the number of
records in the primary data set and the number of records in each extent.

( COMMAND (?):

LA

USING VOLUME EDX001
NAME
TYPE
FIRST RECORD SIZE
AF
DATA-P
382
AF
377
DATA-E
AF
417
DATA-E
AF
DATA-E
422
EXTENTS: 3 TOTAL DATA SET SIZE:
B1
DATA
442
B2
DATA
472
B3
DATA
502

30

EODjPGMSZ

5

42
NA
NA
NA

30
30
30

NA
28
NA

EXTENDBL DATA-P
185
25
EXTENDBL DATA-E
175
10
EXTENTS: 1 TOTAL DATA SET SIZE:
1037 FREE RECORDS IN LIBRARY

NA
NA

5

5

45

o

35

Notes:
1. EOD is the displacement to the next available record for data-type data sets.
2. NA means that the system has not set the end-of-data pointer and flag in the
directory member entry.
3. In the example above, data set AF is a data set with extents. The primary data
set (DAT A-P) originally had 30 records. Later the data set expanded to 42
records. The data set expanded by obtaining 3 extents with 5 records each
(DATA-E type data sets). Three records were not used because the EOD was
set at 42.

To cancel a list, press the attention key, enter CA and press enter.

o
4-146

SC34-0940

$DISKUTI

o

LACTS - 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 EDXOOl resides on a 4963
disk subsystem; the system shows the disk locations of the data set in CTS format.

COMMAND (?):

LACTS

USING VOLUME EDX001
NAME
TYPE

ORG(CTS)

END(CTS)

NOMSG
EDXSTART
LNO

DATA
DATA
DATA

0080007
0030115
0050006

0080012
0040106
0050008

FULLR

PGM

0400010

0440008

1046 FREE RECORDS IN LIBRARY

o

Example 2: List all data sets in RBA format. Volume EDXOOI resides on a 4967

disk subsystem; the system shows the disk locations of the data sets in RBA format.
"

COMMAND (?):

LACTS

USING VOLUME EDX001
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

c
Chapter 4. Utilities

4-147

$DISKUTI

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. $DISKUTI lists the name of each
data set along with the following information:

0

•
•
•
•

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 (?) :
NAME

TYPE

SEW
SSRC
SMODUL
SWORK
SDATA

DATA
DATA
DATA
DATA
DATA

LAD S

FIRST RECORD

USING VOLUMEEDX005
COMMAND (?):

1646
7748
1386
15522
6989

SIZE

EOD/PGMSZ

100

79

5

5

10
300

10
225
5

5

VOLUME
EDX002
EDX002
ASMLIB
EDX003
EDX005

0

o
4-148

SC34-0940

$DISKUTI

o

LAV - List All Volumes
Use the LAV command to list all volumes on your Series/I. You may only want to
list volumes starting with a specific prefix. Do this by entering the LAV command
followed by a prefix. The LA V command scans all existing volumes and 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: List all volumes on your Series/I.

COMMAND (?): LAV
VOLUME NAME

DEVICE ADDRESS

FIRST RECORD

SIZE

0003
0003
0013
0013

361
9841
361
8761

9480
8000
8400
2200

EDX002
ASMUS
MTMSRC
TSTSRC
USING VOLUME EDX002
COMMAND (?):

To cancel a list, press the attention key and enter $C $DISKUTI. This cancels the
listing and $DISKUTI.

o
Chapter 4. Utilities

4-149

$DISKUTI

LD - List Data-Type Data Sets
Use the LD 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 EDXOO1.

o

COMMAND (?): lD
USING VOLUME EDX001
NAME
TEXTWORD
$SAMDATA
$NAME3

FIRST RECORD
105

127
450

SIZE
22
36

10

EODjPGMSZ
22

30
NA

506 FREE RECORDS IN LIBRARY
COMMAND (?):

Notes:

1. EOD is the displacement to the next available record.
2. NA means that the system has not set the end-of-data pointer and flag in the
directory member entry.

o

0·.·,: '
..

4-150

SC34-0940

'

!

$DISKUTI

LDCTS - List Data-Type Data Sets in CTS/RBA Mode

o

Use the LDCTS 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.
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.

COMMAND (?):

LDCTS

USING VOLUME EDX001
NAME
ORG(CTS)

END(CTS)

NOMSG
EDXSTART
LNO

0080007
0030115
0050006

0080012
0040106
0050008

FULLR

0290105

0290108

1046 FREE RECORDS IN LIBRARY

o

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 (?):

LDCTS

USING VOLUME EDX001
ORG(RBA)
NAME

END(RBA)

LNK52
LNK52U
STG1

3331065
3331190
3331165

3331164
3331289
3331166

LNK52R

3330663

3330764

8864 FREE RECORDS IN LIBRARY

c
Chapter 4. Utilities

4-151

$DISKUTI

LISTP - Direct Listing to Printer
Use the LISTP command to direct all $DISKUTI listings to a specified printer. If
you do not specify a device, the system directs the output to the device you designate
as $SYSPRTR. The system directs all listings to the specified device (or
$SYSPRTR) until you specify another one.

O.
_"

Example: List all subsequent $DISKUTI listings to the MPRINTER.

COMMAND (?): LISTP MPRINTER
COMMAND (?): LD
COMMAND (?):

LISTT - Direct Listing to Terminal
Use the LISTT command to direct all $DISKUTI listings to the terminal that
loaded $DISKUTl. 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 loaded

$DISKUTl.

o

COMMAND (?): LISTT
COMMAND (?): LD
USING VOLUME EDX002
NAME
FIRST RECORD
TEXTWORD
105
$SAMDATA
127
$NAME3
450

SIZE
22
36

10

EODjPGMSZ
22
30
NA

2791 FREE RECORDS IN LIBRARY
COMMAND (?):

o
4-152

SC34-0940

$DISKUTI

LM - List a Specific Data Set

o

Use the LM command to list the description of a specific data set. $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.
Example 1: List the directory description of a data-type data set (member).

For the 4962 disk and the 4963 disk subsystem, the system shows the disk location
of a data set in CTS format.

COMMAND (?): LM
MEMBER NAME: TEST12
USING VOLUME EDX001
NAME

TYPE

TEST12

DATA

FIRST RECORD
305

SIZE

EOD/PGMSZ

7

5

IODA = 0003
CTS = 0220115,0220121
COMMAND (?):

o

Notes:
1. IODA is the device address. CTS = is the 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 15 through sector 21.
2. FIRST RECORD is the number containing the first record of the data set.

c
Chapter 4. Utilities

4-153

$DISKUTI

Example 2: List the directory description of a program-type data set (member).

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 relative block
address 188404.

COMMAND (?):
MEMBER NAME:

()

LM
$EDXNUC

USING VOLUME EDX002
NAME
$EDXNUC
IODA

TYPE
PGM OVLY

FIRST RECORD
121

SIZE

EOD/PGMSZ

400

202

= 0048

RBA = 188404, 188423
COMMAND (?):

Notes:
l. IODA is the device address. RBA = is the relative block address. In this

example, the data set is on the device at address 0048 at relative block address
188404.
2. FIRST RECORD is the number containing the first record of the data set.

o

o
4-154 . SC34-0940

$DISKUTI

Example 3: List the directory description of an extended data set (a data set with

o

extents).

COMMAND (?): LM
MEMBER NAME: Al
USING VOLUME MYDISK
NAME

TYPE

Al

DATA-P

FI RST RECORD

SIZE

EOD/PGMSZ

9

30

37

39

5

NA

IODA = 00C5
RBA = 1191044,1191053
Al

DATA-E

IODA = 00C5
RBA = 1191041,1191043
EXTENTS:

1

TOTAL DATA SET SIZE:

35

COMMAND (?):

Notes:

1. IODA is the I/O device address. In this example, the primary data set
(DATA-P) is on the device at device address 0002 at cylinder 1, track 0, sector
10 through cylinder 2, track 0, sector 9. The first extent portion of the data set
(DATA-E) is on the device at device address 0002 at cylinder 1, track 0, sectors
5 through 9. The second extent portion of the data set (DATA-E) is on the
device at device address 0002 at cylinder 2, track 0, sectors 10 through 14.
2. FIRST RECORD is the number containing the first record of the data set.
3. Data set AF is a data set with extents. The primary data set (DATA-P type
data set) originally had 30 records. Later the data set expanded to 40 records.
The data set expanded by obtaining 2 extents with 5 records each (DATA-E type
data sets). Three records were not used because the EOD was set at 37. If the
EOD were not set at 37, the data set size would equal 40 (30 + 5 + 5).

Chapter 4. Utilities

4-155

$DISKUTI

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:

l

COMMAND (?):

("'-),
"

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 $D ISK.

COMMAND (?): lP $DISK
USING VOLUME EDX001
NAME

FIRST RECORD

$DISKUTl
$DISKUT2
$DISKTST OVLY

256
288
323

SIZE

EOD/PGMSZ

32
30

25

15

10

23

2550 FREE RECORDS IN LIBRARY
COMMAND (?):

o

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.

o
4-156

SC34-0940

$DISKUTI

o

LPCTS - List Program-Type Data Sets in CTS/RBA Mode
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 (?):

LPCTS

USING VOLUME EDX001
NAME
ORG(CTS)

END(CTS)

FULL

01500el

0140113

1046 FREE RECORDS IN LIBRARY

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.

COMMAND (?)=

LPCTS

USING VOLUME EDX001
NAME
ORG(RBA)

END(RBA)

CONVP
FULL

3331179
3331182

3331181
3331185

FULLR
T5A

3340635
3340765

3340662
3340796

8864 FREE RECORDS IN LIBRARY

o
Chapter 4. Utilities

4-157

$DISKUTI

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
The
The
The
The
The

o

size (in records) of the volume
number of unused records
number of directory entries
number of unused directory entries
total number of data sets
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 EOX001
LIBRARY
AT RECORD
SIZE
UNUSED
DIRECTORY
SIZE
UNUSED

1

3600 RECORDS
665 RECORDS
405 MEMBERS - 51 RECORDS
179 MEMBERS

NUMBER OF MEMBERS -

o

35

NUMBER OF. FREE SPACE ENTRIES -

2

LIST FREE SPACE CHAIN (Y/N)? V
FIRST RECORD SIZE
3000
600
247
65
COMMAND (?):

Note: FIRST RECORD is the number of the first record within the data set:

o
4-158

SC34-0940

$DISKUTI

o

RE - Rename a Data Set
Use the RE command to rename a data set.
Example: Rename a data set named PROG 1 to MYPROG.

I

l

COMMAND (?): RE
MEMBER NAME: PROG1
NEW NAME: MYPROG
RENAME COMPLETED

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 DAT AFILE.

COMMAND (?): SE DATAFILE
DATAFILE EOD POINTER IS NOW
OATAFILE EOD FLAG IS NOW OFF

0

NEW EOO (-1 TO RESET EOO AND FLAG): 2
ARE ALL PARAMETERS CORRECT (YIN)? Y
DATAFILE EOO POINTER IS NOW
DATAFILE EOD FLAG IS NOW ON

:

2

COMMAND (?): SE DATAFILE
OATAFILE EOD POINTER IS NOW
OATAFILE EOD FLAG IS NOW ON

2

NEW EOD (-1 TO RESET EOD AND FLAG): -1
ARE ALL PARAMETERS CORRECT (YIN)? Y
DATAFILE EOD POINTER IS NOW
OATAFILE EOD FLAG IS NOW OFF

: 0

COMMAND (?):

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
Chapter 4. Utilities

4-159

$DISKUTI

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.COMMAND, (?):

0,",_

SNQ

sa - 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:

l

COMMAND (1):

SQ

o

o
4-160

SC34-0940

$DISKUT2

o

$DISKUT2 - Patch/Dump/List/Search 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 $EDITIN or $FSEDIT or any program to the
terminal you are using or to 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.
• Search a data set or program for an EBCDIC or hexadecimal string.
Note: For tape management functions, see "$TAPEUTI - Tape Management" on
page 4-565.

Program and Data Set Member Dumps and Patches

o

You make program memper 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.
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.

0'·

"

Chapter 4. Utilities

4-161

$DISKUT2

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 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.

o

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 device.
$$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 disks for alternate sector assignment and they are not meant
to be accessed directly.
3. When you use the DU or LV commands to dump or list $$EDXVOL, you
dump only the data, not the whole device.

Loading $DISKUT2
Load $DISKUT2 with the $L command or option 3.2 of the session manager.

>

o

$L $DISKUT2

LOADING $DISKUT2

51P.00:30:15. LP= 9200. PART=1

$DISKUT2 . . DATA SET MGMT. UTILITY II
USING VOLUME XXXXXXX
COMMAND (?):

o
4. . 162

SC34-0940

$DISKUT2

$DISKUT2 Commands

()

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

COMMAND (?):
CD
CV
DP
DU
PA
SS
LP
LU
PL
LL
PR
LR
PV
SE
EN

?

- CLEAR DATA SET
- CHANGE VOLUME
- DUMP DS OR PGM ON PRINTER ... DP DSNAME PRTNAME
- DUMP DS OR PGM ON CONSOLE
(-CA- WILL CANCEL)
- PATCH DS OR PGM
- SET PROGRAM STORAGE PARM
- LIST DS ON ANY PRINTER ... LP DSNAME PRTNAME
- LIST DS ON CONSOLE
- LIST LOG ON ANY PRINTER ... PL DSNAME PRTNAME
- LIST LOG ON CONSOLE
- LIST LOG BY WRAP COUNT AND RELATIVE RECORD ON ANY PRINTER
- LIST LOG BY WRAP COUNT AND RELATIVE RECORD ON CONSOLE
- LIST $VIRLOG DATA SET ON ANY PRINTER ... PV DSNAME PRTNAME
(BLANK TO LIST ON CONSOLE)
- SEARCH A DS OR PGM FOR A STRING ... SE DSNAME
- END PROGRAM

COMMAND (?):

c

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
PR. 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 load $DISKUT2, it issues the following message:

l

USING VOLUME vol name

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.

COMMAND (7): CV volname
USING VOLUME vol name

o
Chapter 4. Utilities

4-163

$DISKUT2

All functions act upon the specified volume until you change it with another CV
command or until you end and reload $DISKUT2. If you specify an invalid
volume, 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 $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 (YIN)? N
FIRST RECORD: 1
LAST
RECORD: laa
RESET THE E.O.D. POINTER (YIN)?
HOW MANY RECORDS TO EOD? laO

Y

ARE ALL PARAMETERS CORRECT (YIN)? Y
CLEAR COMPLETED
COMMAND (?):
.. ,.

o

CV - Change Volume
Use the CV command to change volumes. When you load $DISKUT2, it assumes
you are using the IPL volume. All $DISKUT2 functions operate on the IPL volume
until you change to another volume.
Example:

[JSING~VOLUME E'OXOe2~

COMMAND (?): CV EDX4a
USING VOLUME EDX4e
COMMAND (?):

o
4-164

SC34-0940

$DISKUT2

o

Use DP to dump all or portions of a data set or program to a printer. If you do not
specify a printer, the system directs the dump to the $SYSPRTR.
Example 1: Dump a data set on a printer other than $SYSPRTR.

COMMAND (?): DP EJW1 MPRTR
EJW1 IS A DATA SET
FIRST RECORD (0 TO CANCEL COMMAND): 1
LAST RECORD: 2
FIRST WORD: 1
WORDS/RECORDS: 12
(D)EC, (E)BCDIC OR (H) EX: H
DUMP COMPLETE
ANOTHER AREA (Y/N)? N
COMMAND (?):

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: Dump a portion of a program on $SYSPRTR.

COMMAND (?): DP
PGMOR OS NAME: MYPROG
MYPROG IS A PROGRAM OF HEX SIZE 0000026C
ADDRESS: 9999
DUMP TO PROGRAM END (Y/N)? N
HOW MANY WORDS? 29
0000
0010
0020

0008 070906C7 09C1 0440 0000 01B4 0254
0000 0000 0258 0000 0000 0000 0100 0256
0000 0000 00000000

.. PROGRAM ... M..

DUMp· COMPLETE
ANOTHER AREA (Y /N) ? N
COMMANo.(?J .~

c
Chapter 4. Utilities

4-165

$DISKUT2

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 loaded $DISKUT2.
Example 1: Dump a portion of a data set on the terminal.

o

COMMAND{?): DU
PGM OR DS NAME: EDITWORK
EDITWORK ISA DATA SET
FIRST RECORD (a TO CANCEL COMMAND): 1
LAST RECORD: 1
FIRST WORD: 1
WORDS / RECORD: 52
CD)EC, (E)BCDIC, OR {HYEX: H
RECORD 1
1 7A2E
9 0000
17 0000
25 0000
33 oooe
41 7B96
49 7BA4

7800
0000
0000
0000
0000
402F
6808

0088
34D6
14DO
0000
0000
7BAO
00F6

7A3e
0000
5600
0000
0000
0000
680D

OOOA
oooe
oeoo
0000
5040
182C

lOlA
0000
7A02
0000
6F03
6808

D240
0000
oeoo
0000
023C
00C4

4040
FFFF
0000
0000
0254
680D

.•... 0 ...

•••••••• &
# •• # ••••
# •••• 6 ..

DUMP COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

Example 2: Dump a portion of a program on the terminal.

0 '"
,

,

COMMAND (?): DU
PGM OR DS NAME: EX31DSe2
EX31DS02 IS A PROGRAM OF HEX SIZE 00003B7E
ADDRESS: lee
DUMP TO PROGRAM END (YIN)? N
HOW MANY WORDS? 2e
0100 C4C1 E3Cl FOF2 4040 0606 C4C9E2D2 FOF2 DATA02 .. DISK02
0110 0000 0000 0000 oeoo 0001 0000 0001 0000 .•..••...••.....
0120 ...0000 OEtog 0000 0000
.•..•....
DUMP COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

o
4-166

SC34-0940

$DISKUT2

Example 3: Dump a portion of a program with overlay segments on the terminal.

o

COMMAND (?): DU
PGM OR OS NAME: EX31ES01
EX31ES01 IS A PROGRAM OF HEX SIZE 00002FA8 WITH 2 OVERLAY SEGMENTS
ADDRESS: 100
HOW MANY WORDS? 10
0100
0110

0000 0082 C026 2221 7CC4 0640 E806 E440 I········@DO YOU
E6C1 D5E3
WANT

I

DUMP COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

Example 4: Dump an overlay segment of a program on a terminal.

COMMAND (?): DU EX31ES01
EX31ES01 IS A PROGRAM OF HEX SIZE 00092FA8 WITH 2 OVERLAY SEGMENTS
ADDRESS: 2FOO
DUMP OVERLAY SEGEMENT (0) OR RESIDENT CODE (R)? 0
WHICH OVERLAY? 2
HOW MANY WORDS? 10
0258
0268

3232 C9D5 C4C5 07C5 05C4 C5D5 E340 0709 I··INDEPENDENT PRJ
D6C7 D9C1
OGRA

DUMP COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

Note: Addresses within an overlay segment are relative to the beginning of that

overlay segment.

o
Chapter 4. Utilities

4-167

$DISKUT2

Example 5: Dump a portion of the supervisor that is located in an overlay area.

COMMAND (?): DU
PGMORDS NAME:

$EDXNUCC

o

ENTER PARTITlONNUMBER(1-8)
PARTITION 1 OF $EDXNUCC HAS A HEX SIZE OF 0e00D9FF WITH 3 OVERLAY SEGMENTS
ADDRESS: DOOO
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 (YIN)? 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

ENTER PARTITION NUMBER(1-8) : 1
PARTITION 1 OF $EDXNUCC HAS A HEX SIZE OF 0000D9FF WITH 3 OVERLAY SEGMENTS
ADDRESS: 0000
DUMP OVERLAY SEGMENT (0) OR RESIDENT COhE (R) ? R
HOW MANY WORDS? 3
0000

0000 0000 0000

o

I··

DUMP COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

o
4-168

SC34-0940

$DISKUT2

Example 7: Dump a portion of a supervisor not located within an overlay area.

o

COMMAND (?): DU
PGM OR DS NAME: $EDXNUCC
ENTER PARTITION NUMBER(1-8): 1
PARTITION 1 OF $EDXNUCC HAS A HEX SIZE OF eeeeD9FF WITH 3 OVERLAY SEGMENTS
ADDRESS: gaae
HOW MANY WORDS? 3
geee

ElElEle 0ElEl4 8C6El

I· .

DUMP COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

You can use single-line entry; however, be sure to enter the information required in
the order that $DISKUT2 expects it. Here is the information for the above example
entered in single-line entry:

l

o

COMMAND (1): DU $EDXHUCC 1 9088 3

EN - End $DISKUT2
Use EN to end $DISKUT2.
Example:

COMMAND (?): EN
$DISKUT2 ENDED AT ElEl:36:04

o
Chapter 4. Utilities

4-169

$DISKUT2

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 loaded
$DISKUT2.

()

Example: List log data set for device at address 02 on the terminal. (Refer to the

Problem Determination Guide for an explanation of the log output.)

COMMAND (?): II
LOG OS NAME: EDXlOGDS
CHOOSE ONE OF THE FOLLOWING:
1 - DISPLAY ALL LOG RECORDS (DEFAULT)
2 - DISPLAY LOG RECORDS BY DEVICE ADDRESS
3 - DISPLAY PROGRAM/SYSTEM CHECKS
4 - DISPLAY APPC GENERAL INFORMATION
5 - DISPLAY APPC GDS VARIABLE INFORMATION
OPTION NUMBER: 2
DEVICE ADDRESS (HEX): 82
ERROR LOG LIST, DATA SET: $LOGOS ON EOXee2
AOOR: e2
I/O lOG ERROR COUNTERS (BY DEVICE ADOR):
eeee
eele
ee2e

eeee e2ee eeee eeee eeee eeee eeee eeee
eeee eeee eeee eeee eeee eeee eeee aeee
eeee eeee eee4 eeee eeee eeee eeee eeee

eeEe
eeFe

eeee eeee eeee eeee eeee eeee eeee eeee
eeee eeee eeee eeee eeee eeee eeee eeee

o

SOFT RECOV. ERR
DEV ADDR: eee2
DEV 10: e1e6
DATE: MM/DD/YY
LVL: eeel AKR: eeee
TIME: 11:13:2e
RETRY: 3
IOCB: 7ee2 eS74
INTCC: ee12
ISB: eese
DCBl: See7 eeee eeee eeee eeee eSS4 eeee eeee
DCB2: sees eeel eeee eeel eeee eS94 eeee eeee
DCB3: 2eeg"oeeeeeee ee010eeloeee e10eCBEE
CSSW: eSA3 e4ee eeel eeel

o
4-170

SC34-0940

$DISKUT2

o

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.

COMMAND (?): LP CS MPRTR
LIST ALL OF THE DATA SET (YIN)? Y
COMMAND (?):

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.

COMMAND (?): LP
DATA SET NAME? MYPROG
LIST ALL OF THE DATA SET (YIN)? N
FIRST RECORD: 1
LAST RECORD: 20
LIST COMPLETE
COMMAND (?):

o
Chapter 4. Utilities

4-171

$DISKUT2

LR - List Log by Wrap Count and Relative Record for a Specific Device on a Terminal
Use LR to list the log by wrap count and relative record on the terminal where you
loaded $D18KUT2.

o

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,VOLUME): $LOGDS,EDXaa2
ENTER (HEX) WRAP COUNT AND RELATIVE
RECORD NUMBER IN THE FORMWWWW ,RRRR: aaal aaal
SOFT RECOV. ERR
DEV ADDR: 0002
DATE: 12/10/83
TIME: 11:10:20
INTCC: 0012
DCB1: 8007 0000
DCB2: 8005 0001
DCB3: 2009 0000
CSSW: 08A3 0400

0000
0000
0000
0001

DEV 10: 0106
LVL: 0001 AKR:
RETRY: 3
IDCB:
ISB: 0080
0000 0000 0884 0000
0001 0000 0894 0000
0001 0001 0000 0100
0001

0000
7002 0874
0000
000(:1
CBEE

,'0,:
,.,

When your log data set is 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
4-172

SC34-0940

$DISKUT2

o

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.

COMMAND (?): LR
LOG DATA SET (NAME,VOLUME):

$LOGDS,EDX002

ENTER (HEX) WRAP COUNT AND RELATIVE
RECORD NUMBER IN THE FORMWWWW RRRR:

2

*** LOG DATA SET WRAP COUNT IS 0002 HEX
*** NO DATA WAS WRITTEN AFTER THE LAST WRAP
*** ENTER PREVIOUS WRAP COUNT - 0001 HEX

ENTER (HEX) WRAP COUNT AND RELATIVE
RECORD NUMBER IN THE FORM WWWW RRRR: 1
*** RELATIVE RECORD OUT OF RANGE.
*** ALLOWABLE RECORDS ARE 0001 - 0006 HEX

ENTER (HEX) WRAP COUNT AND RELATIVE
RECORD NUMBER IN THE FORM WWWW RRRR: 1 6

LU - List Contents of a Data Set on Terminal
Use LU to list all or a portion of a source data set on the terminal where you loaded
$DISKUT2.
Example: List a portion of a data set.

COMMAND(?): LU
DATA SET NAME? CALSRC
LIST ALL OF THE DATA SET (YIN)? N
FIRST RECORD: 4
LAST RECORD: 8
ATTNLIST ATTNLIST (STOP,POSTl,CALC,POST2)
SPACE 1
POSTl
POST
KBEVENT, 1
ENDATTN
SPACE 1
LIST COMPLETE
COMMAND (?):

o
Chapter 4. Utilities

4-173

$DISKUT2

PA - Patch a Data Set or Program
Use PA to patch a data set record(s) or an area within a program in decimal,
EBCDIC, or hexadecimal.

o

Example 1: Patch a data set in decimal.

COMMAND (?): PA ASMOBJ
ASMOBJ IS A DATA SET
FIRST RECORD (0 TO CANCEL COMMAND):
FIRST WORD: 3
HOW MANY WORDS? I
(D)EC, (E)BCDIC OR (H) EX? D

2

NOW IS:
3

ENTER DATA:

16
18

NEW DATA:
3

18

OK (YIN)? Y
PATCH COMPLETE
ANOTHER PATCH (YIN)?

N

COMMAND (?):

Example 2: Patch a data set in EBCDIC.

COMMAND (?): PA ASMOBJ
ASMOBJ IS A DATA SET
FIRST RECORD (0 TO CANCEL COMMAND):
FIRST WORD: 3
HOW MANY WORDS? 1
(D)EC, (E)BCDIC OR (H) EX? E

o

2

NOW IS:
3

ENTER DATA:

0012

OOIO

NEW DATA:
3

F0F0

OK (YIN)? Y
PATCH COMPLETE
ANOTHER PATCH (YIN)?

N

COMMAND (?):

o
4-174

SC34-0940

$DISKUT2

o

Example 3: Patch a data set in hexadecimal.

( COMMAND (?): PA ASMOBJ
ASMOBJ IS A DATA SET
FIRST RECORD (0 TO CANCEL COMMAND): 2
FIRST WORD: 3
HOW MANY WORDS? 1
(D)EC, (E)BCDIC OR (H) EX? H
NOW IS:
3

0000 0000 0000 0030

I.· ...... .

ENTER DATA: 0002 0003 0004 OOOA
NEW DATA:
3

0002 0003 0004 000A

(YIN)? Y
PATCH COMPLETE
ANOTHER PATCH (YIN)?

I·· .. ··· ..

OK

N

COMMAND (?):

Example 4: Patch a program in decimal.

COMMAND (?): PA
PGM OR DS NAME: MYPROG
MYPROG IS A PROGRAM OF HEX SIZE 000013FE
ADDRESS: 0208
HOW MANY WORDS? 1
(D)EC. (E)BCDIC. OR (H)EX?: 0
NOW IS:
02D8 8
ENTER DATA: 6
NEW DATA:
02D8 6

(YIN)? Y
PATCH COMPLETE
ANOTHER PATCH (YIN)? N
OK

COMMAND (?):

o
Chapter 4. Utilities

4-175

$DISKUT2

Example 5: Patch a program in EBCDIC.

o

COMMAND (?): PA
PGMOR·DS NAME: MYPROG
MYPROG ISA PROGRAM OF HEX SIZE0B0013FE
ADDRESS: 2D8
HOW MANY WORDS? 7
(D}EC~ (E)BCOIC~ OR (H) EX?: E
NOW IS:
0208 D4CS D4C2 CS09 40C4 CS03 CSE3 C57C
ENTER DATA:

I MEMBER

OELETE@

I DELETE

MEMBER@

DELETE MEM8ER@

NEW DATA:
B208 C4CS D3CS E3C5 4004 C5D4 C2CS D97C
OK (YIN)? Y
PATCH COMPLETE
ANOTHER PATCH (YIN)? N
COMMAND (?):

Example 6: Patch a program in hexadecimal.

COMMAND (?): PA EX31DS02
EX31DSG2 IS A PROGRAM OF HEX SIZE G0GB3B7E
ADDRESS: 378
HOW MANY WORDS? 3
(D)EC, (E)BCOIC, OR (H) EX?: H
f

NOW IS:
G37A

GGGG GG01 GGSD

I..... )

ENTER DATA: 0G20 GB03 0GSF
NEW OATA:
037A
G02G G003 00SF
~

/

..... ..,

OK (YIN)? Y
PATCH-COMPtETr
ANOTHER PATCH (YIN)? N
COMMAND. (7):

o
4-176

SC34-0940

$DISKUT2

Example 7: Patch a program with overlay segments.

o

I

COMMAND (?): PA EX31ESOI
EX31ES01 IS A PROGRAM OF HEX SIZE 00002FA8 WITH 2 OVERLAY SEGMENTS
ADDRESS: 2F32
PATCH OVERLAY SEGMENT (0) OR RESIDENT CODE (R)? 0
WHICH OVERLAY? 1
HOW MANY WORDS? 2
(D)EC. (E)BCDIC. OR (H)EX?: H
NOW IS:
028A

0001 009A

ENTER DATA:

I.·· .

0002 009B

NEW DATA:
028A
0002 009B

I.. ··

OK (YIN)? Y
PATCH COMPLETE
ANOTHER PATCH (YIN)? N

COMMAND (?):

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.

COMMAND (?): PA
PGM OR OS NAME: $EoXNUCQ
ENTER PARTITION NUMBER(1-8): 1
PARTITION 1 OF $EDXNUCC HAS A HEX SIZE OF 0000D9FF WITH 3 OVERLAY SEGMENTS
ADDRESS: 0000
PATCH OVERLAY SEGMENT (0) OR RESIDENT CODE (R)? 0
WHICH OVERLAY? 2
HOW MANY WORDS? 3
(D)EC, (E)BCDIC. OR (H) EX?: X
NOW IS:
0304

10A2 0420 041E

I····

NEW DATA:
0304
0000 0000 0000

I.· ..

ENTER DATA:

OK (YIN)? N
ANOTHER PATCH (YIN)? N

COMMAND (?):

c
Chapter 4. Utilities

4-177

$DISKUT2

Example 9: Patch a portion of the supervisor that resides in partition 2.

COMMAND (?): PA
PGM OR DS NAME:

$EDXNUCQ

ENTER PARTITION NUMBER(1-B): 2
PARTITION 2 OF $EDXNUCQ HAS A HEX SIZE OF
ADDRESS: 38
HOW MANY WORDS? 2
(D)EC, (E)BCDIC, OR (H) EX?: X
NOW IS:
0030

o

000028FE

40EF 0020

I....

NEW DATA:
0030
0000 0000

I....

ENTER DATA:

OK (YIN)? 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:

ANOTHER PATCH (YIN)? Y 2
NOW IS:
0030

38 2 X

40EF 0020

I....

0000 0000

I....

o

ENTER DATA:
NEW DATA:
0030

OK (YIN)? Y
ANOTHER PATCH (YIN)? N
COMMAND (?):

o
4-178

SC34-0940

$DISKUT2

o

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 02 on the $SYSPRTR. (Refer to the

Problem Determination Guide for an explanation of the log output.)

COMMAND (?): PL
LOG OS NAME: EDXLOGDS
CHOOSE ONE OF THE FOLLOWING:
1 - DISPLAY ALL LOG RECORDS (DEFAULT)
2 - DISPLAY LOG RECORDS BY DEVICE ADDRESS
3 - DISPLAY PROGRAM/SYSTEM CHECKS
4 - DISPLAY APPC GENERAL INFORMATION
5 - DISPLAY APPC GDS VARIABLE INFORMATION
OPTION NUMBER: 2
DEVICE ADDRESS (HEX): 02
ERROR LOG LIST, DATA SET: $EDXLOGDS ON EDX002"
COMMAND:

o

Example 2: List the log data set on a printer other than $SYSPRTR.

COMMAND (?): PL $EDXLOGDS MPRTR
DEVICE ADDRESS(NUlL FOR ALL): 02
COMMAND:

Notes:
1. You must specify the printer name on the same line as the command and the

program name. 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
Chapter 4. Utilities

4-179

$DISKUT2

PR - List Log by Wrap Count and Relative Record
If you are a remote manager user (RM 1), use PR to list the log wrap count and
relative record 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 $SYSPRTR.

o

Example: List log by wrap count and relative record on $SYSPRTR. (Refer to the

Problem Determination Guide for an explanation of the log output.)

COMMAND (?): PR
LOG DATA SET (NAME,VOLUME):

$LOGDS,EDX992

ENTER (HEX) WRAP COUNT AND RELATIVE
RECORD NUMBER IN THE FORM WWWW RRRR:
ERROR LOG LIST, DATA SET:

SOFT RECOV. ERR
DEV ADDR: 0002
DATE: 12/10/83
TIME: 11:10:20
INTCC: 0012
DCB1: 8007 0000
DCB2: 8005 0001
DCB3: 2009 0000
CSSW: 08A3 0400

0000
0000
0000
0001

9991 9091

$LOGDS ON EDX002 FOR WRAP COUNT: 0001
AND RECORD # 0001

DEV ID: 0106
LVL: 0001 AKR:
RETRY: 3
IDCB:
ISB: 0080
0000 0000 0884 0000
0001 0000 0894 0000
0001 0001 0000 0100
0001

0000
7002 0874
0000
0000
CBEE

o

If you enter an incorrect wrap count for PR or LR, the system displays the following
message:

*** INCORRECT WRAP COUNT SPECIFIED.
*** LOG DATA SET WRAP COUNT IS 0001 HEX.

If you enter an invalid record number, the system displays the following message:

*** RELATIVE RECORO OUT OF RANGE.
*** ALLOWABLE RECORDS ARE· 0001 .,. 0007 HEX.

o
4-180

SC34-0940

$DISKUT2

o

PV - Print $SYSLOG Message Data Set
Use the PV command to print the $SYSLOG messages that you have stored in a
disk data set. For more information on the $VIRLOG initialization option, refer to
the Installation and System Generation Guide. The PV command prompts for the
name of the data set. You can specify the name of the printer on the same line.
Example: Print the data set called EDXSMLDS on $SYSPRTR.

COMMAND (?):

PV

ENTER MESSAGE DATA SET NAME:

EDXSMLDS $SYSPRTR

EDX SYSTEM MESSAGE LOG

==================== IPL OR $VIRLOG LOAD ====================
TIME: 10:26:47 MMjDDjYY
PROGRAM CHECK:
PLP TCB PSW IAR AKR LSR R0 R1 R2 R3 R4 R5 R6 R7
2000 20C2 8102 6976 0AA0 1000 0052 20A0 20C2 2034 2037 005C 00B8 7426
TIME: 10:27:08 MMjDDjYY
PROGRAM CHECK:
PLP TCB PSW IAR AKR LSR R0 R1 R2 R3 R4 R5 R6 R7
0900 D9C2 8102 6976 0000 1000 005C 09A0 D9C2 0934 0937 005C 00B8 7426

c)

TIME: 10:27:34 MMjDDjYY
PROGRAM CHECK:
PLP TCB PSW IAR AKR LSR R0 R1 R2 R3 R4 R5 R6 R7
2900 29C2 8102 6976 0440 1000 005C 29A029C2 2934 2937 005C00B87426
TIME: 10:46:33 MM/DDjYY
SPOOL OS WRITE ERROR, RC=10
TIME: 10:46:44MMjDDjYY
PROGRAM CHECK:
PLP TCB. PSW IAR AKR lSR R0 R1 R2 R3 R4. R5 R6 R7
2900 00e2 81026976 0440 1000 005C29A0 29C2 2934 2937 005C 0088 7426

o
Chapter 4. Utilities

4-181

$DISKUT2

SE - Search a Program or Data Set for Character String
Use the SE command to search a data set or program for an EBCDIC or
hexadecimal string. Direct the results to any output device or to your terminal
(default). For more information on the SE command, refer to the Operation Guide.

0
-.

Example 1: Search a program for a hexadecimal string.

COMMANO{?): SE
PGM OR OS NAME: $MYDATAI
ENTER NAME OF· OUTPUT DEVICE (BLANK FOR TERMINAL):
$MYDATA1 IS A PROGRAM OF HEX SIZE 000030CC
ENTER NUMBER OF BYTES OR CHARS TO
ENTER MODE - (E)BCOIC OR (H) EX:
ENTER STRING TO BE SEARCHED FOR:
SEARCH FOR ALL OCCURENCES (YIN)?

$SYSPRTR

SEARCH FOR (1-10):
H
5BC9 D4

3

N

Note: If you do not want to search for all occurrences, only the occurrences within
the record are displayed.
HEX STRING ==> 5BC9 04 <== FOUND IN $MYOATA1
AT AOORESS(ES):003A 007C OOBE
0000
0010
0020
0030
0040
0050
0060
0070
0080
0090
00AO
00B0
OOCO
0000
OOEO
OOFO

0008 0709 06C7 09C1 0440
0000 0000 0000 0000 0000
0000 0012 0000 0000 0000
0000 FFFF. 0000 0000 0808
C540 0606 40404040 4040
0000 0001 0000 00010000
0000 0000 0000 0000 0000
0000 0000 FFFF 0000 0000
0709 05E3 0606 4040 4040
0000 0000 0001 0000 0001
0000 0000 0000 0000 0000
0000 0000 0000 FFFF 0000
04C1C6E3 C1C2 0606 4040
0000 00000000 0001 0000
0000 00000000 0000·0000
00000600 0600 0000 FFFF

CONTINUE SEARCH (YIN)?
SEARCH COMPLETED
ANOTHi:R SEARCH (YIN)?

0000
0007
0000
5BC9
0000
0000
0000
0808
4040
0000
0000
0000
4040
0001
0000
0000

04C6
0300
0000
04E2
0000
0000
0000
5BC9
0000
0000
0000
0808
4040
0000
0000
0000

0546
0548
0000
CIE5
0000
0000
0000
04C1
0000
0000
0000
5BC9
0000
0000
0000
0808

•.. PROGRAM ... F..
.....•..•. $IMSAV
E •••

()

..•..•....•• $IMA
PRNT. ..
..•.••..••.... $1
MAFTAB ..•

N
N

o
4-182

SC34-0940

$DISKUT2

Example 2: Search a program with overlay segments.

o

COMMAND(?): SE $MYDATA2
ENTER NAME OF OUTPUT DEVICE (BLANK FOR TERMINAL): $SVSPRTR
$MYDATA2 IS A PROGRAM OF HEX SIZE 00002C16 WITH 5 OVERLAY SEGMENTS
ENTER NUMBER OF BYTES OR CHARS TO SEARCH FOR (1-10):
ENTER MODE - (E)BCDIC OR (H)EX: H
ENTER STRING TO BE SEARCHED FOR: FFFF 1191 5599
SEARCH FOR ALL OCCURRENCES (Y/N)? Y

6

Note: The hexadecimal string is found at address OBFC.

HEX STRING ==> FFFF 1101 5500 <== FOUND IN $MYDATA2
IN OVERLAY SEGMENT 4 (OVERLAY ADDRESS = 1516)
AT ADDRESS(ES): OBFC
OBOO
OB10
OB20
OB30
OB40
0B50
OB60
OB70
OB80
0B90
OBA0
OBBO
OBC0
OBDO
OBEO
OBFC

0428
9F19
40CA
4424
FBFB
6D2F
E240
0002
100E
0801
C8F8
0026
0026
3141
6F6F
0728

0E04
1Aoe
4024
OE95
50E9
0000
6A6F
7084
E500
A001
0400
40EF
0001
696E
0020
ODFC

4024
5005
OE36
45E4
40C8
1105
0026
0404
E2D3
FBF2
40CA
0026
FBEF
0020
7704
5600

OCOO
OC10

5500 C9E4 0020 IF05 4024 OC16 75C7 9ECO
75C7 08FF 5600 0800 5600 40C8 COOO 0420

SEARCH COMPLETED
ANOTHER SEARCH (YIN)?

ODFC
OCOO
4424
008E
C000
89E8
3241
OF08
E4D1
1A07
0800
0001
1A09
01F8
7800
01F8

9F1D
4224
OE61
0F06
7024
0000
6A6E
2C44
A6DO
A4D1
50FB
1002
7424
5600
OOFF
4029

1A10
09BA
5004
2084
E5D3
0026
0020
406F
89E8
A2D3
E403
0901
696F
70C7
3742
0DF6

4024 OE18
OF08 2C4C
4024 0E6A
FBFA 080C
6D6E 0022
FBEF 1A23
72C4 6A2E
0000 0001
0000 0026
A5DO 08FF
ABE90022
AID340E9
0026 0101
5600 71E4
6F6E 0026
FFFF 1101

M•••••••••••••
•••• &•••••••••• <

...... /& ... J
•••• U•••••••••

E •••
••••• Y••••••••
S ]? ... ]> ... 0].
...•.••.• ? •.•

.. V&SLUJ & Y....
.•. J.2 .. J L& ..
H8 .•.•. &.UL.Z .•
••.••.••.••. *L Z
•.••....•••• ? ..•.
.•• > .•. 8 ... G.~.U
?? ......... .,.. ?> ..
P••• ~ •• 8· •.• 6 ••••

I.. IU ........ G .\
.G ..... ~ .. H .M.

N

c
Chapter 4. Utilities

4-183

$DISKUT2

Example 3: Search a data set for a character string.

o

COMMAND(?): SE $FSIMO
ENTER NAME OF OUTPUT DEVICE (BLANK FOR TERMINAL):· $SYSPRTR
$FSIMO ISA DATA SET OF
2 RECORDS
ENTER NUMBER OF BYTES OR CHARS TO SEARCH FOR (1-10): 4
ENTER MODE - (E)BCDIC OR (H) EX: E
ENTER STRING TO BE SEARCHED FOR: HOST
SEARCH FOR ALL OCCURRENCES (YIN)? Y

Note: The data set is searched for all occurrences of the character string.

STRING ==> HOST <== FOUND IN $FSIMO RECORD
AT WORD(S): 32
4B
1
9
17
25
33
41
49
57
65
73
81
89
97
105
113
121

D9EB
02Fl
FB40
FB40
D6E2
02F4
E2E3
F540
4002
FB40
00FB
FB40
B040
0000
0000
0000

4003
40FC
02F2
02F3
E361
40FC
6105
FC4B
F640
02F7
4002
02F9
00Bl
0000
0000
0000

C9E2
4B07
40FC
40FC
D5Cl
4B14
CIE3
0740
FC4B
40FC
FB40
40FC
0001
0000
0000
0000

E34B
40C2
4B05
4B13
E369
40E6
C9E5
E2E4
0640
4B06
FC4B
4B05
4000
0000
0000
00C8

EA40
0906
40C5
4009
E5C5
D9C9
C550
C2D4
0709
4004
0440
40CB
B040
0000
0000
C503

00B0
E6E2
C4C9
C5Cl
5DCE
E3C5
CF40
C9E3
C905
C509
C403
C5D3
00Bl
0000
0000
07C0

4000
C5C2
E3C0
C440
4000
4040
00FB
C240
E3Cl
C7C5
C4BF
07C0
0001
0000
0000
4000

2
FB40
4000
4000
40CB
FB40
CB06
4002
00FB
4000
C140
4000
4000
4000
0000
0000
B040

RY LIST. . . . . .
.1 ... BROWSEB .
· .2 ... EDIT .
· .3 ... READ (H
OST INATIVE). ..
.4 ... WRITE (H0
STINATIVE). .. .
5 ... SUBMITB .•
.6 ... PRINTA .
· .7 ... MERGEA
... B ... END ..
· .9 ... HELP .

l

....... HELP ..

SEARCH COMPLETED
ANOTHER SEARCH (YIN)? N

Example 4: Search a program for a character string that does not exist.

COMMAND(?): SE
PGM OR OS NAME: $FSIMO
ENTER NAME OF OUTPUT DEVICE (BLANK FOR TERMINAL): $SYSPRTR
$FSIMO IS A PROGRAM OF HEX SIZE 000030CC
ENTER NUMBER OF BYTES OR CHARS TO SEARCH FOR (1-10): 4
ENTER MODE - (E)BCDICOR (H)EX: E
ENTER STRING TO BE SEARCHED FOR: HOST
SEARCH FOR ALL OCCURENCES (YIN)? N
STRING ==> HOST <== NOT FOUND IN $FSIMO
ANOTHER SEARCH (YIN)? N

4-184

SC34-0940

o

$DISKUT2

o

SS - Set Program Storage Parameter
Use SS to modify the default load time storage allocation associated with a program.
You can change the allocation without reassembling the source code or providing an
override on the LOAD instruction. SS requires that you express the size as bytes in
decimal. The system rounds up the value you request if it is not an even multiple of
256.
Example: Reduce the dynamic storage you want allocated for the COBOL compiler
at program load.

$L $DISKUT2
LOADING $DISKUT2

>

51P,01:30:15, LP= 9200, PART=1

$DISKUT2 - DATA SET MGMT, UTILITY II
USING VOLUME EDX002
COMMAND (?): CV ASMLIB
USING VOLUME ASMLIB
COMMAND (?): 5S $COBOL
OLD STORAGE SIZE WAS

8448

ENTER NEW STORAGE SIZE IN BYTES: 2816
NEW SIZE WILL BE 2816
OK TO CONTINUE (YIN)? Y
COMMAND (?): EN
$DISKUT2 ENDED AT 01:32:02

o
Chapter 4. Utilities

4-185

$DIUTIL

$DIUTIL - Maintain Partitioned Data Base
$DIUTIL maintains a disk-resident partitioned data base. This utility provides
comprehensive facilities to keep the data base current by means of the following
functions:
•
•
•
•
•
•
•

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.

Loading $DIUTIL
Load $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.

l

o

> $L $DIUTIL

DISPLIB (NAME, VOLUME):

2. The system responds with the program-loaded message followed by:
LOADING $DIUTIL

51P,01:30:15, LP= 9200, PART=l

DISPLAY DATA BASE UTILITY
. ·COMMAND· '{?) :
~.

Note: The display data base must not exceed 32767 records in length.

()
4-186

SC34-0940

$DIUTIL

o

$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 (?):
again. Then you can respond with the command of your choice (for example, AL).

AL - Allocate Data Member

c'

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.
6 - Real-time Data Member: The system requests the number of records. You can
enter hexadecimal data for testing.
7 through 9 - User Data Member: The build function uses these codes to .guide you
through the correct data entry procedure.

COMMAND (?): Al
MEMBER NAME: TDATA
ENTER # OF RECORDS TO ALLOCATE: 19
ENTER MEMBER CODE #: 4
MEMBER TDATA ALLOCATED

c

COMMAND (?):

Chapter 4. Utilities

4-187

$DIUTIL

BU - Build Data Member
Use the BU command to insert fixed data into a data member. This command
allows you to enter data records to describe a fixed display or enter records, whi<;h
normally will be dynamic, with a fixed value, to allow testing of the display.

o

You may have allocated the member using AL; if not, the system prompts you for
the allocation information it requires before it proceeds with the "build" process.
The system guides you one step at a time through the initialization of the data
member.

COMMAND (?): BU
ENTER MEMBER NAME: RDATA
INITIALIZE REPORT DATA MEMBER
ENTER NUMBER OF LINES IN REPORT: 2
LINE LENGTH=32
ENTER LINE ITEMS
LINE ONE OF REPORT
LINE TWO OF REPORT
MEMBER LOADED
l_C_O_MM_A_ND__
(?_)_:______________________

~____________________J

In this case, the member was already allocated.

{)

()
4-188

SC34-0940

$DIUTIL

o

CP - Compress Data Base
Use the CP command to reclaim unused space in the data base. The system actually
does not remove deleted members; it merely flags the space as unusable until you
compress it. Then the system moves other members into that space and displays a
message after each member it moves. When the system completes the compress, it
displays the following message:

l

COMPRESS COMPLETED

You should exercise caution in using this function as it actually rearranges the
members in the data base. To prevent unpredictable results, you should restrict your
use of the interpreter ($DIINTR) during this process.
Note: If an unrecoverable I/O error occurs, it destroys the data set. .

COMMAND (?): CP
WARNING--COMPRESS IN PLACE. IF AN ERROR
SHOULD OCCUR DATA SET WILL BE DESTROYED
DO YOU WISH TO PROCEED (YIN)? Y
DATA
COPIED
RDATA
COPIED
REPORT
COPIED
SQUARE
COPIED
CIRCLE
COPIED
RPT
COPIED
ARC
COPIED
PLOT
COPIED
COMPRESS
COMPLETED
COMMAND (?):

CM - Copy Member
Use the CM command to copy a member from the source data base to the target
data base. The options available under MD (move data base) are also available
under CM (copy member).

COMMAND (?): CM
SOURCE DATA SET NAME: $DIFILE
LOCATED ON VOLUME: EDX992
CHANGE SOURCE DATA SET (YIN)? N
TARGET (NAME,VOLUME): $DIFILE,EDX993
SAVE EXISTING MEMBERS IN TARGET DATA BASE (YIN)? Y
ENTER MEMBER NAME TO BE COPIED
PLOT
COPIED
PLOT
COpy COMPLETED

c

COMMAND (?):

Chapter 4. Utilities

4-189

$DIUTIL

DE - Delete a Member
Use the DE command to remove display or data members from the data base. The
system prompts you for the name of the member you want to delete and asks you to
verify the accuracy of your entry prior to actual deletion.

o

COMMAND (?): DE
MEMBER NAME: PLTT
DELETE MEMBER PLTT (YIN)? Y
PLTT DELETED
COMMAND (?):

EN - Exit Program
Use the EN command to terminate the $DIUTIL utility.

IN -Initialize Data Base
Use the IN command to format the entire data base to zeros and to format the
directory to reflect the starting and ending record numbers. The system prompts
you to proceed.
Note: This function destroys any data in the data base.

Make sure you enter the correct data set name. IN ends when the system displays
the message DATA SET FORMATTED. Each directory record allocated with IN
contains 16 directory entries, except the first, which contains 15.

o

COMMAND (?): IN
*-*-WARNING THIS FUNCTION WILL DESTROY ANY DATA
CURRENTLY IN DATA SET-*-*
DO YOU WISH TO PROCEED (YIN)? Y
ENTER DIRECTORY SIZE IN RECORDS: 2
DATA SET FORMATTED
DATASET NAME: $DIFILE
LOCATED ON VOLUME: EDX002
- DATA SET -- DIRECTORYNEXT·· TOTAC~ NEXT
totAL
3
lee
1
31
END OF STATUS
COMMAND (?):

o
4-190

SC34-0940

$DIUTIL

o

LA - Display Directory
Use the LA command to display all active members. Each line of display shows the
member name followed by four values:
1. Starting sector relative to the start of the data base.
2. Length of member in records.
3. Member usage code.
4. User-defined member code.

COMMAND (?): LA
NAME
START
PLOT
DATA
RDATA
REPORT
SQUARE
CIRCLE
RPT
ARC

LENGTH

11

4

15
25
35
36
38
39
40

10

10
1
1
1
1
1

CODE

USER CODE

2
5

0
0
0
0
0
0
0
0

4

1
2
2
1

2

COMMAND (?):

LH - Display Member Header
Use the LH command to display the header of a data member (types 4 - 9). The
header describes the characteristics and use of the member.
Example:

COMMAND (?): LH
MEMBER NAME: RDATA
MEMBER RDATA HEADER

o

0

0

2

32

80

END OF HEADER
COMMAND (?):

o
Chapter 4. Utilities

4-191

$DIUTIL

MD - Move Data Base
Use the MD command to move the data base on the same or another volume when
the data base becomes too small to add a member. You can move the online data
base to another location temporarily, delete the old version, reallocate and initialize
the new expanded version, and move back the previous contents. During this
procedure, use the Interpreter with care.

o

Note: If you are moving the data base and the Interpreter uses a member, you will
get unpredictable results.
During the execution of MD, the system prompts you for a new source data if you
want one and a target data base. You have the option of saving the members in the
target data base. MD is helpful if you wish to use $DICOMP to develop display
members in a different data base than the online version and then, at a later time,
combine the new members with those in the online data base.

COMMAND (?): MD
SOURCE DATASET NAME: $DIFIlE
LOCATED ON VOLUME: EDX002
CHANGE SOURCE DATASET (YIN)? N
TARGET (NAME,VOLUME): $DIFIlE,EDX003
SAVE EXISTING MEMBERS IN TARGET DATA BASE (YIN)? Y
PLOT
COPIED
DATA
COPIED
RDATA
COPIED
REPORT
COPIED
SQUARE
COPIED
CIRCLE
COPIED
RPT
COPIED
ARC
COPIED
COpy COMPLETED

o

COMMAND (?):

o
4-192

SC34-0940

$DIUTIL

RE - Rename Member

()

Use the RE command to change the display profile ID name. The system prompts
you for each step and takes no action until it obtains your response first. RE is
useful when you need to modify an online member. You can copy the member that
needs changing to another data base, modify and test it, then rename it and copy it
back to the online data base. By using the rename and delete functions, you can
exchange the new for the old without interfering with any online functions.

COMMAND (?): RE
MEMBER NAME: PLOT
ENTER NEW NAME: PLTT
RENAME COMPLETED
COMMAND (?):

ST - Display Data Base Status

·c·.'~
!

Use the ST command to display the current data base status. The first line shows
the data base location and name. The data that follows is the current status of the
data base. There are four values presented. The first is the next available record.
The second is the total number of records in the data base. You can see then how
much space is available for new members. If space is running short, you can
compress the data base of allocate a larger area. The next value displayed is the
next available directory entry. The last value displayed is the total number of
directory entries available. Refer to these two values to determine if you need more
or less space for directory entries. Following the completion of the status display,
the system displays a message indicating end-of-status.

COMMAND (?): ST
DATASET NAME: $DIFILE
LOCATED ON VOLUME: EDX002
- DATA SET -- DIRECTORYNEXT
TOTAL NEXT
TOTAL
41

100

10

159

END OF. STATUS
COMMAND (?):

Chapter 4. Utilities

4-193

$DSKMON

$DSKMON - Monitor Disk 1/0 Activity
Use the $DSKMON utility to monitor disk activity. With the information the
$DSKMON utility provides, you can organize a disk for optimum usage. By
rearranging where files are on the disk, you can minimize disk seeks and unnecessary
disk I/O.
$DSKMON tracks the total number of times a program reads and writes to disk, the
number of times a program accesses a cylinder, and the number of times a program
accesses cache. $DSKMON records this data and stores it on disk in a data set.
Use the $DSKPRTI utility to print the data that $DSKMON records. See
"$DSKPRTI - Print a Log for all Disk Activity" on page 4-197 for an explanation
of how the $DSKPRTI utility works. Use the $DSKPRT2 utility to print two
reports per disk summarizing disk activity. See "$DSKPRT2 - Print a Disk
Activity Report" on page 4-203 for an explanation of how the $DSKPRT2 utility
works.
$DSKMON logs the total number of times the system accesses a disk and loads a
program, minute by minute, on a terminal you specify.

$DSKMON Requirements
You must allocate two data sets before you can use $DSKMON. The system uses
the first data set to store the data that $DSKMON collects. The recommended size
for this data set is 1800 records which is enough space to record data for 9600
operations. You can name the data set anything you like and it can reside on any
volume. When this data set becomes full the system issues a message and
$DSKMON ends. The system uses the second data set to collect the DDB's/VDE's
for the disks on the system you monitored. The recommended size for this data set
is 50 records. You can name this data set anything you like and it can reside on any
volume. When you use the $DSKPRT2 and $DSKPRTI utilities, you are prompted
for the two data sets. The data set names and volumes remain the same. See
"$DISKUTI - Allocate/Delete/List Directory Data" on page 4-139 for information
on allocating a data set.

C~

,)

In order to use $DSKMON, you must set the time and date each time you IPL the
system. You must also include timer support when generating the system. For more
information on generating your system, refer to the Installation and System
Generation Guide.
Note: If you attempt to load $DSKMON when $CPUMON or $SIPSYS is active,
the system issues the message "$DSKMON LOAD FAILED - $CPUMON
OR $SIPSYS ACTIVE." You must end $CPUMON or $SIPSYS and then
load $DSKMON.

Loading $DSKMON
Load $DSKMON with the $L operator command. Specify the name of the
DATAFILE and the DDBFILE data sets. (Allocate these data sets before loading
$DSKMON.) You are prompted for the number of buffers that $DSKMON can
use. (Each buffer is 2,304 bytes in size.) The default buffer amount is 3. This
number should be enough for most applications. The number of buffers that
$DSKMON needs depends on the amount of disk l/Os and the disk access rate.
You may require additional buffers if the amount of disk I/O's is high and the access
rate is fast.

4-194

SC34-0940

o

$DSKMON

o

$DSKMON prompts for the name of the printer or terminal where you want the
summary log displayed. You are asked if you want to print the summary log. If
you reply Y, the log is displayed on the terminal or printer you specify. If you reply
N, you do not receive the summary log. When you reply Y or N to the prompt,
$DSKMON stores the monitored data in the DATAFILE data set. If you decide
later that you want to display the summary log, you can use the > PRINT
command. See "$DSKMON Attention Commands" on page 4-196 for more
information on this command.
$DSKMON then prompts you to put the terminal in roll mode. In roll-screen
mode, you do not need to press the enter key each time the screen fills up.
In the following example, $DSKMON runs for 4 minutes. Then $DSKMON is
cancelled. From the time $DSKMON was activated till 11 :44:04, there were 172
disk I/O operations and 3 program/overlay loads.
Example:

$L $DSKMON
DATAFILE (NAME,VOLUME): DSKDATA,USERVOL

>

DDBFILE (NAME,VOLUME):
LOADING $DSKMON

DDBDATA,USERVOL
11P,11:43:80, LP=E488, PART= 1

**** DISK MONITOR ****

o

ENTER NUMBER OF BUFFERS (2-27 -- DEFAULT = 3): 5
ATTN NOPRINT - STOP LOG PRINTOUT
ATTN PRINT - START LOG PRINTOUT
ATTN ENDMON - END DISK MONITOR
LOG TERMINAL NAME (DEFAULT IS CURRENT TERMINAL):
PUT THE TERMINAL IN ROLL MODE (YIN)? Y
PRINT THE SUMMARY LOG (YIN)? Y
DISK MONITOR ACTIVATED
11:44:04 $DSKMON : DISK
11:45:04$DSKMON DISK
1l:4~:04·$DSKMON
DISK
1l:47:04:$DSKMON DISK
>

I/O'S = 172, PGM LOADS =
I/O'S = 48, PGM LOADS =
I/O'S = 55, PGM . LOADS. =
I/O'S = 54, PGM LOADS =

3

o
1

o

ENDMON

LAST SECTOR WRITTEN WAS

72

$OSKMON ENDED AT 11:47:45

o
Chapter 4. Utilities

4-195

$DSKMON

$DSKMON Attention Commands
$DSKMON has three attention commands: ENDMON, NOPRINT, and PRINT.
These commands are explained below.

o

ENDMON - End the $DSKMON Utility
To end the $DSKMON utility, press the attention key, type in ENDMON, and
press the enter key.
Example:

>

$L $DSKMON

LOADING $DSKMON

llP,l1:43:00,lP=E400. PART=l

**** DISK MONITOR ****
>

ENDMON

$DSKMON ENDED AT 11:56:29

NOPRINT - Stop Printing the Summary Log
To stop the system from printing the summary log, press the attention key, type in
NOPRINT, and press the enter key.

l>

()

NOPRINT

PRINT - Start Printing the Summary Log
To start printing, press the attention key, type in PRINT, and press the enter key.
Example:

l>

PRINT

o
4-196

SC34-0940

$DSKPRTI

o

$DSKPRT1 - Print a Log for all Disk Activity
Use the $DSKPRTI utility to generate a log that lists all activity on all disks.
$DSKPRTI formats and prints the data that $DSKMON records. This data is
stored in the data set you allocated when using $DSKMON. After monitoring your
disks with $DSKMON and analyzing the logs you print with $DSKPRT1, you may
find large seek distances resulting from 2 or more programs accessing data sets on
the same device. To use your disk more efficiently, you can locate files (physically)
closer together. You can also move one of the conflicting files to a different device
or run one of the programs at different times.

Loading $DSKPRT1
Load $DSKPRTI with the $L operator command. $DSKPRTI prompts for the
names and volumes of two data sets. Yop. must allocate these data sets before you
use $DSKMON. For more information, see "$DSKMON - Monitor Disk I/O
Activity" on page 4-194.
After the system loads $DSKPRT1, it prompts you for the terminal or printer where
you want the output displayed.
Respond to the prompts as shown in the example. The report, which is printed on
the system printer ($SYSPRTR), follows the example.
Example: List all activity on all disks

>

$DSKPRTl

DATAFILE (NAME,VOLUME): DSKDATA,USRVOL
DDBFILE (NAME,VOLUME): DDBDATA,USRVOL
LOADING $DSKPRTl

41P,l1:56:33 LP=1800, PART=2

** DISK MONITOR LOG UTILITY **
ATTN ICA'

- TO CANCEL REPORT

ENTER OUTPUT DEVICE (DEFAULT - $SYSPRTR):
LIST ALL ACTIVITY ON ALL DISKS (YIN)? Y
SELECTED.JIME.PERIOO(r IN)? N
ANOTHER REPORT (YIN)? N
$OSKPRTl.ENDED at 11:56:55

c
Chapter 4. Utilities

4-197

$DSKPRTI

The following is sample output of a log listing activity on all disks. An explanation
of the report fields follows the sample output.

0

$DSKPRTI SUMMARY REPORT MM/DD/YY 11:56:33
ET(MS) MN/SC OPER DEV

AD

21
20
19
11798
14053
39
12
8
12
3
30
9

256
256
( NON - DIS K
49
2
256
54
3937 5888
54
218
256
54
828
256
54
829
768
( NON - DIS K
54
3937 5888
54
3960
256
54
3961
256
54
3962
256
54
3963
256
54
3964
256
54
3965
256
54
218
256
54
256
833
54
834 2304
54
843
256
54
844
256
( NON - DIS K
54
3937 5888
54
3960
256
54
3961
256
54
3962
256
54
3963
256
54
3964
256
54
3965
256
54
218
256
54
219
256
54
939
256
54
940 7168
54
969
256
54
970
256
54
971
256
54
972
256
54
973
256
54
974
256
54
975
256
54
976
256
54
218
256
54
219
256
54
845
512
49 200075 2304
49
2
256
( NON - DIS K

8

9
9
8
18
12
7
11
8
10
4
22
9
9
9
8

9
17
10
11
6
49
9
8
9
9
8
9
8
16
It)

9
1
463
117

4-198

53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53

3
3
3
15
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30

WRITE ---WRITE ---PROGSTOP-WRITE 4963
READ 4967
READ 4967
READ 4967
READ 4967
LOAD
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
LOAD
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
READ 4967
WRITE 4963
WRITE 4963
PROGSTOP--

SC34-0940

RBA BYTES SIR CYL-TK-SE SEEK DS/PGM
( ME MDIS K )
( ME MDIS K )
OPE RAT ION )
S FIXED HEAD P/V
S
2 12 17
2
S
0 2 22 -2
S
0
0 8 44
S
0
0 8 45
OPE RAT ION )
S
2 12 17
2
S
2 12 40
0
S
2 12 41
0
S
2 12 42
0
S
2 12 43
0
S
2 12 44
0
S
2 12 45
0
S
0 2 22 -2
S
0 8 49
0
S
0
0 8 50
S
0
0 8 59
S
0 8 60
0
OPE RAT ION )
S
2 12 17
0
S
2 12 40
0
S
2 12 41
0
S
2 12 42
0
S
2 12 43
0
S
2 12 44
0
S
2 12 45
0
S
0 2 22 -2
S
0 2 23
0
S
0 9 57
0
S
0 9 58
0
S
0 9 87
0
S
0 9 88
0
S
0 9 89
0
S
0
0 9 90
S
0 9 91
0
S
0
0 9 92
S
0 9 93
0
S
0 9 94
0
S
0
0 2 22
S
0
0 2 23
R 0 8 61
0
S 312 6 11 312
R FIXED HEAD P/V
OPE RAT ION )

VOL

$DSKDDBD,DKM001
$DSKDDBD,DKM001
$DSKDDB
SYSDATE ,EDXFIX
$$
$$
$$
$$
$SMLOG
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$SMOPEN
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
,
$SMMLOG ,EDX002
$DSKDATA,DKM001
SYSDATE ,EDXFIX
$SMOPEN

TERMINAL

PROGRAM

$SYSLOG
$SYSLOG

$DSKDDB
$DSKDDB

$SYSLOG
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOG
$SYSLOG

$.DATTIM
(SYS)
(SYS)
(SYS)
(SYS)
$SMMAIN
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
$SMLOG
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
(SYS)
$SMOPEN
$SMOPEN
$SMOPEN
$DSKMON2
$.DATTIM

C)

0

$DSKPRTI

o

Report Field

Description

ET

The elapsed time in milliseconds (MS) since the last operation was
listed.

MNISC

The minutes and seconds of the system clock.

OPER

The type of operation (READ, WRITE, LOAD, PROGSTOP, or
OVERLAY) that occurred.

DEV

The type of disk device on which the operation took place.

AD

The address of the disk device on which this operation took place.

RBA

The relative block address of the record read or written. This is
relative to the device and, therefore, some computation will be
necessary to convert this address to record numbers within the
EDX volumes.

BYTES

Byte count for this I/O operation.

SIR

The method of disk access. An S indicates sequential access. An R
indicates random access.

CY-TK-SE

The cylinder, track, and sector on which this operation occurred.

SEEK

If a seek is necessary to access the cylinder where the record is
located, the amount of seek is listed.

DSIPGM

The name of the EDX data set accessed by this operation. If the
event was executed by the system, the data set name will usually be
"$$." In the case of LOAD, OVERLAY, and PROGSTOP, this
column will be the name of the program loaded or stopped.

VOL

Name of the EDX volume that was accessed by this event. If this
column is blank, it indicates the IPL volume.

TERMINAL

The terminal from which the executing program was loaded.

PROGRAM

Name of the program executing the disk operation. If this
operation is performed by the system, "(SYS)" will be listed in this
column.

c
Chapter 4. Utilities

4-199

$DSKPRTI

Respond to the prompts as shown in the example. The report, which is printed on
the system printer ($SYSPRTR), follows the example.
Example: List disk activity for the $IAM program.

o

>$L $DSKPRTI DSKDATA,EDXOOI DDBDATA,EDXOOI
LOADING $DSKPRTl
41P,11:57:40, LP= 1800~ PART= 2

** DISK MONITOR LOG UTILITY **
ATTN ICA I - TO CANCEL REPORT
ENTER OUTPUT DEVICE (DEFAULT - $SYSPRTR):
LIST All ACTIVITY ON ALL DISKS (YIN)? N
LIST ONLY A PROGRAM TRACE (YIN)? N
LIST BY DISK ADDRESS (YIN)? N
LIST BY TERMINAL NAME (YIN)? N
LIST BY PROGRAM NAME (YIN)? Y
ENTER PROGRAM NAME: $IAM
SELECTED TIME PERIOD (YIN)? Y
ENTER START TIME (MM:SS): 58:00
ENTER END TIME (MM:SS): 59:00
ANOTHER REPORT (YIN)? N
$DSKPRTl ENDED at 11:58:38

The following is sample output of all disk activity for the $IAM program.

0
$DSKPRT1 SUMMARY REPORT MM/DD/YY 11 :57:40
ET(MS) MN/SC OPER DEV
56
51
59
57
58
132
32
1898
2345
209

58
58
58
58
58
58
58
58
58
58

52
52
52
52
52
52
53
55
57
57

READ
READ
READ
READ
READ
READ
READ
READ
READ
WRITE

DDSK
DDSK
DDSK
DDSK
DDSK
DDSK
DDSK
DDSK
DDSK
DDSK

AD

RBA BYTES SIR CYL-TK-SE

44 11969
44 11972
44 11973
44 11974
44 11975
44
2730
44 27742
44 109781
44 109783
44 109781

256
256
256
256
256
256
256
256
256
256

R
R
R
R
R
R
R
R
R
R

44
44
44
44
44
10
101
403
403
403

0 1
0 4
0 5
0 6
0 7
0 9
3 66
2 27
2 29
2 ,27

SEEK DS/PGM VOL
12
0
0
0
0
-34
91
302
0
0

NAMES , KEITH
NAMES ,KEITH
NAMES , KEITH
NAMES , KEITH
NAMES ,KEITH
$IAMDIR, EDX002
QRYDIR ,QRYVOL
QRYPSWD,QRYVOL
QRYPSWD,QRYVOL
QRYPSWD,QRYVOL

TERMINAL
RAO
RAO
RAO
RAO
RAO
$SYSLOG
$SYSLOG
$SYSLOG
$SYSLOG
$SYSLOG

PROGRAM
$IAM
$IAM
$IAM
$IAM
$IAM
$IAM
$IAM
$IAM
$IAM
$IAM

o
4-200

SC34-0940

$DSKPRTI

Respond to the prompts as shown in the example. The report, which is printed on
the system printer ($SYSPRTR), follows the example.

o

Example: List a program trace.

>

$L $DSKPRTI DSKDATA,EDXOOI DDBDATA,EDXOOI

LOADING $DSKPRT1

41P,11:58:38, LP= 1800. PART= 2

** DISK MONITOR LOG UTILITY **
ATTN ICA I - TO CANCEL REPORT
ENTER OUTPUT DEVICE (DEFAULT - $SYSPRTR):
LIST ALL ACTIVITY ON ALL DISKS (YIN)? N
LIST ONLY A PROGRAM TRACE (YIN)? Y
SELECTED TIME PERIOD (YIN)? N
ANOTHER REPORT (YIN)? N
$DSKPRTl ENDED at 11:58:40

The following is sample output from a program trace.

$DSKPRT1 SUMMARY REPORT MM/DD/YY 11 :58:38

C;

ET(MS) MN/SC OPER DEV

AD

168219
25922
142
839
2251
543
223
174
182
253
187
185
253
121
12
17

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

53 3
53 29
53 38
53 38
53 33
53 33
53 34
53 34
53 34
53 34
53 34
53 34
53 35
53 35
53 35
53 35

PROGSTOP-LOAD ---LOAD ---PROGSTOP-LOAD ---LOAD ---OVERLAY-OVERLAY-OVERLAY-OVERLAY-OVERLAY-OVERLAY-OVERLAY-PROGSTOP-PROGSTOP-PROGSTOP--

RBA BYTES SIR CYL-TK-SE

SEEK

( NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE R AT ION)
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )
NON - DIS K OPE RAT ION )

DS/PGM VOL TERMINAL PROGRAM
$DSKDDB
$SMLOG ,
$SMOPEN ,
$SMOPEN
$SMALOC ,
$DISKUT3,
$$
$$
$$
$$
$$
$$
$$
$DISKUT3
$SMALOC
$SMLOG

$SYSLOGA $SMMAIN
$SYSLOGA $SMLOG
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA
$SYSLOGA

$SMLOG
$SMALOC
$DISKUT3
$DISKUT3
$DISKUT3
$DISKUT3
$DISKUT3
$DISKUT3
$DISKUT3

c
Chapter 4. Utilities

4-201

$DSKPRTI

Respond to the prompts as shown in the example. The report, which is printed on
the system printer ($SYSPRTR), follows the example.
Example: List activity for programs loaded from a specific terminal

$L $DSKPRT1,EDXOOl
LOADING $DSKPRTl

o

>

41P,1l:58:15, LP= 1800, PART= 2

** DISK MONITOR LOG UTILITY **
ATTN 'CA'- TO CANCEL REPORT
ENTER OUTPUT DEVICE (DEFAULT - $SYSPRTR):
LIST ALL ACTIVITY ON ALL DISKS (YIN)? N
LIST ONLY A PROGRAM TRACE (YIN)? N
LIST BY DISK' ADDRESS (YIN)? N
LIST BY TERMINAL NAME (YIN)? Y
ENTER TERMINAL NAME: $SYSLOG
SELECTED TIME PERIOD (YIN)? N
ANOTHER REPORT (YIN)? N
$DSKPRT1 ENDED at 11:58:38

The following is sample output for activity performed by programs loaded from a
specific terminal.

$DSKPRTI SUMMARY REPORT MM/DDjYY 11:58: 15
ET(MS) MNjSC OPER DEV

AD

21
20
11798
1
14999

49 199937 256 S 312 4 1 312
49 199938 256 S 312 4 2
0
2 256 R FIXED HEAD PjV
49
49 200075 2304 S 312 6 11 312
49
2 256 R FIXED HEAD PjV

53
53
53
53
53

3
3
15
30
30

WRITE
WRITE
WRITE
WRITE
WRITE

4963
4963
4963
4963
4963

RBA BYTES SjR CYL-TK-SE

SEEK DSjPGM

VOL

$DSKDDBD,DKM001
$DSKDDB D,DKM001
SYSDATE ,EDXFIX
$DSKDATA,KEITH
SYSDATE ,KEITH

TERMINAL PROGRAM
$SYSLOG
$SYSLOG
$SYSLOG
$SYSLOG
$SYSLOG

0

$DSKDDB
$DSKDDB
$ .DATTIM
$DKMN2
$. DATTIM

o
4. . 202

SC34-0940

$DSKPRT2

o

$DSKPRT2 - Print a Disk Activity Report
$DSKPRT2 formats and prints the data that $DSKMON records.
You can use the $DSKPRT2 utility to generate a report and an optional graph of
the disk activity for each disk device.

Loading $DSKPRT2
Load $DSKPRT2 with the $L operator command. $DSKPRT2 prompts for the
names and volumes of two data sets. (These are the two data sets you allocated in
order to use $DSKMON.) For more information, see "$DSKMON - Monitor Disk
I/O Activity" on page 4-194.

>

$L $DSKPRT2,EDX991

DATAFILE (NAME,VOLUME):
DDBFILE (NAME,VOLUME):
LOADING $DSKPRT2

DSKDATA,USERVOL
DDBDATA,USERVOL

41P,11:59:14, LP= 1800, PART= 2

ENTER OUTPUT DEVICE (DEFAULT - $SYSPRTR):

After the system loads $DSKPRT2, it prompts you for the terminal or printer where
you want the output displayed. $DSKPRT2 prompts for hexadecimaL address of the
disk you want to list activity for.
List the activity on the 4967 disk at address 54. The report, which is printed on
$SYSPRTR, follows the example. Reply Y to the SUPPRESS ZERO COUNT
CYLINDERS prompt to avoid listing cylinders that are not accessed(zero count).
When you reply Y to the "PRINT SEEK PLOTS (Y /N)?" prompt as shown in the
example below, the system prints a graph of the cylinder access and seek distance
frequencies.
Example:

>

$L $DSKPRT2 DSKFILE,EDX991 DDBFILE,EDX991

LOADING $DSKPRT2

41P,11:59:14. lP=1800. PART= 2

ENTER OUTPUT DEVICE (DEFAULT - $SYSPRTR):
SUPPRESS ZERO COUNT CYLINDERS (YIN)? Y
ENTER ADDRESS OF DESIRED DISK (HEX ADDR OR IMDI FOR MEMDISK):

54

ATTN ICA
TO CANCEL REPORT
PRINT SEEK PLOTS (YIN)? Y
SUPPRESS ZERO COUNT ON PLOTS (YIN)? Y
I

-

ANOTHER DEVICE (YIN)? N
$DSKPRT2 ENDED at 11:59:47

o
Chapter 4. Utilities

4-203

$DSKPRT2

The following is sample output listing the activity on the 4967 disk at address 54.
An explanation of the report fields follows the sample output.

$DSKPRT2 - SEEK/CYLINDER DISTRIBUTION

MM/DD/YY 11:59:14 PAGE 1

o

FOR 4967 DISK AT DEVICE ADDRESS 54
READS ===> 339
WRITES ==>
8

FIXED HD ===> 8

TOTAL ===> 339

ESTIMATED CACHE ACCESSES ===> 268
ESTIMATED CACHE USAGE (%) ===> 79

CYLINDER ACCESS FREQUENCY
CYL - FREQ CYL - FREQ
o - 259
1 - 45
SEEK DISTANCE FREQUENCY

CYL - FREQ
2 - 35

CYL - FREQ

CYL - FREQ

SEEK - FREQ SEEK - FREQ SEEK - FREQ SEEK - FREQ SEEK - FREQ
8 - 322
18
29
CYLINDER ACCESS FREQUENCY
8

38

68

I

I

98

I

128

I

158

I

188

I

218

I

248

I

278

I

388

I

8 *************************************************(259)
1 ********(45)
2 *******(35)

o

3

NO ACTIVITY/SEEK ABOVE

2

SEEK DISTANCE FREQUENCY
8

48

88

128

168

288

248

288

328

I

I

I

I

I

I

I

I

368

I

488

I

8 ***********************************************(322)
1 * (8)
2 *(9)
3

NO ACTIVITY/SEEK ABOVE

2

o
4-204

SC34-0940

$DSKPRT2

o

Report Field

Description

READS

The total number of times the system performed a read operation.

WRITES

The total number of times the system performed a write operation.

FIXED HEAD The total number of times the system performed a fixed-head
operation. $DSKPRT2 records this operation only when the
fixed-head volume is a performance volume.
ESTIMATED CACHE ACCESSES
The estimated number of times the system accessed cache for the
disk.
ESTIMATED CACHE USAGE
The ratio of estimated cache accesses to the total number of READ
operations. This percentage is available only when estimated cache
accesses are recorded.
CYLINDER ACCESS FREQUENCY
This graph lists each cylinder and how many times it was accessed.
Use this graph to decide where to place files.
SEEK DISTANCE FREQUENCY
This graph lists the seek distance and how many times the seek
occurred. Seek distances are listed from 0 - 1024. The seek distance
frequency graph provides a measure of the cylinder arm movement.

o
Chapter 4. Utilities

4-205

$nUMP

$DUMP - Format and Display Saved Environment
$DUMP displays on a terminal or printer the contents of the data set generated by
the $TRAP utility or stand-alone dump facility. After the successful execution of
$TRAP and the subsequent occurrence of a trap condition, the data set assigned to
$TRAP or the stand-alone dump will contain a storage image. Use $DUMP to
retrieve, format, and print the data on a terminal or printer. The Problem
Determination Guide shows how to interpret the output of $DUMP.

o

Notes:

1. To print the contents of a stand-alone dump or $TRAP diskette that you created
with $DASDI, use the data set and volume name $$EDXLIB,IBMEDX.
2. Taking a stand-alone or $TRAP dump allows you to dump unmapped as well as
mapped storage.
3. You can specify a partial dump of mapped storage but not of unmapped
storage.

Loading $DUMP
Load $DUMP with the $L command or option 9.1 of the session manager.
Example 1: Partial dump of partition 3 to printer using $TRAP output.

o

I
II
1'1

>

$l $DUMP

DUMPDS(NAME,VOLUME): DUMP,EDX003
LOADING $DUMP
22P,12:20:17, LP=8F00, PART=1
ENTER DEVICE NAME FOR OUTPUT: $SYSPRTR
OUTPUT IN FULL PAGE FORMAT(V/N)? Y
PARTIAL DISPLAV (V/N)? Y
USING $TRAP OUTPUT
MAPPED STORAGE SPANS DISKETTES 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 DISK DATA SET(V/N)? N
FORMAT CONTROL BLOCKS (YjN)? Y

D

DUMP MAPPED" STORAGE (YIN)! Y"

II

VALID PARTITIONS ARE
1,2, 3, 4, 5, 6, 7, 8, 9, 10. II, 12, 13, 14, 15, 16
ENTER PARTITION # : 3

II

ENTER START AND ENDING ADDRESS IN HEX (2 WORDS): 400 500

III

ANOTHER MAPPED AREA (V/N)? N

ID

DUMP UNMAPPED STORAGE (V N)? N

m

ANOTHER AREA (V IN)? N

o
4-206

SC34-0940

$DUMP

o

Ci

II

The data set you specify here must be the same as the one you defined when
you executed $TRAP.

fJ

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 10aded$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

Reply Y to this prompt if you want the dump printed in two columns. If you
reply no to the prompt, the dump is printed in one column.

II
II

Reply N to this prompt if you do not wish to copy the diskettes to disk.
Reply N to this prompt to display all of storage. 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.

fJ

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-16 for the valid partition number that contains the storage
you want to dump.

IJ
1m

Enter the starting and ending addresses of the storage you want to dump.
If you want to dump another mapped storage area, respond with a Y. The
system then prompts for the valid partition.

If you want to dump unmapped storage, respond with a Y. The system then
m dumps
all of unmapped storage. If you do not have mapped storage defined
on your system, you will not get this prompt.

m $DUMP allows you to request several dumps.

If you respond with a Y,
$DUMP prompts you again, starting with the DUMP MAPPED STORAGE
(yIN)? prompt.

o
Chapter 4. Utilities

4-207

$DUMP

Example 2: Formatted display of control blocks.

o

EVENT DRIVEN EXECUTIVE $TRAP FORMAT STORAGE DUMP
AT TIME OF TRAP PSW WAS 8102 ON HARDWARE LEVEL 2
LEVEL 0
568A
0000

LEVEL 1
55AC
0000

LEVEL 2
062E
0007

LEVEL 3
55AC
0000

SVC-LSB
55AC
0000

SVCI-LSB
5584
0000

0000

0000

0007

0000

0000

0000

FR0

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

0000 0000
0000 0000

FR3

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 8808 0000 0008 0000 0000 0000

0000 0000
0000 0008

IAR
AKR

R7

SVCI INTERRUPT TABLE
REQ ADDR AKR
NO SVCI INTERRUPTS PENDING
MACHINE/PROGRAM CHECK LOG BUFFER _ LATEST ENTRY PRINTS LAST
NO CHECK LOG ENTRIES SINCE IPL

o

STORAGE SEGMENTATION REGISTERS:
BLOCK

ADS00 ADS01 ADS02 ADS03 ADS04 ADS05 ADS86 ADS07

0000
0800

0004 0104 0204 0304 0404 0504 0604 0704
000C 010C 020C 030C 040C 050C 060C 078C

F800

80FC 01FC 02FC 03FC 04FC 05FC 06FC 07FC

BLOCK

ADS08 ADS09 ADS10 ADS11 ADS12 ADS13 ADS14 ADS15

0000
0880

0804 0904 0A04 0B04 0C04 0004 0E04 0F04
080C 090C 0A0C 0B0C 0C0C OD0C 0E0C 0F0C

F888

08FC 09FC 0AFC 0BFC 0CFC 0DFC 0EFC 0FFC

o
4-208

SC34-0940

$DUMP

()

BLOCK

ADS16 ADS17 ADS18 ADS19 ADS20 ADS21 ADS22 ADS23

0000
0800

1004 1104 1204 1304 1404 1504 1604 1704
100C 110C 120C 130C 140C 150C 160C 170C

F800
BLOCK

10FC 11FC 12FC 13FC 14FC 15FC 16FC 17FC
ADS24 ADS25 ADS26 ADS27 ADS28 ADS29 ADS30 ADS31

0000
0800

1804 1904 1A04 1B04 1C04 1004 1E04 1F04
180C 190C 1AOC 1BOC 1COC 1DOC 1EOC 1FOC

F800

18FC 19FC 1AFC 1BFC 1CFC 1DFC 1EFC 1FFC

I/O SEGMENTATION REGISTERS:

c

BLOCK

BNKOO BNK01 BNK02 BNK03 BNK04 BNK05 BNK06 BNK07

0000
0800

0004 0004 1A14 ODOC 0004 OD3C 0604 OF04
OOOC 003C 1A14 ODOC OD3C OD4C 060C OD4C

F800

OOFC 01FC 0004 1884 OD4C OD4C 06FC 07FC

BLOCK

BNK08 BNK09 BNK10 BNK11 BNK12 BNK13 BNK14 BNK15

0000
0800

0804 0904 OA04 OB04 OC04 0004 OE04 OF04
080C 090C OAOC OBOC OCOC OOOC OEOC OFOC

F800

08FC 09FC OAFC OBFC OCFC OOFC OEFC OFFC

BLOCK

BNK16 BNK17 ANK18 BNK19 BNK20 BNK21 BNK22 BNK23

0000
0800

1004 1104 1204 1304 1404 1504 1604 1704
100C 110C 120C 130C 14BC 150C 160C 170C

F800

10FC 11FC 12FC 13FC 14FC 15FC 16FC 17FC

BLOCK

BNK24 BNK25 BNK26 BNK27 BNK28 BNK29 BNK30 BNK31

0000
0800

1804 1904 1A04 1B04 1CB4 1004 1E04 1F04
180C 190C 1AOC 1BOC 1CBC 100C 1EBC 1FOC

F800

18FC 19FC 1AFC 1BFC 1CFC 10FC 1EFC 1FFC

c
Chapter 4. Utilities

4-209

$nUMP

o

STORAGE MAP:$SYSCOM AT ADDRESS 4DAO
EDXFLGAS 6000

SVCFLAGS lOBO

PART# NAME

ADDR PAGES ATASK TCB(S)

P1

ADS= 0
**DATA**
**FREE**

0000 256
B500
2
B700 73

P14

ADS=13
$TRAP
TRAP1
**FREE**

0000 256
0000 62 3AB2 162C 1458
3EOO
1 3E52
3FOO 193

P32

ADS=31 0000 256
**FREE**
0000 256
EDX LEVEL TABLE - TCB READY CHAIN
LEVEL ACTIVE
1
2
3

READY (TCB-ADS)

NONE
3E52-13
NONE

NONE
NONE
NONE

LOADER QCB CUR-TCB
8AE2 FFFF NONE

o

CHAIN (TCB-ADS)
NONE

10 DEVICE DDB INFORMATION
TERMINAL LIST:
NAME

CCS

ID IODA FEAT

QCB CUR-TCB

CHAIN

$SYSLOG 25BO FFFF 0000 0000 FFFF NONE

NONE

$BAND2

NONE

477E 2002 0083 0020 FFFF NONE

DISK(ETTE) OR TAPE VDE :
VDE NAME

4-210

SC34-0940

DDB

FLAGS QCB CUR-TCB

CHAIN

1542 *DDE* 1570 0800 819E NONE
1640 *DDE* 166E 0800 819E NONE

NONE
NONE

2126 *DDE* 2154 2817 819E NONE

NONE

o

$DUMP

o

DDS IODA DEVID DSCS-> TASK DSCB-CHAIN
1570 0048 3106 550E-13 222C NONE
166E 0050 3106 550E-13 22AC NONE
2154 0022 0126 B7D4- 0 24AC NONE
EXIO DEVICE LIST
NO EXIO DEVICE SYSGENED
BSCA DEVICE LIST
DDB

10 IODA

4958 1006 0000
49FE 1006 0000
LCC DEVICE LIST
DDB

o

10 IODA

4AA4 320E 0090
4BA6 320E 0091
4CA8 320E 0092
NATIVE TIMER
TIMER DDB CHAIN (TCB-ADS)

0:36:48 0/00/00

8UC NONE

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 example shows a dump using stand-alone dump output.

o
Chapter 4. Utilities

4-211

$nUMP

Example 3: How to copy a stand-alone dump from diskette(s) to disk.
~"$L $DUMP$$EDXLIB, IBMEDX

. LOADING$DUMP
. 7?:P,02:54:07, . LP=C:)80e, . PART = 3
ENTER DEVICE NAME FOR OUTPUT: $SYSPRTR
.

o

OUTPUT IN FULL PAGE FORMAT (Y/N)? Y
PARTIAL DISPLAY (YIN)! Y
USING STANDALONE DUMP OUTPUT
MAPPED STORAGE SPANSDISKETTgS WHICH.. WILL CAUSE RgPEATED
DISKETTE SWITCHING DURING CONTROL BLOCK FORMATTING.
IF. DUMP DATA.SET IS.COPIED TO. DISK DATASET, NO DISKETTE SWITCHING
DISK DATA SET MUST BE 8200 RECORDS IN LENGTH.
COpy DISKETTE(S) TO DATA SET (YIN)? Y
TARGET (NAME,VOLUME): DUMPDS,EDXaa3
$DUMP REQUIRES DISKETTE # 2, PLEASE MOUNT DISKETTE
PRESS ""ENTER" TO CONTINUE OR "PF3" TO END DUMP
$DUMP REQUIRES DISKETTE # 3, PLEASE MOUNT DISKETTE
PRESS "ENTER" TO CONTINUE OR "PF3" TO END DUMP
$DUMPREQUIRESDISKETTE '·4, PLEASE MOUNT DISKETTE
PRESS II ENTER II TO CONTINUE OR IIPF3 11 TO END DUMP
DUMP DATA SET COPIED TO DUMPS, EDX003
CONTINUE DUMP FROM DISK DATA SET (YIN)? Y
FORMAT CONTROLBLOCkS(Y IN)? Y

()

VALID PARTITIONS ARE:
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, 3e, 31, 32
ENTER PARTITION #: 4
ENTER START AND ENDING ADDRESS IN HEX (2 VALUES): 2aa 6ea
ANOTHER MAPPED AREA (YIN)? N
ANOTHER AREA (YIN)? N
$DUMP

ENDED AT 03:46:33

o
4-212

SC34-0940

$EDITI and EDITIN

o

$EDIT1 and EDIT1 N - Line Editors
$EDIT1 and $EDIT1N 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 ($EDIT1) 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 program
preparation from a Series/1 terminal.
Both utilities work with 80-character lines with line numbers in positions 73 - 80.
You load 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 $DISKUTI. The system prompts you for its name when you load
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).

~.~"

C

,)

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.

Loading $EDIT1 or $EDIT1 N
Load $EDIT1 or $EDIT1N with the $L operator command. The session manager
does not support either utility.

c
Chapter 4. Utilities

4-213

$EDITI and EDITIN

Sequence of Operations
When you load $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.

o

Use the EDIT command to enter edit mode. The system then recognizes "Edit
Mode Subcommands" on page 4-222 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. TAB SET 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.

o

o
4-214

SC34-0940

$EDITI and EDITIN

The following figure shows the primary commands and subcommands available
under $EDITl/$EDITlN.

o

>$L $EDIT1

IN

I

...

,
Editor ready
Commands

,

~
LIST (printer)
READ
WRITE
SUBMIT

END $EDIT1

IN

I

EDIT

I

I

,
Edit mode

Subcommands

~
INPUT

C

"i

,

,;/

~

I

END

I

LIST (terminal)
VERIFY
RENUM
SAVE
TABSET

I

LINE EDIT

I

CHANGE
COpy
DELETE
MOVE
FIND
TOP
BOTTOM
UP
DOWN

BG1213

Figure

4-7. $EDITl/$EDITlN Commands and Subcommands

o
Chapter 4. Utilities

4-215

$EDITI and EDITIN

Special Control Keys
1. End-of-Line Character (see note below). You can use the carriage return key
(CR)/ENTER to end an input line.

2. Line-Delete Character (see note below). You can use the delete key (DEL) of
certain teletypewriter terminals to delete an input line.

o

Note: You can define the CR and DEL keys in the TERMINAL statement.
Refer to the Installation and System Generation Guide.

3.

Character-D~lete 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 equivalent), 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

Description

EDIT

Enters edit mode; allows edit subcommands

END

Ends $EDITI and $EDITIN

LIST

Lists the work data set on the system printer

READ

Reads a source data set into the work data
set

SUBMIT

Submits a job to the host batch job stream

WRITE

Writes the work data set into a source data
set

o

The descriptions that follow show the syntax of the editor commands, including any
operands associated with them.

o
4-216

SC34-0940

$EDITI and EDITIN

o

EDIT - Enter Edit Mode
Use EDIT to begin editing source data.
Syntax:

EDIT

OLD/NEW

Required:
Defaults:

none
NEW when using a newly allocated work data set
OLD when using an old work data set
E,ED

Alias:

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.

c

END - End $EDIT1/$EDIT1 N
Use END to end $EDITI or $EDITIN.
The system will not change the contents of the edit work data set. You can reload
$EDITl/$EDITlN at a later time and continue.
Syntax:

END
Required:
Defaults:
Alias:

none
none
EN

Operands

Description

None

None

LIST - List Work Data Set

o

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 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.

Chapter 4. Utilities

4-217

$EDITI and EDITIN

Syntax:

LIST

line-spec

Required:
Defaults:
Alias:

none
none
L,LI

Operands

Description

line-spec

"*,, (for the current line) or "line-number" to indicate a single line to
be listed. "* COUNT" or "linenuml linenum2" to display a range of
lines. If you omit this operand, the system prints the entire data set.

o

Example:

LIST HI lee

* 5
L*

L

LI

READ - Retrieve Host Data Set ($EDIT1)
Use READ to retrieve a data set from the host system and store it in your Series/l
work data set.

o

You must have the Host Communications Facility on the System/370.
Syntax:

READ

dsname

Required:
Defaults:
Alias:

none - system prompts for dsname
R,RE
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
4-218

SC34-0940

$EDITI and EDITIN

o

READ - Retrieve Series/1 Data Set ($EDIT1 N)
Use READ to retrieve a named data set from a volume on the Series/1 disk or
diskette and store it in a Series/l work data set.
Syntax:

READ

dsname volname

Required:
Default:
Alias:

none - system prompts for operands
none
R,RE

Operands

Description

dsname

Name of data set you want to retrieve.

volname

Name of the volume containing the data set you want to retrieve.

Notes:
1. You can enter these operands as responses to system prompts.
2. You cannot use READ to retreive a data set with extents.

SUBMIT - Submit Job to Host ($EDIT1)
Use SUBMIT to place a job Gob 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

dsnamelDIRECT

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 DIRECT, the system transfers the contents of your edit
work data set directly to the host job stream.

o
Chapter 4. Utilities

4-219

$EDITI and EDITIN

WRITE - Write Work Data Set to Host ($EDIT1)
Use WRITE to transfer your Series/l work data set to a host data set. The system
assumes that you have edited or created your data set with the $EDITI utility
program.

o

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:

WRITE

dsname

Required:
Default:
Alias:

none - system prompts you for operands
none
W,WR

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.

EDITI issues the following prompt:

l

NAME:

o
4-220

SC34-0940

$EDITI and EDITIN

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.

Note: You cannot use WRITE to copy data sets with extents.
Syntax:

WRITE

Required:
Default:
Alias:

none - system prompts you for operands
copy to the originating data set, if any
W,WR

Operands

Description

None

None

EDITIN issues the following prompt:

l
Oil.,

C

il

.".f

WRITE TO READVS ON READVOL (YIN)?

where READVOL is the originating volume and READVS is the originating data
set. The system issues this prompt only if you initialized the work data set with the
READ command. If you respond N, or if the data set is new, the system issues the
following prompt:

l

ENTER (NAME,VOLUME):

o
Chapter 4. Utilities

4-221

$EDITI and EDITIN

Edit Mode Subcommands
The subcommands used to edit your work data set while in EDIT mode are
described below:
Subcommand

Operands

BOTTOM

none

CHANGE

line-spec jtextljtext2jALL

COpy

line-spec

DELETE

line-spec

DOWN

count

END

none

FIND

character-stringj

INPUT

line-number increment

Line Editing

line-number character-string

LIST

line-spe~

MOVE

line-spec

RENUM

new-line-number increment

SAVE

none

TAB SET

ON(integer list), OFF, CH(character)

TOP

none

UP

count

VERIFY

ONjOFF

()

The descriptions that follow show the syntax of the subcommands including any
operands associated with them.

BOTTOM - Set line Pointer to Bottom
Use :eOTTOM to reposition the current line pointer (*) to the last line of the data
set you are editing.
Syntax:

BOTTOM
Required:
Defaults:
Alias:

4-222

SC34-0940

none
none
B,BO

Operands

Description

None

None

o

$EDITI and EDITIN

o

CHANGE - Change Character String
Use CHANGE to modify a character string in a line or range of lines.
Syntax:

CHANGE line-spec /textl/text2/ ALL
Required:
Defaults:
Alias:

/textl/text2
line-spec defaults to *
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.
/textl/text2/ALL

"j" can be any nonnumeric character except blank, tab, and
asterisk. It is not a part of and cannot appear within the
character strings "text!" 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 "text!" in the line(s).
Two adjoining delimiters denote a null operand. If text! 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!, 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
Chapter 4. Utilities

4-223

$EDITI and EDITIN

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

linenuml Iinenum2 Iinenum3

Required:
Defaults:

linenuml linenum3
linenuml Iinenum3 defaults to
a single line copy of'I' to '3
CO

Alias:

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.

o

All specified line numbers must exist. "linenum2" must be equal to or greater than
"linenuml."
"linenum3" must be less than "linenuml" 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.

o
4-224

SC34-0940

$EDITI and EDITIN

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:
Defaults:
Alias:

none

*
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

DOWN - Move Line Pointer Down
Use DOWN to move the current line pointer (*) toward the end of the data set.
Syntax:

DOWN

count

Required:
Defaults:
Alias:

none
1
DO

Operands

Description

count

Specifies the number of lines you want to move the current line pointer.

Examples:

o

DOWN 5
DO 10

Chapter 4. Utilities

4-225

$EDITI and EDITIN

END - Exit Edit Mode
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 4-216. 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.

o

Syntax:

END
Required:
Defaults:
Alias:

none
none
EN

Operands

Description

None

None

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:
Defaults:

If no operands are specified, those specified

Alias:

on the last previous issue of the FIND
subcommand are .assumed. The search begins at
the line following the current line.
F,FI

none

Operands
=

o

char-string =

Description

You can choose any nonnumeric character that 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:

I FIND /START /
'~I ~DATA X'00Fl'~
4-226

SC34-0940

o

$EDITI and EDITIN

o

INPUT - 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:
Defaults:
Alias:

none
increment defaults to previous one or to 10
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 IO if you do not 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 188 5
28

o
Chapter 4. Utilities

4-227

$EDITI and EDITIN

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:
Defaults:
Alias:

none
line-spec defaults to entire data set
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.

o

Examples:

LIST 18 100
L

*

5

L*
LI

()

MOVE - 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

linenuml linenum2 linenum3

Required:
Defaults:
Alias:

linenuml linenum3
linenuml linenum3 defaults to move one line
MO

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.

o
4-228

SC34-0940

$EDITI and EDITIN

o

All specified line numbers must exist.
"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.

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.

c

Syntax:

RENUM

new-line-number increment

Required:
Defaults:

none
both new-line-number and increment
default to 10
R,RE

Alias:

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

c

R

Chapter 4. Utilities

4-229

$EDITI and EDITIN

SAVE - Save Work Data Set
Use SAVB 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/l data set with the native-related
version ($EDITlN).

o

If you specified a data set previously (for example, 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:
Defaults:
Alias:

none - system prompts for operand
none
S, 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 $EDITlN, 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:

o

SA

S
SAVE

o
4-230

SC34-0940

$EDITI and EDITIN

o

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.
(You 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
TAB SET
TABSET

ON(integer-list)
OFF
CH( tab-character)

Required:
Defaults:
Alias:

ON, OFF, or eH
none
TA

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, 0/0.

OFF

Resets relative tab column positions to initial systems defaults. It
does not reset tab characters.

Example 1: These lines show the various ways of entering T ABSET subcommands
and parameters.

1. The system sets the relative tab column positions to initial system defaults of 10,
20, 40, and 72.

TABSET ON(lO 20 40 72)
2. The system sets the relative tab column positions to 10, 16, and 31.

I TA ON(le 16 31)
3. The system designates the tab character as the pound sign, #.

o

TA CH(H)

Chapter 4. Utilities

4-231

$EDITI and EDITIN

4. The system resets the relative tab column values to the initial system defaults.

I TA OFF

o

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 I 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.

()

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.

00038

o
4-232

SC34-0940

$EDITI and EDITIN

7. Enter the EDIT command to get back into the edit mode.

o

I EDIT
8. Use the 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

TOP - Set Line Pointer to Top
Use TOP to position the current line pointer (*) before the first line of the data set.

0

Syntax:

TOP
Required:
Defaults:
Alias:

none
none

TO

Operands

Description

None

None

Note: If VERIFY is ON, the system prints no line because the current line number

precedes the first line.

c
Chapter 4. Utilities

4-233

$EDITI and EDITIN

UP - Move line Pointer Up
Use UP to move the current line pointer (*) toward the start of the data set.
Syntax:

UP

count

Required:
Defaults:
Alias:

none
1
U

Operands

Description

count

The number of lines that you want the current line pointer (*) moved.

o

Example:

UP 10

VERIFY - Display Changes on Terminal
Use VERIFY to display the changes you made on the terminal (ON); verification is
OFF until you load it the first time during an edit.
Syntax:

VERIFY

ON/OFF

Required:
Defaults:
Alias:

none
ON
V,VE

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.

o
4-234

SC34-0940

$EDITI and EDITIN

o

Examples:

V ON

V

V OFF
VERIFY

Line Editing Commands
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:
Defaults:

line-number
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).

l·12345 Thi s 1ine is be; ng· added

Delete line 12045.

c

Replace line 12345.

Chapter 4. Utilities

4-235

$EDXASM

$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.

o

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
($EDIT1N 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 load
$EDXASM. You must specify data sets one and three when you load $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 ($EDIT1N or $FSEDIT) to create the source data
set. You must specify the name of this data set when you load $EDXASM.
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 load $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.

C'l

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 load $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 f~rmat 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 increase 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.

4-236

SC34-0940

o

$EDXASM

o

Loading $EDXASM
Load $EDXASM with the $L operator command, through option 2.1 of the session
manager, or through the $JOBUTIL utility. In all cases, 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 load $EDXASM. The options
you select direct the processing that the compiler will do.
Each option name is listed here, followed by its two-character abbreviation.

Basic Options
The following basic compiler options are available:
CANCEL (CA)
Causes the immediate termination of $EDXASM.
END (EN)

Ends option selection.

ERRORS (ER)
Specifies that the system should print only statements with errors.
The system requires a device name. A null entry or asterisk (*)
indicates that you want the system to list the error messages on the
loading terminal. Use this option for the first few compilations to
remove typographical or simple syntactical errors from the source
program.

o

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 do not want a listing. The system prints the
compiler statistics on the terminal where you loaded $EDXASM.

Special Options
The following special options are available:
BUILD (BU)

Causes the system to construct and write $EDXASM disk location
information and the 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.

Chapter 4. Utilities

4-237

$EDXASM

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 BUILD 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.

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.

Compiling a Program Using the $L Command
The following examples show how to load $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 ASMLIB.
For examples of compiling a program using the session manager or the job stream
processor utility ($JOBUTIL), refer to the Language Programming Guide.

Specifying Data Sets After Loading $EDXASM
After you have entered the $L operator command, $EDXASM prompts you for the
names of the required data sets.

$L $EDXASM,ASMLIB
SOURCE (NAME.VOLUME): ASMSRC
WORKFILE(NAME,VOLUME): ASMWORK
OBJECT (NAME. VOLUME): ASMOBJ
LOADING $EDXASM
64P,B2:48:5B, LP= 63BB,PART=!

>

4-238

SC34-0940

$EDXASM

The following single-line entry is equivalent to the multiline entries above:

()

l

>

$L $EDXASM,ASMLIB ASMSRC ASMWORK ASMOBJ

After you enter the names of the required data sets, $EDXASM prompts you for a
compiler option.

l

SELECT OPTIONS (1):

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
NOLIST
ERRORS
CONTROL
BUILD
RESET
OVERLAY
CA
END
(IATTN

?

-

SPECIFY LIST DEVICE
DO NOT PRINT LISTING
LIST ERRORS ONLY
SPECIFY CONTROL LANGUAGE
BUILD OPCODE TABLE
RESET OPCODE TABLE
SPECIFY NO. OF OVERLAY AREAS
CANCEL ASSEMBLY
END OPTION SELECTION
- CAl 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 do not select any options

(indicated by entering only a carriage return or ENTER in response to the select
option message), the default is LIST on $SYSPRTR using the language control data
set $EDXL on the $EDXASM program volume (ASMLIB).

l

SELECT OPTIONS (1):

(null· entry)

c
Chapter 4. Utilities

4-239

$EDXASM

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

Both of the following examples print errors only on PRINTERl.

SELECT OPTIONS (1): ERRORS
DEVICE NAME: PRINTER!
SELECT-OPTIONS (1):

END

or

l

SELECT OPTIONS (?): ER PRINTER! END

Do Not Print Listing - 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 does not print a compiler listing, and it uses the control data
set $EDXL on volume EDX002.

SELECT OPTIONS (?): NO CONTROL
CONTROL (DSNAME.VOLUME): $EDXl,EDX002
SELECT OPTIONS (?): END

o

Output of the Compiler
This section describes the output of the $EDXASM compiler:
•
•
•
•

Statistics
Object module
Program listing
Completion codes.

Statistics
When the system completes the compilation process, the compiler prints statistics
indicating:
•
•
•
•
•

4-240

SC34-0940

Source, work, and object data sets used
Date and time the compilation started
Elapsed time for the compilation
Number of statements processed
Number of statements flagged with error messages.

o

$EDXASM

o

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 4-243.
Note: During assembly, there is a possibility that the system gave 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 the printing of
duplicate lines of object code. Before the system uses the data sets specified in the
compilation, you can request a listing of the compilation using the program
$EDXLIST. See "Obtaining Extra Compilation Listings" for more information.

Completion Codes
The system prints completion codes on the loading 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.

Loading $EDXLIST 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 load $EDXLIST and produce a listing of the
compilation. If you respond with NOLIST, the system displays statistics from the
compilation on the loading terminal and produces no listing.

Loading $EDXLIST 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.
Load $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 loaded
$EDXASM with the session manager, the work data set is named $SM I user (where
user is the sign-on ID).
Note: If you want a listing of the latest compilation, use $EDXLIST before you
load $EDXASM again. Any subsequent compilation modifies the contents of
the work data set.

c
Chapter 4. Utilities

4-241

$EDXASM

An example of using $EDXLIST follows:

$L $EDXUST ,ASMUB
SOURCE (NAME,VOLUME): ASMSRC,EDX002
WORKFILE (NAME, VOLUME):, . ASMWORK, EDX002
$EDXLIST
21P,00:07:49, LP= 6500

:;>

SELECT OPTIONS (1):

o

?

LIST - SPECIFY LIST DEVICE
ERRORS - LIST ERRORS ONLY
END
- END OPTION SELECTION
(IATTN - CAl TO CANCEL LISTING)
SELECT OPTIONS (1): LIST
DEVICE NAME: MPRINTER
SELECT OPTIONS (1):

END

$EDXLIST ENDED AT 00:08:46
Figure

4-8. $EDXLIST Example

Loading $EDXLIST with $JOBUTIL
You can load $EDXLIST using the job stream processor $JOBUTIL. The same
options are available through the parm facility of $JOBUTIL as were described
under "Loading $EDXLIST Manually with the $L Operator Command" on
page 4-24l.

o

Example: Sample $JOBUTIL procedure for loading $EDXLIST.

PROGRAM
NOMSG
PARM
DS
DS
EXEC

$EDXLIST,ASMLIB
LIST $SYSPRTR END
ASMSRC,EDX002
ASMWORK,EDX002

o
4-242

SC34-0940

$EDXLINK

o

$EDXLINK - Linkage Editor
The $EDXLINK program is a linkage editor that prepares programs to execute in
an EDX system. Using $EDXLINK, you can format one or more separately
assembled object modules into a nonrelocatable EDX supervisor or a relocatable
load module.
With $EDXLINK 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 $EDXLINK
• Use GLOBALs as references to $SYSCOM.
You can create object modules from any of the following EDX language processors
to be input to $EDXLINK.
•
•
•
•
•
•
•

The Event Driven Language compiler ($EDXASM)
The Series/l assembler ($SlASM)
The FORTRAN compiler
The COBOL compiler
The Pascal compiler
The PL/I compiler
Series/l host assembler.

Required Data Sets
$EDXLINK requires one work data set (DSl). Used for symbol resolution, the data
set must contain at least 256 records and no more than 32,767 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 $EDXLINK 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.

Chapter 4. Utilities

4-243

$EDXLINK

$EDXLINK Control Statements
Control statements are the instructions used by $EDXLINK 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.

o

The INCLUDE, AUTOCALL, 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.
The following are the $EDXLINK control statements used to perform a link-edit.

• *
•
•
•
•
•
•
•
•
•
•

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.

o

Notes:

1. Each control statement, with the exception of the OVLAREA statement, can 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 can 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 cannot continue control statement data on a second line.

o
4-244

SC34-0940

$EDXLINK

o

* Comment Statement
Use the

* comment statement to identify comments or remarks.

Syntax:

*

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 cannot include remarks on
the AUTOCALL statement.
Syntax:

AUTOCALL name,volume name,volume name,volume
Required:
Default:

none
no autocall processing

If you specify the A UTOCALL statement multiple times, the last one is the one
$EDXLINK uses. You can correct an error in the AUTOCALL 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 4-261.
Examples:

AUTOCALL
AUTOCALL
AUTOCALL
AUTOCALL
AUTOCALL

$PLIAUTO
$AUTO,ASMLIB
$PLIAUTO,EDX882 $AUTO,ASMLIB
MYAUTO,MYVOL $PLIAUTO,EDX882 $AUTO,ASMLIB
<= turns autocall option off

o
Chapter 4. Utilities

4-245

$EDXLINK

COpy Statement
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:

o

• *
•
•
•
•

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 4-262 for
information on using existing $EDXLINK data sets.
Syntax:

COpy

name, volume

Required:
Default:

name
volume defaults (see VOLUME)

Examples:

COpy NEXTOVLY
COpy MORECNTL,EDX003

o

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 encounters END in a
secondary-control-statement data set, it ends processing of the COPY data set.
Syntax:

END
Required:
Default:

none
none

o
4-246

SC34-0940

$EDXLINK

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.
Syntax:

INCLUDE

name I ,name2,name3,name4, ...... ,volume

Required:
Default:

namel
if a single data set name is entered, volume
defaults to the IPL volume (see VOLUME)

Examples:

INCLUDE OBJECTl
INCLUDE OBJECT2,EDX003
INCLUDE OBJECT3,OBJECT4,OBJECT5,EDX003

<=
<=
<=

defaults to IPL volume
one data set on EDX003
multiple data sets on
volume EDX003

LINK Statement
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 Y to the prompt, the linkage editor replaces the program.
If you answer N 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.

c
Chapter 4. Utilities

4-247

$EDXLINK

You must consider the following when you load $EDXLINK through $JOBUTIL:
1. When loaded 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.

o

Examples:

LINK
LI NK
LINK
LINK
LINK

PGMTEST
SORT, EDX003
PATCH,ASMLIB REPLACE
PATCH2,ASMLIB REPLACE END
GRAPH2,ASMLIB END

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:
Default:

strtaddr endaddr
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.

o

o
4-248

SC34-0940

$EDXLINK

o

OVERLAY Statement
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 OVERLAY statement, the second one
overrides the first one.
Syntax:

OVERLA Y REUSABLE
Required:
Default:

none
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:

OVERLAY
OVERLAY REUSABLE

RESET Statement
Use the RESET statement to reset $EDXLINK. The system ignores all previous
control statements. RESET is only valid in interactive mode. You receive a
warning if it is found in a control statement data set.
Syntax:

RESET
Required:
Default:

none
none

o
Chapter 4. Utilities

4-249

$EDXLINK

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.

0

.-

The overlay manager requires a block of mapped storage in its partition. This block
must be the size of the largest overlay segment rounded up to a 2K boundary. If the
overlay manager cannot obtain enough space, the overlays will reside on disk. To
determine the number of unmapped storage areas the overlay manager actually
obtained, use the $STGUTl UN command.
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 will
be used) and the link proceeds.
If the link is a supervisor link, the system does not allow unmapped storage and
$EDXLINK issues the following message:

*** WARNING- NO UNMAPPED STORAGE CAN BE USED FOR A SUPERVISOR

Syntax:

UNMAPCNT number
Required:
Default:

number
none

Operands

Description

number

The number of overlay segments to reside in unmapped storage.

o

Example:

UNMAPCNT 5

o
4-250

SC34-0940

$EDXLINK

o

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 do not specify a volume
name on the VOLUME statement, the system resets the default to the IPL volume.
Syntax:

VOLUME

volume

Required:
Default:

none
IPL volume

Examples:

VOLUME EDX003
VOLUME OBJVOL
VOLUME

<=

reset to IPL volume

$EDXLINK Primary-Control-Statement Data Set
The following is an example of a multilink $EDXLINK primary-control-statement
data set. The first link, Figure 4-9 on page 4-252, 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 refers to a
secondary-control-statement data set, Figure 4-10 on page 4-253.
This example is shown in two parts for illustration purposes. You normally create it
as one complete data set.

c
Chapter 4. Utilities

4-251

$EDXLINK

* PLOT PROGRAM INCLUDES
*
INCLUDE PLOTXY,MYVOL
INCLUDE PLOTXX,MYVOL
INCLUDE PLOTYY,MYVOL
INCLUDE PLOTYX,MYVOL
*
* PERFORM AUTOCALL PROCESSING USING:
*
AUTOCALL MYAUTO,MYVOL $AUTO,ASMLIB

o

*
* PERFORM THE LINK
*
LINK PLOT,MYVOL REPLACE
* ROOT SEGMENT INCLUDES

*

INCLUDE SORTl,EDX003
INCLUDE SORT2,SORT3,SORT4,SORT5,OBJVOL
INCLUDE SAVEMOD,BACKUP

*
* OVERLAY SEGMENT #1 INCLUDES
*
OVERLAY
INCLUDE SEARCH,OBJVOL
INCLUDE SCRATCH,BACKUP
INCLUDE READSUB,WRITESUB,EDX003
*
* OVERLAY SEGMENT #2 WILL BE REUSABLE
*
OVERLAY REUSABLE
INCLUDE PATCH,OBJVOL
************************************************************

* GET OVERLAYS #3 AND #4 FROM SECONDARY CONTROL STATEMENT *
* DATA SET (see Figure 4-10 on page 4-253)
*
************************************************************

COPY PACKUNPK,MYVOL
* PERFORM AUTOCALL PROCESSING USING:

*

AUTOCALL $AUTO,ASMLIB

*
* PERFORM THE LINK AND TERMINATE $EDXLINK
*
LINK SORT,EDX003 REPLACE END

Figure

4-252

SC34-0940

4-9. Multilink $EDXLINK Primary-Control-Statement Data Set

o

$EDXLINK

$EDXLINK Seconda~y-Control-Statement Data Set

o

The following is an example of a $EDXLINK secondary-control-statement data set.
This secondary-control-statement data set was referred to 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

4-10. $EDXLINK 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.

C'\
,

,

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,,19249

OR
EXEC

STORAGE=10240

c
Chapter 4. Utilities

4-253

$EDXLINK

To change dynamic storage permanently, load $DISKUT2 and perform the
following:

r~O!6I~~I$~~~~UT2

o

USING VOLUME EDX002
COMMAND (?) : 55
PROGRAM NAME: $EDXLINK
OLD·STORAGE SIZE WAS

8192

ENTER NEW STORAGE SIZE IN BYTES: 19249
NEW SIZE WILL BE

10240

OK TO CONTINUE (YIN)? Y
COMMAND(?):

EN

$DISKUT2 ENDED AT 04:50:35

Loading $EDXLINK
Load $EDXLINK with the $L operator command, the job stream processor
($JOBUTIL), or option 7 of the session manager.

loading $EDXlINK with the $l Operator Command

o

The following are examples of loading $EDXLINK with the $L operator command.
(For examples of using the session manager, refer to the Language Programming
Guide.) After you load $EDXLINK, the system prompts you for execution
parameters (PARM). There are two parameters that you can specify for use with
$EDXLINK:
1. name,volume - specifies the primary-control-statement data set,
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
4-254

SC34-0940

$EDXLINK

o

Loading with $L Noninteractively: The following is an example of loading

$EDXLINK noninteractively. The LINKWORK data set, used by $EDXLINK as a
work file, must contain at least 256 records.
>

$L $EDXLINK

LINKWORK(NAME,VOLUME): LINKWORK,EDX002
LOADING $EDXLINK
88P,88:00:33~ LP=8080, PART=1
$EDXLINK - EDX LINKAGE EDITOR
PARM (?):

?

ENTER A LINK CONTROL DATA SET NAME,VOLUME OR AN
ASTERISK (*) FOR INTERACTIVE MODE. A PRINTER
DEVICE NAME MAY OPTIONALLY BE ENTERED AFTER THE
LINK CONTROL DATA SET NAME,VOLUME.
PARM (?):

LINK1,EDX093 MPRINTER

$EDXLINK CONTROL STATEMENT PROCESSING STARTED
$EDXLINK EXECUTION STARTED
CASE
.EDXG03 STORED
PROGRAM DATA SET SIZE = 39
COMPLETION CODE = -1

$EDXLINK ENDED AT 00:01:12

Loading with $L Interactively: Figure 4-11 on page 4-256 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).

c
Chapter 4. Utilities

4-255

$EDXLINK

>

$L $EDXLINK,,20999

LI NKWORK (NAME ,VOLUME): LI NKWORK, EDX992
LOADING $EDXLINK l2ep,04:00:59, LP=OeOO, PART=1

o

$EDXLINK - EDX LINKAGE EDITOR
PARM (?): * $SYSLOG
$EDXLINK INTERACTIVE MODE
DEFAULT VOLUME = EDXOe2
STMT (?):

?

$EDXLINK CONTROL STATEMENTS
AUTOCALL - SPECIFY AUTOCALLDATA SET(S)
COpy
- COpy THE SPECIFIED CONTROL STATEMENTS FROM DSNAME,VOLUME
END
- TERMINATE $EDXLINK
INCLUDE - INCLUDE THE FOLLOWING MODULE(S)
LINK
- GENERATE AN EXECUTABLE PROGRAM
OVERLAY - SPECIFY THE BEGINNING OF AN OVERLAY SEGMENT
OVLAREA - SPECIFY LOCATION OF OVERLAY AREA
RESET
- RESET $EDXLINK
VOLUME - CHANGE DEFAULT VOLUME
UNMAPCNT - SPECIFY NUMBER OF UNMAPPED STORAGE OVERLAYS
STMT (?):

INCLUDE TESTSUB4,EDXe93

STMT (?): LINK CASEl,EDX993 REPLACE
$EOXLINK EXECUTION STARTED
CASEl ,EDX003 STORED
PROGRAM DATA SET SIZE = 12
l_C_O_MP_L_ET_I_ON__
CO_D_E_=__-_l____~________________________________~)
Figure

o

4-11. $EDXLINK Multilink Interactive Interface

Part 2 of this example is the same as part I except that it links multiple data sets.
They are all listed on the same INCLUDE control statement because they reside on
the same volume.

$EDXLINK INTERACTIVE MODE
DEFAULT VOLUME = EOXe02
STMT (?): INCLUDE OBJ12,OBJ13,OBJ14,OBJ15,EDX993
STMT (?):

LINK PGMl,EDXe03 REPLACE

$EDXLINK EXECUTION STARTED
PGMI
,EDX003 STORED
PROGRAM DATA SET SIZE = 15
COMPLETION CODE = -1

o
4-256

SC34-0940

$EDXLINK

o

Part 3 of this example contains multiple overlay segments. The root section is
named TESTROOT, and the three overlays are TESTSUBI,TESTSUB2, and
TESTSUB3. TESTSUB3 is reusable. The AUTOCALL data set is used in this
example, and an END statement is specified on the LINK statement to end the
$EDXLINK session.

$EDXLINK INTERACTIVE MODE
DEFAULT VOLUME = EDX002
STMT (?): INCLUDE TESTROOT,EDXOO3
STMT (?) : OVERLAY
STMT (?) : INCLUDE TESTSUB1,EDXOO3
STMT (?): OVERLAY
STMT (?) : INCLUDE TESTSUB2,EDXOO3
STMT (?): OVERLAY REUSABLE
STMT (?) : INCLUDE TESTSUB3,EDXOO3
STMT (?) : AUTOCALL $AUTO,ASMLIB
STMT (?): LINK TEST,EDX003 REPLACE END

C)

$EDXLINK EXECUTION STARTED
TEST
,EDX803 STORED
PROGRAM DATA SET SIZE = 26
COMPLETION CODE = -1
$EDXLINK ENDED AT 84:05:35

Loading $EDXLINK with the Job Stream Processor
The following are examples of loading $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,
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.

c
Chapter 4. Utilities

4-257

$EDXLINK

Loading with $JOBUTIL Noninteractively: In this example, a
primary-control-statement data set called LINK! 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
OS
PARM
EXEC
EOJ

0
._

LINK2
$EOXLINK
LINKWORK, EOX882
LINKl,EOX883
STORAGE=28888

Loading with $JOBUTIL Interactively: In this example, $EDXLINK is to be run
interactively. The printed output is directed to MPRINTER.

JOB
PROGRAM
OS
PARM
EXEC
EOJ

LINKl
$EOXLINK
LINKWORK,EOX882
* 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
P ARM (1): 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 (1): 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
(7): prompt may appear before the cancel or reset take effect. Press the enter
key again and the cancel or reset will proceed normally.

o
4-258

SC34-0940

$EDXLINK

o

$EDXLINK Output
The link map is a listing that $EDXLINK generates. This listing corresponds with
the example Figure 4-11 on page 4-256. The example is broken into three parts for
illustrative purposes. 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

84:81:13
MM/DD/YY

INCLUDE TESTROOT,EDX883
OVERLAY
INCLUDE TESTSUB1,EDX883
OVERLAY
INCLUDE TESTSUB2,EDX883
OVERLAY REUSABLE
INCLUDE TESTSUB3,EDX883
AUTOCALL $AUTO,ASMLIB
LINK TEST,EDX883 REPLACE END
$EDXLINK EXECUTION STARTED
*** WARNING - UNRESOLVED WEAK EXTERNAL REFERENCES
SVC
SUPEXIT SETBUSY
TEST
,EDX083 STORED
PROGRAM DATA SET SIZE = 26
COMPLETION CODE = -1
Figure

4-12. $EDXLINK Map

o
Chapter 4. Utilities

4-259

$EDXLINK

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 n u m b e r . - .

0

TEST

,EDX003 STORED

RESIDENT SEGMENT:
LABEL
SECTION =
ENTRY = BUFFER
AUTOCALL MODULES(S)
LABEL
SECTION = $OVLMGR
SECTION = $OVLCT
ENTRY = $OVLDSCB
ENTRY = SUB3
SECTION = $OVLAREA

ADDR LNTH LABEL
0000 027A
0178
FLAG
ADDR
027A
0330
0330
03FC
0466

ADDR LABEL ADDR
0278

LNTH LABEL
ADDR LABEL ADDR
00B6
0136
$OVLSIZE 038C SUBI 0444
SUB2
0420
0200

TOTAL ===> 0666
OVERLAY SEGMENT: 1
LABEL
SECTION =
ENTRY = SUB1

ADDR LNTH LABEL
0466 0102
0468

ADDR LABEL ADDR

0

TOTAL ===> 0102
OVERLAY SEGMENT: 2
LABEL
SECTION =
ENTRY = SUB2

ADDR LNTH LABEL
0466 01D3
0468
SUB2A

ADDR LABEL ADDR
0512

TOTAL ===> 01D3
OVERLAY SEGMENT: 3
LABEL
SECTION =
ENTRY = SUB3

ADDR LNTH LABEL
0466 01F2
0468

ADDR LABEL ADDR

TOTAL ===> 01F2

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

4-260

SC34-0940

o

$EDXLINK

o

AUTOCALL Option
The autocall option enables you to include modules that are not included explicitly
using the INCLUDE statement. To load 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 blank 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,vo]ume" followed by the
remaining entry points. Finally, you must end the autocall data set with **END in
either the object module name field or an entry point field.
The following are examples of the format of the autocall data set record.

SORT,EDxee3 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 fonnatting instructions
Square root function
Screen formatting subroutines.

Autocall Processing
If you specify any autocall data sets and unresolved external references (EXTRNs)

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 (EXTRNs) remain after INCLUDE statement
processing or no matches are found in any of the autocall data sets.

c
Chapter 4. Utilities

4-261

$EDXLINK

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.

0

Unresolved weak external references (WXTRNs) do not load autocall processing.
Unresolved WXTRNs have no effect upon the $EDXLINK completion code.

Using $EDXLINK Control Statement Data Sets
To use existing $EDXLINK control statement data sets without changing them, do
the following in interactive mode:
• 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 OUTPUT statement.
• Enter the LINK statement with the executable program name and volume.
Example:

$EDXLINK INTERACTIVE MODE
DEFAULT VOLUME = EDX002
STMT (?): COPY PGMLINK,SRCVOL·
OUTPUT PGMl, EDX003 MAP AUTO=$AUTO~ASMLIB
*** WARNING - INVALID CONTROL STATEMENT - STATEMENT IGNORED.

o

STMT (?): AUTO CALL $AUTO,ASMLIB
STMT (?): LINK PGM,EDX993 REPLACE END
$EDXLINK EXECUTION STARTED
PGM
,EDX003 STORED
PROGRAM DATA SET SIZE = 15
COMPLETION CODE = 4

o
4-262

SC34-0940

$FONT

o

$FONT - Process Character Image Tables
$FONT 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 tq 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.
For the 4978 and 4980, you can modify the system-supplied image store data sets
$49781S0 and $49801S0 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/l. 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).

Loading $FONT
Load $FONT with the $L operator command or option 4.5 of the session manager.

:> $L $FONT ..

tOADINGi$FONT

66P,17:~1: 11 ,1P=

eeee, .PART=3

After you load $FONT, it prompts you for the name of an existing image store.

c
Chapter 4. Utilities

4-263

$FONT

After you enter the data set name and volume, $FONT issues the following message:

o

DATA SET FORMATS:

l
,

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, $FONT reads the contents of the
image store data set into the storage work area.

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

COMMAND (?): ?
DISP
READ
SAVE
EDIT
PUT
GET
END

-- DISPLAY IMAGES
--READ IMAGE DATASET
-- WRITE IMAGE DATASET
-- ENTER EDIT MODE
-- PUT IMAGE STORE INTO DEVICE
--GET IMAGE STORE FROM DEVICE
-- END $FONT

o
j

COMMAND' (? ).:
~-----'-----'--------

After $FONT displays the commands, it again prompts you with COMMAND (?).
Then you can respond with the command of your choice (for example, EDIT).
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.

o
4-264

SC34-0940

$FONT

o

DISP (D) - 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,
refer to the 4974 Printer Description, the 4978 General Information, and the 4980
General Information manuals.)
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.

COMMAND (?): GET
TERMINAL NAME: DSPLAYI

C~

COMMAND
00 10
01 11
02 12
03 13
04 14
05 15

(?):

20
21
22
23
24
25

30
31
32
33
25
35

DISP
40
41
42
43
44
45

50#
51
52
53
54
55

6061
62
63
64
65

00 10 20 3D 40( 50) 600E IE 2E 3E 4E+ 5E! 6E>
0F IF 2F 3F 4FI 5F 6F?

..

C0
CIA
C28
C3C
C4D
C5E

00
01J
02K
03L
04M
05N

El
E2S
E3T
E4U
E5V

F00
Fll
F22
F33
F44
F55

CD
CE
CF

DO
DE
OF

ED
EE
EF

FE
FF

EEl

FD

PRESS ENTER TO CONTINUE

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 (?):
prompt again. Then you can enter the EDIT command to modify or create a
character.
Notes:

o

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 appears at the bottom of the
display. This means that the characters displayed are only representations for
the actual characters defined for the terminal.

Chapter 4. Utilities

4-265

$FONT

EDIT (ED) - Enter Edit Mode

0

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 t h e - - '
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
~Fl

PF2
PF3
PF4
PF5
ENTER
CODE

-------

TAB FORWARD
TAB BACK
TAB DOWN
INVERT DOT
CANCEL/END
SET PATTERN
( )

....

'

()

l______--'---________J
For an explanation of changing or creating characters, see "Create/Modify a
Character Image" on page 4-273.

o
4-266

SC34-0940

$FONT

o

END (EN) - End the $FONT Utility
Use the END command to end the $FONT utility.

l

COMMAND (?): EN

If you created or modified an image store and did not save the contents of the
storage work area, $FONT prompts you as follows:

l SAVE TABLE?
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.

l DATASET (NAME,VOLUME):
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.

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.

l

COMMAND (1):

GET devname

Enter the name of the device (specified on the TERMINAL statement) whose image
store you want read into the work area.
If you do not specify a device name on the same line as the GET command, $FONT
prompts you as follows:

l

ENTER TERMINAL NAME (CR OR

*.

THIS ONE):

c
Chapter 4. Utilities

4-267

$FONT

If the system cannot find the requested terminal, $FONT issues the following
message:

l

NOT ONLINE.

()

ANOTHER NAME?

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:

l~NSUPPORTED DEVICE
COMMAND (?):

Example 1: Prompt, reply format.

COMMAND (?): GET
ENTER TERMINAL NAME:

DSPLAYI

Example 2: Single-line format.

()

lI COMMAND (?): GET DSPLAYI

o
4-268

SC34-0940

$FONT

o

PUT (P) - 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 LI command (load an image store) of the $TERMUT2 utility.

l

COMMAND (?):

PUT device

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:

l ENTERTER~INAL

NAME (CR OR

* = THIS ONE):

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:

THE FIRST 96 NONBLANK CHARACTERS OF THE
IMAGE STORE WILL BE PUT TO THE 4974.
CONTINUE (YIN)?

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.

c
Chapter 4. Utilities

4-269

$FONT

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:

0J

THE EBCDIC HEX CODES OF THE 96 4980·CHARACTERS
ABOUT TO BE PUT TO THE 4974 ARE:
4e
60
81
Al
00
Fe

4A.4B
61 6A
82 83
A2 A3
01 02
Fl F2

4C
6B
84
A4
03
F3

40 4E
6C 60
8586
A5 A6
04 05
F4 F5

4F 50 SA 58
6E 6F 79 7A
87 88 89 91
Ai A8 A9 B0
06 07.08 09
F6 F7 F8 F9

5C
7B
92
C0
E0

50
7C
93
C1
E2

5E
70
94
C2
E3

SF
7E 7F
95 96·97 98 99
C3 C4 C5C6· C7CaC9 .
E4.E5 E6 E7 E8.E9

CONTINUE? (YIN)

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.
Example 1: Prompt, reply format.

Cot4MANO (?): PUT
ENTER TERMINAL NAME (CR OR *

Example 2: Single-line format.

l COMMAND (1):

= THIS ONE):

DSPlAYl

o

PUT DSPLAYI

o
4-270

SC34-0940

$FONT

o

READ (R) - Read Data Set
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.

DATA SET FORMATS:
1) 4980
2) 4978
3) 4974

SELECT OPTION:

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.

COMMAND (?):

READ MYDATA,MYVOL

DATA SET FORMATS:
1) 4980
2) 4978
3) 4974

SELECT OPTION:

If you do not specify the volume name, it defaults to the volume from which
,$FONT was loaded.

o
Chapter 4. Utilities

4-271

$FONT

SAVE (S) - 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.

0'·

..,. "

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).

COMMAND (?): S
DATA SET (NAME,VOLUME): IMAGSG
DATA SET FORMATS:
1)

2)
3)

4980
4978
4974

SELECT OPTION: 3
INVALID SAVE
DEVICE MUST MATCH DATA SET
ANOTHER DATA SET (YIN)? Y

o

DATA SET (NAME,VOLUME): IMAGSG
DATA SET FORMATS:
1)
2)
3)

4980
4978
4974

SELECT OPTION: 1
CURRENT DATA SET IS IMAG8@. ED-X002
FORMATTED FOR 4980
REPLACE (YIN)? Y
COMMAND (?):

o
4-272

SC34-0940

$FONT

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.

COMMAND (?): EDIT
PF1
PF2
PF3
PF4
PF5
ENTER
CODE

-------

(Screen 1)

TAB FORWARD
TAB BACK
TAB DOWN
INVERT DOT
CANCEL/END
SET PATTERN
(00)

o
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-bott~m)

across the grid.

PF2 Moves the cursor backwards within the grid (right-to-left 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 ..

c
Chapter 4. Utilities

4-273

$FONT

Function of the Enter Key: The enter key has an important use when you are
editing. Press the enter key when you are finished making changes to the character
on the grid. $FONT issues the following prompt:

I 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:

l

SET TO NEW CODE?

If you respond Y, $FONT prompts you for the new code as follows:

l

NEW CODE:

_

(ee)

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
(CI) 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.

4-274

SC34-0940

o

$FONT

o

Example of Modifying a Character:

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.

COMMAND (1):
PFI
PF2
PF3
PF4
PF5
ENTER
CODE

------T

(Screen 2)

EDIT

TAB FORWARD
TAB BACK
TAB DOWN
INVERT DOT
CANCEL/END
SET PATTERN

.....

II IIII

IIII II

(E3)

I.

T

o
Chapter 4. Utilities

4-275

$FONT

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.)

Oi)
.,

I•.

-- TAB FORWARD
--TAB BACK
~-TABDOWN'

,. ... "INVERT DOT
PF5 ,. --CANCEL/END
ENTER ;..,... SETPATT~RN
CODE

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.

4-276

SC34-0940

o

$FONT

o

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:

COMMAND (?):
PFl
PF2
PF3
PF4
PF5
ENTER
CODE

C',-

------T

EDIT

TAB FORWARD
TAB BACK
TAB DOWN
INVERT DOT
CANCEL/END
SET PATTERN

.....

IIII II

(Screen 4)

.....

. ....

II IIII

(E3)

'/

6. Press the PF I 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.

c
Chapter 4. Utilities

4-277

$FONT

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.

r

COfOO\NO(?) :

EDIT

PFl-- TAB FORWARD
PF2 --. TAB BACK
PF3 -- TAB DOWN
PF4 -~ INVERT DOT
PF5 -- CANCEL/END
ENTER -- SET. PATTERN
CODE

T

(Screen·S)

.....
. ....
III I I I I I

()

l

(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.

o

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.

o
4-278

SC34-0940

$FSEDIT

o

$FSEDIT - Full Screen Editor
$FSEDIT 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 (or equivalent) display terminals).
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 pre filling 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.

e,

1

Note: To use $FSEDIT, the following modules must reside on the same volume as
$FSEDIT: $FSMEN, $FSEDB, $FSUT1 to $FSUT4, $FSIMA, and $FSIMO
to $FSIM8.

Loading $FSEDIT
Load $FSEDIT with the $L operator command or option 1 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 load $FSEDIT with the session manager. If you use the $L
operator command to load $FSEDIT, the system prompts you for the name of the
work file in the following manner:

l WORKFILE
$L $FSEDIT
(NAME,
>

.
VOLUME):

See "Work Data Set" on page 4-282 for a description of the work data set.
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.
Note: DS1 refers to your work data set and is used for example purposes only.

Respond Y. If you respond N, $FSEDIT ends.

o
Chapter 4. Utilities

4-279

$FSEDIT

o
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.
"$FSEOIT. PRIMARY OPTION MENU-,;.:-,;.:-:'-,;.;;;.;..-_ .... ,;.:..;...;.,.-;:..;.;;.--:'snrrus=
PRESSPF3TO EXIT
OPTION==>
DATA SET NAME===:::=;::;::==>
VOLUME NAME ====:;===;::;::>

(CURRENTLY IN WORK DATA SET)

HOST DATASET========;>
ENTER A VOLUME NAME AND PRESS ENTER FOR A DIRECTORY LIST

1 ...' . BROWSE

2 ..•. EDIT
3 •• ~ .REAO (HOST/NATIVE)

4 •••• WRITE(HOST /NATIVE)
5 ..•. SUBMIT BATCH JOB to HOST SYSTEM
6 ..
PRINT
7 .••• MERGE
8 .... END
9 .~. HELP
0.

,0,

The primary option menu has four input fields:
•
•
•
•

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.

4-280

SC34-0940

o

$FSEDIT

o

Select Directory List
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.

VOL=
WORK=
CONTENTS=
STAT =
COMMAND INPUT ===>
SCROLL ===>
**** NAME ************ LAST SAVED AT ******* USER ***** # OF LINE ****

The first line of the screen contains the following information:
VOL =

The volume for which the system displays the directory data set list.

WORK =

The name of the work data set.

CONTENTS =
The name of the source data set whose contents were copied into the
work data set.
STAT =

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 4-284 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 4-290 and "Option 2 - EDIT" on page 4-290 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).

c
Chapter 4. Utilities

4-281

$FSEDIT

Work Data Set
$FSEDIT requires a preallocated work data set for use as a text edit work area. If
you load $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 4-213. 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
0-71
72-79
80-127
128 -199
200-207
208 -255

Words
1-36
37-40
41-64
65 -100
101-104
105 -128

Contents
Source Line
Line Number
Zeros (reserved for future use)
Source Line
LineNumber
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.

0

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.

Scrolling
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:

4-282

SC34-0940

PAGE or P

Specifies scrolling one page (22 lines)

HALForH

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.

o

$FSEDIT

o

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).

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 - scrolls towards the beginning of the data set by the
amount shown in scroll amount field.

PF3

SCROLL DOWN 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.

PF4

REPEAT FIND - repeats the action of the previous FIND primary
command.

PF5

REPEAT CHANGE - repeats the action of the previous CHANGE
primary command (applies only to edit mode).

PF6

PRINT SCREEN - 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.
ATTN CA

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 - PF 4 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:

c

PFI

Redisplays the screen image

PF2

Repeat find

PF3

Scroll up

PF4

Repeat change

Chapter 4. Utilities

4-283

$FSEDIT

PF5

Scroll down

PF6

Print screen.

o

If you are using a 3101 (or equivalent) terminal, the following additional program
function key is used:
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 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
uppercase by:
• Pressing the shift key or
• Using the CAPS command for the $FSEDIT edit session.
You should consider the following if you 'select DUAL case mode.
• In an environment where there is a
not display lowercase characters.

~ix

of terminal types, some terminals may
'1, \

~)

{ .

• 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).

4-284

SC34-0940

o

$FSEDIT

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 4-289 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.

B (BOTTOM) - Display Bottom of Directory List
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:
Defaults:

none
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 I BROWSE" on page 4-290 for a description of the browse function.
Syntax:

BROWSE
BR

Required:
Defaults:

none
none

",.
V
...... '"

'.

Chapter 4. Utilities

4-285

$FSEDIT

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.

0

. _~

Syntax:

CV volname

Required:
Defaults:

volname
none

Operands

Description

volname

The name of a volume (l - 6 characters).

ED (EDIT) - Edit the Contents of the Work Data Set
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 4-290 for a description of the function.
Syntax:

EDIT
ED
Required:
Defaults:

{)
none
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:
Default:

none
none

o
4-286

SC34-0940

$FSEDIT

L (LOCATE) - Locate a Specific Data Set Name

'0

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.
$FSEDIT searches through the list and locates the first data set starting with the
specified prefix.
Syntax:

LOCATE
L

dsname
dsname

Required:
Defaults:

dsname
none

Operands

Description

dsname

Name of the data set you want to locate.

M (MENU) - 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:
Default:

none
none

o
Chapter 4. Utilities

4-287

$FSEDIT

S (SORT) - Sort Directory Data Set List
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
S

option
option

Required:
Defaults:

option
none

Operands

Description

option

There are three sort options:
DATE or D

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.

T (TOP) - 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:
Defaults:

none
none

o
4-288

SC34-0940

$FSEDIT

Directory Line Commands

o

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 4-290 and "Option 2 EDIT" on page 4-290 for a description of these commands.
Example: Select a data set from the directory list to edit.

VOL = EDX002 WORK = EDITWORK,EDX002 CONTENTS = TESTl
STAT =
COMMAND INPUT ===>
SCROLL ===>
**** NAME ************ LAST SAVED ******* USER ***** # OF LINES ****
TEST1
08/11/82
TEST2
09/26/82
E TEST3
07/22/82
***************************** BOTTOM OF DATA **********************

C
,

"l
'I
,/

Primary Options and Commands
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
Chapter 4. Utilities

4-289

$FSEDIT

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.

o

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 4-295.
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 COMMAND
INPUT field and return to the primary option menu.

Option 2 - EDIT
In EDIT mode, you can modify an existing source dataset or create a new one. To
do this, you use:
• Program function keys for two-way scrolling as well as repeat, change, and find;

0

• Primary commands (CAPS, CANCEL, COBOL, CHANGE, CLEAR, END,
FIND, LOCATE, MENU, PS, RENUM, RESET, TABS, and WRITE);
• Line edit commands to manipulate whole lines or blocks of lines. (See "Edit
Line Commands" on page 4-305 for an explanation of these commands.)

Creating a Source Data Set
To create a new source data set, enter EDIT mode (option 2) with an empty data set
(the work data set you specified when loading $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 001 072 indicates that the source data can
only be entered in columns 1 through 72.

4-290

SC34-0940

o

$FSEDIT

o

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.
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:

l

WRITE TO dsname ON vol name (YIN) 1

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 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 4-283.
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 4-305.

o

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 4-295.
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.

Chapter 4. Utilities

4-291

$FSEDIT

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.

o

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 arid VOLUME NAME fields. $FSEDIT
prompts you as follows:

UWRrTET~dSham~Ollv(nname

(Y /till

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. END returns you to the previous menu; MENU returns
you to the primary option menu.

Editing Uppercase and Lowercase Character Data
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 (or equivalent) with switches
set for uppercase. For information on how to change the 4978 or 4980 to a
lowercase store see "$TERMUT2 - Change Image/Control Store" on page 4-601.
For information on 3101 switch settings, refer to IBM 3101 Display Terminal
Description, GAI8-2033.

0

If the system detects lowercase characters and you want to edit the data set using
EDIT command, the following message is issued:
WARNjNG~··DAtk .SET'· CONTAiNSloWERCA"SEyriARACTERS

DO YOU WANT TO CONTINUE?

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
uppercase and no line commands or data changes are processed. The screen is
reshown in uppercase.
Note: Setting CAPS ON ALL does not place change flags on the lines that are
converted to uppercase.

4-292

SC34-0940

o

$FSEDIT

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.
2. On the 3101, brackets [ 1and not-signs are also treated as lowercase and, when
converted to uppercase, 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 uppercase.
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 (or equivalent).

c"
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 loaded $FSEDIT
through the session manager. The data set name entered must be fully qualified and
must contain fixed-length, 80-byte records.
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 Uppercase
and Lowercase Character Data" on page 4-292 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.

Chapter 4. Utilities

4-293

$FSEDIT

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:

o

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.
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.
4. If you specify an existing data set with extents as the target while using option 4,
$FSEDIT deletes the existing data set and allocates a new data set without
extents.

O.-~

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, $FSEDIT displays the following screen
indicating the name of the data set that is currently in the work data set (the target).

4-294

SC34-0940

o

$FSEDIT

o

------------------------$FSEDIT - MERGE OPTION
"CURRENT" DATA SET: MYDS,MYVOL

-------------~--------

(CURRENTLY IN WORK DATA SET)

MERGE DATA FROM:
DATA SET NAME ===>
VOLUME NAME ====>
FROM LINE f ====>
TO LINE f ======>
ADD TO TARGET AFTER LINE

(ENTER 1*1 IF ENTIRE SOURCE DATA SET IS
TO BE MERGED)
#

===>

PRESS ENTER TO MERGE
PRESS PF3 TO CANCEL

Enter the name of the data set and volume you want merged with the information in
the work data set. You can 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 - END
Option 8 (END) ends the $FSEDIT utility.

Option 9 - HELP
Option 9 (HELP) displays tutorial text for using $FSEDIT.

Primary Commands
The following primary commands are used in edit and browse mode:
CANCEL (CANC) Cancel session and return to previous screen

o

CAPS

Display data in uppercase or lowercase

CHANGE (C)

Change character strings

CLEAR (CL)

Clear work data set

Chapter 4. Utilities

4-295

$FSEDIT

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.

0

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

o
4-296

SC34-0940

$FSEDIT

CANC (CANCEL) - Cancel Session and Return to Previous Screen

o

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, ends 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 andyou 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 you last pressed
the PF or enter key, is saved.
Syntax:

CANC

CAPS - Set Uppercase 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 uppercase.
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
uppercase, 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:
Defaults:

none
none

c
~hapter 4. Utilities

4-297

$FSEDIT

Operands

Description

ON

In BROWSE mode, all data is converted and displayed on the screen in
uppercase.
In EDIT mode, data is displayed on the screen exactly as it appears in
the work file; for example, uppercase is mixed with lowercase.

o

If any edit data is entered and it changes the existing data, that entire
line (or lines) is changed to uppercase in the work file and on the screen.
The following is an example of upper and lowercase 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 uppercase.
In this example, the first sentence shows how the line was read in.

This is an example of upper and lowwercase.

When you correct the misspelled word (lowwercase), the following
occurs.

THIS IS AN EXAMPLE OF UPPER AND LOWERCASE.

OFF

In BROWSE mode, all data is displayed with no conversion to
uppercase.

o

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 uppercase and CAPS is set to ON.
CAPS ON ALL has no meaning if you use it in BROWSE mode.

o
4-298

SC34-0940

$FSEDIT

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, "text!" 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 "text!" 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 (PF5) 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 uppercase
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 uppercase.
Syntax:

CHANGE /textl/text2/option
C
/textl/text2/option

C
·~

i

Required:
Defaults:

/textl/text2/
option defaults to 'NEXT'

Operands

Description

/textl/text2/

The delimiter (j) can be any alphanumeric character except blank.
It is not part of, and cannot appear in, the character strings "text!"
and "text2." All three delimiters are required and all must be the
same character. "text!" and "text2" can be any character string
not containing the delimiter you used.

option

Defines the beginning and the extent of the search. The following
are valid options:
NEXT
Locate and change the next occurrence of "text!" to "text2;" the
search starts with the first line displayed. This is the default.
FIRST
Locate and change the first occurrence of "text!" beginning the
search at the first line of data set.
ALL

c

Locate and change all occurrences of "text!" beginning at the first
line of the data set.

Chapt~r 4. Utilities

4-299

$FSEDIT

CL (CLEAR) - Clear Work Data Set (Edit Mode Only)
The CL command clears the work data set.
Syntax:

[

o

~~EAR

Operands

Description

None

None

COBOL - Set COBOL Line Numbers (Edit Mode Only)
The COBOL command sets line numbers in columns I to 6.
Syntax:

COBOL
CO

Required:
Defaults:

none
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).

o

Syntax:

Operands

Description

None

None

o
4-300

SC34-0940

$FSEDIT

o

F (FIND) - Find Text String
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 text string is not found, you are notified
with an error message displayed on the top line of the screen.
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 uppercase
and then searches the work data set.
Syntax:

FIND
F

JtextJ option
JtextJ option

Required:
Defaults:

option defaults to "NEXT"

JtextJ

Operands

Description

JtextJ

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:
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.

c
Chapter 4. Utilities

4-301

$FSEDIT

L (LOCATE) - Locate Line Number
The L command locates and displays the requested line number. The data set is
searched for the requested line number. If the requested line number is 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:

l

o

LINE NUMBER NOT FOUND

Syntax:

LOCATE
L

line-number
line-number

Required:
Defaults:

line-number
none

Operands

Description

line-number

The number of the line to be located and displayed.

M (MENU) - Return to Primary Option Menu
Tne Ivi commanri enris eriir or Drowse morie anri rerums
Syntax:

Operands

Description

None

None

1:0

rne primary opIion menu.

o

o
4-302

SC34-0940

$FSEDIT

o

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:
Defaults:

none
$SYSPRTR

Operands

Description

devname

The name of the printer where you want the display printed.

R (RENUM) - Renumber Data Set (Edit Mode Only)
The R command assigns new line numbers to each line of the data set.
Syntax:

RENUM
R

first increment
first increment

Required:
Defaults:

none
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
Chapter 4. Utilities

4-303

$FSEDIT

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
sPift left or right and there is no room on the line to do so.

o

Syntax:

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-ofOsequence 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.
Note: The TABS command is supported on a 4978 and 4980 display terminal.
Refer to the Operation Guide for a description of the tab key.

0

~~
TABS

locl,loc2, .... ,loclO

Required:
Defaults:

locI
1,10,20,30,40,50,60,70

Example: Set tabs stops in columns 1, 15, and 30.

l

TABS 1,15,30

o
4-304

SC34-0940

$FSEDIT

o

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.
Note: If you specify an existing data set with extents as the target while doing a
WRITE, $FSEDIT deletes the existing data set and allocates a new data set
without extents.
Syntax:

WRITE

data set,volume

Required:
Defaults:

None
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.

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 Jmove after

B

Copy /move before

C,CC

Copy line(s) of text

COLS

Display columns

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.

C
Chapter 4. Utilities

4-305

$FSEDIT

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.

o

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 >
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. Therefore, 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.

o

In CAPS OFF mode, the line(s) are copied as they are. In CAPS ON mode, the
copied line(s) are converted to uppercase and the original data remains the same.
Example 1: Copy block.
EDIT --- EDITWORK,. EDX002
2( 24) .. --COlUMNS 001 072
COMMAND INPUT ===>
SCROLL===~HALF
***** ***** TOP OF DATA********************************
CCOOOIOLINE 1
CC00020 LINE·2
B.***.******BOTTOMOFDATA ************'f(*****************

o
4-306

SC34-0940

$FSEDIT

o

Example 2: Screen image after block copy.

EDIT --- EDITWORK, EDX002
4{ 24)--- DATA RENUMBERED
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
00010 LINE 1
00020 LINE 2
00030 LINE 1
00040 LINE 2
***** **** BOTTOM OF DATA ******************************

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.

c

EDIT --- EDITWORK. EOX002
3( 1089)--- COLUMNS 001 072
COMMAND INPUT =~=>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
0000010 LINE 1
COLS020 LINE 2
0000030 LINE 3
***** **** BOTTOM OF DATA ******************************

Example 2: Screen image after COLS line command.

EDIT --- EDITWORK, EDX002
3( 1089)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
0000010 LINE 1
0000020 LINE 2
COLS --~--+-~~-1~---+----2----+----3~--~+----4----+----50000030 LINE 3
********* BOTTOM OF DATA ******************************

c
Chapter 4. Utilities

4-307

$FSEDIT

D (Delete Line) and DD (Delete Block)
Use the D and DD 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 a D on each line. The DD line commands are used to delete
a block of data. The DD 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 DD lines).
The block of data is deleted when you press the enter key the first time after you
have specified both DD commands.

o

Example 1: Delete block of lines.

EDIT --- EOITWORK. EOX002
7( 24)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF OATA********************************
00010 LINE 1
000020 LINE 2
00030 LINE 3
000040 LI NE 4
00050 LINE 5
00060 LI NE ·6
. 00070UNE7
*********BOTTOM OF OATA******************************

Example 2: Screen image after block delete.

EDIT ;.-- EOITWORK,EDX002
4(24)---COLUMNS001-072
COMMANO INPUT===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
00010 LINE 1
00050· LI NE 5
00060 LINE 6
00070· LINE 7··
********* BOTTOM OF DATA ******************************

o

o
4-308

SC34-0940

$FSEDIT

o

I (Insert) - Insert New Line
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 do not 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, 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 uppercase before being inserted in the work file.
Example 1: Insert a line of text.

EDIT --- EDITWORK, EDX002
2( 24)---COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HALF
1**** **** TOP OF DATA *********************************
00010 LINE 1
eee2e LINE 2
***** **** BOTTOM OF DATA ******************************

Example 2: Screen image after I line command

EDIT ,--"", EDlTWORK, ,EDXee2
2( 24).::-:.:: COLUMNS 001 e72
COMMAND'INPUT===>
SCROLL===>HALF
*****'*****tOPOF DATA *****************'1;*~******~*****
eeele LI~E'l
eee2e LINE 2
***** **** BOTtOM OF DATA ******************************

e
Chapter 4. Utilities

4-309

$FSEDIT

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 21 inserted lines following it. You can enter
data on all 21 lines before you enter it. The new data is then saved as with the I
command. If data is entered on the inserted lines and the cursor is left on the last
line of the display when you press the enter key, another 21 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.

o

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 21 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 uppercase before being inserted in the work file.
Example 1: Block insert line command.

EDIT -.:.- EDITWORK, .EDX002
2( 24)--- COLUMNS 001 072
SCROLL ===>HALF
COMMAND INPUT ===>
***** ***** TOP OF DATA ********************************
00010 LINE 1
11(;)0e20 LINE 2
***** **** BOTTOM OF DATA ******************************

Example 2: Screen image after block insert command.

EDIT -~- EDITWORK. EDX002
COMMAND INPUT ===>
e0020 LINE 2

4-310

SC34-0940

2(

24)--- COLUMNS 001 072
SCROLL ===>HALF

o

$FSEDIT

MASK - Display Insert Mask

()

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:
l5( 1(89)-EDIT --- MYDATA,EDX4e
1 CHANGES ----- COLUMNS eel e72
COMMAND INPUT ===>
SCROLL ===> HALF
************ TOP OF DATA***************************************************
eeeel LINE 1
MASK10 LINE 2
eee2e LINE 3
eee3e LINE 4

The current mask is displayed following the line where you entered the MASK
command.
l5( 1(89)-EDIT ---MYDATA,EDX4e
1 CHANGES ----- COLUMNS eel 072
COMMAND INPUT ===>
SCROLL ===> HALF
************ TOP OF DATA **************************************************
eee01 LINE 1
eeele .LINE 2
MASK>
ee02e LINE 3
eee3e LINE 4

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.
l5( 1(89)-EDIT --- MYDATA,EDX4e
1 CHANGES ----- COLUMNS eel e72
COMMAND INPUT=::>
SCROLL ===> HALF
************ TOP OF DATA **************************************************
eeeel LINE 1
eee10 LINE 2
COMMENT
eee2e LINE 3
eee3e LINE 4

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.

Chapter 4. Utilities

4-311

$FSEDIT

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 mode, the data is moved and remains the same. In CAPS ON mode,
the data is converted to uppercase before being moved.
Example 1: Move block of lines.
EDIT ---EDITWORK. EDX002
COMMAND INPUT ===>

7(

24)--- COLUMNS 001 072
SCROLL ===>HALF

A**** *****TOP OF DATA ********************************
00010
.00020
00030
MM040
00050.
MM0-60·
00070

LINE 1
LINE·· 2
LINE 3
LINE 4
LI NE 5
LINE 6
LINE 7

*********BOTTOM OFDATA******************************

Example 2: Screen image after block move.

EDIT --- EDITWORK,EDXeB2
COMMAND INPUT =l::=>

**********'TOP.OF

7(24)..;--·,..·--DATA RENUMBERED
SCROLL ===>HALF

DATA**1<~*.***************************

e0010 LINE .. 4
Oe020. LINE 5
BB030 LINE 6·
ee040 lINE .1
e0050 LINE Z
00060 LINE 3
0007e. LINE 7

C,.·'
I'

4-312

SC34-0940

$GPIBUTI

o

$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.

Loading $GPIBUT1
Load $GPIBUTI with the $L operator command or option 4.9 of the session
manager.

>

$l $GPIBUTl

LOADING GPIBUTl

45P,00:40:27:, LP= 9200, PART=l

$GPIBUTI - GPIB UTILITY
COMMAND (?):

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

COMMAND(?) :

?

CH
CP
00
EN
GP
LDCB
RE
RS
ST
SU
WR

- DEFINE END CHARACTER
- CHANGE GPIB PARTITION
- DEFINE DEVICE
~ END THE PROGRAM
- GPIB CONTROL
- LIST DEVICE CONTROL BLOCK
-READ DATA
- RESET· I/O ADAPTER
-READ ERROR·STATUS
~ SUSPEND PROGRAM
-WRITE DATA
'ATTN~PGPla' TO POST
'ATTN: ":"... GPRESUME TO RESUME PROGRAM
I

CO~ANO (?):'

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
Chapter 4. Utilities

4-313

$GPIBUTI

CH - Define End Character
Use the CH command to define or change the ending character that is added to
output data.

SELECT CODE:

o

3

COMMAND (? ): .

CP - 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.

o
. COMMAND (1) :

CP

PARTITION NUMBER
PARTITION NUMBER NOT CHANGED

COMMAND (?) :

DD - Define Device
Use the DD command to prompt for the name of the GPIB adapter. This name is
specified in the TERMINAL configuration statement. The name specified is used
for all enqueues of the adapter until you issue another DD command.

o
4-314

SC34-0940

$GPIBUTI

o

EN - End The Program
Use the EN command to end the $GPIBUTI utility.

l

COMMAND(?): EN

GP - GPIB Control
Use the GP command to enter the GPIB bus command options that can be specified
using the TERMCTRL 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.

COMMAND(?): GP
GPIB COMMAND(?): CON
OPTION(SE.EOS,TO,EOI): TO
OPTION(S[,EOS,TO,EOI):
CONFIGURATION DATA: ?U%
PROGRAMMING DATA (OR NONE): IN
PROGRAMMING DATA (OR NONE): OE;
PROGRAMMING DATA (OR NONE):

override)

(time~

(5/1 talks,

·plotter.llst~ns)

(initialize plotter)
(output plotter error)

CONFIGURATION DATA: ?E5
(plotter
PROGRAMMING DATA (OR NONE): NONE
(no data)
PROGRAMMING DATA (OR NONE):

talks~S/l

listens)

CONFIGURATION DATA:
GPIBCOMMAND(?):READ
OPTION(SE,EOS,TO,EOI):

'EOSSYl'L(HEX): eD
OPTION(SE,EOS,TO,EOI): '
TRANSLATE INPUT? Y

o

(suppress-exceptions)
WARNING - EOS OR EOI REQUIRED ...
EOS
(end-of-string character)
WARNING - SE MAY BE NEEDED
(X 'OD I)

SE

HOW MANY CHARACTERS (MAX=DEFAULT=80):
VAlUE-DEFAULTED TO 80
;;'.~:;< . .• ;. •'. •'" •..•."
,,: .eOMMPiND(:?): .• :

(l et

defaul t)

Chapter 4. Utilities

4-315

$GPIBUTI

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:

o

• 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, 1**** I)
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.
•
•
•
•
•
•

End of string character
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 characters
ASCII characters.

The DCB is checked for certain error conditions, including:
• DCB words two or three not equal to zero
• RSB address not equal to zero, and suppress exception set
• Chain address nonzero and chaining bit set.

o

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.
The following example illustrates a DCB used in the execution of:

o
4-316

SC34-0940

$GPIBUTI

o

LoeB

COMMAND (?):

DISPLAY OF DCB FOR GPIB TERMINAL GPIB
GPIB CCB AT ADDRESS 1058
GPIBDCB AT ADDRESS 0FFE
CONTROL WORD
CYCLE STEAL KEY IS 0
TIMER OVERRIDE SET
DtVICE OPERATION IS CON
BYTE COUNT IS "5 .
DATA ADDRESS IS 1102
DATA IN HEX FORMAT IS:
3F55 2522 2C00
DATA INTERPRETED AS EBCDIC IS:

COMMAND (?):

RE - Read Data
Use the RE command to read data from the GPIB adapter. You can also specify
GPIB options (TERMCTRL functions), translation, and the number of characters to
he reHo.

C9MMA~D (?) !

'.'

READ

Op"rION(S~~ E05.,1;0.(01):

SE.

.

(s'uPR'r~~'~f"~if~l)'tib~~i

WARNING ~ EO~qR:EQl.R~~~)R,'E~:.M;i •.
.OPTrON{st,;EOS)TQ, EDI}: EOS .
{end-:of:;'strl:119 ~fi~.t(i:c:ter}
WARNING- SEMAYBE:NE~ij~p;.~.
(X I.OD~)
EOS ·.• BYTE •(HEX):: ••.. 90
OPTION{SE,EOS ,TC},EOI) : .
TRANSLATE .·I;NPUT? Y

o
Chapter 4. Utilities

4. . 317

$GPIBUTI

0

RS - Reset 1/0 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.

l

I COMMAND(?):

RS

RESE.T ADAPTER?

.'

J

j

Y

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
READSTATUS? Y
CYCLE STEAL STATUS BLOCK (HEX)
RESIDUAL ADDRESS =
RESIDUAL BYTE COUNT =
(RESERVED) =
(RESERVED) =
ERROR STATUS =
BUS STATUS (AFTER POWER ON)
BUS STATUS (CURRENT) =
SPE.DEVICE ADDRESS =
DCB SPECIFICATION CHECK =
(RESERVED) =
DCB ADDRESS =

B4SA
OOSO
0000
0000
8000
= 0008

OOOA

o

0000
0000
0000

1238

RESIDUAL STATUS BLOCK (HEX)
RESIDUAL BYTE COUNT = 0000
RSBFLAGS =
0000
(RESERVED) =
0000
(RESERVED} =
0000
(RESERVED) =
0000
RESET ADAPTER? Y
NO DATA RECEIVED
COMMAND (? ).:

o
4-318

SC34-0940

$GPIBUTI

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.

l

COMMAND(?): SU
~GPIBUTl

SUSPENDED

WR - Write Data
Use the WR command to write data to the GPIB adapter. You can specify GPIB
options (TERMCTRL functions) and translation.

COMMAND(?): WR
OPTION(SE,EOS,TO;EOI):
WRITE HEX DATA? N
ENTER TEXT: IN;

(character data)

IS THE DATA OK? Y
COMMAND(?): WR
OPTION(SEtEOS,TO,EOI):
Y

ENTER HEX WORDS: 9A90 9192

(hex data)

'tSTHE:DATA OK? Y
COMMAND (?):

o
Chapter 4. Utilities

4-319

$GPIBUTI

PGPIB - Post GPIB Operation Completion
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.

O.

!

GP ~ B COMMAND (?J: . READ
OPTION (SE,EOS,TO.EO!):
TRANSLATE INPUT? V
HOW MANY CHARACTERS (MAX=DEFAULT=80):
VALUE DEFAULTED TO 88
>

(user presses .attention key)

PGPIB

DATA RECEIVED:
GPIB COMMAND (?): RSET
RESET ADAPTER? V

GPRESUME - Resume $GPIBUT1 Operation
If you suspended $GPIBUTI using the SU command, use the GPRESUME
attention command to resume it.

(press attention key)
>

GPRESUME

$GPIBUTl RESUMED
COMMAND (?):

o
4-320

SC34-0940

$GPIBUTI

o

$GPIBUT1 Example
The following example shows many of the $GPIBUTI utility operations. The
attached device is a plotter.

(Press attention key)
$CP 2
$L $GPIBUTI
LOADING $GPIBUTI

(run in partition 2)

>
>

45P,ee:4e:27, LP= eeee. PART=2

$GPIBUTl - GPIB UTILITY
USING GPIB TERMINAL GPIBI
COMMAND(?):

DD

NEW GPIB TERMINAL NAME = GPIB3
GPIB3 IS NOT A GPIB TERMINAL
RETRY? Y
NEW GPIB TERMINAL NAME = GPIB
COMMAND (?): CP 2
PARTITION CHANGED T02
Figure

C

(so that SRQs will be received)

4-13 (Part 1 of 5). $GPIBUT1 Example

1

"

I

c
Chapter 4. Utilities

4-321

$GPIBUTI

.~

(y
.

o
Figure 4-13 (Part 2 of 5). $GPIBUTI Example

o
4-322

SC34-0940

$GPIBUTI

o

CONFIGURATION DATA: ?E5
PROGRAMMING DATA (OR NONE):
PROGRAMMING DATA (OR NONE):

NONE

(plotter tal ks, S/r1 istensf
(no data)

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): aD
(X'OD ' )
OPTION(SE,EOS,TO,EOI):
TRANSLATE INPUT? Y
HOW MANY CHARACTERS (MAX=DEFAULT=80):
VALUE DEFAULTED TO 80

, (1 et defaul t)

o

(error code=O)

GPIB COMMAND(?):

CON

OPTION(SE,EOS, TO,E01):
CONFIGURATION DATA:
PROGRAMMING DATA (OR
PROGRAMMING DATA (OR
PROGRAMMING DATA (OR

?U%
NONE): IN;
NONE): IM223,32,a;
NONE): XX;

(initialize plotter)
(interrupt on error)
(invalid command)

****** .SRQ RECEIVED ******

(SRQ interrupt)

PROGRAMMING DATA (OR NONE):
CONFIGURATION DATA:
GPIBCOMMAND (?): SPE

(serial pollenab1e)

,OPTION{SE,EOS,TO,EOI):

Figure

4-13 (Part 3 of 5). $GPIBUTI Example

c
Chapter 4. Utilities

4-323

$GPIBUTI

o

o
Figure

4-13 (Part 4 of 5). $GPIBUTI Example

o
4-324

SC34-0940

$GPIBUTI

o

(GPIB adapter is busy)

ERROR CODE = eee2

GPIB BUSY
READ STATUS?

N

RESET ADAPTER?

Y

NO DATA RECEIVED
GPIB COMMAND (?):

READ

OPTI0N(SE.EOS~TO.EOI):

TRANSLATE INPUT?

Y

HOW MANY CHARACTERS (MAX=DEFAULT=Se)
VALUE DEFAULTED TO se
ERROR CODE

= elSe

EXCEPTION ON INPUT
DEVICE DEPENDENT STATUS AVAILABLE
READ STATUS? Y
CYCLE STEAL STATUS BLOCK (HEX)
RESIDUAL ADD~ESS =
B45A
RESlDUALBYTE ,COUNT '=
ee5e
(RESERVED) =
eeee
(RESERVED) =
eeaa
. EijROR STATUS =
saae
. \'SVSSTATUS'(AFTER POWER ON) = eaes
BUS:STATIJ,$.: (CURRENT) =
aaaA '
SP(OEVICEADDRESS;\=,....
aaea
DCB, SPEC:I~I:CAnON' CHECK =
ee00 ,
.(~~SfiRV~DX~·i' . "
0e00
::;DCS}\DQRE~~ ,/= .,' ,.,' • •• , , ,', "
1238 .
RESIOUAt::~'STA:rUS:: BLOCK (HEX)
.

:;:~l:,;'P~!~;REQ'~~y~b~/::
"

,

<

"

,,'

<

,:;;,~~pt~';~[1MMAN~ :!':(.1)' :'.
Figure

4-13 (Part 5 of 5). $GPIBUTI Example

o
Chapter 4. Utilities

4-325

$HCFUTI

$HCFUT1 - Interact with Host Communications Facility
$HCFUTl is a utility that uses the Host Communications Facility on the Series/l to
interact with the Host Communications Facility Installed User Program on the
System/370. $HCFUTl can perform the following functions:

o

• Read a data set from the host (READDAT A, READ80, READOBJ)
• Write a data set to the host (WRITE)
• Submit a job to the host (SUBMIT).
• Status - set, fetch, and release records in the system status data set.

Loading $HCFUT1
Load $HCFUTl with the $L operator command or option 8.8 of the session
manager.

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

?

END
..; END
FETCH
- FETCH STATUS
RELEASE - RELEASE STAiUS
,READDATA. ,-:-' It~A[j ,IiPST '" ,','
,', ,,' "
'
READ80
..;REA08G..;BY]ERECOROS -STORE2/DISKRECORD
READOBJ .. REA08G-BYTERECORDS ..;STORE3/DISK RECORD
S.ET
-SET>STATUS
SUBMIT
-SUBMIT A JOB
WRITE
- WRITE TO HOST

o

COMMAND (?):,

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

1. Refer to "Host Data Set Naming Conventions" and "Host Data Set
Characteristics" in the Communications Guide.
2. Refer to "System Status Data Set" in the Communications Guide. Appendix B of
the IBM Series!] Host Communications Facility Program Description and
Operation Manual, SH20-1819 contains more detailed information on the use of
Host Communication Facility.
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.

o
4-326

SC34-0940

$HCFUTI

o

READDAT A - Transfer data set from host to Series/1
READDATA transfers a data set from the h<;)st to the Series/I. The host logical
record size is assumed to be 256 bytes.
Three items of control information you must specify at execution time are:
DSI

The 1- 8 character name of the Series/1 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.

DSNAME

The name of the host data set to be transferred.

The following is a terminal printout of a typical run. In this example, all records
(length = 256 bytes each) of the host data set SI.EDX.TESTIN(DATA) (which
contains 40 records) are transferred to the Series/1 data set DATAFIL2.
>.$L $HCFUTl

WORKFILE(NAMEfVOlUME): DATAFIL2,EDXeOl
LOADING$HCFIJTl
SP,GS.15.3G, LP=4SGG, PART=3
COMMAND,(?): READ.DATA
NUMBER OF RECORDS TO READ (O=ALL): e
OSNAME: 51. EOX. TESTIN(DATA)
END .AFrE~
4G RECORDS

C9MMANQ

(?}:

READ80 and READOBJ - Transfer Records from Host to Series/1
READ80 and READOBJ transfer 80-byte records from a host data set and store
them in 256-byteSeries/1 disk or diskette data set records.
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 $EDIT1N 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.

c"··;

READOBJ 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/1 for processing by $EDXLINK or
$UPDATE.

"

Chapter 4. Utilities

4-327

$HCFUTI

Status Commands (SE, FE and REL)

TRhEeLsEtaAtussEcfom~ands arehused to perform'dfrom a teRrm!nal, thMeSET, FETdcHc'dand
unctIOns on t e system status ata set.
for status return codes.

eler to

essages an

0

es

j.'

0
... ,

_

The following is an example of the use of the SET function of $HCFUTl. Status
return code 700 indicates that the index, key, and status records have been added.

;.~.9MMANt) •. ;(·;?).:.····:I·~.E

'INriEX~ TES:rSET:
:.KEY"=: NEWRECO

·s,:~~u~r ~ .'

.iee

.: C.oM~ANO: (? );'

The following is an example of the use of the FETCH and RELEASE functions.
The FETCH return code of 802 indicates that particular key does not exist. The
RELEASE return code of 900 indicates a successful release.

o
SUBMIT (SU) - Submit Job to Host Job Stream
SUBMIT causes a job to be submitted to the host job stream. Refer to the
Communications Guide for information about the requirements for host data sets.
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
4-328

SC34-0940

$HCFUTI

o

WRITE (WR) - Transfer Data Set from Series/1 to Host
WR transfers a data set from the Series/l to the host processor. The host logical
record size is assumed to be 256 bytes.
Three items of control information you must specify at execution time are:
DSI

The 1 - 8 character name of the Series/l 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.

DSNAME

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/l data set DAT AFILI are transferred to the host data set
S I.EDX. TESTOUT(DAT A).

>.$L $HCFUTl
WORKFILE{NAME,VOLUME): DATAFILl
LOADING $HCFUTl
8P,08.15.20, LP=4B00, PART=2

c\

COMMAND (?): WR
NUMBER OF RECORDS TO WRITE (0=ALL):
DSNAME: S1.EDX.TESTOUT(DATA)
END AFTER 28

28

COMMAND (?):

Return Codes
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 closed automatically for you.

o
Chapter 4. Utilities

4-329

$HXlJTl

$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.

C)

Volume-oriented functions consist of the following:
•
•
•
•
•
•
•

CV IV LA LI LS RE UV -

Change to another H-exchange volume
Initialize volume
List contents of H-exchange volume
Redirect listings to another terminal
List space in H-exchange volume
Rename an H-exchange volume
Update H-exchange volume label.

Data-set~oriented

•
•
•
•

AL DE UD UR -

functions consist of the following commands:

Allocate data set
Delete data set
Update H-exchange data set label by name
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 frol?1 EDX data set.
Note: For information on copying basic exchange diskettes, see "$COPY - Copy
Data Set" on page 4-27.

Loading $HXUT1
Load the H-exchange utility with the $L operator command or option 3.11 of the
session manager. Once loaded, $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.

4-330

SC34-0940

()

$HXUTI

o

Respond Y and $HXUTI again prompts you for the name of the volume.

l

VOLUME NAME =

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 (YjN)? prompt.

VOLUME NAME =
TRY AGAIN (YIN)? N
$HXUTl ENDED AT 09:18:23

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

COMMAND (?): ?
AL - ALLOCATE DATA SET
CV - CHANGE VOLUME
DE - DELETE DATA SET
IV - INITIALIZE VOLUME
LA -LIST ALL DATA SETS
LI - CHANGE LISTING DEVICE
LS - LIST AVAILABLE SPACE
RE -RENAME VOLUME
,
RX-READ H-EXCHANGE DATA SET INTO EDXDATA SET
UD . . UPDATE DATA SET LABEL BY NAME
UH - UPDATE DATA SET LABEL BY NUMBER
UV -UPDATE VOLUME LABEL
WX -WRITE H~EXCHANGE DATA SET FROM EDX DATASET
EN·- END PROGRAM
COMMAND{?) :

After $HXUTI displays the commands, you are prompted again with COMMAND
(?). Then you can respond with the command of your choice (for example, AL).

o
Chapter 4. Utilities

4-331

$HXUTI

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.

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 FILE01, 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.

•• :••••• ,,' < ." ". -: .... ',0

'

. ",.". ...

,~. ,":'.: .

.,:' , '

tUSTFILE ALLOCM'ED".S IZE.· rS • .

iee' RECORDs

o
4-332

SC34-0940

$HXUTI

o

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.

COMMAND (?): AL
DATA SET NAME:

CUSTFILE

NUMBER OF RECORDS:

2099

INSUFFICIENT SPACE TO ALLOCATE DATASET
THE LARGEST EXTENT AVAILABLE CONTAINS 1500 RECORDS
ALLOCATE DATA SET FOR THIS SIZE (YIN)? Y
CUSTFILEALLOCATED. SIZE IS 1500 RECORDS

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.

CUSTFILE ALREADY EXISTS, SIZE IS 100 RECORDS
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.

CV - Change to Another H-Exchange Volume
Use the CV command to change the H -exchange volume. (This affects all
commands except for the copy commands.)
•

•

y

.i·.··CQMM~~P.:t;?l;,:··

o
Chapter 4. Utilities

4-333

$HXUTI

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.

( COMMAND e?l:

o

DE

DATASET NAME:

ACCTREC

. ARE ·YOU SURE (YIN)? Y
ACCTREC DELETED
COMMAND (?):

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.

COMMAND (?):

IV

*** WARNING ***
INITIALIZATION WILL DELETE ALL EXISTING DATA SETS-CONTINUE (YIN)? V
INITIALIZATION COMPLETE

o

COMMAND (?):

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.

o
4-334

SC34-0940

$HXUTI

0

COMMAND ,(?) :

LA

VOLUME NAME = VOLCAN
OWNER ID = J SMITH
SYSTEM CODE = IBMEDXS1
DATA SET NAME
ACCTPAY
ACCTREC
CUSTFILE
BILLING

TYPE START

SIZE

BOE

53
163
1663
138

10
1500
100
23

01001
03007
31125
02108

H
H
H
H

EOE
01010
31124 LAST (02)
33120
03004 CONTINUED (01)

The listing can be cancelled by the attention command CA.

LI - 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.

COMMAND (?):

LI

LISTING TERMINAL:

Cl

TERM93

LS - List Space in H-Exchange Volume
Use the LS command to list the space available for data set definitions and data in
the current volume.
COMMA~DJ? r~: LS
THE • NlIMBEROF',OEFiNEDDATA,:SETS" IS 4'
·THE,NUMBER·OF VNUSED ,DATA ,SET ENTRIES IS,"67
THg' ;LARGEST "EXTENT, AVAILABLE,'COr·HAINS,.,~138 .:,RECORD$

DtsP~AY:TttEqST 'PFAvAI;~ABL~SPACE(Y IN)?

V

c
Chapter 4. Utilities

4-335

$HXUTI

RE - Rename an H-Exchange Volume
Use the RE command to rename an H -exchange volume.

o

COMMAND (?):RE
VOL.UME NAME (NOW IS
RENAME COMPLETED

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 DATASET (NAME,VOLUME) :
COpy ENTIRE DATA SET (Y/N)? Y
TARGET EDX DATA SET (NAME, VOLUME):

CUSTFILE,CANTST

()

CUSTFIlE, EOX993

CUSTFILE ALLOCATED SIZE IS 52 RECORDS
COpy OF CUSTFILE,CANTST TO CUSTFILE,EDX0G3COMPLETE
TOTAL NUMBER OF RECORDS COPIED WAS 52

o
4-336

SC34-0940

$HXUTI

COMMAND (?):

RX

SOURCE EXCHANGE DATA SET (NAME, VOLUME):
COpy ENTIRE DATA SET (YIN)? N
STARTING RECORD NUMBER: 5
COpy TO END or DATA SET (YIN)? Y

CUSTFILE,CANTST

TARGET EDX DATA SET (NAME, VOLUME): TEST,CAN
STARTING RECORD NUMBER: 1
TEST ALLOCATED. SIZE IS 28 RECORDS
COPY or CUSTFILE,CANTST TO TEST,CAN COMPLETE
TOTAL NUMBER OF RECORDS COPIED WAS 28

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 4-332 were not used.

COMMAND (?): RX
SOURCE EXCHAfiGEDATA SET (NAME, VOLUME): $EDXL,CANTST
COPY ENTIRE DATA SET (YIN)? Y

c:'

TARGET EDX DATA SET (NAME. VOLUME):
HOW MANY '. DISKETTES' (1-9.9): 2.
$EDXLALLOCATED,SIZE IS 7696 RECORDS
THIS IS A MULTIVOLUME COpy
SOURCE MAY NOT FIT INTO TARGET
PLEASE MOUNTOISKETT~WITH/FQR
NEXT SEGMENT ". (02)Or:OATASEL$EOXL

o
Chapter 4. Utilities

4-337

'$HXUTI

Example 4: Copy an entire multivolume data set to an EDX data set. The
multivolume da~a 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.

0
"

SOURCE MAY NOr FIT INTO TARGET
PLEAS~MOUNT DISKETTE WITH/FOR

:NEX;r ~EGME,NT:,( (2) 0FO~TA 'SET $E[)XL
.<

~••,:

'

'

COPYO~'$EOX~, VOLC~N: fO$EDXL, CAN COMPLETE

TOTAL"NUMBER OFRECOROSCOPIEO"'WAS 161

o

4-338

SC34-0940

$HXUTI

o

UD - Update H-Exchange Data Set Label by Name
Use the UD command to update the data set definition or (HDR1) 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.

COMMAND (?):
DATA SET NAME:

UD

ACCTREC

HEADER IDENTIFIER LABEL (NOW IS IHDR1 1):
DATA SET NAME (NOW IS IACCTREC I):
BLOCK LENGTH (NOW IS 1 256 1):
RECORD ATTRIBUTE (NOW IS 1 I):
BEGINNING OF EXTENT (NOW IS 101123 1):
PHYSICAL RECORD LENGTH INDICATOR (NOW IS 1 I):
END OF EXTENT (NOW IS '400011):
RECPRD/BLOCK fORMAT (NOW IS 1 I):
BYPASS INDICATOR (NOW IS I I):
SECURITY INDICATOR (NOW IS I):
WRITE PROTECT INDICATOR (NOW 151 I):· P
EXCHANGE TYPE (NOW IS 'HI):
MULTIVOLUME INDICATOR (NOW IS IC'}:
VOLUME SEQUENCE NUMBER· (NOW IS 162 I)
CREATION DATE (NOW 151.
I):
RECORD LENGTH (NOW IS ' I):
OFFSET TO NEXT RECORD SPACE (NOW IS I I):
EXPIRATION DATE (NOW IS 1
I) :
VERIFY/COPY INDICATOR (NOW IS 1 I):
DATA SELORGANIZATION (NOW IS I I):
END OF DATA (NOW IS 101123'): 40001
SYSTEM CODE (NOW IS'IBMEDXS1 1):
FILE ACCESS TYPE (NOW IS II):
I

If listing redirection is in affect, using the LI command, the system requests no input.

c
Chapter 4. Utilities

4-339

$HXUTI

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 reports the discrepancy.

o

r~'.~,~.~.=-.~,~~=-~~~~~~=---=-~~~~~~~~~~~~'

,COMMAND.' JV :', UH·

, HDRl J~~MgEk:.

R~AP;E~~IPENTIFIER,.L~BEL(NOWmI5 .iHDR1'·):

,"DA"A.sElNA~E.'(NOW'I~'ACCTR~C'.}:" '

·.~Loe.k"L:~N~T~:,,'(.NOWJ 5:',29'6: 1,':,
RECORD :ATTR1~:UTE··'·.(NOW:,'.I$' . l,:··.'l:
BEGINNING 'OFf EXTENT' (NOW.tS,'01123' r): '
PHYSi~AL·.•·RECOkQ'LENeTH·iNDI cATqrf(Noi.j Is
E~DQFEXTENr (NQW,.•:IS:"4~0@11 J :
REC~Rq/BLOCK.fQRM~r(NOW lSI, '1:
aVHASSl,NDICATOR '(NO~ IS ."'1: . . . , ,
SECURITY]Nr)ICATOR '(NOW 15 ... 1 , ' ) :
WRITE PROTECT INDICATOR ,(NOW IS I
EXCHANGE 'TYPE (NOW .15 'HI ):
~U~TIVOLUM~ INDItATOR (NOW IS .IC' ):
··,YO~VM~,.SEQUENCE·.NUMBER '."'. (NOW IS<'02'),: '
"'CREI!T:ION••DATE"(NOW.IS ,I' ' , I ) :
,·~EgORfJ·~:ENGTHJ~QW.lS .. I;,.,):.;; .........,
OFFSETTO'NEXT'RECORO,SPACE(NOW,IS I ,
EXPIRATlON,DATE (NOVlIS, , '. . '. ,I.):
VERIFY/COPY INDICATOR (NOW IS~. 'I:
DATASET'ORGAN IZATION' (NOW IS . ~.'.': .1,1.:
ENOOF OATA'{NOW IS'01123 1):400G1
SYSTEM CODE•• (NOWJS 'IBMEDXSl.l):
FI tE ACCESS TYPE (NOW lSi I):

o

UV - 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 reports the discrepancy and requires you to reenter the
field.

,"»>".;

,

<,_. ,,'

4-340

SC34-0940

-,;"} .:.,:

~'"

~".:: ..:,,,

,.:":.:" ..,:'.<: ., ,.

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

o

$HXUTI

o

WX - Write H-Exchange Data Set From EDX Data Set
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.
COMMAND

(?): WX

SOURCE EDX DATA SET (NAME,VOLUME):
COPY ENTIRE DATA SET (YIN)? Y
TARGET EXCHANGE DATA SET (NAME,VOLUMEh CUSTFILE,CANTST
CUSTFILE ALLOCATED, SIZE IS 1234 RECORDS

:::~tl~¥;,QFCUSTFfLE.EDX0,03

TO .CUSTFILE,CANTST COMPLETE
TOTAL NUMBER OF ·RECORDS COPIED WAS 12.34

Example 2: Copy a partial EDX data set.
COMMAND

(?): WX

SOORCE.EDX ~ATA SET .·(NAME,VOLUME):
gOPYENnRE:[)AT~~ET(Y IN)? N
'Sl'ARTING~REcqRn,~IJ~BER:H)

COPYJOENO'OFDATAiS'ET(Y!N}?

Y

tAllEiEi,~~~"~~ZSETii(~AME.VP~);•
ST~RT[N:G\ ,R,E:t:ORD ;NUMBE~: ';..• •5..

••.. '.::':'. .....' .•'

';CU~1Eil:;. ~L~qCAT~D~"':SIZ~" 1~:20;gEtoRQS.,'··

o
Chapter 4. Utilities

4-341

$HXUTI

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.

0
'

,

coPY .0f'$EDXL,ASMLIB"FO .·$EDXL.. VOLCAN;COMPL~TE
TOTAt NUMBEROFRECORDS'COPU~D',WAS161

.

o
4-342

SC34-0940

$IMAGE

o

$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,3101, 3151, 3161,
3163, or 3164 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.
Notes:
1. References to the "3lxx image" in this section indicate images created for a

3101, 3151, 3161, 3163, or 3164 terminal.
2. References to the 3101 display terminal operation in this section also indicate
3151, 3161, 3163, or 3164 terminal operation in 3101 terminal emulation mode.

Considerations for Using $IMAGE
$IMAGE contains a 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. You may increase the size of this buffer by increasing the amount of
dynamic storage $IMAGE uses.

C'i

$IMAGE can format 4978, 4979, 4980, and 31xx terminal images, depending on
your requirements. The formatted screen subroutines provide support for the
terminals by selecting the appropriate parameters. With these subroutines, you can
use 4978/4979/4980 screen images for 4978, 4979, 4980, and 31xx terminals.
Displaying a 31xx screen image 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. $IMAGE expands its own FTAB area whenever you
specify a sufficiently large dynamic storage area at load time.
Screen images are interchangeable among terminals using the $IMOPEN formatted
screen subroutine. For a description of the formatted screen subroutines,
$IMDATA, $IMDEFN, $IMOPEN, and $IMPROT, refer to the Language
Programming Guide or the Language Reference.
The system sets end-of-fi1e to indicate if 31xx image information is included with the
4978/4979/4980 format.
Note: If you define screens with EOL/EOF or DEL keys, the system inserts blanks

in the 4978/4979/4980 and 31xx screen images.

o
Chapter 4. Utilities

4-343

$IMAGE

Considerations when Creating Colored Screens
$IMAGE places default attributes in the upper left and lower right corners of a
screen if no data or attributes are already there. These positions, may appear as
black blanks. If you want these positions to be another color, place an attribute
whose background color has been defined as the color you wish in these positions.

o

Attributes appear as solid blanks of the background color. A reverse field, will have
that background color only in its first position. The reverse field itself will appear as
the foreground color. This is because the field is not reversed until after the
attribute.

Additional Considerations
As of Version 5.2, $IMAGE screens are stored in a format that differs from earlier
versions of EDX. The 4978/4979/4980 screen image is stored from the start of the
data set to the EOD. If saved, the 31xx screen image information is saved after
EOD. All data (characters to be displayed on your screen) is stored in the 4978
portion of the data set. The 31xx portion contains the null and attribute characters
saved with your screen, the data streams associated with each attribute for 31xx
terminals, and the locations of all attributes on the screen.
For optimal performance when displaying screens, convert your data sets from the
old to the new format. To do so, read in the screen using $IMAGE, then save it to
disk.

Formatting Screens with $IMAGE
Formatting a screen image on a 4978, 4979, or 4980 terminal consists of defining
protected and unprotected areas. The 31xx terminals, however, use attribute
characters to further define the visual characteristics of protected and unprotected
areas. Attribute characters appear as protected blanks on the display screen. Thus,
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 a 4978, 4979, 4980, 31xx A
description of how to define screen images for these 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/4979/4980 Screen Format
The 4978, 4979, and 4980 terminals use identical screen images. Visualize a screen
format for these terminals as a matrix of characters (usually 24 x 80) 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 the image: its protection status (protected or
unprotected). As a result, you do not need to specify explicit attributes for
characters. Character positions on the screen are defined as follows:

• Protected - positions on the screen where characters 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

4-344

SC34-0940

o

$IMAGE

unprotected fields in PFI mode, you can modify these positions to contain data
values by entering the unprotected field definition mode (PF2).

o

Characters in protected positions are displayed with low intensity; those in
unprotected positions are displayed with high intensity. It may be necessary to
adjust the brightness dials on the front of your terminal to display character
intensities as selected.
For an example of formatting a screen image on a 4978, 4979, or 4980, refer to the
program preparation example in the Language Programming Guide.

3101, 3151, 3161, 3163, and 3164 Screen Formats
Though all attribute characteristics are not available for each terminal, the 3101,
3151, 3161, 3163, and 3164 display terminals use identical screen images. Visualize a
screen format for these terminals as a matrix of characters (usually 24 x 80) that
directly represents the image displayed on the screen. Additionally, the format
consists of attribute characters. Each attribute character used in defining the fields
on the screen may have one or more associated characteristics. The number of
characteristics assigned to each attribute character depends on how it was defined
when created with the ATTR command and which terminal (3101,3151,3161,3163,
or 3164) is used to display the screen image. Fields on the display are defined as
unprotected by placing the null character in those fields when the screen image is
created using the EDIT command. All fields without nulls are protected.
The following chart shows the characteristics available for various display types.

Characteristic

3101

3151

3161

3163

Foreground Color

X

Background ColO!

X
X

X

X

X

X

X

X

X

X

X

X

X

Reverse

X

X

X

X

Numeric

X

X

X

X

X

X

X

X

X

X

Right Justified with
Zero

X

X

X

Right Justified with
Space

X

X

X

X

X

X

X

X

X

Display Mode
Low jHighjNondisplay

X

Underline
X

Blink

Modified Data Tag
(MDT)

Must Enter

X

X

X

Must Fill

c

3164

Fields Only
For Unprotected

Figure

4-14. Device-Dependent Attribute Characteristics

Chapter 4. Utilities

4-345

$IMAGE

A number of the terminal characteristics are mutually exclusive. When mutually
exclusive characteristics are chosen, $IMAGE decides which characteristic to use
based on a set of priorities. The priorities for visible characteristics are as follows:

I Higher Priority

I Lower Priority

Blink

Nonblink (High intensity for
3101 only)

High In tensi ty
Nondisplay

Low Intensity
;

All Others

Reverse

Nonreverse

Underline

N onunderline

Figure

o

4-15. Priorities for Visible Attribute Characteristics

N ot~: References to the 3101 terminal characteristics in these charts also describe
3151, 3161, 3163, and 3164 terminal characteristics when operating in 3101
emulation.
The following table shows the priorities for nonvisible characteristics.
Higher Priority

Lower Priority

Modified Data
Tag (MDT)

Modified Data Not Tagged

Must Enter

Field Does Not Have to be
Modified

Must Fill

Right Justify with Zero, and
Right Justify with Space

Numeric

Alphanumeric

Right Justified
with Spaces

Not Right Justified

Right Justified
with Zero

Right Justify with Spaces

Figure

4-16. Priorities for Nonvisib1e Attribute Characteristics

o
4-346

SC34-0940

$IMAGE

o

Attribute characteristics are defined as follows:
• Foreground color - the color you select for the area of the screen that contains
input fields and message text. You may select black, red, green, yellow, blue,
magenta, cyan, or white. If you specify this attribute characteristic incorrectly,
the system defaults to red.
• Background color - the color you select for the area of the screen that
surrounds the input fields and message text. You may select black, red, green,
yellow, blue, magenta, cyan, or white. If you specify this attribute characteristic
incorrectly, the system defaults to black.
• Display modes High intensity - the characters in a designated field are displayed in a
higher intensity than the rest of the screen.
Low or normal intensity - the characters in a designated field are displayed
with normal intensity.
Nondisplay - the characters in a designated field are not displayed.
• Underline - the characters in a designated field are underlined.
• Blink - the characters in a designated field blink.
• Reverse - the system reverses the foreground and background colors.
• Numeric - you can enter a number (0 - 9), a decimal point (.), or a minus sign
( - ) in. this field. When the cursor is in a numeric field, the word NUMERIC
appears at the bottom of the screen. However, by using the shift key, you can
enter any uppercase character or symbol regardless of the numeric restriction. If
you do not select numeric, the field is alphanumeric and you can enter any
character, whether it is a letter or number.
• Modified data tag (MDT) - during the send operation, this attribute specifies
whether a field was modified by an operator.
• Right justified with space - the characters in a designated field (including space
characters) are shifted right when the cursor moves out of that field. The empty
area to the left of the data is filled with spaces. Application programs must
include calls to both $IMPROT and $IMDATA to use this field. Refer to the
Language Programming Guide or the Language Reference for information on
how to use these subroutines.
• Right justified with zero - the characters in a designated field (including space
characters) are shifted right when the cursor moves out of that field. The empty
area to the left of the data is filled with zeros. Application programs must
include calls to both $IMPROT and $IMDAT A to use this field. Refer to the
Language Programming Guide or the Language Reference for information on
how to use these subroutines.
• Must enter - the characters in a designated field must be modified before you
can perform a send operation while the cursor is positioned in this field. You
can move the cursor out of this field at any time if it is not yet modified.

c

• Must fill - the designated field must be filled with characters other than a null
character before you can move the cursor out of the field or transmit data. The
cursor can be moved in and out of the field as long as the field is not modified.
Application programs must include calls to both $IMPROT and $IMDATA to
use this field. Refer to the Language Programming Guide or the Language
Reference for information on how to use these subroutines.

Chapter 4. Utilities

4-347

$IMAGE

Note: If you do not use attribute characters, 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 (or equivalent, you can define
these areas with other attributes, such as blinking versus nonblinking or
display versus nondisplay.

o

On the 3151, 3161, 3163, and 3164 terminals, if the first position of the screen is
unprotected, unpredictable results will occur when reading the screen. To achieve

static screen independence, ensure that the first character position on the screen is
protected from operator input. The first character should be either an attribute
character or a protected data character on the 3151, 3161, 3163, or 3164, never a
null character. Refer to the Language Programming Guide for additional
information.
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 the 31xx screen image.

()

o
4-348

SC34-0940

$IMAGE

o

Displaying Screens
When you display a screen image designed for? 4978, 4979, or 4980 terminal on a
31xx 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 field on a 4978 display

___

t~' ··_N_A_ME_:_#_#_##_#_<_--_(_5~C_h_a_r_ac_t_e_rs_)_.____________________________________~J
will be displayed on a 31xx as follows:

l___

J

--'_N_AM_E___._##_#_#_#_.-_-_{5_·.__c--.ha_r_a_ct_e_r_s_
) _ _ _ _'--_ _ _ _ _ _ _ _ _ _ _ _ _ _ _

On the 31xx display, the last character (:) in the first protected field and the first
character ( <) in the second protected field are lost. The characters preceding and
following the unprotected field appear as protected blanks and overlay the data
values defined in those protected positions.
Screen images designed for a 31xx that have attribute characters defined can be
displayed on a 4978, 4979, or 4980 terminal. The attribute characters (protected
blanks) are ignored and the fields default to the protected and unprotected areas as
defined.
If you display a complex screen on a 3151, 3161, 3163 or 3164 terminal that
overruns the terminal buffer, question marks appear on the screen. To alleviate this
problem, generate a new systm with PACING=XONjXOFF specified on the
TERMINAL statement and use the EX option of $TERMUT2 to enable
XONjXOFF pacing for the terminal.

c
Chapter 4. Utilities

4-349

$IMAGE

Loading $IMAGE
Load $IMAGE with the $L operator command or option 4.4 of the session
manager.

o

$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 (?).
COMMAND(?):

?

ATTR --DEFINE ATTRIBUTE CHARACTERS
DIMS-- DEFINE SCREEN DIM~NSIONS
EDIT'~ ... EDIT SCREEN FORMAT
FTAB-- DISPLAY FIELD TABLE
HTAB--SET (HORIZONTAL) TABS FOR EDIT
KEYS.,.- DISPLAY USE OF PF KEYS
NULL ,-- DEFINE NUll CHARACTER
PRNT-- PRINT SCREEN IMAGE AND TABLE
. SAVE -.;SAVESCREEN FORMAT(S) IMDATA SET
VTAB-- SET (VERTICAL) TABS FOR EDIT .
TBl -- PRINT THE ATTRIBUTE TABLE
END -- END PROGRAM

(V-"\

COMMAND(?):

After $IMAGE displays the commands, it prompts you again with COMMAND (?).
Then you ca'n 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 DIMS, HTAB, NULL, and VT AB commands
remain in effect until you change them or end the utility.
3. If the message "ATTRIBUTE LOCATION TABLE TOO LARGE" appears
when you enter the EDIT command, you must increase the size of the buffer
containing the 3lxx information. This can be done when you load $IMAGE by
specifying a sufficiently large value for the storage parameter on the $L
command (for example, $L $IMAGE,,6000). If you do not specify this value, it
defaults to 4096. You can also increase the size of the buffer by using the
$DISKUT2 SS command. See "SS - Set Program Storage Parameter" on
page 4-185 for more information.
4. The attribute characters associated with a given screen will be saved along with
that screen on disk. In other words, the attribute characters will be in effect the
next time you edit the screen.

4-350

SC34-0940

0
..

$IMAGE

o

ATTR - Define Attribute Characters
Use the ATTR command to define the characters that represent the attribute bytes
on a 31xx display screen.
Notes:
1. Do not use a character that you want to appear as protected data as an attribute
character. For example, Do not use" =" or ">" as attribute characters if you
want" = = = = >" to appear as protected data on the screen.

2. You must use the DIMS command to create a formatted screen image or the
EDIT command to read a screen from disk before you use the $IMAGE ATTR
command.
3. To define a screen image for a 3101, 3151, 3161, 3163, or 3164 terminal so that
the ATTR command may be used to specify attribute bytes, the dimensions of
the screen must be 24 x 80.
4. When creating screen images for more than one type of terminal, select attribute
characters that are represented on all keyboards and standard on all terminals.

C\
,

)

o
Chapter 4. Utilities

4-351

$IMAGE

In the example below, the default attribute character is changed from @ to #, and
the % attribute character is defined using all of the default characteristics displayed
by $IMAGE. Return to command mode by pressing the enter key after the attribute
character table has been displayed and again when prompted for the attribute
character to be defined.

0_,

COMMAND (?): ATTR

THE DEFAULT CHARACTER NOW IS -:@
DO YOU WISH TO CHANGE IT (Y /N)? Y
ENTER DEFAULT CHARACTER:

#

ENTER ATTRIBUTE CHARACTER TO BE DEFINED: %
ATTRIBUTE CHARACTER
(BLACK/BLUE/GREEN/CYAN/RED/MAGENTA/YELLOW/WHITE)
FOREGROUND COLOR
RED.
BACKGROUND COLOR
BLACK
DISPLAY MODE (LOW/HIGH/NON)

HIGH

UNDERLINE (Y/N)

N
N
N
N
N
N
N
N
N
N

BLINK (Y/N)

REVERSE (Y/Nf
NUMERIC (Y /N)
MODIFIED DATA TAG (Y /N)
RIGHT JUSTIFIED WITH ZERO (YIN)
RIGHT JUSTIFIED WITH SPACE (YIN)
MUST ENTER (Y/N)
MUST FI LL(Y /N)
REMOVE ATTRIBUTE (Y/N)

ENTER ATTRIBUTE CHARACTER TO BE DEFINED:
COMMAND (?):

o
4-352

SC34-0940

$IMAGE

o

DIMS - 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:

DIMS 10 20
DIMS 24 80

(10 20-character lines)
(full screen image)

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 for a 3lxx terminal so that the ATTR command
may be used to specify attributes, 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.
Refer to "Entering Edit Verification Mode" on page 4-363 and to pages immediately
following that section for additional information on the use of the EDIT command.
Notes:
1. If you edit a screen that was saved prior to Version 5.2, the 3101 (or equivalent)
data stream will be converted to the new format automatically. A set of default
attribute characters will be used to correspond to the attributes used in the 3101
data stream. If any of these default characters are used as data in your screen,
you will be notified of the possible conflict. You may then issue the ATTR
command to change the attribute characters before entering edit verification
mode and defining protected fields. The null character will be forced to become
a period (.) in conversion.
2. The volume, if unspecified, defaults to the IPL volume. If you do not specify a
data set name, the program displays the currently defined image.
Examples

EOIT

(EDTLTMAGEBfroin

volum!: ;'EDX0(2),

c
Chapter 4. Utilities

4-353

$IMAGE

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 prompt message
appears:

o

Respond Y to save the image, N if you do not want to save it.

FTAB - Display Field Table
Use the FTAB command to display or print a table, created by $IMAGE,
containing the relative field number, 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

(prints Qn. $SYSPRTR)
(~; splays?" tel"miria'l
. the ,cQmfuand) .
.
(print,~ . . ond·evtc~.l~beled..

a$

·the.,aJt~rn.ate lQggJng·qevicef

If the device you specify is not defined, the table is displayed on the terminal that
issued the FTAB command.

o

The following is an example of a table displayed by FTAB in which the character @
was defined as an attribute character using the ATTR command:

o
4-354

SC34-0940

$IMAGE

o

If a field wraps from one line to the next it will appear in FT AB as two fields, with

no attribute character in the attribute column of the second field. The following is
an example of a table displayed by FT AB in which you have defined a field starting
at row 6, column 75, for 10 positions, with the attribute character #. Since the field
wraps from one line to the next, the attribute character # is not displayed in the
attribute column of field 2.

FIELD ROW COLUMN LENGTH ATTRIBUTE
1

6

2

7

75

e

5

11

5

If you define a field starting in column 0, the attribute character is displayed in the

table as shown in the following example. In this example, a table is displayed by
FTAB in which you have defined a field starting at row 7, column 0, for 5 positions,
with tlie attribute character #.

FIELD ROW COLUMN LENGTH ATTRIBUTE
1

7

e

5

11

Only a screen image formatted with dimensions equal to 24 x 80 will contain the
attribute characters defined for each field.

HTAB - Set (Horizontal) Tabs for Edit
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.

o
Chapter 4. Utilities

4-355

$IMAGE

KEYS - Display Use of PF Keys
Use the KEYS command to list the functions of the PF I, PF2, and PF3 keys
immediately after you enter the edit mode.

o

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 fields
or data fields in EDIT mode.

NULL - Define Null Character
Use the NULL command to define a character that is interpreted as the null
character during the editing of an 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 an operator. For example:

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:

If you define a null character that is already in use in the default attribute table, the
following message is issued:

o
4-356

SC34-0940

$IMAGE

o

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 CHARACTER NOT CHANGED
Notes:

1. If you are modifying an existing screen image, the null character that was in use
when the screen was saved will be used.
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.

PRNT - Print Screen Images and Tables

C

,I

./

Use the PRNT command to display or print the screen image of the last screen
created or edited as it appears when in PF1 mode (protected field definition mode).
The screen image is printed on the device labeled $SYSPRTR unless you specify
another device. For example:

If the device you specify is not defined, 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 defined null character is
displayed and, if the dimensions of the screen equal 24 x 80, the defined attribute
characters are also displayed.

c
Chapter 4. Utilities

4-357

$IMAGE

Sample PRNT Displays: The dimensions of the following screen image do not equal
24 x 80; therefore, defined attribute characters are not displayed.

DIMS

12 40

o

o 5 10 15 20 25 30 35
+---+----+----+----+----+----+----+---0+$IMAGE SUBSCREEN
+0
UNPROTECTED FIELDS WITHOUT DEFAULT DATA
FI ELDI .... FI ELD2 ........ FI ELD3 .
5+UNPROTECTED FIELDS WITH DEFAULT DATA:
FIELD4 ... FIELD5 ........ FIELD6 .

+5

10+
+10
ITHIS SCREEN IS 12 BY 20 IN SIZE
I
+---+----+----+----+----+----+----+----+
NULL CHARACTER IS

I. I

The dimensions of the following display screen image equal 24 x 80; therefore,
PRNT displays the defined attribute characters used in formatting the screen image
followed by the attribute table.

o

o
4-358

SC34-0940

$IMAGE

o

DIMS:

24

80

o

10 15 20 25 30 35 40 45 50 55 60 65 70 75
5
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+---0+@SMM0209: SESSION MANAGER $UPDATE PARAMETER INPUT MENU------------------------+0
ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN

+5

5+
@OBJECT INPUT
10+

(NAME,VOLUME) ===========> % @..........•.. @

II
I

@PROGRAM OUTPUT (NAME,VOLUME ===========> % @............. @

+10

@REPLACE (ENTER YES IF PROGRAM EXISTS) => %@... @
+15

15+
@LISTING (TERMINAL NAME / *) ===========> %@ ....... @
# NOTE:

20+

C"i

THE OBJECT INPUT < PROGRAM OUTPUT AND LISTING TERMINAL NAME
ARE REQUIRED PARAMETERS AND MUST BE ENTERED @.@
AN 1*1 MAY BE USED TO SPECIFY THIS TERMINAL AS THE LISTING
TERMINAL

+20

+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+---10 15 20 25 30 35 40 45 50 55 60 65 70 75
0
5
NULL CHARACTER IS "."
COLOR SELECTION FOR 3164 ONLY.
BLACK-0, BLUE-1, GREEN-2, CYAN-3, RED-4, MAGENTA-5, YELLOW-6, WHITE-7
HIGH INTENSITY-H, LOW INTENSITY-L, NONDISPLAY-N
THE FIRST ATTRIBUTE LISTED IS THE DEFAULT ATTRIBUTE.
ATTRIBUTE CHARACTER
*FOREGROUND COLOR
*BACKGROUND COLOR
*DISPLAY MODE
**UNDERLINE
BLINK
REVERSE
**NUMERIC
MODIFIED DATA TAG
***RIGHT JUSTIFIED WITH ZERO :
***RIGHT JUSTIFIED WITH SPACE:
***MUST ENTER
***MUST FI LL

C

@
4
0
H
N
N
N
N
N
N
N
N
N

&

1
6
H
N
N

Y
N
Y
N
N
Y
N

6
0
L
Y
Y
N
N
N
N
N
N
N

# $

!k0

5
1
H
N

7
3
L
N
N
N
N
Y
N
N
N
Y

N

N
Y
N
Y
N
N
N

3
2
N
N
N
N
N
N
N
Y
N
N

*
5
0
H
Y
Y
Y
Y
Y
N
N
Y
Y

(

)

2
0
L
N
N
N
N
N
N
N
N
N

3
0
H
N
N
N
N
N
N
N
N
N

4
0
L
N
N
N
N
N
N
N
N
N

+
0
1
N
N
N
N
N
N
N
N
N
N

0
2
H
N
N
N
N
N
N
N
N
N

0
0
3
L
N
N
N
N
N
N
N
N
N

Z
0
4
N
N

[

]

0
5
4
N

0
6
L
N

N N N

N
N
N
N
N
N
N

N
N
N
N
N
N
N

N
N
N
N
N
N
N

**UNPROTECTED 3151, 3161, 3163, 3164 ONLY
***UNPROTECTED 3163, 3164 ONLY
*DEFAULT PROTECTED = LOW FOREGROUND COLOR-BLUE, BACKGROUND COLOR-BLACK
*DEFAULT UNPROTECTED = HIGH, FOREGROUND COLOR-RED, BACKGROUND COLOR-BLACK

Chapter 4. Utilities

4-359

$IMAGE

SAVE - Save Screen Format(s) in Data Set
Use the SAVE command to save the screen image on disk, or diskette.

()

If you do not specify a data set name with the SAVE command, you are issued a
prompt asking you if you wish to save the format on the previously specified data
set. The following examples show how you could save the data set LEESCRN on
the volume SCRNS.
Example: Save with a 4978/4979/4980 Format

SHOlRD "THE. j~X)( )NF.~RM~TIO~iB~';$Ay,~D:(Vj~};?,
,', ~AV.FFO;RMATON '" LEESC~N,SCRNSJY IN}'?: "'y ,

If you respond with an N, you are prompted for a new format data set name as
follows:

(0
-"""
'

I

Note: If the data set you specified does not exist, it is allocated automatically. If
the specified data set exists, it is deleted and a new one allocated.
If you respond Y, only the 4978/4979/4980 screen image will be saved.

When the image has been saved, the following messages appear, with the number of
256-byte records indicated in parentheses.

The formatting information and text that define the image are stored in the data set
in a special packed format. For additional information on this packed format, refer
to the Language Programming Guide.

4-360

SC34-0940

o

$IMAGE

o

Example: Save with a 31xx Format

COMMAND (?):

SAVE

SHOULD THE 31XX INFORMATION BE SAVED (YIN)? Y
SAVE FORMAT ON LEESCRN.SCRNS (YIN)? Y

If you respond with an N, you are prompted for a new format data set name as
follows:

l~E_NT_E_R_F_O_RM_A_T_D_A_TA__SE_T__NA_M_E_:____________________________________~j
Note: If the data set you specified does not exist, it is allocated automatically. If
the specified data set exists, it is deleted and a new one is allocated.

If you respond Y, the 4978/4979/4980 screen image will be saved along with the 31xx
information.

When the image has been sayed, the following messages appear, with the number of
256-byte recor~s indicated in parentheses.

THE FORMAT(S) WILL BE SAVED ON DATA SET data set
SAVED (n RECORD(S) )
THE 4978 FORMAT BUFFER REQUIRES
BUFFER REQUIRES

THE'31XXFO~MAT

nnn BYTES
nnn BYTES

The formatting information and text that define the image are stored in the data set
in a special packed format. For additional information on this packed format, refer
to the Language Programming Guide.
Note: Any attributes added since the last time you edited the protected data will not
be saved on disk. If you want the attribute characters to be saved, you must
go into protected field definition mode (EDIT command, then press PFl)
before saving the screen. The attribute characters do not have to be used on
the screen.

c
Chapter 4. Utilities

4-361

$IMAGE

TBl - Print all Attribute Tables
Use the TBL command to print the attribute table. Use this command after you
have defined the attributes using the ATTR command. See "ATTR - Define
Attribute Characters" on page 4-351 for more information.

o

Example: Print the attribute table.

/>':y..".,

~QLPR';S:;kE9!r~~/;tOA,::jr?:~:"#N~y<2( ,:'...,. . ::i......· ,':;:'.' '., .::.: .'. ' ...:.... ; ' .

§

."

•. , . : : .•:'"

• ':

....,........ ....

,

BLJ\:CK -0;' . . BttiEfl;j, GREEN.;'2",:::'.CYAN+;~ ;·'R~D~~:·i';MAGENTJ\f';5.iYEL.L:OW~f5,.'WH~TE';7'

HI;GliiN:r:~N:~IIY:T:H;.',lP~:INT~~~:I,Tt~~,~,;iNQNql~~~A~hN,:' "." ,:" ' ,

,

,tHE' ': FI R'ST WttR IJ;lUT~' L1 STED;':lS;,rJ:lE::,DEFAU~1 AITRIBUTE.
"•.•i1tfRl~UTE,:cHP;RACfE:R .• '

*FnREGROUND.: COLOR' '
*BACKGROMNOCOLQR<.
, *:OISPLAY.:.···MODE
*,*ONDt:RLINI

BLINK
REVERSE

••' ': Ji';')~'~~:
:4:', '6 '5

::0 ;01

:,H" L' N',

'

,rNNN
:, N Y N
: N N, N
:,N

N; Y

,:',N Y',N

~**RIGHTiJllSTI'~lEhwlrH'iERQ: .,::. ·,NiN' Y
***RlGIH:JUSUFIED.VJlTHSPACE: N N N
***MlJSf· £';nEJf

***MUSTF'ILI.:.

N·'.N ,N
N ::N. N

:**UNPROtt(;TEQ·.:,j1.61~ ·j163;;31.64:dNl~Y

:***Ii1NPROTECTEO' 3i63'> 3164 ONI.V,':

',: .

,...... ..•. . '..

.:

,*riEFAlJLt:BR~TECfED,#;,Iow,,:~O~~GROUND .tOLOR.. BLUE;:BACKGROtJND'COLOR ~aLAcK
*DEF~ULT;UNPROTECtE~'···";.'Hl~H:;·F~.R:E: $L $IMAGE

Command mode

ATTR
DIMS
FTAB
HTAB
KEYS
PRNT
SAVE
VTAB

END
$IMAGE

Edit verification mode

A

Press
PF2

Press
PF1

- Indicates to $IMAGE
definition of
protected data
- PF1 = horizontal
tab key
- PF2 = vertical
tab key
- Enter all dataprotected areas with
data values and
unprotected areas
with null characters
Press
Enter

,.

,. -A

- Displays screen as
defined for verification
Edit mode taken out of
protected data
defin ition mode

Press
PF3

Indicates to $IMAGE
mod ification of
unprotected data
- PF1 = horizontal
tab key
PF2 = vertical
tab key
- Change null
characters to
unprotected
data values
-

Press
Enter

-

--'"
r

-

Returns $IMAGE
to command mode

A

Displays screen image as
defined with unprotected
data areas highlighted
for verification
Edit mode taken out of
unprotected data
definition mode
BG1214

Figure

4-17. $IMAGE - Command and Edit Modes

o
Chapter 4. Utilities

4-365

$IMAGE

Defining Protected Fields
When protected and unprotected text is to appear on a screen created by $IMAGE,
enter the protected data first. Press PFI to signal the utility that protected fields are
to be defined.

o

'Xfhen you define the protected areas of a screen image, the characters you enter,
other than the defined null character and attribute characters, are protected data.
All areas of the screen that do not contain the null character will be protected when
the screen is completed. The unprotected areas of the screen (indicated with the
defined null character) should then be specified. You can modify these unprotected
areas later to contain data values.
Once all areas (protected and unprotected) on the screen have been defined, press the
ENTER key to take the utility out of protected field definition mode. The screen as
defined is displayed so you can verify if it is correct. PFI and PF2 again have the
meanings printed out by the KEYS command and no longer function as tab keys.

Entering Unprotected Output Fields
To m09ify unprotected areas on the image, press PF2. Pressing PF2 allows you to
modify the unprotected fields and to display the screen showing both the protected
areas and the null characters representing the unprotected areas. Now you can fill in
the unprotected fields with default data values. You can leave other null fields alone
since they will be used as input fields to provide information to your application
program.
After you have modified the unprotected fields, press the ENTER key to take the
utility out of unprotected field definition mode. The screen as defined is displayed
so you can verify if it is correct. PFI and PF2 again have the meanings printed out
by the KEYS command and no longer function as tab keys. If you want to make
any changes to the screen, press PF 1 to allow protected field entry or PF2 to allow
unprotected field entry.

o

Saving the Image Created
If the image is correct, press PF3 to return to command mode. The screen is
blanked and you are prompted for a command. Enter the SAVE command,
followed by the name of the data set. The image will be saved and you can end the
$IMAGE utility with the END command.
Note: If you re-edit an existing screen image and change the size of the unprotected
field(s), you must also re-edit the unprotected data to account for the change.

c
4-366

SC34-0940

$INITDSK

o

$INITDSK - Initialize Direct Access Device, Volume Control
$INITDSK performs initialization operations for direct-access storage devices.
$INITDSK performs the following functions:
• Initializing a device by writing:
the volume directory on a disk device or a multivolume diskette, with the
option to specifying the record number at which the system will write the
directory
the owner identification on a diskette
the volume label on a single-volume diskette
a data set directory in a disk or diskette volume
IPL text on a disk or diskette device.
• Allocating:
a volume on a disk device or multiple-volume diskette
a volume under the fixed heads of a disk device.
• Deleting a volume on a disk device or multiple volume diskette
• Listing the volume(s) on a disk or diskette device
• Spliting a disk or multiple volume diskette volume into two volumes
• Verifying a volume by reading all or part of a disk or diskette volume and listing
any I/O errors
• Verifying a device by reading all or part of a disk or diskette and listing any I/O
errors
• Renaming a volume on a disk or multivolume diskette device
• Renaming a diskette VaLl label and owner id.

Loading $INITDSK
Load $INITDSK with the $L operator command, option 3.7 of the session manager,
or through the $DASDI utility. (During diskette initialization for Event Driven
Executive format, $DASDI gives you the option of going directly into $INITDSK
operation without having to end $DASDI and issuing the $L command for
$INITDSK. ) You must vary diskette devices online before you load $INITDSK.

o
Chapter 4. Utilities

4-367

$INITDSK

0

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

(COMMAND (1):1

, .. .

"~

10 - INITIALIZE DEVICE
AV -ALLOCATE VOLUME
,
AF-, ALLOCATE 'FIXED HEAD VOLUME
SV - SPLIT VOLUME
IV - INITIALIZE VOLUME
II - INITIALIZE IPL TEXT
VD - VERIF'Y DEVICE
VV - VERIFY VOLUME "
LP .;. LIST PERFORMANCE VOLUMES
LV - LIST VOLUMES... LV DEVADDRPRTNAME
LAV- LIST ALL VOLUMES ... LAV PRTNAME
DV -DELETE VOLUMES
RV - RENAME VOLUMES
RD - RENAME DISKETTE VOLI/OWNERID
WV - SET WRITE VERIFY
WN - CLEAR WRITE VERIFY
EN - END PROGRAM
COMMAND (?):

After $INITDSK displays the commands, it prompts you again with COMMAND
(?). Then you can respond with the command of your choice (for example, SV).
Note: When you specify a volume for the SV, IV, and VV commands, you must
make the volume name unique. If $INITDSK finds duplicate names, it uses
the first one it finds.

o

Each command and its explanation appears in alphabetical order on the following
pages.

AF - Allocate Fixed-Head Volume
Use the AF command to allocate the fixed-head area of a disk as a separate volume.
Enter information about the volume in the volume directory for the device.
You cannot use AF for diskette devices.
Example: Allocate a fixed-head volume.

COMMAND. (?): .AF
DEVICE ADDRESS: 48
VOLUME NAME: FHVOL
FHVOL ALLOCATED
COMMAND {.?):

o
4-368

SC34-0940

$INITDSK

o

AV - Allocate Volume
Use the AV command to allocate a volume on a disk or multivolume diskette device.
AV allocates one volume at a time; for multiple volumes, you must use AV
repeatedly for each volume you allocate. $INITDSK prompts you for the following
information:
• The address (in hexadecimal) of the device you want allocated.
• The name (1- 6 characters) of the volume you want allocated.
• The number (in decimal) of the records within the volume.
A volume can contain from three records to the maximum number of records on a
single device. Enter information about the volume in the volume directory for the
device. In addition, A V gives you the option of initializing (writing) a data set
directory for the volume you are allocating. You must have a data set directory
before you can allocate individual data sets.
Once you allocate a volume, you may want to:
1. Initialize (IV) the volume just allocated.
2. Set (WV) the write verify function on.
3. Copy the current system nucleus to the volume just allocated.
4. Write (II) IPL text to point to the system nucleus.

C',;
"

The AV command prompts you for these steps. If you do not want to perform any
of these functions, respond N to step 1. You can also perform these functions by
using the IV, WV, and II commands individually. For an explanation of each step,
see the individual command.
Example 1: Allocate and initialize a disk volume.

COMMAND, (?):

c
Chapter 4. Utilities

4-369

$INITDSK

Example 2: Allocate and initialize a disk volume, set write verify on, copy the
system nucleus, and write the IPL text to point to the system nucleus copied to the
volume.

0. .

.• .• .• J

r:COM~AND'(?l;AV "
PEVICE.ADDRESS: 48
VOLUME: '. .EDX992
SIZE IN RECOROS{ 59999
EDX002 ALLoCATED
INIlIALIZETHE VOLUME JOSr.ALLOCATED (YIN)? Y
MAXIMUM NUMBER OF DATA SETS: .19
DO YOU WANT WRITE ;VERI'FYFOR·. THIS' VOLUME' (YIN) ? .' Y
ALLOCATL$EDXNUC. (YIN)?> Y
,
VOLUME INITIALIZED .
INITIALIZE IPL TEXT (YIN)? Y
IPL TEXT WRITTEN
COMMAND (7):

Example 3: Allocate and initialize a diskette volume.

COMMAND· (1): AV
DEVICE ADDRESS: e2
VOLUME: MYVOL
·S IZE I NRECOR[}S : see
MYVOL ALLOCATED
INITIALIZE THE VOLUME JUST ALLOCATED (YIN)? Y
MAXIMUM NUMBER OF DATA SETS: Ie
DO YOU WANT WRITE VERIFY .FOR THIS VOLUME (Y/N)?N
ALLOCATE$EDXNUC (YIN)? N
VOLUME INITlALIZED

o

COMMAND (1):

DV - Delete Volumes
Use the DV command to delete a volume. Then you can reallocate the volume with
the AV or AF commands. When you delete a volume, you can no longer access the
data within that volume. $INITDSK prompts you for the address and name of the
volume you want deleted.
Example: Delete a volume.

COMMAND {?J: DV
ApDRESS.: 93
V9LtJt-1E:ED~ee?:. '...

.

. ·E~x~e2pELETt: (Y/N}? Y;
.EOX(:),0?·pEL(fECl.·~· .

o
4-370

SC34-0940

$INITDSK

o

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

l

COMMAND: EN

$INITDSKENDED AT 00:06:59

10 - 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.
ID also writes a volume label and owner identifier on a diskette. The volume label
must be 1- 6 characters; the identification must be 1 -14 characters.
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.
3.
4.
5.

Initialize the disk or diskette volume(s).
Set write verify on.
Copy the current system nucleus.
Write IPL text on a disk or diskette volume.

The ID command prompts you for all of the preceeding 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 loading the AF, AV, II, IV, or WV commands
individually.

o
Chapter 4. Utilities

4-371

$INITDSK

Example 1: Initialize a disk. $INITDSK prompts you for the information required
to initialize a disk volume.

o

o

Figure

4-18 (Part 1 of 2). Initialize a Disk

o
4-372

SC34-0940

$INITDSK

o

(Do you want to initialize the volume?)

INITIALIZE THE VOLUME JUST ALLOCATED (YIN)? Y
MAXIMUM NUMBER OF DATASETS: 59
(Do you want to set wri te verify on?)

DO YOU WANT TO WRITE VERIFY FOR THIS VOLUME (YIN)? N
(Do you want to allocate space for a system nucleus
on this volume?)

ALlOCATE$EDXNUC (YIN)? N
VOLUME INITIALIZED

ALLOCATE ANOTHER VOLUME (YIN)? Y
VOLUME: VOLl
SIZE IN RECogDS:leee
VOll. '., All~lCATED
IN.ITlALIZE}HE VOLUM;JUSFALlOCAJED (YIN)? Y
MA.XIMUM~:U~BE~.9fDATt\ .'S~~S:

199

.

.... " ...'

.

.....•....

D(r;YOUWANr~WRIT~VERI FY.f.OR JHI S.' VOtUME (YIN)? .
;~kL,qc~f~:;~E~XN~~~'~(;Y/Nf?'N' .'.
·YO.LUME :l~ITrALIZEp .
.'

C"')
I'

ALl.,OCATEANOTHERVOLUME (YIN)?
. VOLUME: VOL2
~li~;·IN~ECO~DS:.,· 2eeee
y~t2;·::.:.A~~O:t~T~[;);:,: , ' C . ,

Y

....

•. :INiTtAL,IZF··~·WOLQME~J.t!SlA~.LOC.At~D.·'.(Y /.N)?

~~~·Yl1~;W~r
'~; l!A:~;~~i~::Vllt;OME'
., .
.....
YN~,?·:.··Y·;.:

Figure

4-18 (Part 2 of 2). Initialize a Disk

c
Chapter 4. Utilities

4-373

$INITDSK

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,
thlle system lissues a series 0Iff automatic P~o.n:Pl:s unhtil dY?Uk respond N tlo. the1
a ocate-vo ume prompt.
you d 0 not ImtIa Ize t e IS ette as a mu tlvo ume
diskette, the series of automatic prompts occurs only once for the diskette you are
ini tializing.

0

(00 you want to initialize the volume?)

lNITIALIZE tHE VOLUME .' (YIN)? Y
MAXIMUM NUMBER OF DATASEiS': 20a

00 yOU WANT WRITEVEIUPV FOR THIS VOLUME (Y)N)? N
, (Do:yOU want to

a. 11 ocate space fora system:nucl eus

qn this volume?)
Al.LOCATE . ' $EDXNUC(Y/N)? Y

o

VOLUME INITIALIZED
(Do you want towrife IPLtext on,the volume?)'

Figure 4-19. Initialize a Diskette

o
4-374

SC34-0940

$INITDSK

Example 3: Initialize a multivolume diskette.

COMMAND (?): 1D
DEVICE ADDRESS: e2
INITIALIZE DEVICE MAY DESTROY ALL DATA
CONTINUE (YIN)? Y
INITIALIZE DISKETTE AS MULTIVOLUME TYPE (YIN)? Y
NEW VOLUME LABEL: EDxees
ENTER OWNER IDENTIFICATION: DEPT Ale
MULTIVOLUME TYPE DISKETTE INITIALIZED
($INITDSK repeats the prompts for a
multivolume diskette until you respond
N to the ALLOCATE A VOLUME? prompt.)
ALLOCATE A VOLUME (YIN)? Y
VOLUME: VOLl
SIZE IN RECORDS: lee
VOLl
ALLOCATED
INITIALIZE THE VOLUME JUST ALLOCATED (YIN)? Y
MAXIMUM NUMBER OF DATA SETS: 6
DO YOU WANT WRITE VERIFY FOR THIS VOLUME (YIN)? N
VOLUME INITIALIZED
ALLOCATE ANOTHER VOLUME (YIN)? Y
VOLUME: VOL2
SIZE IN RECORDS: 2ee
VOL2
ALLOCATED
INITIALIZE THE VOLUME JUST ALLOCATED (YIN)? Y
MAXIMUM NUMBER OF DATA SETS: 6
DO YOU WANT WRITE VERIFY FOR THIS VOLUME (X/N)l N.
VOLUME INITIALIZED
ALLOCATE ANOTHER VOLUME (YIN)? Y
VOLUME: VOL3
SIZE IN RECORDS! 4ee
VOL3
ALLOCATED
INITIALIZE THE VOLUME JUST ALLOCATED (Y/N)?Y
MAXIMUM NUMBER OF DATA SETS: 12
DO YOU WANT WRITE VERIFY FOR THIS VOLUME (YIN)? N
VOLUME INITIALIZED
ALLOCATE ANOTHER VOLUME (YIN)? N
e

e

COMMAND (?) :
Figure

4-20. Initialize a Multivolume Diskette

o
Chapter 4. Utilities

4-375

$INITDSK

II - Initialize IPL Text
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. You 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:

o

• 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.

,'" ..<~': ::.: .,."<: .'.:'

: .,~., .:' . .

<. :";"

'tb~~A~h':n): '

Example 2: Initialize IPL text; specify only last character of nucleus name (T).

'COMMANflk:rrf':;II"·:·:·" '
NUFLt:U?,i.·. 'I,:'~:,'/"
VOt'PM~:,EJ)~992/' :
:.;IP;b~ . i::E~]:'WRl;f;1'E4'i ,.

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.

4-376

SC34-0940

o

$INITDSK

IV - Initialize Volume

o

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- 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 IV to a diskette on a 4964 device, you should open then
close the door of the 4964.
Example: Initialize a volume containing $EDXNUC.

COMMAND (?): IV
VOLUME: EDXee2
MAXIMUM NUMBER OF DATA SETS: see
ALLOCATE $EDXNUC? Y
VOLUME INITIALIZED
INITIALIZE I~L TEXT? Y
IPL TEXT INITIALIZED
COMMAND (?):

LAV - List All Volumes
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.
EDX 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.

c

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.

Chapter 4. Utilities

4-377

$INITDSK

Example: List all volumes.

Note: FIRST REC is the number of the record containing the first record of the

volume, relative to the directory.

o

OEVICESIZE(RECOROS):
01 RECTORY REC. NO.:
DIRECTORY . SIZE (RECS):
UNUSED QIRECTORY BYTE$:
NO. VO~UMEENTRI ES:
MAX ~... VOLUME . ENTRIES:
l="REE SpACE ENTRIES:
DEVICE HAS .• NO· FIXEllHEADS

o
DEVICE ADDRESS: 0002
SINGLE-VOLUME DISKETTE
EDX001
2220 RECORDS
GOMMANO (?) : EN

o
4-378

SC34-0940

$INITDSK

o

LP - List Performance Volumes
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.

COMMAND (?):
VOLNAME

LP 03

DEVICE
ADDRESS

VDE
ADDRESS

0003
0003

076A
0798

EDX002
ASMLIB
COMMAND (?):

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.
EDX 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).
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.

c
Chapter 4. Utilities

4-379

$INITDSK

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.

( COMMAND'(?);lV· . •.
DEVICE ADDRESS: 03
DEVICE ADDRESS:

eee3

VOLUME

FIRST REC.

SUPLIB.
ASMUB
EDXe02
FHVOL

121
2621
12621
1

SIZE
25013 **PERF. VOL**
10131313 **PERF.VOL**
233813 **IPL=$EDXNUC *'Ic **PERF. VOL**
4813 **FHVOL** **PERF. VOL** '

LIST DIRECTORY INFO? Y
DEVICE SIZE(RECORDS):
DIRECTORY REC. NO.:
DIRECTORY SIZE(RECS):
UNUSED DIRECTORY BYTES:
NO. VOLUME ENTRIES:
MAX. VOLUME ENTRIES:
FREE SPACE ENTRIES:
DEVICE HAS fIXED HEADS

362413
241
1213
313564
4
958

e

FIXED HEAD-VOLUME IS ALLOCATED
COMMAND (?): ·EN

o
4-380

SC34-0940

$INITDSK

o

Example 2: List volumes on disk at address 48.

This list volume example corresponds to Figure 4-18 on page 4-372 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.

COMMAND (?): LV
DEVICE ADDRESS: 48
DEVICE ADDRESS: 0048
VOLUME

FIRST REC.

FHVl49
VOLl
VOl2

SIZE
512 **FH VOL**
10000 WRITE VERIFY
20000 **IPL=$EDXNUC **

1

121
10121

lIST DIRECTORY INFO? Y
DEVICE SIZE(RECORDS):
DIRECTORY REC. NO.:
DIRECTORY SIZE(RECS):
UNUSED DIRECTORY BYTES:
NO. VOLUME ENTRIES:
MAX. VOLUME ENTRIES:
FREE SPACE ENTRIES:
DEVICE HAS FIXED HEADS

229120
50049
120
30584
3

958
1

FIXED-HEAD VOLUME IS ALLOCATED
LIST FREE SPACE CHAIN? Y
FIRST REC.
30121

SIZE
148952

COMMAND (?): EN

o
Chapter 4. Utilities

4-381

$INITDSK

RD - Rename Diskette VOL1/0WNERID
Use the RD command to rename a volume label (VOLI) 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 caHed 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.

o

$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.

COMMAND {?):RD 2
, CURRENT VOLUME LABEL: MYVOL
ENTER VOLUME LABEL: NEWVOL
CURRENT OWNER 10: MYDSKT
ENTER OWNER 10: JWW
COMMAND (?):

If you enter the address of a device other than a diskette, $INITDSK issues the
following message:

tONL Y," . VA,L,lD F,OR, ,A,', 0I SKETT,E
COMMAND, '(?):

o
•iJ

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.

COMMAND (1):' RV
DEV I CLAODRESS: 48
VOLUME: SRCLIB
NEW~AMr: ,.SOURCE
RENAME COMPLE,TED

4-382

SC34-0940

o

$INITDSK

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 records) 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 $DISKUTl.
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.

\
C
)

COMMAND (?): SV
VOLUME: EDX992
NEW· VOLUME: EDX993
SIZE IN RECORDS: 19999
EDX002 SPLIT
EDX003 ALLOCATED
COMMAND· (?):

Example 2: Split a volume without sufficient free space at the end of the volume.

c
Chapter 4. Utilities

4-383

$INITDSK

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.

o

Example: Verify a device.

COM~AND (?): VD
DEVICE ADDRESS: 48
229632 RECORDS VERIFIED

COMMAND (?):

VV - Verify Voiume
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.
$INITDSK prompts you for the following information:
• The name of the volume you want verified

o

• 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.
Example 1: Verify the first 500 records on a volume.

COMMAND (?): VV
VOLUME: EDXaa2
VERIFY ENTIRE VOLUME? Y
500 RECORDS VERI FI ED
l_C_OM_M_AN_D_(_?_):___________

~______________________________~J

o
4-384

SC34-0940

$INITDSK

o

Example 2: Verify a volume with defective records. The system issues a message for
each defective record it locates.

COMMAND (?): .VV
VOLUME: EDX002
VERIFY ENTIRE VOLUME? N
FIRST RECORD: 1
NUMBER OF RECORDS: 500
ERROR AT RECORD 10~ DISK I/O RETURN CODE= 2
ERROR AT RECORD 16~ DISK I/O RETURN CODE= 5
500 RECORDS VERIFIED
COMMAND (?):

WN - Clear Write Verify
Use the WN command to remove the write verify set for a specific volume. When
you clear write verify, EDX does not verify that the data written is correct.
Example: Clear write verify.

COMMAND: WN
VOLUME: MYVOL

C.
,

'~i

COMMAND:

c/

WV - Set Write Verify
Use the WV command to set the write verify on for a specific volume. By setting
write verify, EDX 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.

COMMAND: WV
VOLUME: MYVOl
COMMAND:

c
Chapter 4. Utilities

4-385

$INSTAL

$INSTAL - Program Product Installation Utility
Use $INSTAL to install new versions, update existing versions of a program product
or to list the current level of any program product installed by $INSTAL.
$INSTAL will install the base release and create a history file for the program
product. The history file is updated each time a change is installed for that product.
Refer to the Installation and System Generation Guide for more information on the
$INSTAL utility.

o

Notes:

1. Data set extents are not supported as either source or target data sets.
2. Disk space must be available for a history file for each product to be supported.
3. System product codes "OOOO-xxx" and "9999-xxx" are reserved for your use (xxx
is any combination of alphanumeric characters).
4. You can use update ID numbers beginning with any special character. Special
characters are all characters other than 0 - 9 and A - Z.
If an existing system is being updated, modules are replaced with updated versions.
If a PTP is being installed, a warning is issued to reinstall any updates currently on
the system if the updates are not included in the PTF. A list of all updates currently
installed is sent to the designated terminal or printer.

Loading $INSTAL Using the $L Command
Load $INSTAL using the $L command, option 3.12 of the session manager, or the
LOAD statement in a program.

o

Loading $INSTAL Using the LOAD Statement
If $INST AL is loaded by another program using the LOAD statement, a parameter
list must be passed. If the "P ART =" parameter is included on the LOAD
statement, change the partition using the> $CP command on the terminal you are
using before you respond to any prompts.
The parameter list includes:
• the address of the command input file (name,volume)
• the address of an I8-byte error information area
• the partition number of the first two parameters.
A command input file must be created using $FSEDIT. The command input file
consists of a header record and a series of command records containing the
instructions for $INSTAL to execute. The history file (name,volume) and the
$INSTAL control data set (dsname,volume) are supplied in the command input file.

4-386

SC34-0940

o

$INSTAL

o

The first record of this data set is the header record. The header record contains the
file ID and can contain two optional keyword parameters (date and terminal).

RECORD 1 - HEADER RECORD (MUST BE FIRST RECORD IN FILE)
POS (BYTE)
01-08
10-22
24-36
DATE=mm/dd/yy
TERM=termname

FIELD USE

EXAMPLE

File ID - Required Constant
First Keyword Parameter
Second Keyword Parameter

$INSTALC
DATE=10/12/86
TERM=$SYSLOGA

Must be included if the system does
not have timer support, or if the
date is invalid.
The name of the terminal to use for
prompts and messages to the operator.
The loading terminal is the default.

Command records contain one command plus any parameters required by that
command. Comments can be added to command records beginning in column 40.
Following is an example of the valid command records and their formats.

Byte
01

08

24

40

I· ..... I............... I· ............. I· ...................... .

EN
IN
LL
LISTP
LISTP
LISTT
LISTT

End $INSTAL
SIEDXLM7,EDX002 $$INLM7,LM7001 Install/Update Product LM7
SlEDXLM7,EDX002
List Current Product Level
MPRINTER
Listing to MPRINTER
Listing to $SYSPRTR
Listing to TERMI
TERM1
Listing to Loading Terminal

The ECB specified in the EVENT = parameter of the LOAD statement contains the
$INSTAL post code. Normal completion post code is - 1.
If $INSTAL ends with an error condition, the first word of the error information

area (second parameter in the parameter list) contains the return code passed to
$INSTAL by the operating system or other utility. Any additional error information
(name of data set, program or history file) appears in the remaining error
information area.
Note: For a list of post codes $INSTAL returns when loaded from an application
program using the LOAD instruction, refer to Messages and Codes.

c
Chapter 4. Utilities

4-387

$INSTAL

$INSTAL Commands
To display the $INSTAL commands, enter?

r

COMMAND (?):?

....•.

.'. . . . . .

, -  C. A- CANCEL THE CURRE.NT fUNCHON

ED
EN
IN
LL
LISTP
LISTT

- EDIT $INSTAL CONTROL DATA SET
- END $INSTAL UTILITY
- INSTALL A PROGRAM PRODUCT/UPDATE
- LIST CURRENT PROGRAM PRODUCT LEVEL
- DIRECT LISTING TO A PRINTER
-DIRECT LISTING TO A TERMINAL
? - DISPLAY THE LIST OF COMMANDS

l

o

COMMANO· (?):

Note: ED and? are not valid in the command input file supplied when $INST AL is
loaded using the LOAD statement. (EOP in the command input file is
treated as "EN.")

CA - Cancels the Current Function
Press ATTN key and enter CA to cancel a function in process.

l

> CA

J

~C_O_MM_A_ND__
(?_)_:____________________~________________~~~

(J~-'

ED - Edit the $INSTAL Control Data Set
Use the ED command to edit the $INSTAL control data set. A $COPYUTI control
data set can also be used. See "$COPYUTI - Copy Data Set with Allocation" on
page 4-35 for more information on using the control data set.
The ED function requires that the $INSTAL control data set be preallocated. If the
control file is for anything other than an update, the number of records needed is
one greater than one-half the total number of target volumes. If the control file is
for installing an update, the number of records needed is one greater than one-half
the total number of "source-to-target" combinations.

o
4-388

SC34-0940

$INSTAL

o

Example 1: Following is an example of editing a new $INST AL control data set to
install a PTF on EDX utilities.

( COMMAND (?): ED
ENTER THE $INSTAL CONTROL DATA SET (DSNAME.VOL): $$INUSR
ENTER THE 7-CHARACTER PRODUCT CODE (XXXX-XXX): 9999-USR
PRODUCT CODE: 9999-USR (YIN): Y
ENTER THE 2-DIGIT VERSION NUMBER (VV): 91
VERSION NUMBER: 01 (YIN)? Y
ENTER THE I-DIGIT MODIFICATION LEVEL (M): 9
MODIFICATION LEVEL: 0 (YIN)? Y
ARE YOU INSTALLING A BASEIPOINT RELEASE (YIN)? N
ARE YOU INSTALLING A PTF (YIN)? Y
ENTER THE PTF LEVEL (P): 1
PTF LEVEL: 1 (YIN)? Y
ARE YOU SUPPLYING A $COPYUTI CONTROL FILE (YIN)? N
ENTER A SOURCE VOLUME NAME OR IEND I: USR991
ENTER A TARGET VOLUME NAME OR IEND I: EDX992
COPY USR001 TO EDX002 (YIN)? Y
ENTER THE SOURCE DISKETTE LABEL NAME: USR992
THE DISKETTE LABEL IS USRP01 -OK (YIN)? Y
ENTER A SOURCE VOLUME NAME OR IEND I : USR992
ENTER A SOURCE VOLUME NAME OR IEND I: USR99S
THE DEFINED TARGET VOLUME IS EDX002 - OK (YIN)? N
ENTER A TARGET VOLUME NAME OR END
I

I:

ASMLIB

COPY USR005 TO ASMLI B (YIN)? Y
ENTERASQURCE[)I~KETTE

LABEL NAME: USRP9S

THE DISKETTE lABEL IS,USRP05

~OK

(YIN): Y

ENTER· THE SOURCE VOLUME NAME. OR IEND I: END

c

C()MMANQ '(7):

Chapter 4. Utilities

4-389

$INSTAL

Example 2: The following example shows how to create a new $INST AL control
data set to install an update.

ENTER A TARGET VOLUMLNAME OR 1 END I :

EDXBB2

COpy MODUL.ES ON USR002 TO EDX002 (YIN)?
ENTER THE SOURCE DISKETTE LABEL NAME:

Y

USRPBl

THE DISKETTE LABEL' IS' USRP01 -" OK (YIN)?
ENTER A MODULE NAME OR

1

END i:

o

Y

$DISKUTI

COPY$DISKUTI ON. USR002 TO EDXe02 (YIN)?

Y

END

o

END

COMMAND (7):

EN - End Program
Use the EN command to end the program. (EOF on the command input file is
treated as EN.)

o
4-390

SC34-0940

$INSTAL

o

IN - Install a System/Update
Use the IN command to copy members from the source disk(ettes) to the system. If
you loaded $INST AL from a terminal using $L, the system prompts you for a
history file (name,volume) and for the $INSTAL control data set (dsname,volume).
If $INSTAL was loaded by another program, two parameters are required in the
command input file. They are:
• the history file (dsname,volume)
• the $INST AL control data set.
If you run out of space when you install an update in the history file, do the
following:
1. Allocate a new data set called TEMPHIST. The size of TEMPHIST must be

larger than the current history file. (Increase the size by 1 record and you have
enough space for four additional updates.) See "$DISKUTI Allocate/Delete/List Directory Data" on page 4-139 to find the size of the
current history file and allocate a new data set.
2. Copy the entire history file to TEMPHIST. See "$COPY - Copy Data Set" on
page 4-27 to copy the data set.
3. Delete the current history file and rename TEMPHIST to the current name. See
"$DISKUTI - Allocate/Delete/List Directory Data" on page 4-139 to delete
and rename the data set.
Example: Following is an example of how the IN command appears in the
command input file.

Byte
01

08

24

40

I· ..... I............... I.............. I· ...................... .

IN

SlEDXLM7,EDX002 $$INLM7,LM7001

The history file is allocated if one does not already exist. The default file size is 10
records, enough space for 78 updates between PTFs. You can vary the size of the
history file by preallocating the file. See the $DISKUTI utility for instructions on
how to allocate a data set.

c
Chapter 4. Utilities

4-391

$INSTAL

Example: The following example shows how to install a new base release of the
EDX operating system. The system does not have timer support, the specified
history file does not exist, and the target volumes defined in the second $INST AL
control data set are not all used.
(>$L

$n~STAL

LOADING $INSTAL

11P, LP=E40e. PART= 3

**** SYSTEM MAINTENANCE UTILITY ****
ENTER THE CURRENT DATE (MMjDD/YY): MM/DD/YY
COMMAND (?): IN
ENTER THE HISTORY FILE (DSNAME,VOL) OR IEND I : H9999USR,EDXaa3
H9999USR ON EDX003 DID NOT EXIST BUT HAS BEEN ALLOCATED.
ENTER THE $INSTAL CONTROL DATA SET (DSNAME.VOL): $$INUSR
USE THE TARGET VOLUMES SPECIFIED
IN THE $INSTAL CONTROL DATA SET (YIN)? Y
COPYING USR001 TO EDX0e2 ...

o
4-392

SC34-0940

$INSTAL

o

At this point, the modules are listed as they are copied. When the copy is complete,
the screen clears and the following screen appears.

USR001 COPY COMPLETE
•.. INSTALLATION COMPLETED ...
COMMAND (?): EN
$INSTAL ENDED

The system loads $INITDSK and writes the IPL text to point to $EDXNUC on
EDX002. The system IPLs from EDX002 and loads $INSTAL again.

$L $INSTAL
LOADING $INSTAL

>

lIP, LP=E400, PART= 3

**** SYSTEM MAINTENANCE UTILITY ****
ENTER THE CURRENT DATE (MM/DD/YY): MM/DD/YY
COMMAND (?): IN
ENTER THE HISTORY FILE (DSNAME,VOL) OR 'END': H9999USR,EDX003

(

ENTER THE $INSTAL CONTROL DATA SET (DSNAME,VOL): $$INUSR
'."
jI

USE THE TARGET VOLUMES SPECIFIED
IN THE $INSTAL CONTROL DATA SET (YIN)? N
COPY USRe02 TO EDX002(Y /N)? Y
INSERT THE DISKETTE LABELED 'USR0e2' IN THE DISKETTE DRIVE.
CLOSE THE DISKETTE DRIVE AND DO A '$VARYON I FOR THAT ADDRESS.
WHEN $VARYON IS COMPLETED, PRESS THE  KEY AND ENTER 'GO'.
>

GO

COPYING USRe02 ToEDXe02 •••

o
Chapter 4. Utilities

4-393

~$INSTAL

At this point, the modules are listed as they are copied. When the copy is complete,
the screen clears and the following screen appears. This repeats for each source
disk(ette).

IN,SERT·.THE . . • 01StTl1E··*ATTN?;.KEYANDENTER·'.GO·'
>

t

()

o

GO

COPYINGUS'R005TO USRLIB

".

'"..

"

'.', ~"

".

'.'

-

"

. :CQMMANO(?}:EN
,... ,....'

. . "..

-.",

$INSTAL.'·.iN'OED·:

o
4-394

SC34-0940

$INSTAL

o

LL - List Current System Level
Use the LL command to display the base level of the system, the latest PTP
installed, and all updates installed. You can also use the LL command to verify the
history file has been updated.
If you load $INST AL using the $L command, enter the history file (name, volume).
If you load $INSTAL using another program, the history file (name, volume) must
be included on the command input file record.
Example: The following is an example of how the LL command appears in the
command input file.

Byte

01

08

24

40

I· ..... 1............... I.............. I· ...................... .

LL

SlEDXLM7,EDX002

Note: The listing will go to the current logging terminal. Use the LISTP or LISTT
commands to change the logging terminal.
Example: The following is an example of the list level output.

C.":
,

,

PROGRAM
PRODUCT
5719-XS6

BASE
LEVEL
VV.L

DATE
INSTALLED
MM/DD/YY

PTF
LEVEL

UPDATE
ID

DATE
INSTALLED

2

c
Chapter 4. Utilities

4-395

$INSTAL

LISTP - Direct Listing to a Printer
Use the LISTP command to direct the output listing to a printer. If you specify a
device, the printer name must be entered immediately after the option code. The
default printer is $SYSPRTR.

0-""
_

Example 1: The following example directs the list to the $PRTRIA device. The $L
command loaded $INSTAL.

COMMAND (7): LISTP $PRTRIA
COMMAND (?): IN H9999USR,EDX093
ENTER THE $INSTAL CONTROL DATA SET (DSNAME.VOL): $$INUSR
USE THE TARGET VOLUMES SPECIFIED
IN THE $INSTAL CONTROL DATA SET (YIN)? Y
COpnNG USRPGl TO EDX002 ...
USRP01 COpy COMPLETE
... INSTALLATIONCOMPLETED ..•
COMMAND (?):

Example 2: The following is an example of how the LISTP command appears in the
command input file.

Byte
01

08

24

o

40

1 ...... 1 ............... 1.......•...... 1. . . . . . . . . . . . . . . . . . . . . . . .

LISTP

or
LISTP

TERM1

o
4-396

SC34-0940

$INSTAL

o

LISTT - Direct Listing to Terminal
Use the LISTT command to direct the listing to a specified terminal. The default is
the loading terminal.
Example 1: The following example directs a list to TERMl. The $L command
loaded $INST AL.

Example 2: Thh following is an example of how the LISTT command appears in
the command input file.

Byte
(:11

08

24

40

1······1···············1··········.···1··············· ........ .
LISTT

or
LISTT

TERMl

()
Note: If a $COPYUTI control file is input and the LOG option is included in that
file, the LOG overrides whatever was selected by the LISTT /LISTP command
during the actual copy. The output terminal reverts back when the copy
operation is completed.

c
Chapter 4. Utilities

4-397

$IOTEST

$IOTEST - Test Sensor 1/0; List Configuration
$IOTEST determines the complete I/O configuration of a Series/I and tests the
operation of sensor-based I/O features. $IOTEST performs the following functions:
•
•
•
•
•
•
•

o

Digital reads and writes (group or subgroup)
Digital writes with selected time intervals
External sync D I and DO
Interrupt processing (normal, special bit, and group)
Analog reads and writes
Hardware configuration listing of the Series/I
Device listing (devices supported by the system).

Loading $IOTEST
Load $IOTEST with the $L command or option 9.3 of the session manager.

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

$L $IOTEST

LOADING$IOTEST

36P.13:26:42. LP=5000.PART=1

ATTLIST (ALTER) TO STOP LOOPING FUNCTIONS
COMMAND (?):

?

()

EN· = END·· PROGRAM
DO = DIGITAL OUTPUT
PO· =·UP AND DOWN DO WITH TIME
XO = EXTERNAL SYNC DO
Ol='OmITALINPUT
XI:==EXTERNAL SYNC 01
PI:== PROCESS INTERRUPT
SG =; SPEC tAL PROCESS I NTERRUPTGROUP
. S8. = SPECIAL 'PROCESS IN'TERRUPTSIT
AI<=.ANALOGINPUT
AO ANALOG QUTPUT
1.0=l.I S1"· AI..LHAROWf1.REDEVIcE:s
~S.= LI?T CUR~ENT SUPERVISORHARDWAREDEVICE$ .
Ws .~. . PUT. PROGRA~ • INWAIT'STATE
LlSTP=D I REeT .• LI STI NG .TO$ sY SPRTR
LIsTT. =OIRECTLIsIINGTO TERMINAL
COMMAND '(1).:

o
4-398

SC34-0940

$IOTEST

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 enter ALTER to end repetitive functions and to
reactivate the program if it enters the wait state. For example:

o

ENTER MPXRPOINT (O-lS)~ 1
AI VOLTAGE =
-629 MV,E-3
AI VOLTAGE =
-688MV, E-3
> ALTER

COMMAND (?):

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

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.

COMMAND (1) :,' AI, .,' . . . "......
ENTER DEVICE AODRESS( (HEX I-FF): 61
ENTER RANGE:l=5V ,2:;iSOOMV, 3=200MV •.4=lOOMV,
5=SOMV, 6=20MV, 7=10MV: 7
ZERO CORRECTION? N
ENTER MPXR POINT (O-lS)i 1
AI VOLTAGE = -629MV,E-3
AI VOLTAGE =
-688 MV,E-3
> ALTER

COMMAND (?) :

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.

c
Chapter 4. Utilities

4-399

$IOTEST

Example 2: Convert diagnostic zero or voltage.

COMMAND (1): .AI
ENTERDEVICE ADDRESS, (HEX I-FF): 66
CONVERT DIAGNOSTIC ZERO. (YIN)? . . Y
ENTER RANGE: 1=5V, 2=500MV, 3=200MV,
5=50MV, 6=20MV. 7=10MV: 1
AI VOLTAGE·=
0 MV. E-0

o

> ALTER

COMMAND (?): AI
ENTER DEV;CE ADDRESS, (HEX 1-FF): 66
CONVERT DIAGNOSTIC ZERO? N
CONVERTING DIAGNOSTIC VOLTAGE, SHOULD BE 4.5+- 0.5
AI VOLTAGE = 4604 MV, E-0
AI VOLTAGE = 4602 MV, E-0
> ALTER

COMMAND (?): AI
ENTER DEVICE ADDRESS, (HEX 1-FF): 66
CONVERT DIAGNOSTIC ZERO? N
CONVERTING DIAGNOSTIC VOLTAGE, SHOULD BE 4.5 +- 0.5
AI VOLTAG~ = 4604 MV, E-0
AI VOLTAGE = 4602 MV, E-0
> ALTER

COMMAND (?):

o

01 - Digital Input
Use DI to read digital input.
Example: Read digital input.

COMMAND (?): OI
ENTER DEVICE ADDRESS, (HEX I-FF): 56
ENTER START BIT (0-15): 6
~NTER # OF BITS:
16
VALUE = A5A5
VALUE = C0FE
> ALTER

COMMAND (?):

o
4-400

SC34-0940

$IOTEST

o

DO - Digital Output
Use DO to write digital output.
Example: Write X I A5A5 I to DO address 52

COMMAND (?): DO
ENTER DEVICE ADDRESS, (HEX 1-FF): 52
ENTER START BIT (9-15): a
ENTER # OF BITS: 16
ENTER DATA (HEX): A5A5
COMMAND (?):

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 DI address on the
card to the first DO address and the same for the secondDI 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.

l

COMMAND (?):

J

EN

_$_I_OT_E_ST__E_ND_E_D_A_T_l_3_:2_7_:2_9__________~__________________________~

Chapter 4. Utilities

4-401

$IOTEST

LD - List Devices
Use LD to list the devices attached to your Series/l. 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 loaded $IOTEST or to the $SYSPRTR by
using either the LISTT or LISTP command.

O·.

Example: List Series/1 hardware configuration.

El2
e4
08
09
0A
19

0106
0406
100E
1ee6
1016
1006

1A

1016

24
·0408
26
ep06
34.
.040E
40
0028
41
0028
44
5212
.45
5212
·48
31(:)6
4C
3186
413
·'3186
50
3106
. 58
3236
59
3236
5A
3236
5(3.3:23'9

4-402

SC34-0940

o

$IOTEST

o

LS - List Current Supervisor Hardware Devices
LS 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
loaded $IOTEST or to the $SYSPRTR by using either the LISTT or LISTP
command.
Note: The system will not list communication device cards that you did not install
at IPL time.
Example: List devices supported by supervisor.

COMMAND (?):

LS

HARDWARE DEVICES SUPPORTED BY THIS SUPERVISOR
ADDRESS

ID

02
04
0A
19
1A
24
34
44
48

0106
0406
1016
1006
1016
040E
040E
5212
3106
3106
2816
2816
2816
020A

50
58
59

5A
5B

DEVICE TYPE
4964 DISKETTE UNIT
4979 DISPLAY STATION
EXIOINTERFACE DEVICE
SINGLE LINE BISYNC
EXIO INTERFACE DEVICE
4978 DISPLAY STATION
4978 DISPLAY STATION
4965 DISKETTE UNIT
4963 DISK· SUBSYSTEM
4963 DISK SUBSYSTEM
MFA (1310) SINGLE LINE ACCA
MFA (1310) SINGLE LINE ACCA
MFA (1310) SINGLE LINE ACCA
MFA WITH 4975-82L PRINTER

DEVICE
MODE
MODE

= 4281
= 31018
==

31018

COMMAND (?):

PD - 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.

o

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.

Chapter 4. Utilities

4-403

$IOTEST

PI - Process Interrupt
Use PI to test for the occurrence of the process interrupt.
Example: Test process interrupt for the occurrence of event.

()

COMMAND (?): PI
ENTER .• OEVICEAOORE$S.
ENTER~IT .(0':'15): 3·
PI OCCURRED·
. ,
PI OCCURRED
PI OCCURRED
> ALTER
COMMAND (7):

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.

COMMAND (?): XI
ENTER DEVICE ADDRESS, (HEX l.,.FF):
ENTER WORD COUNT: lee
COMMAND (?):

51

o

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
4-404

SC34-0940

$JOBQUT

o

$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 4-525.)
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.

Loading $JOBQUT
Load $JOBQUT with the $L command or option 10.1 of the session manager.
>

C,~;

$L $JOBQUT

LOADING $JOBQUT

8P,09:18:62, LP=2300, PART=l

,J

$JOBQUT - EDXJOB QUEUE CONTROLLER PROGRAM
ENTER '?' AT. ANY TIME· FOR HELP
COMMAND '.( ?) :

After you load $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:

JOlr QUr:UEPROCESSOR($JOBQ) . MUSTBE LOAptOTO>CONTINUE.

LoAD IT (YIN)?

PARTITION' NUMBER OR PRESS ENTER FOR ANY:

Note: We recommend that you frequently 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 4-410 for a description of the STQ command.)

c
Chapter 4. Utilities

4-405

$JOBQUT

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:

0,
" '

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.

JOB QUEUE PROCESS I NG HAS BEEN. SUSPENDED
LOGGING TERMINAL IS $SYSPRTR
THERE ARE NO JOaSIN THE QUEUE
COMMAND (7):

$JOBQUT Commands
To display the $JOBQUT commands, enter a question mark in response to the
prompting message COMMAND(?):
COMMAND (?):

o

?

CL1. - CHANGE LOGGING TERMINAL
DJQ- DELETE JOB QUEUE
RJQ: .. RESUMEJ~BQUEUE, PROCESSI~G
SJQ' ;.. SUSPEND . JOB ,', Q~EUEPROCE~SING
STQ. - 01 SPLAYST~JUSOFJOBQUEUEPRQCESSJNG
TJQ,.- TERMINATE JOB QUEUE .PROCE$SING
. DCH:;.DETACH .$JOBQUT;··RE'SU~E;.ATTN.~lOSQUT.:~ND"ATTN'· ENDJUT····
IJQ ',:. REINlTIA~IZE 'JOB QUEUE DAIASEJ (JOBQQS)

~'~. ,. .•.·,.-·t~D·$JO;QUT'···
·.COMMAND(?j:

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
4-406

SC34-0940

$JOBQUT

o

CLT - Change Logging Terminal
Use the CL T 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.
Additionally, the system prompts you to specify whether it should close spools job as
they are created by $JOBQ. If you answer Y to this prompt, $JOBQ specifies
CLOSE = YES on all subsequent DEQT instructions. This makes the spool jobs
ready for printing. Messages issued by $JOBQ (such as start, end, and error
messages) will be spooled if the logging terminal is a spool device and spool is active.
CLOSE = YES on a DEQT instruction has no effect if the logging terminal is not a
spool device or if spool is not active.
Example: Change the logging terminal and turn on roll screen mode.

COMMAND (?):

elT

THE LOGG~NG.TERMINAL IS.NOW$SYSPRTR
NEW LOGGING TERMINAL NAME OF'·*' FOR THISTERMTNAL:

$SYSlOG

LOGGI NG. tERMINAL . CHANGED TO $SYSLQG
PUTTERMINALJNROLL MODE(Y IN)?
CLOSE$JOBQSPOO~< JOBS>

(YIN)? 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.

c
Chapter 4. Utilities

4-407

SJOBQUT

DCH - Detach $JOBQUT
Use the DCR command to place $JOBQUT in suspended mode. To resume
operation, press the attention key and type JOBQUT.

o

To end $JOBQUT without resuming operation, press the attention key and enter
ENDJUT.
Example:
COMMAND (?):

DCH

> JOBQUT

COMMANO (?):

DCH

> ENDJUT

$JOBQUT ENDED AT 00:12:03

DJQ - Delete Job Queue
Use the DJQ command to delete all jobs currently in the job queue. Once you enter
DLQ, $JOBQUT questions whether you want to delete all jobs in the queue. Enter
Y to delete all jobs, N to cancel the command.

o

Example: Delete jobs in job queue.

COMMAND (?):

DJQ

DELETE ALL JOBS IN THE QUEUE (YjN)?

Y

JOB QUEUE DATA SET REINITIALIZED
COMMAND (7) :

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

o
4-408

SC34-0940

$JOBQUT

o

IJQ - Reinitialize Job Queue Data Set (JOBQDS)
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:

l~R_E_AD_/_W_RI_T_E_E_R_RO_R_I_N_J_O_B_QD_S____~______________________________~J
The logging terminal defaults to $SYSPRTR. Use the CLT command to change the
logging terminal.
Example: Initialize the job queue data set.

COMMAND (?): IJQ
JOB QUEUE DATA SET REINITIAlIZED

RJQ - Resume Job Queue Processing
Use the RJQ command to resume job queue processing after you have suspended
processing with the SJQ command. When the job queue processor is loaded initially,
it is in suspended mode; use the RJQ command to activate it.
Example: Resume job queue processing .

. COMMAND (1):

RJ Q

JOB. QUEUE PROCESSING.HAS.BEEN RESUMED
COMM~'ND (?)~.

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.

·.~o:~::~mte:uE PROqt$$I~GHAS . . BEEl't SUSPENO.EO·

c

;:c.o~MkNb:: f?)'~ • • !" ,:

Chapter 4. Utilities

4-409

$JOBQUT

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 arejobs in the job queue,
$JOBQUT issues the following messages:

JQB 10

COMMAND DATA SET

PRIORITY

2

OVERNITE,USRVOL
CALCJOB ,PAYROL
CHECKS· ,PAYROL
CALCJOB· ,EDXB02
JOBl
, EDX0B2
ASMJOB.l, EDX002

2

3
4
5
6
7

NUMBER OF JOBS QUEUED IS

1

o
2
2
3

0

HELD
WAITING
EXECUTING
WAITING
WAITING
HELD

6

COMMAND (?):

If $JOBQUT detects an error in the job queue data set, it issues the following

messages:

INTERNAL ERROR DETECTED IN JOB QUEUE DATA SET
THE JOB QUEUE DATA SET MUST BEREINITIALIZED BY
THE "IJQu COMMAND IN $JOBQUT
'--.------------~------~--------------------------------~

4-410

SC34-0940

o

$JOBQUT

o

TJQ - Terminate Job Queue Processing
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.
Example: End job queue processing.

COMMAND (?): TJQ
TERMINATE JOB QUEUE PROCESSING (YIN)? Y
DELETE ALL JOBS IN THE QUEUE (YIN)? N
$JOBQ ENDED AT 10:11:62
JOB QUEUE PROCESSING TERMINATED
$JOBQUT ENDED

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.

C

1

)

c
Chapter 4. Utilities

4-411

$JOBUTIL

$JOBUTIL - Job Stream Processor
$JOBUTIL is a batch processing capability that you can load 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 load another procedure; however, the called procedure cannot load
another procedure. A typical use of $JOBUTIL would be to execute a procedure
that causes the assembly, link-editing, and formatting of your program. See "Batch
Job Example" on page 4-426. For additional examples of using $JOBUTIL, refer to
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:
• $JPl - 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
$COPYUTI
$EDXASM
$EDXLINK
$EDXLIST
$FORT

$FSEDIT
$INSTAL
$LINTRC
$MEMDISK
$MSGUTI
$PASCAL

$PLjl
$PREFIND
$SlASM
$TRAP
$UPDATE
$XPSLINK

o

Loading $JOBUTIL
Load $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.

o
4-412

SC34-0940

$JOBUTIL

o

To run your job, load $JOBUTIL and specify the name of your procedure data set.

l

> $L $JOBUTIL

OSl (NAME,VOLUME):

Refer to the Operation Guide for instructions on setting up your own JOBUTIL
procedure.

$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

o

o

Command

Function

AL

Allocate data set

DE

Delete data set

DS

Identify data set

EJECT

Start a new page in log listing

EOJ

Identify end of job

EOP

Identify end of nested procedure

EXEC

Load and execute program

JOB

Identify job

JUMP

Jump to label

LABEL

End jump

LOG

Log job stream processor commands

NOMSG

Suppress load messages

PARM

Identify program parameter

PAUSE

Await manual intervention

PROC

Identify nested procedure

PROGRAM

Identify program

REMARK-

Remark to opera tor

*

Internal comment

Chapter 4. Utilities

4-413

$JOBUTIL

AL - Allocate 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.

o

Syntax:

AL

name, volume size type

Required:

name, volume
size
type
none

Default:

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

'\
C-_

TEMPDS,EDX003 25 0

o
4-414

SC34-0940

$JOBUTIL

o

DE - Delete Data Set
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:
Default:

name, volume
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

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:

DS

name,volume

Required:
Default:

name
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:

c

OS

WORKl,EDXOOl

Chapter 4. Utilities

4-415

$JOBUTIL

EJECT - Start New Page in Log Listing
Use the EJECT command to print the next command in the log listing at the top of
a new page. If no logging is being done, EJECT commands are ignored.

O. ',.

Syntax:

EJECT

Required:
Default:

none
none

Operands

Description

None

None

Example:

EJECT

EOJ - End of Job
Use the EOJ command to indicate the end of the primary procedure. EOJ must be
the last command in the procedure data set.
Syntax:

I EOJ
Required:

none

Operands

Description

None

None

o
4-416

SC34-0940

$JOBUTIL

o

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:

I EOP
Required:

none

Operands

Description

None

None

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
Required:
Default:

Operands

STORAGE = size
none
STORAGE = 0

Description

STORAGE
Specifies the amount of dynamic storage to be allocated to the program
to be executed. This value overrides t~e value specified when the
program was compiled. STORAGE = 0 (the default) indicates that the
dynamic storage specified (if any) during compilation should be
allocated.

c
Chapter 4. Utilities

4-417

$JOBUTIL

JOB -Identify Job
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:

I JOB
Required:

job-name
job-name

Operands

Description

job-name

Names the current group of commands as a job.

Example:

JOB

TEST1

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." An 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.

o

Note: The JUMP and LABEL commands are not permitted in the PAUSE mode.
Syntax:

4-418

SC34-0940

JUMP

label-name,op,cc

Required:

none

Operands

Description

label-name

The name associated with a LABEL command.

op

LT, GT, EQ, GE, LE, or NE.

cc

Program completion code.

o

$JOBUTIL

o

Examples:

JUMP
JUMP
JUMP

LBL1,EQ,20
LBL2

LABEL - Identify Continuation Point
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:

I LABEL
Required:

label-name
none

Operands

Description

label-name

Defines the command where processing can continue.

Examples:

LABEL
LABEL

LBLl

c
Chapter 4. Utilities

4-419

$JOBUTIL

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 loaded
the Job Processor.

o

Syntax:

LOG

Operand

Required:
Default:

none
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 that is to print the job processor
commands. Omitting this operand 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

o
4-420

SC34-0940

$JOBUTIL

o

NOMSG - No Message Logging
Use the NOMSG command to set LOGMSG = NO for the program identified in the
preceding PROGRAM command. Refer to the LOAD instruction in the Language
Reference for the definition of LOGMSG. NOMSG is invalid if not preceded by a
PROGRAM command.
The NOMSG command must be between the PROGRAM and EXEC commands.
Syntax:

I

NOMSG
Required:

none

Operands

Description

None

None

Example:

PROGRAM
NOMSG

CALCDEMO

c
Chapter 4. Utilities

4-421

$JOBUTIL

PARM - Pass Parameter
Use the PARM 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 'PARM command is
62 characters. The parameters specified on the P ARM 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 $P ARM 1 and are packed two characters
per word. The length of the string is determined by the P ARMn operand of the
PROG RAM statement in the specified program. For example, P ARM = 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 $PARMI.

O..

Syntax:

I PARM
Required:

parameters

none

Operands

Description

parameters

Defines parameters to be passed to the program.

Example:

PARM

NOLIST ,XREF

o

o
4-422

SC34-0940

$JOBUTIL

o

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.
PAUSE subcommands are:
• ABORT - To end $JOBUTIL processing
• ENTER - To enter $JOBUTIL commands
• GO - To end the PAUSE mode and read the next command in the procedure
data set.
Syntax:

I PAUSE
Required:

none

Operands

Description

None

None

Example: Data set with PAUSE.

JOB
LOG
PROGRAM
EXEC
REMARK
REMARK
PAUSE
EOJ

PAYROLL
ON
WAGES
LAST DAY OF MONTH?
RUN MONTH END

Example: In PAUSE mode (terminal output).

ENTER COMMAND
EN,TE~OflERANO

c

·tNlt:R .~OMMANP::

lNTElf Ofl~RAND .

Chapter 4. Utilities

4-423

$JOBUTIL

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.

o

Syntax:

PROC

procedure-name, volume

Required:
Default:

procedure-name
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,EDXGG2
PAYROLL

o

PROGRAM - Identify Program
Use the PROGRAM command to identify the program to be executed.
Syntax:

PROGRAM program-name,volume
program-name
volume is IPL volume

Required:
Default:

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

4-424

SC34-0940

$DEBUG,EDXGG2
CHECKS

o

$JOBUTIL

REMARK - Display Remark

o

Use the REMARK command to output a message to the operator. The LOG
command has no effect on the REMARK command. The message will be displayed
on the terminal where $JOBUTIL was loaded.
Syntax:

I REMARK
Required:

comment
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

* - Comment
Use an asterisk (*) 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

None

Example:

* THIS PROCEDURE IS A TEST CASE

c
Chapter 4. Utilities

4-425

$JOBUTIL

Batch Job Example
The following examples list three procedure data sets. The last two procedures
shown are loaded 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

o

BATCH
$SYSPRTR
THIS JOB SHOULD RUN UNINTERRUPTED
JUTEST1,EDX003
LOAD1,EDX003
F0F4F1F7

JUTEST2,EDX003
JMP1,EQ,-10
CALCDEMO,EDX002
JMPl
JUTEST3,EDX003
2
JMP2, LT,5
$EDITIN,EDX002
EDITWORK,EDX002
JMP2
PROC1,EDX003
PROC2,EDX003

Example 2: List data set PROCI on EDX003.

LOG
ON
REMARK PROCl
PROGRAM JUTEST2,EDX003
EXEC
EOP
Ex"ample 3: List data set :eROC2 on EDX003.

REMARK
PROGRAM
DS
PARM
EXEC
EOP

4-426

SC34-0940

PROC2
JUTEST1,EDX003
LOAD1,EDX003
ENDT

o

$LCCTRC

o

$LCCTRCE - Trace 1/0 Activity on an

Lee Attachment

The $LCCTRCE utility traces the I/O activity on a Local Communication
Controller attachment card. You must load $LCCTRCE in the same partition as
the task(s) that is enqueued on the subchannels. All tasks that are using the same
attachment must be in the same partition to use $LCCTRCE. If you code
WAIT = NO on the LCC instruction, $LCCTRCE cannot trace the instruction. For
more information on how to code LCC instructions, refer to the Language
Reference.

Loading $LCCTRCE
Load $LCCTRCE with the $L command or option 8.11 of the session manager.

>

$L $LCCTRCE

DS1(NAME,VOLUME): TRACE58,MYVOL
LOADING $LCCTRCE
19P, 11:03:22. LP=5700, PART=2
$LCCTRCE - TRACE I/O ACTIVITY ON AN LeC ATTACHMENT
DO YOU WANT DATA SET TO WRAP IF OVERFLOW OCCURS (Y/N)? Y
ENTER BASE DEVICE ADDRESS (HEX): 58

c)

After you load the $LCCTRCE utility, the system prompts you for the name and
volume of the disk or diskette data set in which to place the trace output. Then
$LCCTRCE prompts you as to whether you want the system to wrap data if the
data set is full. (If you reply Y to this prompt and the end-of-file is reached, the
system wraps back to the first trace record of the data set and writes over the
original trace file.) You must specify the base device address. (The base device
address is the lowest address of the three valid device addresses on the LCC
attachment card.)

Controlling $LCCTRCE Execution
You can control the execution of $LCCTRCE with the following attention
commands:
> STOP

Stops tracing. The system displays the message LAST TRACE
RECORD EQUALS XX and then the $LCCTRCE utility ends.

> WRAPON

Signals that when the system has reached the end-of-data (EOD)
and allows the system to "wrap" back to the first trace record of
the data set and write over previous trace information. Tracing
continues.

> WRAPOFF

Signals to the system to stop writing trace information when
EOD is reached.

$LCCTRCE writes trace file records at the completion of an LCC I/O operation.
When the system reaches the end of the trace data set, it wraps back to the first
trace record. When $LCCTRCE ends, the system displays the relative number of
the last record that it wrote. You can display or list the trace file by using the
$LCCUTI utility.

Chapter 4. Utilities

4-427

$LCCTRC

Trace I/O to several LCC attachment cards concurrently by loading multiple copies
of $LCCTRCE using different trace files. Each copy of $LCCTRCE must use a
different trace data set. We recommend that each trace data set name reflect a
unique device address.
Example 1: Using the WRAPON attention command.

$L$LCCTRCE
tRACEOS ·(NAME.VOI.UMb:
LOADING$LCCtRCE

TRACE58,MYVOL

HlP , 11:03:22 r LP=5:7ElEl, PART=2

$LCCTRCE .;,. . . :rRACEI/OACTIVITY ON AN LCC· LINE
DOYo.U WI\NTDATASEt TO. WRAP IF OVERFLOW o.CCURS (YIN)? N
ENTER BASE· DEVTCEADDRESS(HEX).:··· 58
TRACE ACTIVE

END OF DATA SET REACHED, DO. YOU WISH TO WRAP
TRACE SUSPENDED
>

(YIN)?

N

WRAPON

DATA SET WILL WRAP

>

STOP

TRACE DATA SET HAS WRAPPED 2 TIMES
LAST· TRACE RECORD EQUALS
4
$LCCTRCE .ENDEQ AT .11:14:44

()

Example 2: Using the WRAPOFF attention command.

>

$L $LCCTRCE

TRACEDS(NAME,VOLUME):
LOADING $LCCTRCE

TRACE58,MYVOl
12P, 1l:G3:22.LP=:57ElEl. PART=2

$LCCTRCE'" TRACE. I/O ACTIVITY ON AN LCC LINE
~··•.·i)OYOU ·WANr"DAnrSET"TOWRAP"IF "OVERFldwocCtJRS~ . (Y IN}? N·

ENTER·BASE DEVICE ADDRESS (HEX):

58

o
4-428

SC34-0940

$LCCTRC

o

Record Format
The format of the records $LCCTRCE produces is shown below. For more
information on the trace records, refer to the IB~~ Series/l Local Communications
Controller Feature Description, GA34-0142.

o

STATUS

ISW

CC
+2

+4

IDCB
+14

LENGTH

DCB
+18

+34

LAST4

DATA
+36

+252
BG1215

CC

Interrupt condition code on completion of the I/O.

ISW

Interrupt status word on completion of the I/O.

STATUS

The cycle steal status words 0-4. This is provided when the ISW bit
1.

o is set to
IDCB

The immediate device control block for the I/O.

DCB

The device control block for the I/O.

LENGTH

The length of the data sent/received.

DATA

The data in main storage following the I/O.

LAST4

The last 4 bytes of data if the data is longer than 220 bytes.

o
Chapter 4. Utilities

4-429

$LCCUTI

$LCCUT1 - Format LCC Trace Files
The $LCCUTI utility formats Local Communications Controller (LCC) trace files
that you are sending to either a printer or a terminal. You can select which records
of the trace file you wish to format and display. The system prompts you for
information that $LCCUT 1 requires.

o

Loading $LCCUT1
Load $LCCUTI with the $L command or option 8.12 of the session manager.

>

$l $lCCUTl

LOADING $LCCUTl

37P, 18:17:39, LP= 5700, PART=2

$LCCUTI - FORMAT LCC TRACE FILE
USING VOLUME EDX002
COMMAND (?):

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

COMMAND (?):
CV
DP
DU
EN
RA
SP
SU

-

?

CHANGE VOLUME
PRINT TRACE FILE ON PRINTER ... DP DSNAME PRTNAME
DISPLAY TRACE FILE ON TERMINAL
END PROGRAM
DISPLAY ATTACHMENT RING ADDRESS
SEARCH FIELD VALUE - PRINTER .... SP DSNAME PRTNAME
SEARCH FIELD VALUE - TERMINAL
(-CA- WILL CANCEL)

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

CV - Change Volume
Use the CV command to change the volume that $LCCUTI uses. After you load
the $LCCUTI utility, the system issues the message USING VOLUME EDX002.
$LCCUTI always uses the IPL volume (EDX002) unless you change it. To change
the volume name enter CV and the name of the new volume.

o
4-430

SC34-0940

$LCCUTI

o

You can change the volume that $LCCUTI uses with other $LCCUTI commands
by specifying the volume after the data set name. In the example below, the volume
changes to EDX003.

COMMAND (?): DP TRACEDS,EDXa03 PRINTER2

If you do not specify the name of the volume on the command line, the system
prompts you for one.

COMMAND (?): CV
NEW VOLUME LABEL: MYVOl
USING VOLUME MYVOL
COMMAND (?):

If you specify an invalid volume while using the CV command, the utility uses the
volume specified previously if it is available.

DP - Print Trace File on Printer
Use the DP command to display formatted trace records on a printer. After you
enter the DP command, the system prompts you for a trace data set name. If you
want the trace records printed on a specific device, you must specify the printer
name on the command input line along with the data set name.
Example 1: Specify a printer name.

COMMAND (?): DP TRACE8 PRINTER2
TRACE DATA SET IS

3ee RECORDS

FIRST RECORD:
23
LAST RECORD:
22
FIRST RECORD ( e TO CANCEL COMMAND): 23
LAST RECORD: 22
DUMP COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

If you do not specify a printer name, the system uses $SYSPRTR.

o
Chapter 4. Utilities

4-431

$LCCUTI

Example 2: Default to $SYSPRTR.

o

COMMAND -(.?) ;

Example 3: Change a volume using DP. (The output goes to PRINTER2.)
COMMAND (1)

DP TRACEDS, EDxaa3 PRINTER2

FIRST RECORD:
2
LAST RECORD:
5
FIRST RECORD ( 0 TO CANCEL COMMAND) : 2 .
LAST RECORD: 5
DUMP-COMPLETE
ANOTHER AREA (YIN)? N
COMMAND (?):

o

o
4-432

SC34-0940

$LCCUTI

o

DU - Display Trace File on Terminal
Use the DU command to display formatted trace records on your terminal screen.
After you specify DU on the command line, the system prompts you for the trace
data set name. Then you must specify the first and last record you want displayed.
An explanation of the numbered items follows the example. For more information
on the trace records, refer to the IBM Series/l Local Communications Controller
Feature Description, GA34-0142-2.
Example:

COMMAND (?): DU
DS NAME: TRACE58
TRACE DATA SET IS

300 RECORDS

FIRST RECORD: 23
LAST RECORD: 22

I

*****RECORD 23 *****
CC = 0003 ISW = 0058
RESULT: NORMAL END

I

IDCB = 7158 39CE
DCB = 2702 9100 00.00 0808 39DE 0808 080A 58 FE
OPERATION: SPECIFIC READ
DATA LENGTH = 10
1
1F01 0E01 0101 09C4 0000

II

***** RECORD 24 *****
CC = 00(:)2 ISW = 805A
RESULT: EXCEPTION
CYCLE STEAL STATUS: E8FE 0(:)0C 2(:)(:)0 8000 0(:)00
IDCB= 7Q5A 3BA2

1m

OPERATION: WRITE DATA END
DCB = 011C9200 00(:)0(:)0(:)0000000(:)(:) 0614 F38A
DATA LENGTH =
1556
,
1'38(:)1 (:)0e,0, 0001 0002 0003>~~(:)40005~(:)06
'1700(:)7,0(:)(:)8 '(:)(:)09' (:)(:)GA 0(:)(:)B (:)(:)0C G(:)0D0(:)G£

DUM~ COMPLETE
ANOTHER AREA" Cf/N)?
.J:QMMAND(?:):

Figure

N

4-21. Dumping LCC Trace Records to a Terminal

c
Chapter 4. Utilities

4-433

$LCCUTI

II

The system displays the number of the records you are tracing.

fJ

This line provides 2 items of diagnostic information:

II

CC

This is the interrupt condition code. The trace on this card was a
normal end.

ISW

This is the interrupt status word.

()

The system displays a brief interpretation of the condition code and interrupt
status byte. Possible results are:
NORMAL END
EXCEPTION
EXCEPTION - DELAYED COMMAND REJECT
EXCEPTION - INCORRECT LENGTH RECORD
EXCEPTION - DCB SPECIFICATION CHECK
EXCEPTION - STORAGE DATA CHECK
EXCEPTION - INVALID STORAGE ADDRESS
EXCEPTION - PROTECT CHECK
EXCEPTION - INTERFACE DATA CHECK
NOT DEFINED.
Note: If you receive the exception INCORRECT LENGTH RECORD, no
data is stored in the receive buffer. This error indicates that the amount
of data sent is larger than the size of the buffer.

II

The system displays the immediate device control block (IDCB) used in this
I/O operation.

II
II

The system displays the device control block (DCB) used in this I/O operation.
This line provides a brief interpretation of what operation was performed by
the device control block whose values are represented on the previous line.
Possible results are:

o

NO-OP
SPECIFIC READ
UNSOLICITED READ
SOLICITED READ
READ UNDEFINED
SET IPL
STATUS REQUEST
WRITE REQUEST
READ REQUEST
WRITE DATA
SOLICITED DATA
WRITE DATA END
SOLICITED DATA END
BROADCAST MESSAGE
WRITE UNDEFINED.

4-434

SC34-0940

B

The system displays the number of bytes of data sent or received during the
current operation.

II

The system displays the first line of data. The data length for this record is 10;
therefore, the system displays only one line of data. The leftmost column in
the line of data shows the first byte position of each line in decimal values. If
the data length is greater than 220 bytes, only the first 216 bytes of the data
are displayed followed by the last 4 bytes of the data record.

0

....

$LCCUTI

m The system displays the beginning of record number 24.
m displayed
The system displays cycle-steal status words 0 - 4. These words are only
when an exception occurs that produces cycle-steal status

o

information.

EN - End Program
Use the EN command to end the $LCCUT1 utility.
Example: End $LCCUT 1.

I

COMMAND (?):

EN

l!L_C_C_UT_l_E_N_DE_D_A_T__ll_:_18_:_3_0____

~--------------------------_______

J

RA - Display Attachment Ring Address
Use the RA command to display the ring address of the LCC attachment card.
Each attachment card has its own address on the ring called the ring address. The
ring address is physically jumpered on the card. You need the ring address when
you code an LCC application program. For more information on coding an LCC
application program, refer to the Language Reference.
After you specify RA on the command line, the system prompts you for the device
address. (Use the $IOTEST utility to determine the address of your LCC
attachment card. This is the address you assigned to the card during installation.)
Note: To use the RA command, you must include LeC support in your system.
Example: Display the ring address of the attachment card.

COMMAND (?): RA
ENTER DEVICE ADDRESS (HEX):

Fa

RING ADDRESS = 0098
COMMAND (?):

c
Chapter 4. Utilities

4-435

$LCCUTI

SP - Search Field Value - Printer ... SP DSNAME PRTNAME
Use the SP command to search the trace data set for a record with a field value
matching an input field value. When you use the SP command, output is displayed
on a printer. After you specify SP on the command line, the system prompts you for
the trace data set name. If you want your output displayed on a specific device, you
must specify the printer name on the command input line along with the data set
name. If you do not specify a printer name, the system uses $SYSPRTR. Then
$LCCUT1 displays the trace data set length in records. You must specify the field
type you wish to search. The choices are as follows:

CC

The interrupt condition code (2 bytes in length).

ISW

The interrupt status word (2 bytes in length).

IDCB

The immediate device control block used for this I/O (4 bytes in length).

DCB

The device control block used for this I/O (16 bytes in length).

DATA

The data area. If the data length is larger than 220 bytes, this field
contains the first 216 bytes of data followed by the last 4 bytes of data.
(The data area contains a maximum of 220 bytes.)

CSS

The cycle-steal status words (10 bytes in length). This field is set to zero
unless the record indicates that an exception occurred.

After you specify the field type, $LCCUT1 prompts you for the displacement within
the field at which to begin the comparison. $LCCUT1 begins with the displacement
and searches through to the end of the field for the search value you specified. To
figure out the displacement, start counting from zero. A valid displacement value
for a two byte field is either 0 or 1, and for a four byte field is 0, 1, 2, or 3. Then
specify the number of bytes (length of the string) you wish to compare.

o

0

After you specify the search value, the system prompts you for the first and last
record you wish to search. Once you have specified the first and last record, the
system begins the search. In this example, the condition code X I 0002 I is the search
value. When the system finds the value that matches the search value, the record
that contains the data is printed. If a match is found, the system prompts you to
repeat the find. If you reply Y, the system displays the next record matching the
search value.

o
4-436

SC34-0940

$LCCUTI

Example 1: Searching trace file for field value.

The system uses PRINTER9 in this example.

COMMAND (?): SP TRACE59 PRINTER9
SEARCH FILE FOR INPUT FIELD VALUE
TRACE DATA SET IS

300 RECORDS

ENTER FIELD TYPE (CC,ISW,IDCB,DCB,DATA,CSS):
ENTER DISPLACEMENT WITHIN FIELD: 0
ENTER NUMBER OF BYTES TO BE COMPARED: 2
ENTER HEX SEARCH VALUE: OOOF
FIRST RECORD: 20
LAST RECORD: 24

CC

***** RECORD 23 *****
CC = 0002 ISW = 805A
RESULT: EXCEPTION

CYCLE STEAL STATUS = E8FE 000C 2000 0000 0000
IDCB=70SA 3BA2
DCB=011C92(:}00000 0000 0000 0000 0614 F38A
OPERATIbN:' . WRITE DATA END
DATA LENGTH = 1556
1 38010000 0001 0002 0003 0004 0005 0006
17000700080009 e00A e008 e00C 0e0D 0e0E

················1

j .................

209
LAST 4E4E5 E6E7
>REPEATPINO (YIN)?, N
COMM~~.O(? ).: .

c
Chapter 4. Utilities

4-437

$LCCUTI

Example 2: Searching trace file for field value.

The system defaults to $SYSPRTR in this example.

rDS~~E:

o

COMMAND (1): SP

I"

TRACE58

SEARCH FILE FOR INPUT FIELD VALUE
TRACE DATA SET IS

300 RECORDS

ENTER FIELD TYPE (CC,ISW,IDCB,DCB.DATA.CSS): CC
ENTER DISPLACEMENT WITHIN FIELD: 9
ENTER NUMBER OF BYTES TO BE COMPARED: 2
ENTER HEX SEARCH VALUE: 9992
FIRST RECORD: 29
LAST RECORD: 24
***** RECORD 23 *****

CC = 0002 ISW = 805A
RESULT: EXCEPTION
CYCLE STEAL STATUS = E8FE 000C 2000 0000 0000
roCB = 705A 3BA2
DCB = 011C 9200 0000 0000 0000 0000 0614 F38A
OPERATION: WRITE DATA END
DATA LENGTH = 1556
1

17
209
LAST 4 E4E5 E6E7

o

REPEAT FIND (YIN)? N
COMMAND (?):

SU - Search Field Value - Terminal
Use the SU command to search the trace data set for a record with a field value
matching an input field value. This command works the same way as the SP
command except that all output is displayed on your terminal. For more
information on how to search for a field value, see "SP - Search Field Value Printer. .. SP DSNAME PRTNAME" on page 4-436.

C.·'·

II

I

4-438

SC34-0940

$LINTRC

o

$LINTRC - Communication Line Trace Capture Utility
$LINTRC is a data capture utility that allows you to start and stop line trace
operations on EXIO devices. This includes tracing data for Primary and Secondary
SNA. Before you load the utility, consider the following:
• In order to trace any EXIO data, you must include the IOSEXIO module in
your $LNKCNTL data set at system generation.
• If you want to capture device control blocks and cycle-steal status:
1. Include the EXIOTRC module in your $LNKCNTL data set at system
generation.

2. Load the $TRACEIO utility before you load $LINTRC. Use the TR
command and specify the same device address that $LINTRC will use.
• The trace data set must not be an extendable data set.
• If you want to have valid time stamps on the captured data, you must include
timer support at system generation and set the time and date before starting the
trace.
• The disk device where the trace records will be logged must contain at least 128
contiguous records for the trace log data set.
• The system issues all prompts for single-line entry only.

Handling Buffer Overflow
If a buffer overflow occurs during a line trace operation, the trace record that you
wanted to capture might be lost. To minimize the chances of a buffer overflow:
• Use a memory disk volume for the trace data set so the trace records will be
written to a virtual disk in storage. This eliminates the disk I/O access time.
However, since all data in a memory volume is lost if you perform an IPL, you
must copy the trace data to a volume on disk or diskette to save it permanently.
• Load the utility in a larger partition to give it more dynamic storage for the
buffers.
• Use the "Techniques for Improving Performance" section in the Customization
Guide to help you improve I/O time.
• The system displays the message BUFFER OVERRUN HAS OCCURRED only
the first time it occurs. When the trace ends, the total number of overruns is
displayed.

Loading $LINTRC
Load $LINTRC with the $L command, from an EDL program, through the
$JOBUTIL utility, or option 8.13 of the session manager.

> $L $LINTRC

LOADING $LINTRC

c

19P, 11:03:22, LP=5700. PART=4

·$LINTRC -COMMUNICATION LINE TRACE CAPTURE UTILITY

Chapter 4. Utilities

4-439

$LINTRC

$LINTRC Prompts
After you load $LINTRC, the system issues a series of prompts, one at a time. A
new prompt is displayed only if you responded correctly to the previous prompt. If
you respond incorrectly, the system issues the prompt RETRY (YIN)? for most of
the prompts. If you respond N, the utility ends.

0

".

>$L$LINTR~,

~.lOAD I NG.· $PNTRC:"

'"::".

"",

.

",

"'

,"

'SiSHOULDTRACEOATASETWRAP IF OVERFLOW OCCURS

IJ

II
II
II

D

rAACEDATASETSIZE= 512
TRACt DATA· SET . SIZE IN·' RECORDS:

500' .

NUMBER OF BYTES TO SAVE FROM THE START OF THE TRANSMISSION = 267
FIRST N BYTES TO BE LOGGED: 50
NUMBER OF BYTES TO SAVE FROM THE END OF THE TRANSMISSTION =0
LASTN BYTES TO BE LOGGED: 4
TRACE DEVICE ADDRESS =00
DEVICE ADDRESS (HEX): 70
START TRACING DEVICE 'ADDRESS (E5)

II

Specify a data set name (1-7 characters) and, optionally, a volume name
(1- 6 characters). The system will store all line trace information
(unformatted) in this data set. The default volume is EDX002.

fJ'

If you specify Y, the system creates a secondary trace data set that will be used
for storing trace data when the primary data set is full. The secondary data set
will have the same name as the primary data set with a number 2 appended to
the name. For example, if your primary trace data set is called TRACEDS,
your secondary trace data set will be TRACEDS2.

o

Note: If the primary trace data set size is n records, you must have 2n records
of contiguous storage on disk or diskette available for the primary and
secondary data sets.
If you specify N to the prompt, the system stops logging trace records when
the trace data set is full.

D

Specify a positive decimal value to indicate the number of 256-byte records you
want allocated for the size of the trace data set(s). Both the primary and
secondary trace data sets will be allocated to this size.
Note: If the data set has been used previously as a trace data set and is the
same size as what you specify, the system reuses it. If it is not the same
size, the system deletes the data set and reallocates it at the size you
specify. If an existing data set has not been used previously as a trace
data set, the system prompts IS IT OK TO USE IT NOW (YIN)? If
you specify Y, the system deletes the data set and reallocates it at the
size you specify. If you specify N, the system prompts you for another
data set name.

4-440

SC34-0940

0

,....

$LINTRC

The minimum data set size is 128 and the maximum is 32767. The default
value depends on the type of data set:

o

• If it is an existing data set and it has been used previously as a trace data
set, the default value is the existing size.
• If it is a new trace data set, the default value is 512.

II

Specify the number of bytes (0 - 4096) from the beginning of the message that
should be logged.
The default value for FIRST is 267, but in most cases, 18 bytes should be
sufficient. This allows the following breakdown for SDLC/SNA header
information (see the $LINUT1 "Example" on page 4-456):
• LH (Link Header) - 2 bytes
• TH (Transmission Header) - 6 bytes
• RH (Request/Response Header) - 3 bytes
• Sense code - 4 bytes (if sense da ta exists)
• RU (Request/Response Unit) - 3 bytes.

1:1

Specify the number of bytes (0 - 4096) before the end of the message that
should be logged.
The default value for LAST is 0; the maximum value is 4096 minus FIRST.
FIRST and LAST cannot both be O.

II

Specify the hexadecimal address (00 - FF) of the communication line you want
to trace.

B

Specify N to end $LINTRC. Specify Y to start the logging process. The
system displays the following message:

where nnnn is the address you specified.

c
Chapter 4. Utilities

4-441

$LINTRC

Loading $LINTRC with an EDL Program
If you load $LINTRC from an EDL program, you can select 1-4 device addresses
to be traced (subchannels are traced also).

0

. ..

Note: You cannot select a subset of subchannels.
Example: The following example shows how to load $LINTRC from a program.

LOAD

LOAD

$LINTRC,PARMS, LOGMSG=NO , PART=ANY

PARMS

EQU
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

12345678
CL8 1TRACE
CL8 1EDXtltl3
CL21Y
CL6 15tltl
CL6 15tl
CL6 14
CL4 17tl
CL4 171
CL4 1
CL4 1
*

I

I

LOAD PARAMETERS PASSED TO $LINTRC
TRACE DATA SET NAME (1-7 CHARS)
TRACE DATA SET VOLUME (1-6 CHARS)
WRAP ON OVERFLOW (Y OR N)
DATA SET SIZE (1-5 CHARS)
# OF LEADING BYTES (1~4 CHARS)
# OF TRAILING BYTES (1-4 CHARS)
DEVICE ADDRESS IN HEX (2 CHARS)
DEVICE ADDRESS IN HEX (2 CHARS)
DEVICE ADDRESS IN HEX (2 CHARS)
DEVICE ADDRESS IN HEX (2 CHARS)

o
Loading $LINTRC Using $JOBUTIL
Load $LINTRC using the $JOBUTIL utility. The following example shows how to
load $LINTRC from $JOBUTIL.

JOB
$LINTRC
PROGRAM $LINTRC,EDXtltl3
NOMSG
PARM
TRACE EDXtltl3 Y 5tltl
EXEC
EOJ

5tl

4

7tl 71

(~.!
,j

4-442

SC34-0940

!.

$LINTRC

Controlling $LINTRC Execution
You can use three attention commands to control $LINTRC: STOP, SUSPEND,
and RESUME. STOP ends the $LINTRC utility. SUSPEND suspends the tracing
operation until you enter RESUME.
Example 1: End $LINTRC.

l~:_L_:T_N:_:_C_E_ND_E_D_A_T_l_O_:3_0_:_32

______________________________________

~J

Example 2: Suspend tracing.

l~:_R_~_~_:_~_:_US_P_E_ND_E_D_A_T_l_2_:2_1_:1_-7

__________________________________

~J

Example 3: Resume tracing.

o

Il

J

> RESUME

~T_R_A_CI_N_G_R_ES_U_M_ED__
AT__12_:_2_2:_1_9____________________________________~

You can trace multiple lines at the same time by loading separate copies of
$LINTRC, but you must use a unique trace data set for each line. We recommend
that you load only one copy of $LINTRC in a single partition. However, if a single
partition does contain more than one copy of $LINTRC, the system will perform the
attention command on the most recently loaded copy.

c
Chapter 4. Utilities

4-443

$LINTRC

Examples
The following examples are for illustrative purposes only.

(

............. '.

I'

i

I

Example 1: Loading $LINTRC with wrapping specified and the trace data set not

I'
.....n .... "

allocated previously. The system will allocate the trace data set on the IPL volume.
>

$l $LINTRC

LOADING $LINTRC

67P. 11:03:22, LP=5700, PART=4

$LINTRC - .COMMUNICATIONLINETRACE CAPTURE UTILITY
TRACE DATA SET (NAME,VOLUME): TRACEDS
SHOULD TRACE DATA SET WRAP IF OVERFLOW OCCURS (YIN)? V
TRACE DATA SET SIZE = 512
1RACE DATA SET SIZE IN RECORDS: 6BB
NUMBER.OF BYTES TO SAVE FROM THE START OF THE TRANSMISSION = 267
FIRST N BYTES TO BE LOGGED: 18
NUMBER OF BYTES TO SAVE FROM THE END OF THE TRANSMISSION = 0
LASTN. BYTES TO BE LOGGED: 2
TRACE DEVICE ADDRESS = 00
DEVICE ADDRESS (HEX)~ 28
START TRACING DEVICE ADDRESS (YIN)? V
TRACE· ACTIVE ON DEVICE ADDRESS = 28
TRACE DATA SET TRACEDS,EDX002 IS FULL
SWITCHING TO TRACE DATA SET TRACEDS2,EDX002
TRACE DATA SET TRACEDS2,EDX002 IS FULL
SWITCHING TO TRACE DATA SET TRACEDS,EDX002
BUFFER OVERRUN HAS OCCURRED
TRACE DATA SET TRACEDS,EDX002 IS FULL
SWITCHING TO TRACE DATA SET TRACEDS2,EDX002
>

STOP

WARNING '2 BUFFER OVERFLOWS HAVE OCCURRED
$LINTRC ENDED AT 11:30:16,RC = 2

Note: Because wrap was specified, the total number of records required is 1200 since
the.primary and secondary trace data sets will each contain 600 records.

o
4-444

SC34-0940

$LINTRC

Example 2: Loading $LINTRC with no wrapping specified and the trace data set

()

has not been used previously for trace data.
>

$l $LINTRC

LOADING $LINTRC

19P, 11:03:22, LP=5700, PART=4

$LINTRC - COMMUNICATION LINE TRACE CAPTURE UTILITY
TRACE DATA SET (NAME,VOLUME): TRACEDS,TRCVOL
SHOULD TRACE DATA SET WRAP IF OVERFLOW OCCURS (YIN)? N
TRACEDS,TRCVOL HAS NOT BEEN USED PREVIOUSLY AS A TRACE DATA SET.
IS IT OK TO USE IT NOW (YIN)? V
TRACE DATA SET SIZE = 512
TRACE DATA SET SIZE IN RECORDS:

699

NUMBER OF BYTES TO SAVE FROM THE START OF THE TRANSMISSION = 267
FIRST N BYTES TO BE LOGGED: 289
NUMBER OF BYTES TO SAVE FROM THE END OF THE TRANSMISSION = 0
LAST N BYTES TO BE LOGGED: 2
TRACE DEVICE ADDRESS = 00
DEVICE ADDRESS (HEX}: 11
START TRACING DEVICE ADDRESS (YIN)? V

o

TRACE ACTIVE ON DEVICE ADDRESS = 11
TRACE DATA SET TRACEDS,TRCVOL IS FULL
$LINTRC ENDED AT 11:14:16

c
Chapter 4. Utilities

4-445

$LINTRC

Example 3: Loading $LINTRC with no wrapping specified and the trace data set

already allocated and used previously for trace data. The system displays the
characteristics of the trace data set.

TRACE DATA SET (NAME. VOLUME):

C·
. J
,J

TRACEDS,TRCVOL

TRACE DATA IN TRACEDS,TRCVOL WILL BE LOST. CONTINUE (YIN)? Y
TRACE DATA SET WILL NOT WRAP
TRACE DATASET SIZE = see
NUMBER OF BYTES TO SAVE FROM THE START OF THE TRANSMISSION = 256
NUMBER OF BYTES TO SAVE FROM THE END OF THE TRANSMISSION = 12
DEVICE ADDRESS = lC
ARE DEFAULT VALUES OK TO USE (YIN)? Y
START TRACING DEVICE ADDRESS (YIN)? Y
TRACE ACTIVE ON DEVICE ADDRESS

= lC

TRACE DATA SET TRACEDS,TRCVOL IS FULL
$LINTRC ENDED AT 11:14:16

0-

Ci'"
4-446

SC34-0940

$LINTRC

()

Example 4: Loading $LINTRC with wrapping specified and the trace data set
already allocated. The data set has been used previously for trace data, but some of
the current defaults need to be changed. The user wants to copy the primary trace
data set (TRACEDS,EDX002) before the system writes over it, so he suspends the
trace operation after the primary data set is full, copies the data set to a save area
(not shown here), then resumes the trace operation.

>

$L $LINTRC

LOADING $LINTRC

19P t 11:03:22 t LP=5700, PART=4

$LINTRC - COMMUNICATION LINE TRACE CAPTURE UTILITY
TRACE DATA SET (NAMEtVOLUME): TRACEDS
TRACE DATA IN TRACEDS , EDX002 WILL BE LOST. CONTINUE (YIN)? Y
TRACE DATA SET WILL WRAP
TRACES DATA SET SIZE = 600
NUMBER OF BYTES TO SAVE FROM THE START OF THE TRANSMISSION = 18
NUMBER OF BYTES TO SAVE FROM THE END OF THE TRANSMISSION = 12
DEVICE ADDRESS = A0
ARE DEFAULT VALUES OK TO USE (YIN)? N
TRACE DATA SET SIZE = 600
TRACE DATA SET SIZE IN RECORDS:
NUMBER OF BYTES TO SAVE FROM THE START OF THE TRANSMISSION = 18
FIRST N BYTES TO BE LOGGED: 267
NUMBER OF BYTES TO SAVE FROM THE END OF THE TRANSMISSION = 12
LAST N BYTES TO BE LOGGED: 0
TRACE DEVICE ADDRESS = A0
DEVICE ADDRESS (HEX):
START TRACING DEVICE ADDRESS (YIN)? Y
TRACE ACTIVE ON DEVICE ADDRESS = A0
TRACE DATA SET TRACEDS.EDX002 IS FULL
SWITCHING TO TRACE DATA SET TRACEDS2,EDX002
>

SUSPEND

TRACING 'SUSPENDED AT 11:18:06
>

RESUME

TRACING RESUMED AT 11:28:22
TRACE DATA SET TRACEDS2,EDX002 IS FULL
SWITCJtING JO.T~ACEPATA$EJ JRACEDS, EDX002
. TRACE DATA SET TRACEDS.~DX0~2 IS FULL
SWITCHING TO TRACEDATA· SETTRACEDS2.EDX002
>

c

STOP

$L·nn'RCENDED .AT 11 :44: 16

Chapter 4. Utilities

4-447

$LINTRC

Note: While tra.cing is suspended, you will lose trace records. However, if the time
interval between switching data sets is sufficient, you can copy the data set
without suspending the trace. Then you do not lose any trace records.

()

o

o
4-448

SC34-0940

$LINUTI

()

$LINUT1 - Communication Line Trace Display Utility
The $LINUTI utility displays or prints the line trace records logged by $LINTRC.
You can use the utility commands to:
• Browse the records (forward or backward)
• Select which records you want to format and display
• Print a range of records.
Before you load $LINUTI, consider the following:
• $LINUTI requires a user partition with a minimum of 56K bytes.
• The only date format supported for display purposes and command syntax is
MM/DD/YY.
• The system issues all prompts for single-line entry only.
• Set the terminal where $LINUTI is loaded to "no pause" using the CT
command of $TERMUTI. If you do not, you will have to press the enter key
more frequently as the screen fills up for each trace record.
• $LINUTI cannot access a trace data set that is in use by $LINTRC.
Note: If you IPL the system while running the $LINTRC capture utility, you cannot
access the trace data set unless you patch the first word and the fifth word of
the trace data set with X I 0000 I and X '7FFF I . If you specified wrap when
overflow occurs, two data sets must be patched. (If your primary trace data
set is called TRACEDS, your secondary trace data set will be TRACEDS2.)
The following is an example of how you would patch the trace data set
(TRACEDS and TRACEDS2) located on volume TRCVOL if you had
specified wrap when overflow occurs. If you did not specify wrap, only patch
the first data set.

1. UNFORMATtED DISPLAY ..,ALL'TRACE RECORDS'
'2. FORMATTED DISPLAY
~ ALL TRACE RECORDS
3.,UNFORMA'fTED'DISPLAY~1~ACE' DATA:ONLY
4.FOR~ATTE[J:DTSPLI\Y
">TRACE DATA ONLY
5~TRACEOATASET;RECOVERY

6. "ENOUTILITY
5,

'"

J.

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

:.'."

..

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

"

,

i F~~E.~~~tEt DATA< ~E!:I~'ClIRRENTLYINlJSE

UNP~Ef)I:CTi\BLERESLILTS·'• \Iltl~'9CCUR.
IS' lIOK. TO CPNT1NUE: (yiN)? . . Y

c
Chapter 4. Utilities

4-449

$LINUTI

Loading $LINUT1
Load $LINUTI with the $L command, or option 8.14 of the session manager.

> $L $LINUTl

LOAD ING $LI NUn

248P. 18:17:39, ·LP=C:lC:lC:lO; PART=5

$LINUTl - COMMUNICATION LINE TRACE DISPLAY UTILITY

The system displays the primary option selection screen as follows:

CHOOSE ONE Of THE FOLLOWING:
1. UNFORMATTED DISPLAY
2. FORMATTED DISPLAY
3. UNFORMATTED DISPLAY
4. FORMATTED DISPLAY
5. END UTILITY

-

ALL TRACE RECORDS
ALL TRACE RECORDS
TRACE DATA ONLY
TRACE DATA ONLY

OPTION NUMBER:

Option 1. Unformatted Display - All Trace Records: Displays (in hexadecimal and

EBCDIC) all the trace records including DCBs, trace data, and cycle-steal status.
The data will not be formatted.
Option 2. Formatted Display - All Trace Records: Formats and displays all the

trace records including DCBs, trace data, and cycle-steal status.

o

Option 3. Unformatted Display - Trace Data Only: Displays (in hexadecimal and
EBCDIC) only trace data and skips over DCBs and cycle-steal status. The data will
not be formatted.
Option 4. Formatted Display - Trace Data Only: Formats and displays only trace

data and skips over DCBs and cycle-steal status.
Option 5. End Utility: Ends the $LINUTI utility.

After you select an option and press the enter key, the following prompt appears:

l~T_R_AC_E~D_A_TA_.·_S_ET_·_(N_A_ME_._VO_L_UM_E_)_:__~__________________________~__~J

o
4-450

SC34-0940

$LINUTI

o

Specify the name of the trace data set you want to display. Then press the enter
key. The system displays a trace record in the following general format:

DEVICE: xx
<
<
<

TIME:

hh:mm:ss MM/DD/YY RECORD: mmmm OF nnnn
>
>

Formatted Data Area (variable number of lines)

>

0000 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
0010 xxxx xxx x xxxx xxxx xxxx xxxx xxx x xxx x
0020 xxxx xxxx xxxx xxxx xxxx xxxx xxx x xxxx

cccccccccccccccc
cccccccccccccccc
cccccccccccccccc

dddd xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

cccccccccccccccc

COMMANDS: EN / PS / NS / PR / NR / D1 / L1 / CP
COMMAND (?):

See "Example" on page 4-456 for an example of an SDLC record.
The bottom lines of a trace record always contain the command list and the
command input line. If the number of lines needed for the display exceeds the lines
available on the terminal screen, use the NS (next screen) and PS (previous screen)
commands to scroll through the display.
If you print a trace record, the command list and command input line do not appear
on the output.

c
Chapter 4. Utilities

4-451

$LINUTI

$LINUT1 Commands
To display the $LINUTI commands at your terminal, enter a question mark on the
command input line of the trace record screen:

,'"

::','"

.....

:."

"'

'".

0y

'

~N .-.;END

$L $LOG

LOGOS (NAME,VOLUME): LOGDS,EDX992
LOADING $LOG
23P.01:fl2:46. LP= flOflfl. PART=2

For more information on how to use $LOG and interpret output from this utility,
refer to the Problem Determination Guide.

4-458

SC34-0940

$LOG

$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 loaded from any terminal assigned to
the same storage partition. Messages will always go to the terminal from which
$LOG was actually loaded.
>

$l $lOG

LOGDS (NAME,VOLUME): lOGDS,EDXee2
LOADING $LOG
23P,01:02:46, LP= 0000, PART= 2
*********************************************************
$ LOG
UTI LIT Y
*
*

*

* THE FOLLOWING ATTENTION COMMANDS ARE AVAILABLE:
*
ATTN/$LOGOFF - TEMPORARILY DEACTIVATE LOGGING

*.

*

*
*
*
*
*

ATTN/$LOGON - REACTIVATE LOGGING
ATTN/$LOGINIT - INITIALIZE LOG DATA SET
REACTIVATE LOGGING
ATTN/$LOGTERM - TERMINATE LOGGING
ATTN/$LOG
- REISSUE COMMAND LIST
ATTN/$LOGDISP - DISPLAY ERROR MSG ON OCCURRENCE
ATTN/$LOGTDW - TERMINATE ON DATA SET WRAP

*
* WARNING: DO NOT CANCEL ($C) THIS PROGRAM.

*

*
*
*

*
*
*
*
*
*
*
*

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

LOGGING ACTIVATED
",III
~)

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.

$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 do not 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.

o
Chapter 4. Utilities

4-459

$LOG

$LOGOFF - Temporarily Deactivate Logging
Use $LOGOFF to suspend error logging ($LOG remains loaded but will no longer
log errors.)

$LOGON - Reactivate Logging
Use $LOGON to restart error logging.

$LOGTDW - Terminate on Data Set Wrap
Use $LOGTDW to end the $LOG utility if the log data set becomes full during
error logging. If you do not use this command, 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) .

. . > $L $LOG LOGDS, EDX992

> $lOGTDW
$~OG WI LLTERMINATE
> $LOGDISP

ON DATA SET WRAP

ERR()RM~SSAGESWILLBEDISPLAYED 'ON OCCURRENCE

$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, refer to the
Installation and System Generation Guide.

(. .,.c;'"
4-460

SC34-0940

$MEMDISK

o

$MEMDISK - Allocate Unmapped Storage as a Disk
Use $MEMDISK to allocate all or a portion of unmapped storage to use as a
"disk. " You can allocate from one to six storage disk volumes, as space in
unmapped storage allows. You must include the STORMGR and DISKIO module
and define unmapped storage on the SYSPARMS statement during system
generation to be able to use unmapped storage and this utility. Refer to the
Installation and System Generation Guide for information. The device address for
storage disk volumes is zero. For more information on how to set up, obtain, access
and release unmapped storage, refer to the Language Programming Guide and the
Language Reference.
Use storage disk volumes to create temporary work data sets for the $SlASM
assembler, the $EDXASM compiler, and the $EDXLINK linkage editor. You may
also want to place the assembler itself and all the overlays in storage disk volumes.
This will decrease assembly time.
Note: Storage disk volumes are part of main storage. Therefore, you will lose these
volumes in the event of a power failure or an IPL. Use volumes you create
with $MEMDISK only for work data sets, programs, and other files that you
can recover if a power failure or IPL does occur.

Loading $MEMDISK
Load $MEMDISK with the $L operator command or through the $JOBUTIL
utility.

c'

>

$L $MEMDISK

LOADING$MEMDISK

45P,ee:01:54, LP=2Cee, PART=3

MEMDISK INITIALIZATION UTILITY
COMMAND (1):

As long as a storage disk volume is defined to the system, $MEMDISK support
acquires and holds the following storage resources:
• Four pages in partition one (1 page = 256 bytes).
• One page in the partition containing your disk I/O support modules.
• A 2K block of storage (on a 2K boundary) in the highest partition from which
the system can obtain it. You can specify the partition by coding the
$MEMDISK IV command through a LOAD instruction or by loading
$MEMDISK through a $JOBUTIL program.
• A 2K block of unmapped storage containing the storage disk volume directory.
(This directory is reserved for system use only.)
Example 1 shows you how to load $MEMDISK through the use of virtual terminals
without operator intervention. (Y ou must, of course, have virtual terminal support.)
Example 2 shows you how to load $MEMDISK interactively through a $JOBUTIL
job stream.

Chapter 4. Utilities

4-461

$MEMDISK

Example 1: If you compile the following sample program and give it the name
$INITIAL, the system loads it at IPL time. The program loads $MEMDISK and
allocates a disk volume (MEMVLI) in unmapped storage. Then it loads
$COPYUTI and copies the loader to the memory disk volume it just created.
Finally, it loads $MEMDISK again to indicate that the loader resides on MEMVLl.
Virtual terminal support is required for this program.

o

Note: For information and examples on the use of virtual terminals, refer to the
Language Programming Guide and the Language Reference; for more
information on system generation'Jrefer to the Installation and System
Generation Guide).

MDISK
START

PROGRAM
EQU

START
*

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

* LOAD $MEMDISK AND ISSUE THE COMMANDS (ANSWERl) TO ALLOCATE
* THE MEMORY DISK VOLUME 'MEMVLl'.

*
*

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

ENQT
LOAD
CALL
DEQT

B
GET B SIDE OF VIRTUAL TERMS
$MEMDISK,MEMPARM,LOGMSG=NO,EVENT=ECB,ERROR=ERR
SENDTEXT,(ANSWERl)
SEND ANSWERS TO $MEMDISK
RELEASE VIRTUAL TERMINAL

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

* LOAD $COPYUTI AND PASS IT DATA SET 'LOADCOPY' WHICH CONTAINS
* THE COMMANDS TO COpy $LOADER FROM DISK TO VOLUME 'MEMVLl'

*
*

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

$COPYUTl,COPYDS, LOGMSG=NO,EVENT=ECB, ERROR=ERR
LOAD
ECB
WAIT FOR $COPYUTI
WAIT
(ECB,NE,-l)
IF $COPYUTI FAILED
IF
'COPYUTI ERROR, RC= ' PRINT ERROR MESSAGE
PRINTEXT
ECB
PRINT RETURN CODE
PRINTNUM
PRINTEXT
SKIP=l
OUTPUT MESSAGE
PROGSTOP
ENDIF

o

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

* LOAD $MEMDISK AND ISSUE THE COMMANDS (ANSWERl) TO SET THE
* LOADER TO LOAD FROM MEMORY DISK VOLUME 'MEMVLl'

*
*

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

ENQT
LOAD
CALL
DEQT
PROGSTOP

B
GET B SIDE OF VIRTUAL TERMS
$MEMDISK,MEMPARM,LOGMSG=NO,EVENT=ECB,ERROR=ERR
SENDTEXT,(ANSWER2)
SEND ANSWERS TO $MEMDISK
RELEASE VIRTUAL TERMINAL

*************************************************************************
* ERROR ON LOAD
*
*************************************************************************

ERR

Figure

4-462

SC34-0940

EQU
DEQT
PRINTEXT
PRINTNUM
PRINTEXT
PROGSTOP

*
'ERROR ON LOAD, RC= '
RC
SKIP=l

RELEASE VIRTUAL TERMINAL
PRINT ERROR MESSAGE
PRINT .RETURN CODE
OUTPUT MESSAGE

4-22 (Part 1 of 2). Sample $MEMDISK Program Using Virtual Terminals

o

$MEMDISK

o

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

* SUBROUTINE SENDTEXT

*

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

SUBROUT
SENDTEXT,TEXTADDR
ENQT
A
MOVE
#l,TEXTADDR
DO
UNTIL,«O,#l),EQ,-l)
DO
UNTIL, (RC,EQ,+BREAK)
READTEXT LINE,MODE=LINE
TCBGET
RC,$TCBCO
ENDDO
PRINTEXT (2,#1)
MOVE
TEXTSIZE+l,(O,#l),BYTE
#1,2
ADD
#l,TEXTSIZE
ADD
ENDDO
READTEXT
LINE,MODE=LINE
ECB
WAIT
RETURN

TEXTADDR=TEXT STRING ADDR
GET A SIDE (SYNC SIDE)
GET STRING ADDRESS
LOOP FOR ALL ANSWERS
LOOP UNTIL PROMPT RECEIVED
READ THE NEXT LINE
GET THE RETURN CODE
END PROMPT LOOP
SEND REPLY
POINT PAST TEXT CONTROL
POINT TO NEXT RESPONSE
END ANSWER LOOP
READ PGM ENDED MESSAGE
WAIT FOR PGM TO END

************************************************************************
* DATA AREA
*
************************************************************************

o

BREAK
TEXTSIZE
LINE
MEMPARM
RC
ECB
A
B

ANSWER1

ANSWER2

COPYDS

Figure

EQU
DC
TEXT
DATA
DATA
ECB
IOCB
IOCB
EQU
TEXT
TEXT
TEXT
TEXT
TEXT
DATA
EQU
TEXT
TEXT
TEXT
DATA
DATA
ENDPROG
END

8

F'O'
LENGTH=80
F'O'
F'O'
-1

CDRVTA
CDRVTB
*
'IV'
'500'
'100'
, MEMVLl'
'EN'
F'-l'
*

'SL'
, MEMVLl'
, EN'
F'-l'
C'LOADCOPY,EDX002'

PROMPT COMPLETE RETURN CODE
SIZE OF TEXT DATA
I/O CHANNEL
PARM FOR $MEMDISK
RETURN CODE
PROGRAM END ECB
VIRTUAL TERMINAL A (SYNC)
VIRTUAL TERMINAL B
ALLOCATE MEMORY DISK VOLUME
NUMBER OF RECORDS
NUMBER OF DATA SETS
VOLUME NAME
END OF PROGRAM
END OF ANSWER LIST
SET LOADER TO MEMORY DISK
VOLUME NAME
END OF PROGRAM
END OF ANSWER LIST
$COPYUTI CONTROL DATA SET

4-22 (Part 2 of 2). Sample $MEMDISK Program Using Virtual Terminals

When you link the sample program MDISK, you must name the program
$INITIAL if you want it loaded at IPL.

c
Chapter 4. Utilities

4-463

$MEMDISK

You can load $MEMDISK with the $L operator command and use it interactively
as with many other EDX utilities. You can also load $MEMDISK by using the
EDL LOAD instruction with a command passed as a parameter, but you will not be
able to copy $LOADER as in the previous programming example. However, if you
do not have virtual terminals or if you want to be able to specify the partition for
the required 2K block of storage, you may want to use the LOAD instruction.

0

The following example uses the EDL LOAD instruction to pass commands as
parameters to $MEMDISK. The IV command is the only command for which all
six parameters apply. All other commands need only the first two parameters. An
explanation of the parameters follows the example.
Example 3: The first part of the following example allocates and initializes two
memory disk volumes. Memory disk volume MEMVLl has a maximum of 100 data
sets and 800 records. Memory disk volume MEMVL2 has 200 data sets and is
allocated to· the largest size possible. The system takes the required 2K storage area
in partition 6. The default volume is set to MEMVL2. Later, the program resets
the default volume and deletes memory disk volume MEMVLl.

IVPRMI
IVPRM2
SDPRM
RDPRM
DVPRM

LOAD
LOAD
LOAD

$MEMDISK,IVPRMl,LOGMSG=NO,EVENT=ECB
$MEMDISK,IVPRM2,LOGMSG=NO,EVENT=ECB
$MEMDISK,SDPRM,LOGMSG=NO,EVENT=ECB

LOAD
LOAD

$MEMDISK,RDPRMl,LOGMSG=NO,EVENT=ECB
$MEMDISK,DVPRM1,LOGMSG=NO,EVENT=ECB

DATA
DATA
DATA
DATA
DATA

CIIV MEMVL1 00 00800 100 06
CIIV MEMVL2 01 00000 200 00
CISD MEMVL2
CIRDI
CIDV MEMVLl '

1
1

1

o
4-464

SC34-0940

$MEMDISK

o

Parameter Description
IV

(Field 1 - must contain 2 characters). The command to be issued (in
this case, allocate and initialize volume). Valid commands are IV, DV,
SL, RL, SD, RD, RL.

MEMVLl (Field 2 - must contain 6 characters). The name of the volume for the
IV, DV, SD, and SL commands.

00

(Field 3 - must contain 2 digits). If you code 00 for the third parameter,
the system attempts to allocate the volume specified in the second
parameter with the number of records you specify in the fourth
parameter (in this example, 00800). If this is not possible, $MEMDISK
does not allocate the volume and the system issues a return code of 261.
If you code 01 for the third parameter, the system attempts to allocate
the volume specified in the second parameter with the number of records
you specify in the fourth parameter. If this is not possible, $MEMDISK
allocates the volume as large as possible.
If you code 01 for the third parameter and 00000 for the fourth
parameter, $MEMDISK allocates the volume specified in the second
parameter as large as possible.

C

i

.j

00800

(Field 4 - must contain 5 digits). The number of records requested for
the memory disk volume.

100

(Field 5 - must contain 3 digits). The number of data sets you want the
memory disk volume to accommodate.

06

(Field 6 - must contain 2 digits). The partition from which the system
will take the 2K block of storage. If you code 00 for this parameter, the
system takes storage from the highest partition where it is available. This
parameter is ignored if a memory disk is initialized currently.

You can also load $MEMDISK through a $JOBUTIL job stream. If you do not
have virtual terminals or if you want to be able to specify the partition for the
required 2K block of storage, you may want to use $JOBUTIL. Refer to the
Operation Guide for more information about the $JOBUTIL utility.
Example 2: The following example loads $MEMDISK through a $JOBUTIL job

stream and issues the commands to allocate a volume named MEMVLl at the
maximum size with 100 data sets. The job stream loads $COPYUTI to copy the
loader to MEMVLl and loads $MEMDISK two more times to set the loader and
default volume to MEMVLl.
Note: The example allocates three data sets (LINKWORK, ASMWORK, and
EDITWORK) on MEMVLl. You are not required to allocate these data
sets.

c
Chapter 4. Utilities

4-465

$MEMDISK

JOB

$MEMDISK

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

* LOAD $MEMDISK AND INITIALIZE VOLUME 'MEMVLl ' AT THE LARGEST
* POSSIBLE SIZE WITH A MAXIMUM NUMBER OF DATA SETS OF 100 AND
* THE 2K BLOCK OF STORAGE IN PARTITION 6.

*
*

o

*

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

PROGRAM
NOMSG
PARM
EXEC

$MEMDISK,EDX002
IV MEMVLl 01 00000 100 06

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

* CHECK TO SEE IF IT COMPLETED SUCCESSFULLY

*

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

JUMP

ENDJOB,NE,-l

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

* ALLOCATE A FEW DATA SETS.

*

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

AL
AL
AL

LINKWORK,MEMVLl 600 D
ASMWORK,MEMVLl 300 0
EDITWORK,MEMVLl 300 0

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

* LOAD $COPYUTI AND COpy $LOADER TO MEMVLl.

*

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

PROGRAM
PARM
EXEC

$COPYUTl,EDX002
LOADCOPY,EDX002

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

* SET $LOADER TO BE LOADED FROM MEMVLl.

*

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

PROGRAM
PARM
EXEC

o

$MEMDISK,EDX002
SL MEMVLl

******************************************************************
* SET THE SYSTEM DEFAULT VOLUME TO MEMVLl.
*
******************************************************************

PROGRAM
PARM
EXEC

$MEMDISK,EDX002
SO MEMVLl

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

* TELL THE OPERATOR THAT MEMVLl IS READY TO GO.

*

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

MEMVLl IS SET UP AND READY TO USE.
REMARK
LABEL
ENDJOB
EOJ
LIST OF THE $COPYUTI CONTROL DATA SET LOADCOPY:
·ROLLON
CV EDX002 MEMVLl
CM $LOADER *
EN
Figure

4-466

SC34-0940

4-23. Sample $MEMDISK Program Loaded through $JOBUTIL

o

$MEMDISK

o

If $MEMDISK is loaded by another program, the completion codes are a valuable
aid in debugging the program. Refer to Messages and Codes for an explanation of
the codes returned by $MEMD ISK.
Once you load $MEMDISK, you can use storage disk volumes with any of the other
utilities except $DASDI, $INITDSK, and the $COMPRES D command.

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

COMMAND (?):
IV
DV
SL
RL
SO
RD
LV
EN

-

?

LOAD MEMORY DISK SUPPORT AND INITIALIZE A VOLUME
DELETE A VOLUME FROM MEMORY DISK
SET $LOADER TO LOAD FROM A MEMORY DISK VOLUME
RESET $LOADER TO LOAD FROM DISK(ETTE)
SET SYSTEM DEFAULT VOLUME TO A MEMORY DISK VOLUME
RESET SYSTEM DEFAULT VOLUME
LIST ALL MEMORY DISK VOLUMES ..• LV PRTNAME
END UTILITY

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

C;\
~/

DV - Delete a Volume from Memory Disk
Use the DV command to delete a storage disk volume from the system and release
that part of unmapped storage. If the storage disk volume you plan to delete is the
last one in the system, then the I page of storage in the partition containing your
disk I/O support, the 2K block of mapped storage, and the 2K block of unmapped
storage is released. The four pages of storage in partition one are not released.
If the storage disk volume you plan to delete is defined as the system default volume,
the system default volume is reset to the original volume. If the storage disk volume
you plan to delete has $LOADER set to load from it, $LOADER is reset to load
from disk(ette).
Example: Delete the STRVOL volume.

COMMAND (?) :

DV

VOLUME NAME: STRVOL
DELETE·· STRVOL (YIN)? Y
STRVOL·DELETED
COMMAND(?):

c
Chapter 4. Utilities

4-467

$MEMDISK

EN - End Utility
Use the EN command to end the $MEMDISK utility.
Example: End $MEMDISK.

o

IV - Load Memory Disk Support and Initialize a Volume
Use the IV command to allocate and initialize a volume in unmapped storage. IV
allocates one volume at a time; for multiple volumes, you must use IV repeatedly for
each volume you allocate. $MEMDISK prompts you for the name (1- 6 characters)
of the volume you want allocated. The name cannot start with the $ character and
the volume you specify cannot currently exist on disk or diskette. $MEMDISK also
prompts for the number (in decimal) of the records within the volume.
Note: If this is the first time you are initializing a storage disk volume, $MEMDISK

allocates the storage resources it requires.
Example: Allocate and initialize the volume STRBLK.

COMMAND{?): IV
SIZE IN RECORDS (0 TO EXIT): 1000
MAXIMUM NUMBER OF DATA SETS: 20
VOLUME NAME:

o

STRBLK

STRBLK ALLOCATED AND INITIALIZED

l-.....;~C_O_MM_A_ND_(_?_):_-'--_~__________~_ _--'-_-'----'--'-_ _ _ _-'----'j

o
4-468

SC34-0940

$MEMDISK

o

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 and then subtracting 8 records for the storage disk volume
directory. In determining if there is sufficient unmapped storage available for a
storage disk volume, the system rounds the size in records (which you supply) to the
next 2K boundary. 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 reprompts you.

INSUFFICIENT UNMAPPED STORAGE AVAILABLE
MAXIMUM AVAILABLE SIZE FOR MEMORY DISK VOLUME

= XXXX

After the system reprompts you for the SIZE IN RECORDS that you want, it
prompts you for the MAXIMUM NUMBER OF DATA SETS. If you specify too
many data sets, the system displays the following message and then reprompts you.

NUMBER OF DATA SETS MUST BE BETWEEN 1 - XXX

LV - List all Memory Disk Volumes ... LV PRTNAME
Use the LV command to list all storage disk volumes that reside in the system.
Example: List all volumes on your terminal.

COMMAND(?): LV
VOLUME:NAME. DEVADDR.ESS
.... MEMVl . . . .
0000

MEMV£
MEMV3

0000< .
0000

Example: List all volumes on the $SYSPRTR.

c
Chapter 4. Utilities

4-469

$MEMDISK

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.

0

Example: Reset system default to EDX002.

COMMAND(?) : RD
SYSTEM DEFAULT VOLUME SET TO EDX002
COMMAND(?):

RL - Reset $LOADER to Load from a Storage Disk Volume
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(ETTE)
COMMAND(?):

o
SO - Set System Default Volume to a Memory Disk Volume
Use the SD command to set the system default volume to a storage disk volume.
$MEMDISK prompts you for the volume name. (You must allocate the volume
using the IV command before you can specify it as the system default.)
Example: Set system default volume to storage disk volume MEMVOL.

COMMAND(?): so
VOLUME NAME: MEMVOL
SYSTEM DEFAULT VOLUME SET TO MEMVOL
COMMAND(?):

o
4-470

SC34-0940

$MEMDISK

o

SL - Set $LOADER to Load from a Memory Disk Volume
Use the SL command to cause the system to load $LOADER from a storage disk
volume. This allows you to load programs much more rapidly since it acts as a
resident loader. You must allocate the volume using the $MEMDISK IV command.
Then you must copy $LOADER to the volume (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 a volume in unmapped storage. The volume
name is MEMDS3.

COMMAND(?): SL
VOLUME NAME: MEMOS3
$LOADER WILL NOW BE LOADED FROM MEMDS3
COMMAND(?):

c
Chapter 4. Utilities

4-471

$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. $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.

o

Diskette Usage
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, SAVOOl, ... , 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.

o

ILoading $MOVEVOL
Load $MOVEVOL with the $L operator command or option 3.8 of the session
manager.

Data Set Specification
If you load $MOVEVOL with the $L operator command, the system prompts you to

enter the names of the data sets and volumes to be used.

4-472

SC34-0940

o

$MOVEVOL

The following example shows the parameter menu displayed when you load
$MOVEVOL with the session manager. Enter the requested information and press
the enter key.

o

$SMM0308: SESSION MANAGER $MOVEVOL PARAMETER INPUT MENUENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
DISK

($$EDXLIB,VOLUME)

DISKETTE (NAME ,VOLUME)

Figure

==>

==>

4-24. $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:
I) Initialize the control diskette with a volume label that is suffixed with
000 (for example, SAVOOO).
2) Create a directory containing at least one member.
3) If the diskette will be used to IPL another system, reserve space for a
nucleus of the appropriate size and write the IPL text.
b. Use $DISKUTI 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.

c
Chapter 4. Utilities

4-473

$MOVEVOL

c. Use COPYUTI to 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.

o

2. Set up a series of data diskettes. For each data diskette:
a. Use $INITDSK to 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,
SAV001, ... , SAVnnn.
b. Create an owner ID field.
c. Allocate a one-mem~er directory. (Enter a one to receive the minimum
number of data sets.)

Type

128 Bytesl
Sector

256 Bytes!
Sector

1024 Bytes!
Sector

Diskette 1 (8/1)

946

1107

-

Diskette 2 (8/1)

1921

2220

-

Diskette 2-D (8/1)

-

3845

Double-sided
diskette (5.25/1)

-

1248

-

High-capacity
diskette (5.25/1)

-

4128

-

4733

o

3. Mount the control diskette and load $MOVEVOL for execution.
You must specify two data sets at load time:
DISK

The volume on disk to be dumped. Specify $$EDXLIB,volname.

DISKETTE The control data set on diskette. Specify dsname,volname.
$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.

()
4-474

SC34-0940

$MOVEVOL

o

Example: Dump operation using a 4966 diskette magazine unit.

>

$L $MOVEVOL

DISK(NAME,VOLUME): $$EDXLIB,EDXaa3
DISKETTE(NAME,VOLUME): $EDXea3,SAvaaa
LOADING $MOVEVOL

20P,10:0?:52, LP=5200, PART=2

DUMP VOLUME EDX003 FROM DISK TO DISKETTE (Y/N)? Y
PROCESSING DISKETTE VOLUME SAVOOO
ENTER VOLUME IDENTIFICATION (1-50 CHAR.): A9/14/82
09/14/82 DUMP OF EDX003 - DATE IS 09/14/82
11 MORE DISKETTE(S) REQUIRED, CONTINUE (YIN)? Y
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING

DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE

VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME

SAVOOO
SAVOOI
SAV002
SAV003
SAV004
SAV005
SAV006
SAVOO?
SAV008

MOUNT NEXT DISKETTE
REPLY -Y- WHEN DONE: y
PROCESSING DISKETTE VOLUME SAV009
PROCESSING DISKETTE VOLUMESAVOI0
VOLUME DUMP OPERATION COMPLETE
9200 RECORDS TRANSFERRED
$MOVEVOL ENDED 10:10:13

You can 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.

Chapter 4. Utilities

4-475

$MOVEVOL

Restoration Procedure
The following steps are required for a restore operation.
1. Mount the control diskette and load $MOVEVOL for execution.

o

a. Resppnd 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 Y to the query for diskette to disk restoration.
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.

LOADING $MOVEVOL

20P,1l:05:0S t LP=6300,PART=2

DUMP VOLUME EDX003 FROM DISK TO DISKETTE
,

(YIN)? N

,

RESTORE VOLUME FROM .OrSKETT;E,TQ DlS~, VOLUME' EDX003 :(Y IN)?
RESTORI NGDUMP,' OFEDX0~3' ..::DATE IS': MM/DD/YY
CONTINUE(Y IN)? y
,

PRbCESS;r~G ,DISKETTEVOLUME.SAVC:)00
MOUNT'Nt!

$L $MOVEVOL

DISK
(NAME,VOLUME): $$EDXLIB,MACLIB
DISKETTE(NAME,VOLUME): $MACLIB,BAC998
LOADING $MOVEVOL
-2(:)p,ee:26:e8, LP= 7eee, PART=l
DUMP VOLUMEMACLIBFRO~ ;nISltTO DISKETTE (Y /N)? N
RESTORE VOLUME FROM-DISKETtE TO OISK VOLUME MACLIB (Y/N)? y
RESTORING S719-XX5 Ve4Mee 9/12/82 TO VOLUME MACLIB
CONTINUE (Y/N)? Y
SOURCE VOLUME IS SMALLER THA.tf THE:1A~GH. CONTINUE (Y /N)? y
COMPRESS THIS VOLUME AFTER _INSf~L~l\TION~­
PROCESSING DISKETTE VOLUME BACa_0e;~::
MOUNT NEXT DISKETTE
-REPLY -Y- WHEN DONE: y
PROCESSING DISKETTE VOLUME BACeel'

c
Chapter 4. Utilities

4-477

$MSGUTI

$MSGUT1 - Message Utility

o

$MSGUTI 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 $DISKUT1, $MSGUTI allocates it for you. For information on
creating a source-message data set, Refer to the Language Programming Guide.

Loading $MSGUT1
Load $MSGUTI with the $L operator command or option 2.14 of the session
manager. After you load $MSGUT1, 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

J

> $L $MSGUTl

~W_O_RK_F_IL_E__
(N_AM_E_,_VO_L_UM_E_):________________________________________•

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

COMMAND (?):
DSK
LST*
PRT
STG
END

-

?

CONVERT SOURCE TO DISK-RESIDENT FORMAT
DIRECT OUTPUT TO A TERMINAL
PRINT MESSAGES
CONVERT SOURCE TO STORAGE·RESIDENT FORMAT
END THE MESSAGE UTI LITY

o

.COMMAND (?):

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.

o
4-478

SC34-0940

$MSGUTI

DSK - Convert Source to Disk-Resident Format

o

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.
DSK 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.
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 (?): DSK
MESSAGE SOURCE DATA SET (NAME,VOLUME): USRSRC,USRVOL
DISK-RESIDENT DATA SET (NAME,VOLUME): USRMSG,USRVOL
START OF DISK MESSAGE PROCESSING BEGINS
DISK-RESIDENT MESSAGES STORED IN USRMSG,USRVOL
COMMAND (?):

C'\,
I

')/

END - End $MSGUT1
Use the END command to end $MSGUTI.
Example:

COMMAND (?):

END

$MSGUTI ENDED AT 01:36:04

c
Chapter 4. Utilities

4-479

$MSGUTI

LST - Direct Output to a Terminal
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 loaded $MSGUTl.

O·
'

....

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:

Example: A listing of the messages in EDITUSER on USRVOL is first directed to

the MPRINTER and then to the terminal labeled TERMOl.

COMMAND (?):
COMMAND (?): PRT
MESSAGE SOURCE DATA SET. (NAME ,VOLUME):
INCLUDE MSGID (YIN)? Y
ENTER 4-CHARACTER·MESSAGE
NUMBER PREFIX (DEFAULT MSG#): PGMA

o

COMMAND· (?) : LST TERM91
COMMAND, (?): PRT

o
4-480

SC34-0940

$MSGUTI

PRT - Print Messages

o

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 ID and 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.

COMMAND (?): PRT
MESSAGE SOURCE DATA SET (NAMEtVOLUME): EDITUSER,USRVOL
INCLUDE MSGID (YIN): Y
ENTER 4 CHARACTER MESSAGE
NUMBER PREFIX (DEFAULT MSG#): PGMA
MESSAGE SOURCE DATA SET PROCESSING. HAS BEGUN
COMMANDO) :

Following is a sample of the listing that appears on $SYSPRTR.

PGMA001
PGMA002
PGMA003
PGMA004
PGMA005
PGMA006
PGMA007
PGMA00a
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@

c
Chapter 4. Utilities

4-481

$MSGUTI

STG - Convert Source-Message to Memory-Resident Format
Use the STG command to convert a source-m~ssage 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, refer to 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.

o

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 (MSGISRC on USRVOL) in a data set

(MSGIOBJ) on volume OBJLIB in main storage.

COMMAND (?): STG
MESSAGE SOURCE DATA SET (NAME.VOLUME): MSGlSRC,USRVOl.
STORAGE-RESIDENT MODULE (NAME.VOLUME): MSGIOBJ,OBJlIB
START OF STORAGE MESSAGE PROCESSING
STORAGE-RESIDENT MODULE STORED IN MSGIOBJ .OBJLIB
COMMAND (?):

()

o
4-482

SC34-0940

$PCUTIL

o

$PCUTIL - Copy to and from EDX and Personal Computer Diskettes
The $PCUTIL utility performs several copy functions. Use $PCUTIL to copy a
data set from an EDX-formatted disk(ette) to a personal computer diskette or to
copy a data set from a personal computer diskette to an EDX-formatted disk(ette).
Note: The personal computer diskettes supported are the double-sided,
9-sectors/track, 40 tracks and 15 sectors/track, 80 tracks both at 512
bytes/sector. When using $PCUTIL on an IDSK diskette unit, you can only
use high capacity 15 sectors/track, 80 tracks diskettes.
In addition, use the $PCUTIL utility to:
• Change the direction of the copy function
• Change the EDX volume or address of the diskette device
• Set the option for translation or no translation between EBCDIC or ASCII
formats
• List the root directory of the personal computer diskette.
The direction of the copy function is assumed to be from the Series/! disk(ette) to
the PC diskette. The default source volume is the IPL volume and the default device
address for the personal computer diskette is the first diskette address listed in the
DDB chain. You have the option of changing the direction of the copy function,
the name of the source volume and the address of the diskette device.

Loading $PCUTIL
Load the $PCUTIL utility with the $L command.
> $L $PCUTIL

LOADING $PCUTIL

10P,08:23:46, LP= 0000, •••

$PCUTIL . '~' UTILITY TO TRANSFER DATA USIMG.APCCOMPAtIBLEDISKETTE
****WARNING ****
MEMBERS ON THE TARGET EDX VOLUME WILL BE DELETED.
REALLOCATION AND COPYING OF MEMBERS IS
DEPENDENT ON SUFFICIENT CONTIGUOUS SPACE.
DATf' WILL BEl-CPIEDFROM EOX VOLUME TO P¢:.DISkETtE•. OK (Y /N}? Y
SPllRCE VOLUME IS EDX002, OK (Y/N)? Y ......••.•••.•.... ,
DEVICE ADDRESS FOR TARGET DISKETTE IS 00Q2,'QK{Y/N)? Y
PATA WILL BE COPIED FROM EDX002 TO PC D.rSKETTEATAODRESS 0002.
COMMAND t?):

c
Chapter 4. Utilities

4-483

$PCUTIL

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

~C~~'(~fr~·.·.'~

o

"'GO,
'CM<;

eV'
EN"

tp

NT.

TR

After the utility displays the commands, the COMMA~D (1) prompt appears again.
Then you can respond with the command of your choice (for example, CM).
When the direction of the copy function is from the personal computer diskette to
the Series/1 disk(ette), the data set is allocated on the EDX target volume,
translated, and copied. A warning is shown. If the data set was allocated previously
on the EDX volume, the $PCUTIL utility deletes that data set before the copy
function begins. Reallocation and copying of members is dependent on sufficient
contiguous space.
When the direction of the copy function is from the Series/1 disk(ette) to the
personal computer diskette, no warning is needed. ,The $PCUTIL utility will not
delete a data set (file) on the personal computer diskette. If you specify the name of
a file that already exists in the root directory, $PCUTIL utility will issue an error
message. You must use different names or extension characters (LOG.CMI and
LOG.CM2) to label your files.

O'
~'.

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

o
4-484

SC34-0940

$PCUTIL

o

CD - Change Direction of Copy
Use the CD command to change the direction of the copy function. When you load
the $PCUTIL utility, the direction of the copy function is assumed to be from the
Series/! disk(ette) to the PC diskette. The default source volume is the IPL volume
and the default device address for the personal computer diskette is the first diskette
address listed in the DDB chain.
Example: Change the direction of the copy function. Copy to the EDX volume.

COMMAND (?): CD
DATA.WILL BE COPIED FROM PC DISKETTE TO S/1 VOLUME. OK (YIN)? N
SOURCE VOLUME IS EDX002. OK (YIN)? N
ENTER NEW VOLUME NAME: EDX003
DEVICE ADDRESS FOR SOURCE DISKETTE IS 0002. OK (YIN)? N
ENTER DISKETT; ADDRESS (HEX): 12
DATA WILL BE COPIED FROM EDX003 TO PC DISKETTE AT ADDRESS 0012

Once you specify the correct information, the $PCUTIL utility copies data sets (files)
to or from the Series/! disk(ette) with those new default values until you end the
$PCUTIL utility or change the information using the CD or CV commands.

CM - Copy Member
Use the eM command to copy a data set (file) from the source to the target. For
our purposes, member, data set, and file mean the same thing.
Example: Copy a data set from EDX002 to the personal computer diskette.

c
Chapter 4. Utilities

4-485

$PCUTIL

CV - Change Volume or Diskette Address
Use the CV command to change the EDX volume or the diskette address.

o

Example: Change the source EDX volume and the target diskette address.
('

COMMAND (?): CV
SOURCE VOLUME ISEDX002,OK'(Y/N)? N
ENTER NEW. VOLUME NAME: EDX993
DEVICE ADDRESS FOR TARGET DIsKETTE IS 0002; OK (YIN)?
ENTER DISKETTE ADDRESS (HEX) : 12

N

DATA WILL BE COPIED FROM EDX003 TO pC DISKETTE AT: ADDRESS (l012
COMMAND

(?):

EN - END $PCUTIL
Use the EN command to end the $PCUTIL utility.
Example: End $PCUTIL.

l~:~:_:_:_: _.· _:N_7~_:_DE_:_T_I_0:_1_8:_3_0

______________

~

____________________

~J

o

lD - list Root Directory of PC Diskette
Use the LD command to list the root directory of the personal computer diskette.
You cannot use the $PCUTIL utility to list secondary directories.
Example: List the root directory of the personal computer diskette.
·. COMMAND (?):

Lil

DIRECTORY OF DISKETTE AT ADDRESS 0012
FILENAME

EXT.

MYPROGRM
AAA
AAA
AAA
. TOMBR .
FROMBR

CEM
SRC
OBJ
PGM
RWO
RWO

o
4-486

SC34-0940

$PCUTIL

o

NT - No Translation To/From ASCII
Use the NT command to change the translation default when copying data sets
(files). Once you use the NT command, the $PCUTIL utility copies all data sets
(files) between the Series/1 disk(ette) and the personal computer diskette without
translation until you end the $PCUTIL session or use the TR command to reset the
default.
When you load the $PCUTIL utility, the default is to translate data formatted in
EDX format (EBCDIC) to personal computer format (ASCII) or from personal
computer format (ASCII) to EDX format (EBCDIC).
Example: Change the translation default for the personal computer diskette.

COMMAND (?):

NT

NO TRANSLATION WILL OCCUR TO/FROM ASCII

TR - Translate To/From ASCII
Use the TR command to change the translation default when copying data sets
(files). When you load the $PCUTIL utility, the default is to translate data
formatted in EDX format (EBCDIC) to personal computer format (ASCII) or from
personal computer format (ASCII) to EDX format (EBCDIC). If the NT command
was used during the current $PCUTIL session, the. data sets (files) copied between
the Series/1 disk(ette) and the personal computer diskette were not translated. Use
the TR command to reset the translation default.
Example: Change the translation default for the personal computer diskette.

COMMAND (?):

TR

TRANSLATION WILL OCCUR TO/FROM ASCII

c
Chapter 4. Utilities

4-487

$PFMAP

$PFMAP - Identify 3101(Block Mode)/4978/4979/4980 Program
Function Keys

o

The $PFMAP utility identifies the program function keys on the 3101, 3151 and
316X (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 ofa 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.

Loading $PFMAP
Load $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:

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
4-488

SC34-0940

$PREFIND

o

$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.
$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 overlay programs (DS = and PGMS =
parameters in the 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. 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. Therefore, in a relatively "static" or
unchanging environment, such as a production application, $PREFIND is useful in
reducing the run time of the application.
$PREFIND allows data sets and EDL overlay 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.

Loading $PREFIND
Load $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 load $PREFIND with the $L operator command, it prompts you for the
information it requires .

c

. >$l $PREFIND

LOAQING .·$PREFIND
COMMAND. (.?J: .

Chapter 4. Utilities

4-489

$PREFIND

$PREFIND Commands
To display the commands available under $PREFIND, enter a question mark (?) in
response the COMMAND (?): prompt.

COMMAND (?):

o

?

PF - PRELOCATE DATA SETS AND OVERLAYS
DE - DELETE PRE FOUND STATUS
EN - END THE PROGRAM
COMMAND (?):

After $PREFIND displays the commands, it prompts you again with COMMAND
(?). Enter the command of your choice.
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:

COMMAND (?): PF MYPROG,EDXaa3 D=(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.

o

You must always en~er the data set and program numbers in the formats D = L,_,.J
and P = L,_). 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 prelocate 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).

o
4-490

SC34-0940

$PREFIND

o

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 DS 1, DS2, or DS6.
In the PROGRAM instruction, you can specify "dsname,??" format. For example,
you may have coded the PROGRAM instruction as follows:

TASK!

PROGRAM

START!,DS=(??,(NAME2,EDX002)),

In this statement, two data sets are defined. The name of DSI will be specified at
load time. When the program is loaded, you are prompted for the name of DSI.
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 load the DE command through $JOBUTIL, an error
message occurs if the above condition is encountered.
Any data set or EDL overlay program not marked as being in the pre found state is
located by $LOADER whenever the program is loaded into storage for execution.
Example 1: Processing multiple programs with prompting messages.

C,·

)

COMMAND (?): PF
PGM(NAME,VOLUME): TESTPREF,EDXOOI
ENTER DATA SET NUMBERS: D=(1,2,3,7,9)
ENTER OVERLAY PGM. NUMBERS: P=(ALL)
COMMAND· C9MP'~ETED
COMMAND·•···(?J:

Example 2: Processing multiple programs without prompting messages.

COMMAND (?): • PF
PGM(NAME;VOLUME): TESTPRE2,EDXOOl D=(ALL) P=(ALL)
COMMAND ··COMPLETED
COMMAND (?): EN

$PREFlNDENDED AT 00 :JO: 59

c
Chapter 4. Utilities

4-491

$PREFIND

Prefinding Data Sets and Overlays Using the Session Manager
You can use the session manager option menu for program preparation to load
$PREFIND. Figure 4-25 shows the parameter input menu displayed when you load
$PREFIND with the session manager.

Figure

o

4-25. $PREFIND Parameter Input Menu

After you enter the parameters, $PREFIND executes as if you had loaded it with
$JOBUTIL.

Prefinding Data Sets and Overlays Using $JOBUTIL
When loaded through $JOBUTIL, $PREFIND requires the same information as
described under "Pre finding Data Sets and Overlays Using the $L Command" on
page 4-489. 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.

o

Syntax:

Character
Position
1
10
P ARM
c progname,volume D =

L,_,J P = L,_,J

Operands

Description

c

Either character P for PREFIND or character D for DELETE.

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.

When loaded with $JOBUTIL, $PREFIND performs either a single prelmd or delete
function and then ends. $PREFIND directs error and/or termination messages to
the device defined as $SYSPRTR.

o
4-492

SC34-0940

$PREFIND

o

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)

Chapter 4. Utilities

4-493

$PRT2780 and $PRT3780

$PRT2780 and $PRT3780
The $PRT2780 and $PRT3780 utilities print the spool records produced by the
$RJE2780 and $RJE3780 utilities.

o

Loading $PRT2780 and $PRT3780
You load $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 $PRT37S9

OSl(NAME, VOLUME) :

ASMWORK

LOADING $PRT3780
27P,Oe:02:44, LP=80ee, PART=2
PRINT TO $SYSPRTR (YIN)? Y
$PRT3780 ENDED AT 00:03:05

Spooled data from a j*DR HASP command during a remote job entry session as
printed out by the $PRT3780 utility is:

$19.28.14
$19.28.14
$19.28.14
$19.28.14
$19.28.14
$19.28.14

RM74.RD1
RM74.PR1
RM74.PU1
RM75.RD1
RM75.PR1
RM75.PU1

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

INACTIVE
INACTIVE
INACTIVE
INACTIVE
INACTIVE
INACTIVE

0

o
4-494

SC34-0940

$PRT2780 and $PRT3780

o

Sample $RJE Session
Figure 4-26 shows a typical remote job entry session using the $RJE2780 and
$PRT2780 utilities.

$L $RJE2780
LOADING $RJE2780

>

42P,00:00:00, LP= 7C00, PART=2

ENTER RJE LINE ADDRESS IN HEX:
DIAL HOST
HOST CONNECTION ESTABLISHED
> COMMAND
ENTER COMMAND
/*SIGNON
REMOTEXX
COMMAND READY TO SEND
COMMAND SENT
> PUNCHO

SF

ENTER PUNCH FILE NAME (NAME,VOLUME):
PUNCH FILE DEFINED
> SUBMIT

C'~'"')

PCHOUTOl,EDX002

ENTER SUBMIT FILE NAME (NAME,VOLUME): RJEJOBOl,EDX002
SUBMIT FILE READY TO SEND
FILE TRANSMISSION STARTED
FILE TRANSMISSION COMPLETED
> COMMAND
ENTER COMMAND
/*$DA
COMMAND READY TO SEND
COMMAND SENT
> PRINTON
ENTER PRINTER NAME: PRTRI
PRTRI DEFINED AS RJE PRINTER
> COMMAND
ENTER COMMAND
/*$DA
COMMAND READY TO SEND
> RESET
ENTER RESET TYPE (CO,SU,SP,PU): CO
RESET COMPLETED
PUNCHING STARTED
PUNCHING COMPLETED
LAST CARD PUNCHED WAS CAR02 ON RECORD
34
Figure

4-26 (Part 1 of 2). Sample $RJE Session

c
Chapter 4. Utilities

4-495

$PRT2780 and $PRT3780

o
SPOOLING STARTED
PUNCH DATA BEING RECEIVED -NOPUNCHFlLE DEFINED
ENTER PUNCH ·FORMAT - S OR 0: S
ENTER PUNCH FiLE NAME (NAME,VOLUME):
PUNCH FILE DEFINED
PUNCHING STARTED
PUNCHING COMPLETED
LAST CARD PUNCHED WAS CARD 1 ON RECORD
> ENDS POOL
SPOOLING COMPLETED
>

51

COMMAND

ENTER COMMAND
j*SIGNOFF
COMMAND READY TO SEND
COMMAND SENT
$RJE2780 ENDED AT 00:00:00
>

$L $PRT27S9

DSl(NAME,VOLUME): SPOOL91,EDX992
LOADING $PRT2780
9p,00:00:00. LP= 7C00
PRINT TO $SYSPRTR (Y OR N)? N
ENTER PRINTER NAME: PRTRI

O·
'I~

$PRT2780 ENDED AT 00:00:00
Figure

4-26 (Part 2 of 2). Sample $RJE Session

o
4-496

SC34-0940

$RJE2780 and $RJE3780

o

$RJE2780 and $RJE3780
$RJE2780 and $RJE3780 are utilities that simulate an IBM 2780 and 3780,
respectively. The term "RJE utility" refers to both $RJE2780 and $RJE3780.
The $RJE2780 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 utility simulates an IBM 3780 having the following characteristics
and features:
• 3780 with IBM 3781 Card Punch

C~I

• 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:
• HASP or HASP V4
• JES2 or JES3
• RES
• VMRSCS.

c
Chapter 4. Utilities

4-497

$RJE2780 and $RJE3780

Loading $RJE2780 or $RJE3780
You load $RJE2780 and $RJE3780 with the $L operator command or session
manager options 8.4 and 8.5, respectively.

o

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 4-27 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 4-26 on
page 4-495 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

'\;
(\_,

4-27. $RJE Attention Commands

o
4-498

SC34-0940

$RJE2780 and $RJE3780

o

Attention Commands
Eleven commands are available to perform control operations.

ABORT
Use the ABORT command to stop a data transmission that is currently in process.
During a SUBMIT 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.
The 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.

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.

c
Chapter 4. Utilities

4-499

$RJE2780 and $RJE3780

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:

l~P_U_NC~H_S_P_UN_C_H_OU_T~'E_O_XO_O_l__________~______________________~__~J
$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:

o

. ENTER·RES~TTYPE. (CP,.SU,.SP ,PU):
CO ~ :t.OMMANlIFU~CTtON .... .
SU"SU~MIT{~rFUNCTION
SP-$POOLFUNCTION .
.PU.·;..·PUNCA(S.··ORO): FUNcrtoN··

o
4-500

SC34-0940

$RJE2780 and $RJE3780

o

SPOOL
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:

l~S_P_OO_L__SP_O_OL_F_L_E._W_RK_L_IB________________________________________~j
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 $EDITlN 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
/*CONCAT 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.
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:

c
Chapter 4. Utilities

4-501

$SDLCST

$SDLCST - Display Shared SDLC Device Statistics
Use the $SDLCST utility to display the statistics gathered by the shared SDLC
support for a specific SDLC device or all SDLC devices activated. Statistics are
gathered from the time the device is activated. Both device-level and station-level
statistics are collected and reported.

o

Note: The $SDLCST utility can be used by advanced program-to-program
communication (APPC), or the Primary Systems Network Architecture
(Primary SNA) and Systems Network Architecture (SNA) programming
products.

Loading $SDLCST
Load $SDLCST with the $L operator command.

> $L $SDLCST

LOADING $SDLCST

nnP,00:00:00, LP=

XXXX,

PART=3

SOLC OEVICENAME:

To display the statistics of a specific device, enter the name of that device in
response to the prompt. To display the statistics of all active shared SDLC devices
in your node, press the enter key.
Example: This example shows how to display the statistics for an SDLC device,

o

SDLCDEVl, in your node.

> $l $SDlCST

LOADING$SDLC$T
SOLC OEVICENAME:

nnP,00:80:00, LP=xxxx, PART=3
SDLCDEVI

Notes:
1. If device statistics are not available, the shared SDLC program, $CSDLC, is not
currently active in the system. Issue the command to start the SDLC device.
2. If the specified SDLC device is not started, issue the command to start the
specified device.
3. If shared SDLC is not active, issue the command to start the SDLC device.
The DLC router support will load $CSDLC when an SDLC device is started. For
the procedure to start an SDLC device, refer to the documentation for your SNA
product.

4-502

SC34-0940

o

$SDLCST

o

The following screen shows sample statistics for SDLCDEVI.

STATUS - LINE ACTIV
DEVICE - SDLCDEV1
ADDR - 08
20
TOTAL REQUESTS RECEIVED
TOTAL WAITS FOR IOXS
2
TOTAL FRAMES TRANSMITTED
1894
1894
TOTAL FRAMES RECEIVED
TOTAL I/O EXCEPTION RETRIES
o
TOTAL RECEIVE OVERRUNS DETECTED
o
.TOTAL ABORTED FRAMES RECEIVED
o
TOTAL LONG FRAMES RECEIVED
o
TOTAL FRAMES RECEIVED WITH FCS ERROR =
o
LOGICAL STATION ADDR - 00C1
STATUS - LINK ACTIV
TOTAL I FRAMES TRANSMITTED
1894
TOTAL I FRAMES RECEIVED
1894
TOTAL RNR FRAMES TRANSMITTED
1
TOTAL RNR FRAMES RECEIVED
3
TOTAL NON-PRODUCTIVE RECEIVE TIMEOUTS =
0

o

The utility displays the device name, address, and status.
Status

Description

LINEANSWR

Line is in auto answer state

LINE SETUP

Line is enabled but not ready

LINE DOWN

Line is down

LINE ACTIV

Line is active

B

The utility displays the count of all SNA requests received for this device.
The displayed 32-bit counter wraps around to 0 when incremented past the
maximum value of 4,294,967,295.

II

The utility displays the number of times the system has waited for an lOX
buffer to place a SNA request on the device's request queue. The displayed
16-bit counter wraps around to 0 when incremented past the maximum value
of 65,535.
A high value indicates the need for system tuning. Use the Network
Definition Utility to increase the number of lOX buffers (MIOX parameter)
on the SDLC device configuration record.

c
Chapter 4. Utilities

4-503

$SDLCST

II

The utility displays all frames transmitted by the device (except for retries
because of device error conditions). The displayed 32-bit counter wraps
around to 0 when incremented past the maximum value of 4,294,967,295.

II

The utility displays all frames received including exception conditions. The
displayed 32-bit counter wraps around to 0 when incremented past the
maximum value of 4,294,967,295.

II

The utility displays the count of I/O operations retried because of device
exception conditions. The displayed 16-bit counter wraps around to 0 when
incremented past the maximum value of 65,535.

o

An unusually large number may indicate a problem with the DCE (Data
Circuit-Terminating Equipment) interface or the communications attachment.

fJ

The utility displays the number of device overruns. The displayed 16-bit
counter wraps around to 0 when incremented past the maximum value of
65,535.
An unusually large number may indicate a problem with the DCE (Data
Circuit-Terminating Equipment) interface or the communications attachment.

II

The utility displays the number of aborted frames received. The displayed
16-bit counter wraps around to 0 when incremented past the maximum value
of 65,535.
A high value may indicate a problem with the remote station.

II

The utility displays the number of aborted frames received longer than the
SDLC buffer size plus two, specified on the IMAX parameter on the SDLC
device configuration record. The displayed 16-bit counter wraps around to 0
when incremented past the maximum value of 65,535.

O'w
,

A high value may indicate the need for system tuning. Using the Network
Definition Utility, increase the SDLC buffer size (IMAX parameter) on the
SDLC device configuration record.

o
4-504

SC34-0940

$SDLCST

o

1m

m

m

The utility displays the number of all frames received with a frame check
sequence error detected by the device. The displayed 16-bit counter wraps
around to 0 when incremented past the maximum value of 65,535. A high
value may indicate a problem with the DCE (Data Circuit-Terminating
Equipment), communications link, or communications attachment.
The utility displays the SDLC station (polling) address and its status.
Status

Description

LINK DOWN

Link is down

INACTIVE

Link is inactive

LINK SETUP

Link is activating

LINK ACTIV

Link is active

FRMRSENT

Frame reject sent (secondary only)

LINK RESET

Link is reset (primary only)

TEST SENT

Test sent (primary only)

XID SENT

XID sent (primary only)

LINK DISC

Link is disconnecting

The utility displays the number of all information frames transmitted (with
the exception of frames re-transmitted because of non-productive receive
timeout or polling when the remote station is busy). The displayed 32-bit
counter wraps around to 0 when incremented past the maximum value of
4,294,967,295.
The utility displays this information only if the specified device has active
station(s).

m

The utility displays the number of all information frames received and not
rejected because of an invalid send sequence number. The displayed 32-bit
counter wraps around to 0 when incremented past the maximum value of
4,294,967,295.
The utility displays this information only if the specified device has active
station(s).

c
Chapter 4. Utilities

4-505

$SDLCST

m

The utility displays the number of all Receive-Not-Ready frames transmitted
because of a receive buffer shortage. The displayed 16-bit counter wraps
around to 0 when incremented past the maximum value of 65,535.
A high value indicates the need for system tuning. Use the Network
Definition Utility to increase the number of receive buffers (RBFN parameter)
on the SDLe device configuration record.

o

The utility displays this information only if the specified device has active
station(s).

II

The utility displays the number of all Receive-Not-Ready frames received.
The displayed 16-bit counter wraps around to 0 when incremented past the
maximum value of 65,535.
A high value may indicate a need for the remote station to be tuned.
The utility displays this information only if the specified device has active
station(s).

1m

The utility displays the number of times the non-productive receive timeout,
specified on the SDLC line characteristics configuration record, has expired.
because the remote station has failed to respond. The displayed 16-bit
counter wraps around to 0 when incremented past the maximum value of
65,535.
A high value may indicate a problem with the remote station.
The utility displays this information only if the specified device has active
station(s).

()

o
4-506

SC34-0940

$SPLUTI

o

$SPLUT1 - Spool Utility
You can use $SPLUTl to change the spooling capacity parameters and specify
restart of the spooling facility under specific circumstances.
Note: You can start the spool facility by pressing the attention key and typing $L
$SPOOL,EDX002. For step-by-step procedures on how to start spooling,
refer to the Operation Guide.

Loading $SPLUT1
Load $SPLUTl with the $L operator command or option 4.7 of the session
manager. You can load $SPLUTl into any partition whether or not spooling is
active.
>

$L $SPLUTI

30P,01:00:16, LP= 0000, PART=l

LOADING $SPLUTl

******************************************************
**
EDX SPOOL UTILITY
**
** CHANGES EFFECTIVE THE NEXT TIME $SPOOL IS LOADED **
******************************************************

MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE--SEP-DEVICES-START-FORM
SPOOL

EDX003

10

4

N

10

100

Y

T $SYSPRTR Y

COMMAND(?):

c
Chapter 4. Utilities

4-507

$SPLUTI

When you load $SPLUTI the utility assumes the system defaults for all spooling
parameters. The parameters and the defaults are as follows:
Parameter

Description

Default

DSNAME

Spool data set name

SPOOL

VOLUME

Spool data set volume

EDX003

MAXJOBS

Maximum allowable spool jobs

10

MAXACTV

Maximum active spool jobs

4

RESTRT

Restart

N

GRPSZ

Spool data set group size

100

GRPS

Spool data set groups

10

SEP

Separator page option

Y

JOB SEP

Spool job separator option

T

DEVICES

Designated spool devices

$SYSPRTR

()

~

Figure

4-28. Spooling Defaults

Note: If you want to change a specific spooling parameter you must use the
$SPLUTI command designed to change it.

o

o
4-508

SC34-0940

$SPLUTI

o

$SPLUT1 Commands
To display the $SPLUTI commands, enter a question mark in response to the
COMMAND (?): prompt.

COMMAND(?):

?

os - CHANGE
MJ
MA
RS
CD
GS
SO
JS
CA
EN

-

DATA SET NAME
CHANGE ~AX JOBS
CHANGE MAX ACTIVE JOBS
RESTART
CHANGE SPOOL DEVICE(S) (10 MAXIMUM)
CHANGE SPOOL DATA SET GROUPSIZE
SET SEPARATOR PAGE OPTION
SET JOB SEPARATOR OPTION
CANCEL UTILITY (CHANGES' IGNORED)
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).
Each command and its explanation is presented in alphabetical order on the
following pages.

CA - Cancel Utility (Changes Ignored)

o

Use the CA command to cancel $SPLUTI. The system ignores all changes you
made to the spooling parameters during the session.
Example: Cancel $SPLUTI.

j

l

COMMAND (?): CA

~$_S_P_LU_T_l_E_ND_E_D_A_T_l_l_:1_8_:3_0______________________________~______~

CD - Change Spool Device(s) (10 Maximum)
Use the CD command to change the devices designated as spool devices (DEVICES
parameter) and specify spool write autostart (AUTO parameter) for each device.
Each time you use the CD command, you must specify all devices that are to be
spool devices. No spool devices are carried over from previous uses of the CD
command.
If you specify the same device name twice, the first specification defines the spool
device and the second specification generates the error message INVALID WRITER
NAME when $SPOOL is loaded.

c

In the following example you designate MPTR, LPTR and $SYSPRTR as spool
devices. In the example, $SYSPRTR has automatic writer start and the forms code
is FM35. Printers MPTR and LPTR do not have automatic writer start.

Chapter 4. Utilities

4-509

$SPLUTI

Note: Each time you generate a serial printer (for example, a 4201 or 4224 printer)
as a spoolable device, the system adds 98 bytes (per max active job) to
SPLCCBS in partition 1. For example, if the max active jobs is set to 4, the
system adds 392 bytes to storage.

O',~'.
"

Example:

COMMAND(?): CD
DEVICE NAME' (ENTER BLANK 'TO END):
WRITER AUTOSTART (YIN)? Y
ENTER FORMS CODE: FM35
DEVICE NAME fENTEll BLANKTa END):
WRITER AUTOSTART (YIN)? N
. DEVICE NAME (ENTER BLANk TO END):
WRITER AUTo'START (YIN)?' N
DEVICE NAME (ENTER BLANK TO END):
MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOlUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE--SEP...,DEVICES-START-FORM
SPOOLTMP EDX003 14

6

N

14

100

Y

T

COMMAND (?) ':

os -

Change Data Set Name
Use the DS command to change the spool data set name and volume (DSNAME
and VOLUME parameters).

o

Note: If the spool data set is deleted, you must issue the DS command so that
$SPOOL recognizes the new data set name. You must do this even if the
data set name did not change.
Example: Change the data name and volume to SPOOLTMP, EDX003.

SPOOLTMP,EDX003

SPOOLTMP EDX883 10

4

COMMAND(?):

o
4-510

SC34-0940

$SPLUTI

o

EN - End Utility (Changes Accepted)
Use the EN command to end the utility and record the changes you made to the
spooling parameters. The next time you use $SPLUTI the parameters will be as you
changed them for the previous session.
Example: End $SPLUTI.

l

J

COMMAND (?): EN

~$_S_PL_U_T_1_E_ND_E_D_A_T_1_1_:1_8_:_30______________________________________~

GS - Change Spool Data Set Groupsize
Use the GS command to change the spool data set groupsize (GRPSZ) parameter.
Example: Change the spool data set allocation (groupsize) to 20 records per group.

COMMAND(?): GS
PHYSICAL RECORDS PER GROUP (1-255): 20
MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE--SEP-DEVICES-START-FORM
SPOOLTMP EDX803 14

6

N

14

20

Y

T $SYSPRTR Y FM35
MPTR
N
LPTR
N

COMMAND(?):

JS - Change Spool Job Separator Option
Use the 1S command to change the w~y spooled output is handled from tasks within
a program. Option T (the default) creates an individual spool job for each task
within a program, creating spooled output. Option P combines all the spooled
output from a program into a single spool job.

COMMAND ( ?) : JS
SEPARATE JOBS BY TASK OR PROGRAM (TIP NOW IS T)? P
MAX

MAX

DSNAME---VOLUME~JOBS-ACTV-RESTART~GROUPS-

SPOOL

SPOOLV 10

4

N

99

GROUP SEP JOB
AUTO
SIZE--PAGE--SEP-DEVICES-START-FORM
100
N
P $SYSPRTR N

COMMAND(?):

c
Chapter 4. Utilities

4-511

$SPLUTI

MA - Change Max Active Jobs
Use the MA command to change the maximum number of active spool jobs
(MAXACTV parameter).
Example: Increase the maximum number of active spool jobs to 6.

o

COMMAND(?): MA
MAX ACTIVE JOBS: 6
MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE--SEP-DEVICES-START-FORM
SPOOLTMP EDX003 14
6
N
14
100
Y
T $SYSPRTR Y
COMMAND(?):

MJ - Change Max Jobs
Use the MJ command to change the total number of spool jobs (MAXJOBS
parameter) allowed in the system at any point in time.
Example: Increase the total number of spool jobs allowed in the system at any point
in time to 14.

COMMAND(?): MJ
MAX JOBS: 14
MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE--SEP-DEVICES-START-FORM
SPOOLTMP EDX003 14

4

N

14

100

Y

T $SYSPRTR Y

o

o
4-512

SC34-0940

$SPLUTI

RS - Restart

o

Use the RS command to restart spooling. $SPLUTI starts spooling the spool data
set you specified in your last session.
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, and each time a $S operator command is processed.
For an explanation of the $S operator command, see "$S - Control Spooled
Program Output" on page 2-7.
• Restart spooling as a normal procedure after loading 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.
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:
• The first time a new spool data set is used
• To delete' any jobs left over from a previous spool session.

c;

Notes:
1. Once the spool restart is specified, restart remains in effect for all subsequent

spool sessions until reset with $SPLUTI.
2. Restart mode must be set to off (N) before you change any spooling capacity
parameters.
3. You cannot set restart mode to on (Y) during the $SPLUTI session in which
you change any spooling capacity parameters (CD, DS, as, MA, MJ, and SO
commands).
4. The changes take effect in the next spooling session.

c
Chapter 4. Utilities

4-513

$SPLUTI

Example 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) .

r

>$L $SPLUTI
. LOADING $SPLUTI

l

3BP.BB:I0:1q. LP=.OB00, PART=l

o

******************************************************
**
EDX SPOOL UTILITY
**
** CHANGES EFFECTIVE THE NEXT TIME $SPOOLIS LOADEO·**
******************************************************
MAX MAX
GROUP SEP JOB
AUTO
DSNAME,.. .. -VOLUME-JOBS-ACTV-RESTART;..GROUPS-·SIZE--PAGE--SEP-DEVICES-START-FORM
SPOOL

EDX003 14

COMMAND(?):

6

N

14

WO

Y

T $SYSPRTR Y FM35
MPTR
N
LPTR
N

RS

RESTART (YIN)? Y
ALL PREVIOUS CHANGES IGNORED
RESTART TO SPOOL.EDX003 (YIN)? Y
NO FURTHER CHANGES ALLOWED
MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE,..-PAGE--SEP-DEVICES-START-FORM
SPOOL

EDX003 14

6

y

14

100

Y

o

T $SYSPRTR Y FM35
MPTR
N
LPTR
N

COMMAND(?): EN
~~----------------------------------------------------~------/

o
4-514

SC34-0940

$SPLUTI

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

-*-*****************************************************
**
EOX SPOOL UTILITY
**
** CHANGES EFFECTIVE THE NEXT TIME $SPOOL IS LOADED **
******************************************************

MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE--SEP-DEVICES-START-FORM
SPOOL

EDX003 14

6

N

14

100

Y

T $SYSPRTR Y FM35
MPTR
N
LPTR
N

COMMAND(?): RS
RESTART (YIN)? Y
ALL PREVIOUS .CHANGES IGNORED
RESTART TO SPOOL,EDX003 (YIN)? N
ENTER (NAME,VOLUME): SPOOLl,EDX003
NO FURTHER CHANGES ALLOWED
MAX

MAX

GROUP ,SEP

JOB

AUTO

DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS-SIZE--PAGE--SEP~DEVICES~START-FORM

SPOOLl EDX003
COMMAND{?) : EN

4

Y

T $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.

""-"
C)
"

Chapter 4. Utilities

4-515

$SPLUTI

Example 3: Specify spool cold start. This example shows how to specify that
spooling is to be cold-started.

$L $SPLUTl
LOADING $SPLUTl

>

o

3.3P, (n: 00: 16 t LP= 0000,· PART=2

***********************.*******************************
**
EDXSPOOL UTILITY
.**
** CHANGES EFFECTIVE THE NEXT TIME $SPOOL IS .LOADED: **
***************************************.***************
MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE-;..SEp ... DEVICES-START-FORM
SPOOL

SPOOL2 14

COMMAND(?): RS
RESTART (YIN)?

6

Y

14

100·

Y

T $SYSPRTR Y FM35
MPTR
N
LPTR
N

N

MAX MAX
GROUP SEP JOB
AUTO
DSNAME---VOLUME-JOBS-ACTV-RESTART-GROUPS- SIZE--PAGE--SEP-DEVICES-START-FORM
SPOOL

SPOOL2 14

COMMAND(?):

so -

6

N

14

100

N

T $SYSPRTR Y FM35· .
MPTR
N
LPTR
N

EN

o

Set Separator Page Option
Use the SO command to change the separator page option (SEP parameter). In the
following example, the separator page option is specified as no. When you specify
no for the SEP parameter, you do not receive separator pages between jobs.
Example:

i

COMMAND(?): so
SET SEPARATOR PAGE OPTION (YIN NOW IS Y>: N
MAX MAX
GROUP SEP JOB
AUTO
DSNAME--;..VOLUME-JOBS-ACTV.;.RESTART-GROUPS.;. SIZE--PAGE--SEP..;DEVICES..;START-FORM
SPOOLTMP EDX003 14

6

N

14

20

N

T $SYSPRTR Y FM35
MPTR
N
LPTR .
N

COMMAND(?):

o
4-516

SC34-0940

$STGUTI

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.

Loading $STGUT1
Load $STGUTl with the $L operator command. The session manager does not
support this utility.

>

$L $STGUTI

$STGUTI - FREE STORAGE UTI LITY
LOADfNG $STGUTl
9P,ee:ee:ee, LP=

aeee.

PART= 2

COMMAND (?):

$STGUT1 Commands
To display the $STGUTI commands on your terminal, enter a question mark in
response to the COMMAND (?): prompt.

C

~'I

I

COMMAND (?):

?

./

FR
OS
lC
MX

-

FREE UP STORAGE
LIST STORAGE SEGMENTATION REGISTERS
LIST STORAGE CONFIGURATION
MONITOR SYSTEM CONTROL BLOCKS
(-CA- WI II CANCEL)
UN - LIST UNMAPPEOSTORAGE INFORMATION
DO - DISPLAY DATA SET EXTENT TABLE STATISTICS
EN - END PROGRAM

COMMAND (?):

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.

c
Chapter 4. Utilities

4-517

$STGUTI

DD - Display Data Set Extent Table Statistics
Use the DD command to display statistics on the dynamic data set table named
DMEXTBL. Use this table to monitor how your system is using storage. If the
number of data sets (entries) is larger than the maximum number used, modify the
table to save supervisor storage. If the table is too small (the swap count is high),
then read/write performance will be slow. For information on how to modify the
table, refer to Installation and System Generation Guide. An explanation of the
numbered items follows the example.

o

Example:

COMMAND (?):QD

D
II
ENTRIES ALLOCATED =
fJ

PRIMARY ENTRIES ALLOCATED =
EXTENT

NUMBER OF SWAPS :

II

2€); .MA)(. USED =
l€)€);

~MAX

IJ'

. USED' =

II
II

20; CURRENT =
80; CURRENT:

1

II

Primary entries allocated. This is the number of extended data sets the system
can access at one time. In the example, there are 20 data sets defined as
extendable.

fJ

Max used. The maximum number of primary entries the system accessed at
one time. In this example, the maximum is 20. Each time you issue the DD
command, max used is reset to zero.

II

Current. The number of primary data sets the system is accessing currently.
In this example, the system is using 10.

II

Extent entries allocated. This is the number of extents the system can access at
one time. In the example, there are 100 extents.

II

Max used. The maximum number of extents the system accessed at one time.
In this example, the maximum is 80. Each time you issue the DD command,
max used is reset to zero.

o

,I

D

Current. The number of extents the system is accessing currently. In this
example, the system is using 30.

B

Number of swaps. The number of times the system had to remove entries
from the table to make room for another data set. In order to allocate space,
the system moves (swaps) some entries to make room for new ones. In this
example, this happened once. Each time you issue the DD command~ the
number of swaps is reset to zero.

0,
,

4-518

SC34-0940

,

I.

$STGUTI

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.

COMMAND (1):

os

CPU SEGMENTATION REGISTERS:
BLOCK
0000
8800
1000
1888
2000

AOS00
0004
880e
0014
001C
0024

AOS01
0104
018C
0114
01lC
8124

AOS02
0204
828C
0214
021C
0224

AOS03
0304
838C
0314
031C
0324

AOS04
0000
8888
0800
0008
0000

AOS05
0000
8808
0008
0000
0000

AOS06
0000
0888
0000
0000
0000

AOS07
0000
8088
0000
0800
0000

0800
E000
E800
F000
F800

000C
00E4
00EC
00F4
08FC

010C
01E4
01EC
01F4
81FC

020C
02E4
02EC
02F4
02FC

030C
03E4
03EC
03F4
83FC

0000
0000
0000
0000
0008

0000
0000
0000
0000
0880

0000
0000
0000
0000
8080

0000
0000
0000
0000
0088

I/O SEGMENTATION REGISTERS:
BLOCK
0000
0880
1000
1880

BNK00
0004-S
000C-S
0014-S
001C-S

BNK01
0104-0
010C-0
0114-0
811C-0

BNK02
0204-0
020C-0
0214-0
021C-0

F088
F800

08F4-S 01F4-0 82F4-0 03F4-S 04F4-0 05F4-0 06F4-0 87F4-0
00FC,..S 01FC-O· 02FC-0 03FC-S 04FC-0 0SFC-O 06FC-O 07FC-0

BNK83
0304-S
030C-S
0314-S
031C-S

BNK04
0404-0
040C-0
0414-D
041C-0

BNK85
0504-0
050C-0
8514-0
051C-0

BNK06
0604-0
060C-0
0614-0
061C-0

BNK07
0704-0
870C-0
8714-0
071C-0

COMMAND (?):

EN - End Program
Use the EN command to end the $STGUTI utility.
Example:

I

l

COMMAND (?): EN·
..
$STGUT1 ENDED AT 02: 18: 31

)

----------~----------------------------------~~~~~~

c
Chapter 4. Utilities

4-519

$STGUTI

FR - Free Up Storage

o

Use the FR command to release storage that is not being used by application
programs. $STGUTI prompts you for the partition number and location (load
point) of the storage you want to release. If the area is currently assigned to a
program, $STGUTI issues a message and does not release the area.
Note: You can use the $A operator command to display the location of data areas
in a partition.
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 :: (:)

o

PROGRAM AREA-NOT RELEASED

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.

LC - List Storage Configuration
Use the LC command to list the processor type and the amount of mapped and
unmapped storage on the current system.
Example 1: Display the output on the terminal being used.

l

COMMAND(?):

lC

Example 2: Send the output to a designated terminal or printer.

lCOMMAND(1),

lC $SYSPRTR

j

~~~----~~~~~~~----~~~~~~~~~~~~--~----~

4-520

SC34-0940

$STGUTI

o

Example: Following is an example of the listing of current storage configuration
and an explanation of the information.

II

COMMAND(?):

LC $SYSPRTR

*** CURRENT STORAGE CONFIGURATION ***

B

PROCESSOR ID

HEX 10306 1

I

MAPPED STORAGE
UNMAPPED STORAGE
TOTAL PHYSICAL STORAGE

3664 PAGES 458 2K BLOCKS
4528 PAGES 566 2K BLOCKS
8192 PAGES 1024 2K BLOCKS

COMMAND(?):

II
D

The name of the terminal or printer where the listing is to be displayed.
The hardware ID of the processor being used.
4950
5170
4952
4953
4954
4955
4956B
4956B/G
4956B/G
4956E/H
4956J/K

C'·';
r

II
D
II

X ' OOOl l
X ' OI0l 1
X ' 0002 1
X ' 0003 1
X ' 0004 1
X ' 0005 1
X ' 0006 1 1/2MB storage
X ' OI06 1 1MB storage
X ' ll06 1 1MB with MEDL
X ' 0206 1
X ' 0306 1

The size of the storage mapped at sysgen time.
The size of unmapped storage.
The total size of the physical storage on the processor.

Note: The sizes are listed in "pages" where each page consists of 256 bytes, and "2K
blocks" where each 2K block is 2048 bytes.

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
SYSPARMS statement. 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.
The MX option session now displays the MECBs by using the name MECBLIST.
Note: The MECBLIST information is displayed only if WAITM is included at
system generation.

Chapter 4. Utilities

4-521

$STGUTI

To list the information on your terminal, use the> DI command under the MX
command. $STGUTI displays the most recent size of the IABUF and the XPSSTK,
the maximum number of entries used to date (MAXIMUM USED), and the number
of entries being used currently.
To write the information to a disk or diskette, $STGUTI prompts you for a data set
name and volume. If the specified data set has already been used to store buffer and
stack information, $STGUTI first reads the information contained in it and then
automatically updates this information periodically. If the specified data set did not
exist previously, STGUTI 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 (> -DI) command
after using the MX) command for the first time. Information appears automatically
at that time only.
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 IABUF or the XPSSTK is reaching the specified size, you
should redefine the sizes on the SYSTEM definition statement and regenerate your
system.
Example 1: List the XPS stack information on the terminal and cancel buffer and
stack monitoring.

COMMAND (?):

MX

ATTN ICA I CANCELS MONITORING
ATTN 1011 LISTS SYSTEM INFORMATION ON TERMINAL
WRITE XPS STACK INFO TO DISK(ETTE) (YIN)? N
IABUF
AVAILABLE 20;
XPSSTK AVAILABLE 20;
MECBLIST AVAILABLE 20;

MAXIMUM USED = 0;
MAXIMUM USED = 2;
MAXIMUM USED = 12;

SCB'S

MAXIMUM USED
MAXIMUM

AVAILABLE 113;
TASKS WAITING:

DYNAMIC SEG REGS 113;
TASKS WAITING:
STATIC SEG REGS
CA

107

:>

MONITORING CANCELLED
COMMAND (?):

4-522

SC34-0940

CURRENTLY IN USE =
CURRENTLY IN USE =
CURRENTLY IN USE =

o
1

3

=

1;
O·,

CURRENTLY IN USE
CURRENTLY

=

o

MAXIMUM USED =
MAXIMUM

3;

CURRENTLY IN USE
CURRENTLY

=

o
o

o·,

e

$STGUTI

o

Example 2: Write system information to diskette'and display it on the terminal.

COMMAND (?):

MX

ATTN 'CA' CANCELS MONITORING
ATTN '01' LISTS SYSTEM INFORMATION ON TERMINAL
WRITE SYSTEM INFORMATION TO DISK(ETTE) (YIN)? N
IABUF
AVAILABLE 20;
XPSSTK AVAILABLE 20;
MECBLIST AVAILABLE 20;

MAXIMUM USED = 0;
MAXIMUM USED = 2;
MAXIMUM USED = 12;

CURRENTLY IN USE =
CURRENTLY IN USE =
CURRENTLY IN USE =

o

SCB'S

MAXIMUM USED
MAXIMUM

AVAILABLE 113;
TASKS WAITING:

DYNAMIC SEG REGS 113;
TASKS WAITING:
STATIC SEG REGS
>

1
3

=

1;
0;

CURRENTLY IN USE =
CURRENTLY

0
0

MAXIMUM USED =
MAXIMUM

3;
0;

CURRENTLY IN USE =
CURRENTLY

0
0

107

CA

MONITORING CANCELLED
COMMAND (?):

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

*** UNMAPPED STORAGE USAGE (NUMBER OF 2K BLOCKS) ***
UNMAPPED USAGE
MAXIMUM USED = 1600; CURRENTLY IN USE = 1200
$MEMDISK USAGE
MAXIMUM USED =800; CURRENTLY IN USE = 800
TOTAL AVAILABLE 2400
LIST UNMAPPED STORAGE USAGE FOR A SPECIFIC PROGRAM (YIN)? Y
PROGRAM NAME: EDXLINK
PROGRAM= EDXLINK
PARTITION=3
UNMAPPED STORAGE BLOCK # 1
OVERLAY MANAGER STORAGE BLOCK
NUMBER OF UNMAPPED STORAGE AREAS REQUESTED= 5
NUMBER OF STORAGE RESIDENT AREAS OBTAINED= 5
ADDRESS OF MAPPED AREA= 600 PARTITION= 3
COMMAND(?):

c
Chapter 4. Utilities

4-523

$STGUTI

If the program you specify is not currently active, $STGUTI issues the following
message:

j

I PROGRAM EDXLINK NOT FOUND

o

~~--------------------------------~------------------~------~.

If the program specified does not require any overlay segments in unmapped storage

or no overlay segments have been referred to, $STGUTI issues the following
message:

PROGRAM= EDXLINK
NO STORBLKS FOUND

PART=

2

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):
Example:

II COMMAND

(?):

PROGRAM NAME:

UN

o

EDXLINK

PROGRAM= EDXLINK

PART=

3

fJ UNMAPPED STORAGE BLOCK # 1
II OVERLAY MANAGER STORAGE BLOCK

II NUMBER OF UNMAPPED STORAGE AREAS
II NUMBER

REQUESTED=

OF STORAGE RESIDENT AREAS OBTAINED=

IIADDRESS OF MAPPED AREA=

6000

PARTITION=

5
5
3

COMMAND (?):

4-524

SC34-0940

II
EI

The name of the program requiring overlay segments in unmapped storage.

II

The overlay manager has requested the storage block area. The overlay
manager is automatically loaded by the $EDXLINK UNMAPCNT control
statement.

II
II

The number of unmapped storage areas requested.

II

The address and partition of the mapped area.

The number of the storage block that is being described. (If more than one
control block is described, information about each control is displayed.)

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.

$SUBMIT

$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 Language Programming
Guide.

Loading $SUBMIT
You load $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 load $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

LOADING $SUBMIT

8P,09:18:62. LP=2300, PART=2

$SUBMIT - EDX JOB QUEUE SUBMISSION PROGRAM
ENTER ?IAT ANY TIME FOR HELP
I

THE JOB QUEUE PROCESSOR MUST BE LOADED TO CONTINUE.

LOAD IT (YIN)? Y

PARTITION NUMBER (1-8) OR ENTER FOR ANY: 4
THE JOB QUEUE PROCESSOR ($JOBQ) IS IN SUSPENDED MODE.
USE THE IIRJQ" COMMAND IN $JOBQUT TO RESUME PROCESSING.
JOB QUEUE PROCESSOR LOADED INTO PARTITION 4
COMMAND (?):

c
Chapter 4. Utilities

4-525

$SUBMIT

$SUBMIT Commands
To display the $SUBMIT commands, enter a question mark in response to the
prompting message COMMAND (?):

( COMMAND(?):
OJ
HJ
RJ
SJ
SH
STQ
DCH

o

?

- DELETE A JOB
-. HOLD A JOB
- RELEASE A JOB
- SUBMIT A JOB
- SUBMIT A JOB AND HOLD IT
- DISPLAY THE STATUS.OF JOB QUEUE PROCESSING
- DETACH $SUBMIT; RESUME-ATTN SUBMIT, END-ATTN ENDSUB

EN - END $SUBMIT
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 DJ 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.

COMMAND (?): OJ
JOB NUMBER: 5
ARE YOU SURE YOU WANT TO DELETE JOB 5 (YIN)? Y
JOB 5 DELETED
COMMAND (?):

o
4-526

SC34-0940

$SUBMIT

o

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

$SUBMIT ENDED

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

l

COMMAND (?):

EN

$SUBMIT ENDED

c
Chapter 4. Utilities

4-527

$SUBMIT

0

HJ - Hold a Job Waiting for Execution
Use the HJ command to place a job waiting for execution into a hold state. You
mubst !dendtifyIfthe jOhb to bebhe!d wdith the jObb numdber displayed Wbhenhth~ jObb was
su mltte.
you ave su mltte many JO s an cannot remem er t e JO num ber
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.

COMMAND (?): HJ
JOB NUMBER: 26
JOB 26 HELD
COMMAND (?):

Once a job is placed in a hold state, you can release it for execution using the RJ
command or delete it using the DJ command.

RJ - 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.

COMMAND (?): RJ
JOB NUMBER: 17
JOB 17 RELEASED
l_C_O_MM_A_ND__
{?_)_:__________

~

____________________________

~

j

__

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.

o
4-528

SC34-0940

$SUBMIT

Example: Submit and hold a job with a priority of 3.

o

COMMAND (?): SH
ENTER COMMAND DATA SET (NAME,VOLUME): ASMJOBl,EDXGG2
ENTER A PRIORITY FROM 0 TO 3 (DEFAULT 2): 3
JOB NUMBER
7: SUBMITTED AND HELD
COMMAND DATA SET: ASMOBJl,EDX002
JOB PRIORITY
3
COMMAND (?):

SJ - Submit Jobs to the Job Queue Processor
Use the SJ command to submit jobs for execution. You are prompted for the name
of the $JOBUTIL command data set to be executed.

C,'~
i

Optionally, you can assign a priority to the job you wish to execute. Four priorities
are available, 0 - 3. where 0 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.
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 (?): SJ
ENTER COMMAND DATA SET (NAME,VOLUME): COMPILE,CANPRC
ENTER A PRIORITY FROM 0 TO 3 (DEFAULT 2):
JOB PRIORITY DEFAULTED TO 2
JOB NUMBER
5: SUBMITTED
COMMAND DATA SET: COMPILE,CANPRC
JOB PRIORITY
2
COMMAND(?): SJ JOBl,EDXGG2 1
JOB NUMBER
6: SUBMITTED
COMMAND DATA SET: JOBl,EDX002
JOB PRIORITY
1
COMMAND (?):

Chapter 4. Utilities

4-529

$SUBMIT

STQ - Display the Status of Job Queue Processing

Ufs~ td~e. SdTQl ~obmmSanTdQtod' dislPlay hth~ sbtat~s °hf jObdqu~ue Phir~chesshing and thebst~tusd

o In IVl ua JO s.
ISP ays t e JO s In t e or er In w c t ey were su ffiltte .
For each job in the queue, $SUBMIT displays the following:

0,"
_

• Job number
• Command data set name
• Job priority
• Individual job status - waiting, held, executing.
Example: Display status of job queue processing.
COM~AND

(?):

STQ

JOB QUEUE PROCESSING IS IN EFFECT
LOGGING TERMINAL IS $SYSLOG
JOB NUMBER

COMMAND DATA SET

PRIORITY

2
3
4
5
6
7

OVERNITE,USRVOL
CALCJOB ,PAYROL
CHECKS ,PAYROL
CALCJOB ,EDX002
JOBl
,EDX002
ASMJOBl ,EDX002

2
1

NUMBER OF JOBS QUEUED IS 6

o
o
2
3

STATUS
HELD
WAITING
EXECUTING
WAITING
WAITING
HELD

O

"~

~

.

COMMAND (?):

o
4-530

SC34-0940

$SlASM

o

$S1ASM - Series/1 Assembler
$SIASM assembles source programs coded in Series/l assembler language into
object modules. The source program can include Series/l assembler language
macros such as the commands provided by the Event Driven Executive Macro
Library.
If you have a mixture of Series/l assembler language statements and EDL
instructions, you must use $SIASM.
If your program contains only EDL instructions, use $EDXASM; your processing
will be much faster. For more information, see "$EDXASM - Event Driven
Language Compiler" on page 4-236.
Before using $SIASM, 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
$SIASM requires the following data sets. You must specify these data sets in the
order shown when you use the $L operator command to load $SlASM. The source
program input data set and the object data set must be specified when you load
$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 load $SlASM.
2. Three work data sets (DS2-DS4) are used by the assembler. They contain object
code, relocation pointers, the symbol table, and other informati$L $SlASM,ASMLIB,32768

SOURCE
WORKl
WORK2
WORK3
OBJECT

(NAME,VOLUME);ASMSRC
(NAME, VOLUME): WK1,WORK
(NAME, VOLUME): . WK2, WORK
(NAME,VOLUME):WK3,WORK
(NAME,VOLUME): ASMOBJ

MACLIBl (?):

The following single-line entry is equivalent to the multiline entries above.

> $L $SlASM,ASMLIB,32768 ASMSRC WKl,WORK WK2,WORK WK3,WORK ASMOBJ

MACLIBl (?):

Specifying Macro Libraries
If you require macros for an assembly, you can specify one or two macro library
volumes.

o

In both of the previously shown methods of loading $SlASM, you are then
prompted as follows:

l

MACLlBl (1):

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:

l

MACLlBl. (?) :

MACLBl

MACLIB2 (?):

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 Executive Macro Library and copy code.

C)
.-J'

4-534

SC34-0940

$SlASM

O'~'
,

,

Specifying Assembly Options
After entering the macro library volume name(s) or a null response, you are
prompted as follows:

l

ENTER OPTIONS (?):

After the prompt appears, you can:
• Enter a null response and take the default options (LIST, OBJECT, MACRO).
• Enter the options you desire (for example, LIST, NOXREF, NORLD). See
"Assembler Options" on page 4-532.
• 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:

l~E_N_T_ER__OP_T_I_ON_S__(?_)_:__L_IS_T_'N_O_X_RE_F_'_NO_R_LD______________________________~J

C

"l,',~'

you are prompted with:

,/

l~E_N_TE_R__OU_T_PU_T__DE_V_IC_E_N_A_M_E:______________________________________~J
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 $SlASM displays is:

l~C_P_A0_.0_0_I_A_S_SE_M_B_LE_R_S_T_A_RT_E_D______________________________________~J

c
Chapter 4. Utilities

4-535

$SlASM

Example: The following examples shows how to use single-line entry and

prompt-mode entry and use:
• ASMSRC for the source library

o

• WKI, WK2, and WK3 for work files
• ASMOBJ for the output me
• MACLBI for the macro library
• PRNTRI for the output listing.
Single-line Format: This example illustrates how to specify multiple data

sets/volumes using single-line entry.
>

$L $SlASM,ASMLIB ASMSRC WKl,WORK WK2,WORK WK3,WORK ASMOBJ

MACLIBl (?):

MACLBI

MACLIB2 (?):
ENTER OPTIONS (?):

lIST,NOXREF,NORLD PRNTRI

CPA000I ASSEMBLER STARTED

Prompt/Reply Format: This example illustrates how to specify multiple data

sets/volumes in prompt mode.

c.~

7

>

$L $SlASM,ASMLIB

SOURCE
WORKI
WORK2
WORK3
OBJECT

(NAME, VOLUME):
(NAME,VOLUME):
(NAME,VOLUME):
(NAME, VOLUME):
(NAME,VOLUME):

MACLIBl (?):

ASMSRC
WKl,WORK
WK2,WORK
WK3,WORK
ASMOBJ

MACLBI

MACLIB2 (?):
ENTER OPTIONS (?):

LIST,NOXREF,NORLD

ENTER OUTPUT DEVICE NAME:

PRNTRI

CPA000I ASSEMBLER STARTED

o
4-536

SC34-0940

$SlASM

o

Assembling a Program Using the Session Manager
To load $SlASM using the session manager, select option 2 from the program
preparation secondary option menu.
Figure 4-29 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: SESSION MANAGER $SlASM PARAMETER INPUT MENU
ENTER/SELECT PARAMETERS:
PRESS PF3 TO RETURN
SOURCE INPUT (NAME,VOLUME): ===> ASMSRC,EDXaa2
OBJECT OUTPUT (NAME,VOLUME): ===> ASMOBJ,EDXaa2
ENTER OPTIONAL PARAMETERS BY POSITION:
MACLB1
PRNTR1
LIST,NORLD,NOXREF
1---------2---------3---------4----------------------------MACLIB1 MACLIB2 PRINTER ASSEMBLER OPTIONS SEPARATED BY COMMAS
(VOLUME) (VOLUME) NAME
LIST /NOLIST XREF /NOXREF /FULLXREF
TEXT/NOTEXT MACRO/NOMACRO
ESD/NOESD OBJECT/NOOBJECT
RLD/NORLD LINECOUNT(N) N=LINES/PAGE
DEFAULT OPTIONS ARE:

c

Figure

LIST,OBJECT,MACRO

4-29. $SlASM Parameter Input Menu

Chapter 4. Utilities

4-537

$SlASM

Assembling a Program Using $JOBUTIL
You can load $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.

0

The following is a sample procedure:

PROGRAM
OS
OS
OS
OS
OS
PARM
EXEC

$SlASM,ASMLIB
ASMSRC
WKl,WORK
WK2,WORK
WK3,WORK
ASMOBJ
MACLBI

PRNTRI

LIST,NOXREF,NORLO

Note: Parameters of the PARM statement are column-dependent:
MACLB1,if coded, must start in column 10
MACLB2, if coded, must start in column 20
PRNTR1, if coded, must start in column 30
The option list, if coded, must start in column 40.

$51 A5M 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/1 Event
Driven Executive Macro Assembler Reference.

o
4-538

SC34-0940

$SlPPRG

$51 PPRG - Analyze Program Performance
Use the $SIPPRG utility to monitor and analyze the use of resources within a
program. $SIPPRG is the main program monitor. You must allocate a data set
(using the $DISKUTI utility) that $SlPPRG can use to store the information it
gathers. You can include that data set name and the volume on the same line when
you load $SIPPRG. If you do not, the system prompts you for the data set name
and volume. If you do not specify a volume, the system automatically uses the IPL
volume.

Loading $51 PPRG
Load $SIPPRG with the $L command.

$L $SlPPRG

>

DSNAME (NAME,VOLUME): DFl,EDX992
LOADING $SlPPRG
33P,00:31:13, LP=7E00, PART=1
EDX PROGRAM ANALYZER

The example above uses the default value for the dynamic storage parameter. This
parameter determines the amount of storage that $SIPPRG uses for program
monitoring. The default for dynamic storage is 256 bytes (256 bytes = 1 page). If
you want to allocate less or more dynamic storage, you must specify it when you
load $SIPPRG.
The format for specifying dynamic storage is:

$L $SlPPRG,volume,dynamic-storage dsname

>

For example, to specify 512 bytes of dynamic storage, load $SlPPRG as follows:

._$......;L_$_Sl_P~P_RG_,_ED_X_9_92_·,_S_12_DF_l_._-'--_----.~-'--_ _ _ _ _ _ _ _ _ _ _ _----'j

l_.>_·

After the system loads $SIPPRG, it prompts you for the name of the program you
want to monitor, the partition where you want the program loaded, and the terminal
where you want the program displayed. In the following example, the system loads
your program into partition 4 and uses $SYSLOG as the display terminal. You can
continue to use the terminal where you loaded $SIPPRG.

c

PROGRAM NAME: MYPROG
PARTITION (DEFAULT IS CURRENT PARTITION): 4
TERMINAl· (DEFAIJLTISCURRENT TERMINAL): $SYSLOG
MYPROG
75p
WILL BE LOADED WHEN; SCANNING STARTS.
COMMA.NQ .. {? 1.:

Chapter 4. Utilities

4-539

$SlPPRG

If the target program is already loaded in partition 4, the system displays the
following message (after the PARTITION prompt) and lists the load point(s):

'ALREADY LOADED AT 4300 5400

"

WAfHTO LOAD ANOTHER COpy (YIN)?
I,DO, YOU
- - - - - - - - - '- -

J

o

- _ /

If you respond Y to the prompt, the system prompts for the name of the terminal

you are using. If you respond N and the program has only one load point, the
system will use the copy that is already loaded. If you respond N and there is more
than one load point listed (as in the example, 4300 and 5400), the system prompts
you for which load point you want:

l~.P_R_O_GR_A_M_L_O_AD__P_OI_N_T_:~54_e_e______________________________________~j
$S1 PPRG Commands
To display the commands at your terminal, enter a question mark in response to the
prompting message COMMAND (?).

COMMAND (?): ?
GO
INT
AT
RNG
INC
SEP
EN
I

INITIATE PROGRAM SCANNING
SPECIFY SCAN INTERVAL (DEFAULT = 100 MS.)
SPECIFY SCAN RANGE (DEFAULT = ENTIRE PROGRAM)
DISPLAY CURRENTLY SELECTED SCAN RANGE
INCLUDE PROGRAM WAIT TIME IN REPORT GRAPH
SEPARATE WAIT TIME FROM REPORT GRAPH (DEFAULT)
TERMINATE PROGRAM EXECUTION

o

COMMAND (?):

~-------------------------------------------------------~)
After the system displays the commands, it prompts you again for the command of
your choice. Each command and its explanation is presented on the following pages
in alphabetical order.

AT - Specify Scan Range
Use the AT command to specify the range of addresses that the system monitors
within the target program. Each address is 1- 4 hexadecimal digits, indicating an
address relative to the start of the target program. Odd numbers round down to
even ones. The default range is the entire program.
Since dynamic storage is divided into double-word count bins (256 bytes of dynamic
storage = 64 count bins), each count bin is associated with one of the address
ranges in the target program. Each time $SIPPRG scans the target program, it
determines the address range where the target program is executing and increments
the corresponding count bin. (The count bin values are used for the report
generator.)

4-540

SC34-0940

0'

$SlPPRG

o

In the following example, the specified address range is from address 0100 to 0500.
$SIPPRG scans the entire target program, but the area from 0100 to 0500 is much
more detailed.
Example: Set the scanning address range.

COMMAND (?): AT
FROM ADDR: 0100
TO ADDR: 0500
RANGE 1:
FROM 0000
RANGE 2:
FROM 0100
RANGE 3:
FROM 0502

TO 00FE
TO 0500
TO 4AFE

BY 0100
BY 0010
BY 45FE

COMMAND (?):

EN - End Program Execution
Use the EN command to end the report generator sampling program.
Example: End sampling program.

COMMAND (?):

EN

DO YOU WANT TO GENERATE A REPORT (YIN)?

If you specify N to the DO YOU WANT TO GENERATE A REPORT prompt, the
program ends. If you specify Y, the system ends $SIPPRG and loads the report
generator.

$SlPPRG ENDED AT 00:22:57
$SlPPRGR - REPORT GENERATOR
COMMAND (?):

GO - Initiate Program Scanning
Use the GO command to start the monitoring operation for the program you
specified when you loaded $SIPPRG. This command deletes any previous sampling
results from the data set.
Example: Load MYPROG and start sampling.

o

COMMAND J?): GO
LOADING MYPROG
75P,00:39:05. LP= 1000. PART= 4
SCANNING STARTED AT 00:39:05. ENTER ATTN (» #END TO END SCANNING.

Chapter 4. Utilities

4-541

$SlPPRG

If the terminal you specified is busy, the system prompts you as follows:

o

If you respond Y, the system waits for that terminal and starts scanning only when
the terminal is no longer busy. If you respond N, the system uses the terminal where
you loaded $SlPPRG.
Note: Once you specify GO, you can use only the attention commands to control

the monitoring operation (see "Controlling $SlPPRG Execution" on
page 4-543).

INC - Include Program Wait Time in the Report
Use the INC command to include CPU time and non-CPU wait times in the
counting and on the report graph.
Example: Include CPU time and non-CPU wait times on the report.

l:::: : :

INC

tNT - Specify Scan Interval
Use the INT command to specify the scanning interval in milliseconds. Valid
interval values range from 1- 2000 inclusive. The default is 100 milliseconds.

o

Example: Set the scanning interval.

COMMAND (?): INT
SAMPLE INTERVAL: 7
SCANNING INTERVAL SET TO -

7 MS.

COMMAND (?) :

o
4-542

SC34-0940

$SlPPRG

RNG - Display Currently Selected Scan Range

o

Use the RNG command to display the target address range and the size of the
locations for which the analyzer is currently taking sample counts.
Example: Display the current scan range.

COMMAND (?):
RANGE 1:
RANGE 2:
RANGE 3:

RNG

FROM 0000
FROM 0100
FROM 0502

TO 00FE
TO 0500
TO 4AFE

BY 0100
BY 0010
BY 45FE

COMMAND (?):

SEP - Separate Wait Time from the Report
Use the SEP command to include only the CPU time in the counting and on the
report. This is the default.
Example: Include only CPU time on the report.

l~:_:_:_:_:

J

__::_.;_:__
SE_P___________________________________________

Controlling $51 PPRG Execution
You control execution of $SIPPRG with the following attention commands:
> #STOP

Stops sampling. The system displays the message SCANNING
STOPPED AT hh:mm:ss and prompts you for another command.

> #END

Ends the program. The system gives you the option of generating a
report (see EN command description above).

Note: The data that the analyzer gathers remains in the dynamic storage area until

either you enter the attention #END command or the program you are
monitoring ends. Then the analyzer writes the data to the disk data set.

Chapter 4. Utilities

4-543

$SlPSYS

$51 P5YS - Analyze System Performance
Use the $SIPSYS utility to monitor how your system uses I/O resources for any time
period. $SIPSYS can track all task dispatches, I/O interrupts, and wait states, and
record them in a data set.

o

Use the $SIPSYSR utility to print the data that the $SIPSYS utility records. See
"$SIPSYSR - Generate a System Performance Report" on page 4-548 for an
explanation of how the $SIPSYSR utility works.

$S1 PSYS Requirements
$S I PSYS has five requirements:
• You must allocate a data set to be used as a statistics file for storing the
information gathered by the monitor program.
• You must have EDX timer support.
• You must have disk support.
• You must have space for the loader that loads SIPSYSPI into partition 1. To
do this, you must have 7.5K of storage, which is 6K for the loader and 1.5K for
SIPSYSPI.
• You must have space for the loader that loads SIPSYSPD into the partition
containing DISKIO support. To do this, you must have 7K of storage, whick is
6K for the loader and IK for SIPSYSPD.
Note: If DISKIO support is in partition I, you need 7.5K of storage to load
S I PSYSP I and S IPSYSPD.

~~'
C
I

\

)

The size of your data set depends on the amount of activity on your system and the
length of time you specify for the data to be collected while the analyzer is running.
The information that the analyzer gathers is saved in 50-byte logical records within
its internal buffers. The system creates a 50-byte record each time a task ends and
another 50-byte record for each data set the task accesses. At checkpoint time the
analyzer groups these 50-byte records together by fives into a 256-byte physical
record, then writes the physical records to the data set.

Loading $S1 PSYS
Load $SIPSYS with the $L command.

$L $SlPSYS
DSNAME(NAME,VOLUME): DSl,EDX002
LOADING $SlPSYS 57P,00:00:29, lP= 7E00;PART=1

>

You can include the statistics data set name and the volume on the same line when
you load $SIPSYS. If you do not, the system prompts you for the data set name
and then the volume. If you do not specify a volume, the system automatically uses
the IPL volume.

4-544

SC34-0940

o

$SlPSYS

If $SIPSYS is using the data set for the first time, the system displays the following
message. Respond Y if you want $SIPSYS to use the data sct or N if you want to
end $S 1PSYS:

OS HAS NOT PREVIOUSLY BEEN USED
AS AN SlPSYS DATA SET.
IS IT OK TO USE IT NOW (YIN)? Y
--- INITIALIZING STATISTICS FILE; PLEASE STAND BY. ---

Once you have loaded $SIPSYS successfully, you receive the following message:

Il

jl

EDX SYSTEM MONITOR
MONITOR ACTIVE ---

_n

-----------""

' - - - .

$51 PSY5 Commands
You control the analyzer by using the following attention commands.

#ACI- Specify the Checkpoint Intervals

(;/~'
J~

To use the #ACI command, press the attention key and enter #ACI. The #ACI
command specifies the interval (in minutes) at which to take checkpoints (when the
$SIPSYS writes all current data to the statistics data set). The valid range is 1- 30
inclusive. The default is 15 minutes. If you do not enter a value on the same line as
the #ACI command, the system prompts you to set an interval. If you enter an
interval, the system then displays the interval you set. If you do not enter an
interval, the system displays the current interval.
Example:

#ACI
AUTO-CHECKPOINT INTERVAL (MINUTES): 19
AUTO-CHECKPOINT INTERVAL SET TO 10 MINUTES

>

#AOV - Specify Auto-overflow On or Off
To use the #AOV command, press the attention key and enter #AOV. The #AOV
command specifies whether or not your statistics data set will overflow automatically
when the monitor program encounters the end of the data set.
If you set auto-overflow to ON, $SIPSYS does not warn you when an overflow
occurs but starts back at the beginning of your data set and continues monitoring.
The data already existing previous to the overflow is lost as the analyzer writes new
data.

Chapter 4. Utilities

4-545

$SlPSYS

Example:

()
If you set auto-overflow to OFF, the default, $SlPSYS does warn you when an
overflow condition exists:

*** DISK DATASET . OVERFLOW ***
WOULD YOU LIKE TO CONTINUE MONITORING (YIN)?

If you respond Y, $SlPSYS will start back at the beginning of your data set and
continue monitoring. Once again, the data already existing previous to the overflow
will be lost. If you want to obtain a copy of that data before it is lost, load
$SlPSYSR (the report generator) on another terminal and print out the data set
contents before responding Y to the overflow prompt.
If you respond N to the prompt, $SlPSYS asks if you want to generate a report (see
#END explanation).

#CKP - Perform a Checkpoint
To use the #CKP command, press the attention key and enter #CKP. The #CKP
command performs a checkpoint immediately and displays the following message:

o

l~~_-_-_c_H_EC~K_PO_I_NT~c_OM_P_l_ET_E_-_-_-______~____________________________~j

o
4-546

SC34-0940

$SlPSYS

o

#END - End $S1PSYS
To use the #END command, press the attention key and enter #END. The #END
command ends $SlPSYS. The $C operator command does not cancel $SlPSYS.
After you enter the command, the system prompts you as follows:

> #END

WOULD YOU LIKE TO GENERATE A REPORT (YIN)?

If you respond N, the monitor operation ends. If you respond Y, as in the example,
the system ends $SlPSYS and loads the $SlPSYSR report generator:

$SlPSYS ENDED AT 00:03:36
$SlPSYSR - REPORT GENERATOR
COMMAND (?):

To use the report generator, see "$SlPSYSR -- Generate a System Performance
Report" on page 4-548.

Chapter 4. Utilities

4-547

$SlPSYSR

$S1 PSYSR - Generate a System Performance Report
Use the $SlPSYSR utility to generate a report containing information about system
performance. $SlPSYSR, the report generator, formats and prints the data that
$SlPSYS records.

o

Note: The numbers in the generated reports are not necessarily exact.

Load $SlPSYSR with the $SlPSYS #END command or with the $L operator
command as shown below:

$L $SlPSYSR
DSNAME(NAME,VOLUME): DSl,EDXa02
LOADING $SlPSYSR
2GP,GG:41:54, LP=GGGG, PART=2

>

$SlPSYSR - REPORT GENERATOR
COMMAND (?):

The example above uses the default value for the dynamic storage parameter. This
parameter determines the amount of storage that $SlPSYSR uses for sorting the
data from the $S1PSYS statistics data set (DS1 in this case). The amount of
dynamic storage you need depends on the amount of activity on the system when the
analyzer stored its information and the length of time the analyzer ran.
The default for dynamic storage is 2048 bytes (256 bytes = 1 page). If you want to
allocate less or more dynamic storage, you must specify it when you load
$S1PSYSR. The format is:

>

C

\·I

$L $SlPSYSR,volume,dynamic-storage dsname

For example, to specify 1024 bytes of dynamic storage, load $SlPSYSR as follows:

l~_>__$L__$_Sl_P_SY_S_R_'E_D_X_OO_'2_'1_0_2_4_D_S_l________________________________~___J
If your dynamic storage area is too small, $SlPSYSR issues the following message:

*** INSUFFICIENT DYNAMIC STORAGE FOR SORT ***
DO YOU WISH TO USE A WORK DATA SET (YIN)?

If you respond N, the operation is cancelled. If you respond Y, the system prompts
you for DSNAME (NAME,VOLUME), then resumes sorting using the work data
set that you specify.

4-548

SC34-0940

o

$SlPSYSR

o

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

COMMAND (?): ?
DATA SELECTION COMMANDS:
LL
UL
LCP
UCP
RUN
ALL

SPECIFY
SPECIFY
SPECIFY
SPECIFY
INCLUDE
INCLUDE

LOWER DATE/TIME LIMIT
UPPER DATE/TIME LIMIT
LOWER CHECKPOINT LIMIT
UPPER CHECKPOINT LIMIT
RECORDS FROM LAST SlPSYS RUN (DEFAULT)
ALL RECORDS IN STATFILE

REPORT SELECTION COMMANDS:
PRD
SELECT PROGRAM DETAIL REPORT (DEFAULT)
PRDG
PROGRAM DETAIL REPORT -- GENERIC PROGRAM NAME
PRDNG -- PROGRAM DETAIL REPORT -- NONGENERIC PROGRAM NAME
CPT
SELECT CHECKPOINT SUMMARY REPORT ON USER TERMINAL
CPP
SELECT CHECKPOINT SUMMARY REPORT ON PRINTER
PRS
SELECT PROGRAM SUMMARY REPORT
DSS
SELECT DATA SET SUMMARY REPORT
PROGRAM CONTROL:
LIST
EN

SPECIFY OUTPUT DEVICE NAME
TERMINATE PROGRAM EXECUTION

COMMAND (?):

After $SIPSYSR displays the commands, it prompts you again for the command of
your choice. The Data Selection Commands allow you to specify how much of the
gathered data will be used in the analyzer reports. For example, you might load
$SIPSYS and let it run two hours. During the two-hour period, the analyzer
monitors your system and saves the information in the statistics data set. After you
stop the monitoring and end the analyzer, load $SIPSYSR (the report generator). If
you decide you are only interested in the data gathered in the last hour that the
monitor ran, use the LL command and set the lower limit for the reporting period to
one hour after the monitor started. Until you enter another data selection
command, $SIPSYSR will produce reports that use only the data from the last hour.
Each command and its explanation is presented on the following pages in the order
it appears on your screen.

Chapter 4. Utilities

4-549

$SlPSYSR

LL - Specify Lower Date/Time Limit
Use the LL command to specify a lower limit for the date and time of the reporting
period.

()

Note: If you use LL in conjunction with LCP, the one you specify last will be the
one that $SlPSYSR uses in selecting data.
Example: Set the lower limit for the reporting period.

COMMAND (?): LL
PA1E(~/DIYOR . M/OJ:

MM/DD/VV
10:99
LOWEROATE/HME. LiMIT
MMIOD/VY 10:00:00

TIME(H.M):

IS

If you do not set the date but you do set the time, the system uses "today's" date

and the time you set. If you do not set the time, the system uses 00:00. If you do
not set the date and the time, the system uses 00/00/00 for the date and 00:00 for the
time.

UL - Specify Upper Date/Time Limit
Use the UL command to specify an upper limit for the date and time of the
reporting period. If you do not specify a limit, the system uses the time and date
when you ended $SlPSYS.
Note: If you use UL in conjunction with UCP, the one you specify last will be the
one that $SlPSYSR uses in selecting data.
Example: Set the upper limit for the reporting period.

o

COMMAND (?): UL
DATE (M/O/Y ORM/D): MM/DD/VV
TIME(H.M)!< 19:ee
' .• UPPEHDATEIT1ME • LIM!T -IS. MM/DD/YY10: 00.:00
t~.~~·.~;~~.~_·~.·_··_·._._.·~ ~.
~

..

..

..._· __. ____

__~~~______~____~_)

If you do not set the date but you do set the time, the system uses "today's" date
and the time you set. If you do not set the time, the system uses 23:59. If you do
not set the year, the system uses the current year.

o
4-550

SC34-0940

$SlPSYSR

o

LCP - Specify Lower Checkpoint Limit
Use the LCP command to specify the lower limit for the checkpoint number. For
instance, if you did not want the period of time between checkpoints 1 - 5 listed on
the final report, you could set the lower limit to 6. If you do not specify a limit, the
system includes the period of time starting with the first checkpoint. 0 (zero) is not a
valid limit.
Note: If you use LL in conjunction with LCP, the one you specify last will be the
one that $SlPSYSR uses in selecting data.
Example: Set the lower checkpoint interval.

COMMAND (?): LCP
CHECKPOINT NUMBER: 6
LOWER CHECKPOINT LIMIT SET TO 6
COMMAND (?):

You can list the checkpoints by using the CPT or CPP commands.

\
C
./

UCP - Specify Upper Checkpoint Limit
Use the UCP command to specify the upper limit for the checkpoint number. For
instance, if the system made 100 checkpoints but you do not want the period of time
after checkpoint 56 listed on the final report, specify 56 as the upper limit. If you do
not specify a limit, the system includes the period of time up to the last checkpoint .
0 (zero) is not a valid limit.
Note: If you use UL in conjunction with UCP, the one you specify last will be the
one that $SlPSYSR uses in selecting data.
Example: Set the upper checkpoint interval.

COMMAND (?): UCP
CHECKPOINT NUMBER: 56
UPPER CHECKPOINT LIMIT SET TO 56
COMMAND (?):

Chapter 4. Utilities

4-551

$SlPSYSR

RUN - Include Records from Last Run
Use the RUN command to specify that the report include data from the last
execution of $SlPSYS only. This is the default.

o

Example: Include data from the last execution of $SlPSYS only.

l

COMMAND (?):

RUN

ALL - Include All Records in the Statistics File
Use the ALL command to specify that the report include data from all the records
contained in the statistics data set. For example, you can run the system analyzer
one hour a day for a week and save all the data in the same statistics data set.
However, unless you specify the ALL command when you generate a report, you
will only get the data from the last run of $SlPSYS. If you specify ALL, the report
will contain the entire week's data.
Example: Include data from all records in the data set.

l_C_O_MM_A_ND__(_?)_:__A_L_L__________________________________________

~J

PRO - Select Program Utilization Detail Report
Use the PRD command to specify that you want a program utilization detail report
for all programs. This report is a combination of two other types of reports: the
program summary and the data set summary (see the PRS and DSS command
explanations). If you want to list only specific programs, use the generic (PRDG) or
nongeneric (PRDNG) commands.

0

Example: Select and print the program utilization detail report.

COMMAND (?):

PRD

--- SORTING FOR REPORT; PLEASE STAND BY. ----- REPORT PRINTING -----REPORT COMPLETE ---

The system prints the report on your system printer unless you specify otherwise
with the LIST command.

c
4-552

SC34-0940

$SlPSYSR

The following is an example of the program utilization detail report. Some of the
field headings in this example are abbreviated. An explanation of the report fields
follows the example.

o
DSNAME:

DSl,EDX002
EDX PERFORMANCE ANALYZER - SYSTEM REPORT
EDX PROGRAM UTILIZATION DETAIL

START
DATE

TIME

MM/DD/YY 12:35:36 to MM/DD/YY 12:48:56

PROGRAM
TCB
ElAPS.
P NAME
#PGS ADDR CPU TIME TIME

10/05/84 12:35:36 1 PXRAM

8

10/05/84 12:37:43 7 PXMENU
79
10/05/84 12:39:07 5 $DISKUT2 89
10/05/84 12:41:45 8 $DISKUTI 86

OFDE 0:02:024

AVG.
ACC.
INT.
DS VOLUME
TIME
%CPU %CPU NAME NAME
DA CNT (MS)

0:16 12.6

09B8 0:14.038 12:23 1.8
13BO 0: 13 .043 1:51 11.8
CC6C 0:10.622
:42 25.





0.0 DSI
DSA
DSB
0.0 DS2
0.0 DS3
0.0 DS4

0:00.028
12:40.014
0:00.385

0.0
99.9
0.0

13:20.154

99.9

VOlOOl
VOlO02
VOlO03
VOL116
VOlOOl
MYVOl

03
03
03
03
02
03

1535
1683
1923
1515
1602
1738

23.50
24.31
30.44
31.15
84.70
26.66

Report Field Description
Start Date/Time
The starting date and time of the program. If the program started
before the reporting period started, this field shows the start of the
reporting period.

P

The number of the partition into which the program was loaded.

Program Name
The name of the program that was executing. The name
< SYSTEM> indicates a system program with a TCB but no name,
such as the EDX loader.

c

#Pgs

The size of the program in pages (1 page = 256 bytes). An < OV >
indicates an EDX overlay program. An < ST > indicates an EDX
subtask associated with the program.

TCD Addr

The task control block address for the data on this line. Multiple
copies of the same program or multiple tasks within a program
produce separate TCB addresses and separate report lines.

CPU Time

The total CPU time used by this execution of the task.

Elaps. Time The elapsed time (hh:mm:ss), within the reporting period, for this task.
A "+" following the time indicates that the task did not end during
the reporting period.

Chapter 4. Utilities

4-553

$SlPSYSR

The program's CPU utilization expressed as a percentage of the
program's elapsed time. If the time is too small, the field will be
blank.

0/0 CPU

Int. % CPU The program's CPU utilization expressed as a percentage of the
machine's potential CPU time used by this task during the reporting
interval.

o

The name of each data set accessed by the task. A data set name $$
indicates EDX loader accesses to the volume directory.

Ds Name
Volume Name

The name of the volume where the data set resides.
Da

The device address for each data set.

Cnt

The total count of accesses to each data set.

Avg. Ace. Time
The average access time for all accesses to the data set, expressed in
milliseconds (ms).
< CHECKPOINT OVHD. >

CPU Time

The CPU time required by the monitor to take checkpoints.

Int. % CPU Percentage of the total CPU time represented by this overhead.
< SYSTEM WAIT TIME>

CPU Time
Int.

%

The total wait time during the reporting interval. Although this total
is displayed under CPU time, it is wait time, not CPU time.

CPU Percentage of total interval the system was in a wait state.
< INTERRUPT SERVICE>

CPU Time

CPU time assigned to the system overhead to handle interrupts that
cannot be assigned to a particular task.

o

Int. % CPU The percentage of CPU time used for interrupt services.

PRDG - Print Program Detail Report (Generic Name)
Use the PRDG command to print only programs beginning with the generic name
that you specify. The report prints on your system printer unless you specify
otherwise with the LIST command.
Example: Print only the programs beginning with a dollar sign ($).

COMMAND (?):

PRDG

GENERIC NAME: $
SORTING FOR REPORT; PLEASE STAND BY.
REPORT PRINTING --REPORT COMPLETE ---

o
4-554

SC34-0940

$SlPSYSR

o

PRONG - Print Program Detail Report (Nongeneric Name)
Use the PRDNG command to print programs that do not begin with the generic
name that you specify.
Example: Print Qnly the programs that do not begin with a dollar sign ($).

COMMAND (?):

PRDNG

NONGENERIC NAME: $
--- SORTING FOR REPORT; PLEASE STAND BY.
--- REPORT PRINTING ----- REPORT COMPLETE ---

\~----------------------------------------------------------

The report prints on your system printer unless you specify otherwise with the LIST
command.

CPT - Display Checkpoint Summary Report on Terminal
Use the CPT command to display the checkpoints on your terminal screen.
Example: Display checkpoint information on the terminal.

COMMAND (?):

CPT

--- SCANNING FOR CHECKPOINT RECORDS; PLEASE STAND BY. --CP #
1
2

DATE AND TIME
MM/DD/YY 00:02:58
MM/DD/YY 00:03:28

COMMAND (?):

c
Chapter 4. Utilities

4-555

$SlPSYSR

cPP - Print Checkpoint Summary Report on Printer
Use the CPP command to print the checkpoints on your printer.
Example: Print checkpoint information on the printer.

COMMAND (?):

o

cpp

--- SCANNING FOR CHECKPOINT RECORDS; PLEASE STAND BY. --CP #
1
2

DATE AND TIME
MM/DD/YY 00:02:58
MM/DD/YY 00:03:28

COMMAND (?):
--------------------

PRS - Print Program Summary Report
Use the PRS command to print the program summary report. The report is a
summary of all the programs that executed during a specified period of time. It lists
and summarizes each program on a separate line.
Example: Print the program summary report.

COMMAND (?):

PRS

--- SORTING FOR REPORT; PLEASE STAND BY.

o

--- REPORT PRINTING ----- REPORT COMPLETE --COMMAND (?):

o
4-556

SC34-0940

$SlPSYSR

o

The report prints on your system printer unless you specify otherwise with the LIST
command.
The following is an example of the program summary report. An explanation of the
report fields follows the example.

DSNAME:

DSl,EDX002
EDX PERFORMANCE ANALYZER - SYSTEM REPORT
EDX PROGRAM SUMMARY
MM/DD/YY 12:35:38 TO MM/DD/YY 12:42:56
#PGS

# OF
RUNS

$DISKUT2
STRESS

45
33

10
4

5:34.241
0:44.836

2:54
6.29

1.3
10.5

4342
11345

MYPROG

57

6

4:29.133

1:23

3.9

59

PROGRAM
NAME

Heading

CPU TIME

ELAPSED
TIME
%CPU

I/O
COUNT

Description

Program Name
The name of the program.
#Pgs

The size of the program in pages (I page = 256 bytes).

# of Runs

The number of times this program ran during the recording period.

CPU Time

The total CPU time used by all executions of the program.

Elapsed Time
The total of the elapsed times for all executions of the program within
the reporting period.
0/0 CPU

The percentage of the elapsed time that the program was using the
CPU. The total will not always add up to 100% because of rounding.

I/O Count

The number of disk I/O operations performed by all the executions of
the program. If $SIPSYSR finds disk accesses recorded that do not
have a corresponding program entry, $SIPSYSR assigns these accesses
to the system's I/O count.

c
Chapter 4. Utilities

4-557

$SlPSYSR

DSS - Print Data Set Summary Report
Use the DSS command to print the data set summary report. The data set summary
report is a summary by data set and volume of all accesses performed to each data
set.

0

Example: Print the data set summary report.

COMMAND (?): DSS
--- SORTING FOR REPORT; PLEASE STAND BY.
--- REPORT PRINTING ----- REPORT COMPLETE --COMMAND (?):

The report prints on your system printer unless you specify otherwise with the LIST
command. The following is an example of the data set summary report. An
explanation of the report fields follows the example.

DSNAME: DSl.EDX002
EDX PERFORMANCE ANALYZER - SYSTEM REPORT
EOX DATA SET SUMMARY
MM/OD/YY 23:16:55 TO MM/OO/YY 23:25:58
DA

VOLUME
NAME

DATA SET
NAME

44
44
44
44

DISK04
DISK04
DISKG4
DISK04

DATA01
OATA02
OATA03
DATA04

TOTAL FOR VOLUME OISK04
44

EDX002

OSl

TOTAL FOR VOLUME EOX002
44
44

DISK04
$$

TOTAL FOR VOLUME
TOTAL FOR DEVICE 44

% OF ACCESS

COUNT

VOLUME

DEVICE

AVG. ACC.
TIME (MS)

433
432
701
495

21.0
21.0
34.0
24.0

20.2
20.2
32.7
23.7

68.45
41.55
47.16

96.2

54.08

0.2

35.00

0.2

35.00

0.6
3.0

47~66

3.6

25.75

2061
4

100.0

4
12
65
77

2142

15.6
84.4

0

67~92

21.70

53.02

o
4-558

SC34-0940

$SlPSYSR

Report Field Description

o

Device address.

DA
Volume Name

The name of the volume where the data set resides.
Data Set Name
The name of the data set. The $$ that appears in this field usually
refers to accesses made to the volume directories. When the volume
fidd is blank and the data set name field contains the volume name,
that volume's directory was accessed.

The total number of accesses to the data set.

Count
0/0

0/0

of Access Volume
The number of accesses to the data set expressed as a percentage of all
accesses to the volume.
of Access Device
The number of accesses to the data set expressed as a percentage of all
accesses to the disk device.

Avg. Acc. Time
The average access time for all accesses to the data set, expressed in
milliseconds (ms).

LIST - Specify Output Device
Use the LIST command to specify the output device where you want your data
printed.
Example: Specify MYPRNT as the output device.

COMMAND (?): LIST
OUTPUT DEVICE NAME: MYPRNT
COMMAND (?):

EN - End the Report Generator Program
Use the EN command to end the report generator program.

COMMAND (?): EN
$SlPSYSR ,ENDED AT' aa: 19 : 47
i

c
Chapter 4. Utilities

4-559'

$SlSlUTl

$5151 UT1 - Series/1-to...Series/1
You.can use $SISIUTl to load the IPL feature and perform data transfer and status
operations.

o

After the Series/l-to-Series/l Attach..1TI.ent is installed, use the Ee (echo test)
command of $SISIUTI to verify that the attachment is installed correctly.

$SI SI UTI 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 $SI SI UTI can be used on the responding processor to read the data from the
PRINTEXT.

Loading $5151UT1
Load $SISI UTI with the $L operator command or option 4.8 of the session
manager. $SISIUTI must be active on two connected processors for
processor-to-processor communication for 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 $SISIUTl, it immediately issues a DD (define device) command to
obtain the terminal name.

>

$L $SlSlUTl

LOADING $SISIUTI 38P,02:52:52, LP= 0000, PART= 2
"?" FOR LIST OF COMMANDS
ENTER SISI DEVICE NAME:

o

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

COMMAND(?):
AB
DO
IP
RE
RS
WR
EN
EC
ST

?

PERFORM WRITE ABORT
DEFINE DEVICE NAME
IPl OTHER PROCESSOR
READ DATA
RESET DEVICE
WRITE DATA
END THE PROGRAM
ECHO TEST
OBTAIN STATUS

COMMAND(?):

o
4-560

SC34-0940

$SlSlUTl

o

After the $8181UT1 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.

AB - Perform Write Abort
Use the AB command to issue a "write abort" for a pending operation on the
initiating processor. $81S1 UTI 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:

COMMAND(?): AIS
ABORT OPERATION (YIN)? Y
COMMAND(?):

DO - 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:

COMMAND(?): DD
SlSl DEVICE NAME: 5151GG
COMMAND(?}:

c
Chapter 4. Utilities

4-561

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 "EC."

"

O~.

Example:

COMMAND ( ?) : EC
Ecko:EXERCISE
ATTN liEC" TO STOP ECHO TEST
ATTEMPTING TO SYNCH UP
. lKDATA TRANSMITTED
.1KOATA RECEIVED
DATA CHECKS OUT!

(Attention)
> EC

COMMAND(?):

EN - End the Program
Use the EN command to end the $SIS1 UTI utility.
Example:

COMMAND(?):

EN

l~$_S_lS_1_UT_l_E_ND_E_D_A_T_0_0:_0_0:_00_'__________________________________~)

o
4-562

SC34-0940

$SlSlUTl

IP - IPL the Other Processor

o

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.
The nucleus being transferred must begin with the characters $EDXNUC. It must
be a single partition supervisor with no overlays. The IPL bootstrap program,
IPLS 1S 1, must be located in the IPL volume; $S 1SlUT 1 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 (Y/N)? Y
SUPPLY DISK/DISKETTE DEVICE ADDRESS(HEX): 48
IPL PROGRAM NAME: IPLSISI ON VOLUME: EDX002
OK (Y/N)? Y
~READY FOR IPL (Y/N)? Y

RE - Read Data
Use the RE command to issue an ENQT instruction for the terminal name specified
by the most recent DD command. $SISI UTI then issues a READ TEXT instruction
for that terminal to read data from the other processor. If $SISI UTI is active on
the other processor, a WR command must be issued to complete an RE command.
Example:

:;:;... ':.w,+

;;MESSAGE.RECEIVED!

rHTs'ls .TESTDATARECEIVED
COMMAND(?):

c
Chapter 4. Utilities

4-563

$SlSlUTl

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.

o

Example:

~

OMMAND(?): RS
RESET ATTACHMENT (YIN)? Y

COMMAND(?):

_________________~J

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:

COMMAND(?): ST
OBTAIN CYCLE-STEAL STATUS ALSO (YIN)? Y
WAIT FOR HEADER (YIN)? N
HEADER WORDS: 1199 9499
READ (READTEXT) ISSUED BY OTHER CPU
NO. BYTES = 0400
DIAGNOSTIC JUMPER WORD: 92E6
CYCLE STEAL STATUS:
(11 words of status)

~MAND(?):

_________.

o

_.___________~___ _~___J

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 $SlSl UTI is active on the other
processor, an RE comm~nd must be issued to complete a WR command.
Example:

I

COMMAND(?): WR
ENTER TEXT:
TEST DATA TO WRITE

l

MESS. AGE. SENT l

. COMMAND(?):

4-564

SC34-0940

o

$TAPEUTI

o

$TAPEUT1 - Tape Management
$TAPEUTI 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.

loading $TAPEUT'1
Load $TAPEUTI with the $L operator command or option 3.10 of the session
manager. Once loaded 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

o

• volume information (if an online SL tape)
• device address.
Example: Loading $TAPEUTI and its automatic display for system tapes.

> $L $TAPEUTl'

LOADING $TAPEUTl
21P,l1:11:33, LP= 0000, PART=2
TAPE01 DUAL SL 1600 OFFLINE
DEVICE ADDRESS = 004C
TAPE02 DUAL NL 1600 OFFLINE
DEVICE ADDRESS = 004D

Once you have loaded $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.

c
Chapter 4. Utilities

4-565

$TAPEUTI

0

$1 APEU11 Commands
To display the $TAPEUTI commands at your terminal, enter a question mark in
reply to the prompting message COMMAND (?):.
rCOMMAND (?):1

~

'1

CD ..,..;--COPY TAPE DATA SET
CT ---.;. CHANGE TAPE ATTRIBUTES
DP ---..; DUMP TAPE
EN----END $TAPEUTl
EX-.;.--EXERCISE TAPE
IT -- • .;. INITIALIZE TAPE
LT -..,-- LIST TAPE DRIVES AND ATTRIBUTES
MT ----MQVE TAPE '. . .....
'........... .
RC .. _.;.- DISPLAY TAPE RETURN CODES
RT-~~" RESTORE DISKjVOLFROM JAPE
ST -.;...,.;. SAVE DIS~/VOlON TAPE
TA ---- ALLOCATE TAPE DATASET
COMMAND (?):

After $TAPEUTI 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

o

• 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, $T APEUTI prompts you for the maximum input record size. If the actual
record size differs from the input record size, $TAPEUTI prompts if you wish to
continue processing. $TAPEUTI issues this prompt every time it encounters a
record with the wrong length.

o
4-566

SC34-0940

$TAPEUTI

o

Consider the following when you are copying data sets:
• When you reach a tapemark (end of input data), $TAPEUTl prompts you to
continue. If you have more records to copy, you can continue; however, make
sure that the target tape has sufficient room. $T APEUTl 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.
Example 1: Copy data from a disk to a tape (standard label tape).

COMMAND (?):

CD

SOURCE (NAME,VOLUME): $TAPEUT1,EDXaa2
TARGET (NAME,VOLUME): DATAllll,123456
. ENTER SOURCEBLOCKSIZE (NULL=DISK(ETTE)}:
USE ATTNjCA TO CANCEL COpy
ARE ALL PARMSCORRECT(YjN)? Y
EOD ON SOURCE DATA SET
25 RECORDS COPIED
COMMAND (1):

c
Chapter 4. Utilities

4-567

$TAPEUTI

Example 2: Copy data from a tape (nonlabeled) to a tape (standard labeled).

'COMMANO(?): CD

()

SOURCE (NAME,VOLUME): X,TAPE91
TARGET (NAME; VOLUME): DATAllll~ 123456
ENTER SOURCE BLOCKSIZE (NULL=DISK(ETTE»:
USE ATTNjCA TO CANCEL COpy
ARE ALL PARMS CORRECT (YIN)? Y
EOD ON SOURCE DATA SET
25 RECORDS COPIEO
COMMAND ( ?) :

Note: TAPEOI is the ID assigned to the tape drive at system generation.
Example 3: Copy data from a disk to multiple tapes.

Before you execute the CD command for SL and NL tapes, you first must initialize
all required target tapes using the IT command of $TAPEUTI. For example, if you
are using an SL tape, then initialize the first tape to DATAllll,123456'and the next
tape to DATA2222,123456.

COMMAND (?):

CD

SOURCE (NAME,VOLUME): SOURCE,USRVOL
TARGET (NAME,VOLUME): DATA1111,123456
ENTER SOURCE BLOCKSIZE (NULl=DISK(ETTE»:
USE ATTNICA TO CANCEL COPY
ARE ALL PARMS CORRECT (YjN)? Y
EOT ON TARGET TAPE
DO YOU WISH TO CONTINUE ON ANOTHER TAPE (YIN)? Y
MOUNT AND VARYON-NEXT TARGET TAPE THEN
ENTER DATA SET (NAME,VOLUME): DATA2222,123456
EOD ON SOURCE DATA SET
25 RECORDS COPIED

I

l COMMAND (?):

o
4-568

SC34-0940

$TAPEUTI

CT - Change Tape Drive Attributes

o

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.

I

CT id

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

C

':!

• 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.
COMMAND (1) :

CT

ENTER TAPEID (1-6 CHARS): TAPEal
TAPE TAPE(H AT ADDR4C IS BlP 1600 BPI
DO YOU WISH TO MODIFY (YIN')? Y
LABEL (NULl,SL,Nl,BlP)?
Sl
DENSITY (NUlL.800,1600) : saa
TAPE TAPEC:ll AT ADDR 4C IS SL 800 BPI
COMMAND (?J:

Chapter 4. Utilities

4-569

$TAPEUTI

Example 2: The system makes no changes for label processing and density selection
for a 4969 tape drive at address 4D.

..
l

'COMMAND (1):

CT

TAPE02

o

TAPE TAPE02AT ADDR 40 IS SL 800 BPI
DO YOU WISH TO MODIFY (YIN)? N
COMMAND (?):

DP - Dump Tape Records
Use the DP command to dump tape record(s) on the system printer ($SYSPRTR),
on the terminal from which you loaded $TAPEUTI, or on the terminal you specify.
The output format is similar to the $DISKUT2 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. $TAPEUTI prompts you for the
number of records you want to print. When the system detects a tapemark,
$T APEUTI 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 it was a wrong-length record and displays 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. For device type 4968, you must vary each tape online with the $VARYON
operator command to ensure setting the tape unit to the correct density.
3. The TAPEID you specify must match the one specified at system generation.
4. 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.
5. You can use the dump command (DP) 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.

4-570

SC34-0940

0

$TAPEUTI

Example: Dump five records on display terminal.

o

COMMAND (?):

DP

ENTER MAXIMUM BLOCKSIZE: 256
USE ATTNICA TO CANCEL DUMP
ENTER TAPEID (1-6 CHARS): TAPES!
ENTER NUMBER OF RECORDS TO DUMP: 5
PRINT DUMP ON $SYSPRTR (YIN)? N
ENTER TARGET TERMINAL NAME (*.NAME): *
(The system directs the dump to the terminal
where you are currently assigned)

COMMAND (?):

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, $T APEUTI prompts you as follows:

DEVICE NOT OFFLINE
DO YOU WISH TO CONTINUE (YIN)?

If you specify Y, the dump will continue and the device will be set offline.

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 ($SYSPRTR) any errors and their
approximate location on the tape.

Note: Surface analysis writes records over the information currently on the tape.
This destroys any existing data records or labels.

Chapter 4. Utilities

4-571

$TAPEUTI

Each operation is optional and the system prompts you before it continues.

o

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 FFFFs except for the last word which is the record
count of the failing record.
Example: Exercise tape MYDAT A.

r

COMMAND (?): EX
TARGET (NAME,VOLUME): MYDATA,123456
USE ATTNICA TO CANCEL THE EXERCISER
. DO YOU WANT TO EXERCISE THE SOFTWARE (YIN)? Y
Exerciser runs and prints status on printer

WRITE ENTIRE SURFACE OF TAPE (YIN)? Y

o

THIS SECTION WILL DESTROY ALL LABEL FIELDS
DO YOU W.ISH TO CONTINUE (YIN)? y
Exerciser writes on entire surface of tape

l~~ffl:

___________________~j

The following is a sample of the data the EX command prints.

4-572

SC34-0940

I

$TAPEUTI

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 JAPE
STEP
23 SUCCESSFUL
REWIND TAPE TO LOAD POINT
STEP
24 SUCCESSFUL
CLOSE TAPE OFFLINE
STEP
25 SUCCESSFUL
Figure

4-30. Sample of Output from EX (Tape Exerciser).

()
Chapter 4. Utilities

4-573

$TAPEUTI

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.

o

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.
$TAPEUTI prompts you for the contents of all required label fields.
Example: Initialize a standard label tape.

COMMAND (?):

IT

ENTERTAPEID (1-6 CHARS): TAPEOI
STANDARD LABEL 1600 BPI (YIN)? Y
TAPEOS (NAME,VOLUME): DATAllll,123456
OWNERID (1-10 CHARS): OWNER-IO
EXPIRATION DATE (YYDDD): 79091
TAPE INITIALIZED
\ COMMAND (?):

,~.--------------------------------------------------------~~/

Your tape must be varied offline before you can initialize it. If the tape is not
offline, $T APEUTl issues the following warning message:

:WARNING! DEVICE ISN I T OFFLINE.
tPNTINUE (YIN)?

If you respond Y, $TAPEUTl varies the tape offline, initializes it, and varies it
online under its new name. If you respond N, the IT command ends and
$TAPEUTl prompts you for another command.

4-574

SC34-0940

o

$TAPEUTI

o

If you are changing the label information on a used tape that has an unexpired data
set, $TAPEUTI prompts you as follows:

l
I

UNEXPIRED DATA SET!

J

CONTINUE (YIN)?

~------------------------------------------------------------~

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 loading $JOBUTIL and passing
the following parameters:

CI

Name of module:

$TAPEIT

Required parameters:
$PARMl
$PARM4
$PARM8
$PARMll
$PARM16

LENGTH
3 words
4 words
3 words
5 words
3 words

$PARM19

3 words

NL
X
X
X
X
X

EXPLANATION
SL
TAPEIO
X
OS name
Volume
Owner ID
Create date (YYOOO )
(if no timers in system)
Expiration date(YYDOO )
X

Examples of loading $TAPEIT from a program or through a $JOBUTIL procedure
follow.

Chapter 4. Utilities

4-575

$TAPEUTI

Example 1: Loading $TAPEIT from a program for a standard label tape; timers are
included in the system.

LOAD
WAIT
PARMS

EQU
DATA
DATA
DSN
VOL
DATA
OWNR
DATA
CRDATE DATA
*
EXDATE DATA
*
10

o

$TAPEIT,PARMS,EVENT=ITWAIT
ITWAIT
*
$TAPEIT PARAMETER LIST
CL6 1TAPE81I
(TAPEID - 3 WORDS)
CL8 IMYDATA I
(DATA SET NAME - 4 WORDS)
CL6 1Ul818 I
(VOLUME NAME - 3 WORDS)
CU8 ISMITH'
(OWNER ID - 5 WORDS)
CL61 I
(UNUSED CREATE DATE 3 WORDS)
CL6181Hl8 I
(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 4-31 is a procedure to initialize a standard label tape. In the PARM
statement, you specify the T APEID, data set name, volume, owner identification,
create date, and expiration date.

REMARK
REMARK DEFINE -TAPE81- FOR SL,1688 BPI
REMARK MOUNT A TAPE ON -TAPE81- BUT DO *NOT* VARY ON
PAUSE
***** IS THE TAPE MOUNTED? *****(REPLY -GO-)
PROGRAM $TAPEIT
*********************************************************
PARM
TAPE81TEMPDATA123456DEPT563 76100 78180
EXEC
JUMP
OK1,EQ,-1
Figure

4-31. $JOBUTIL Procedure for Loading $TAPEIT for an SL tape.

o
4-576

SC34-0940

$TAPEUTI

o

Figure 4-32 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.

REMARK
REMARK **** DEFINE -TAPE01- FOR 800 BPI &NL PROCESSING
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

4-32. $JOBUTIL Procedure for Loading $TAPEIT for an NL Tape.

Figure 4-33 is a procedure to test the error code $T APEIT returns.

REMARK
PROGRAM
PARM
EXEC
JUMP
Figure

POST CODE 102 - DEVICE NOT OFFLINE
$TAPEIT
TAPE01
ERR3,EQ,102

4-33. Testing Post Code Returned by $TAPEIT

If you initialize a tape by loading $T APEIT from a program or by loading

$JOBUTIL and passing the above parameters, the system returns following post
codes.
Code

Condition

-1

Function successful

RC

Any tape I/O return code

101

T APEID not found

102

Device not offline

103

Unexpired data set on tape

104

Cannot initialize BLP tapes

c
Chapter 4. Utilities

4-577

$TAPEUTI

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 loaded $T APEUTI. The information
displayed for each tape drive is as follows:

o

• 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.
Example

COMMAND.· (?):

LT

TAPE DUAL SL 1600 OFFLINE
DEVICE ADDRESS = 004C
TAPE DUAL NL 160a OFFLINE
ADDRESS = a04D
COMMAND C?):

MT - Move Tape
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-t~pe) terminates only the write tape mark (WTM) function and
issues a return code. If you wish to proceed past the EOT, you must request another
WTM.

4-578

SC34-0940

o

$TAPEUTI

o

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.

r COMMAND (?):

l

MT

ENTER.TAPEIO (1-6 CHARS): TAPEOI
TYPE? FSR/BSR/FSF/BSF/WTM/REW/ROFF/OFF:
* the action occurs *
FSR SUCCESSFUL
TYPE? FSR/BSR/FSF/BSFjWTMjREWjROFFjOFF:

FSR 3
END

If the tape is positioned at the first record and the utility forward spaces 3 records, it
positions the tape at the fourth 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
$TAPEUT 1 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.

Chapter 4. Utilities

4-579

$TAPEUTI

RC - Display Tape Return Codes
Use the RC command to display the tape return codes on the terminal where you
loaded $TAPEUTI.

0

Example: Display tape return codes.

( COMMAND (?):
1
2
3
4
6
10
21
22
23
24
25
26
27
28
29
30
31
32
33

RC

EXCEPTION BUT NO STATUS
ERROR READING CYCLE STEAL STATOS
I/O ERROR - RETRY COUNT EXHAUSTED
ERROR ISSUING READ CYCLE STEAL STATUS
I/O ERROR ISSUING NORMAL 010
END OF DATA - A TAPE MARK HAS BEEN READ
WRONG LENGTH RECORD
DEVICE NOT READY
FI LE PROTECT
END OF TAPE
LOAD PO INT
UNRECOVERABLE 1/0 ERROR
SL DATA SET NOT EXPIRED
INVALID BLOCKSIZE
OFFLINE, IN-USE. OR NOT OPEN
INCORRECT DEVICE TYPE
CLOSE INCORRECT REQUEST
CLOSE BLOCK COUNT ERROR
CLOSE DETECTED AN EOV1

COMMAND (?):

o
4-580

SC34-0940

$TAPEUTI

o

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 system to empty the contents of the buffer area to disk.
To help you monitor the save and restore processes, $T APEUTI 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.
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.

C"~:

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. If you select auto initialization
mode when using the ST command to save a 4968 tape, the tape rewinds and
unloads. To prevent this do not select auto initialization mode. The tape
automatically rewinds and unloads when you select auto varyon when using the RT
command to restore a tape.

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.

Chapter 4. Utilities

4-581

$TAPEUTI

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.

o

• 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 $TAPEUTI can load the

double-buffered function, it issues the following messages:
,

'

'

<

VOLUME RESTORE OF MYVOL FROM TAPE TAPE##ElO. VOLSAV OK (Y/N)? Y

The system automatically varies online each tape used in the restore process.
If it cannot load the double-buffered function, $TAPEUTI attempts to load the
single-buffered function and issues the following messages:

INSUfFICIENT MEMORY TO LOAD DOUBLE-BUFFERED UTILlTY
LOADING SINGLE~BUFFERED UTILITY
-WARNING - NO DATA STREAM CAPABILITY WITH SINGLE-BUFFERED UTILITY
SAVE/RESTORE TIME MAY. BE SIGNIFICANTLY INCREASED

o

Note: $TAPEUTI issues the warning Inessage 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
4-582

SC34-0940

$TAPEUTI

When you enter RT, $TAPEUTI issues the following message:

o

l~A_U_TO__VA_R_Y_ON__MO_D_E_(_Y_/N_)_?__Y____________________________________~j
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 paramete.r:s necessary for the restore function. The following
example shows the parameters necessary for a volume restore using automatic
varyon.

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

* WARNING: TO ENSURE PROPER
* DISK CONTENTS, THE SYSTEM
* SHOULD BE INACTIVE WHILE
* RUNNING THIS UTILITY

*
*

*
*

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

c)

RESTORE OPTIONS:
1 = DEVICE
2 = VOLUME
3 = DATA SET
4

= EXIT

ENTER RESTORE OPTION:

2

ENTER TARGET DISK VOLUME NAME: MYVOL
TAPE##00,VOLSAV ONLINE
(The utility varies the source tape online automatically)

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 4-582. However, you will need to use the $VARYON operator
command to vary online each tape used in the restore process.
Restoring Multiple Tapes: $TAPEUTI 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.

c
Chapter 4. Utilities

4-583

$TAPEUTI

MOUNrJAPEft~01 ,VoLSAV
REPLY Y.WHEN.TAPEMOUNTED AND JAPE DRIVEONLINEl

TAPE##01, VOLSAVE ONLINE

o

system varies the source tape online automatically.)
j
l (The
--------------.

If you did not choose automatic varyon mode, use the $VARYON operator
command to vary the tape online. When the volume is restored, $TAPEUTI issues
the following message and prompts you for another command.

[.VOLUME RESTORED
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
(EaT), 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. If you
are using a standard label tape, the ST command writes a trailer label at the end of
the data. After saving a 4868 tape successfully, the system rewinds and unloads the
target tape automatically. This also happens at the end of each tape after the system
writes the trailer record. If the save is not successful, the system will only rewind the
tape.

0\

Note: If you do not want the tape unloaded automatically after a save, see

"Nonautomatic Varyon Mode" on page 4-583. 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
4-584

SC34-0940

$TAPEUTI

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.

$T APEUTI increments the last two characters of TAPE##XX for each tape
required to complete the save process. For example:

HEADER FOR FIRST TAPE = TAPE##00
HEADER FOR NEXT TAPE = TAPE##01 (tape trailer from first tape)
HEADER FOR NEXT 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):

',OE:VIC~i~'~~V;9f:OISK A=(",:P\0QRE??"Gaco·, ;ONTO:T~,~E,:TAPE##O~~PEVSAV'"OK

(YIN),?'

':'VQ~UME.SAVE~ ,QfMYVOl"O~~O'FrAPE T~RE##Ge;VgtS"'v ,; OK.' :(Y IN)?
(}ATA:;~&Et::SAVE:OF ;DATAl ~'EO)(ee2" ONTO TAPE: TAPEff#eG,OATSAV OK (YIN)?

",

•• v

• •"

••

•

~,

;.

• •••"

".

' " , : , • • :" • • • • :

".< ".' .

..

":""

,

.":

..

..

".

<".

". . " '"

.

".

...

.',

Chapter 4. Utilities

4-585

$TAPEUTI

If the target tape volume label is satisfactory, respond Y. If you want to change the
label, respond N. $TAPEUTI then prompts you for the new default tape label.

CHANGE DEFAULT TAPEVOLUM£ LABEL (YIN}? y
INPUT NEW TAPE VOLUME LABEL (1-6

CHA~ACTERSJ;

INPUT OWNER IDENTIFICATION (1-10 CHARACTERS):
TAPE##00,NEWVOL TAPE INITIALIZED

NEWVOL
D27H

DATA SET SAVE OF DATA1,EDX002 ONTO TAPE TAPE##00,NEWVOL OK (YIN)? Y

When you enter ST, $TAPEUTI issues the following message:

l~A_U~TO__IN_I_TI_A_L_IZ_A_TI_O_N_M_OD_E__(Y_/N_)_?________________________________~j
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).

( ENTER TAPEID (1-6) CHARACTERS): TAPE02
**********************************

* WARNING: TO ENSURE PROPER
* DISK CONTENTS, THE SYSTEM
* SHOULD BE INACTIVE WHILE
* RUNNING THIS UTILITY

*
*
*

*

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

SAVE OPTIONS:
1 = DEVICE
2 = VOLUME
3 = DATA SET
4 = EXIT
ENTER SAVE OPTION: 1
DISK IODA IN HEX(HH): CG
TAPE EXPIRATION DATE WILL NOT BE CHECKED PRIOR TO INITIALIZATION
CONTINUE (YIN)? Y
INPUT EXPIRATION DATE (YYDDD): 83003
TAPE##00 , DEVSAV TAPE INITIALIZED
(The target tape is aLitOinaticallyinitialized and varied online.)

o
4-586

SC34-0940

$TAPEUTI

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 OF DISK AT ADDRESS 00C0 ONTO TAPE TAPE##00,DEVSAV OK (YIN)?

Y

USE ATTNICA TO CANCEL THE SAVE

If $TAPEUTI cannot load the double-buffered utility, it issues the following
message and prompts you for another command.

INSUFFICIENT MEMORY TO LOAD DOUBLE-BUFFERED UTILITY
COMMAND (?):

$TAPEUTI does not attempt to load the single-buffered utility because the
single-buffered utility does not have the automatic initialization capability.
Note: To have sufficient storage available for the double-buffered utility, we
recommend that you load the $TAPEUTI utility into a full 64K partition.

C

'·.·~·:

,

./

Nonautomatic Initialization: If you choose nonautomatic initialization, you must
first initialize each tape with the IT command and then vary each online with the
$VARYON operator command.

If $TAPEUTI can load the double-buffered utility, it issues the following prompt:

VOLUME RESTORE OF MYVOL FROM TAPE TAPE##00,VOLSAV OK (YIN)? Y
USEATTN/CA TO CANCEL THE RESTORE

c
Chapter 4. Utilities

4-587

$TAPEUTI

If $TAPEUTI cannot load the double-buffered function, it issues a message and
attempts to load the single-buffered function.

o

If it can load the single-buffered function, $TAPEUTI issues the following messages:
,

'~

';WAiRNING- "NO DATA STREAMCAPAiHl.I1YWITH'SINGLE~BUFFERED· UTI LITY
,·'SAVElRESTORE tiME.MAY,Bf'stGNIFlcAi'rrL'V\,INCREAsED

Note: $TAPEUTI issues the warning message only if you are using a 4968 tape

unit.
If $TAPEUTI cannot load the single-buffered utility, it issues return code 70
(indicating that there is not enough storage to load the utility) then issues the
COMMAND (?): prompt.
Note: To have sufficient storage available for the double-buffered utility, we

recommend that you load the $TAPEUTI utility into a full 64K partition.
Save Process Using Multiple Tapes: If the save process requires more than one

tape, $TAPEUTI prompts you to mount any additional tapes that may be necessary
to complete the save. In this example (automatic initialization mode), four tapes are
used to save the device.

REPLY YWHEN THE
TAPE##01,DEVSAV
REPLY Y WHEN THE
TAPEQ#02,PEVSAY:
REPLY . Y WHEN THE
TAPE##03 DEVSAV
t

0

.,

NEXT TAPE IS MOUNTED, AND TAPE UNIT ONLINE? Y
TAPE INITIALIZED
NEXT TAPE IS MOUNTED AND TAPEUNITONLINE? Y
TAPE JNIUALIZED.
",. ,
NEXTIAPE. IS MOUNTED AND!APE UNIT ONLINE?
TAj:>E INITIALIZED
'

Once $TAPEUTI has saved the device, it issues the following message and prompts
you for another command.

o
4-588

SC34-0940

$TAPEUTI

o

TA - Allocate a Tape Data Set:
Use the TA command to delete an existing data set and reallocate a null data set, or
add a null data set after the last data set on the volume.
Notes:

1. Use this command to place data set labels on previously initialized
standard-labeled (SL) tapes; the tape unit must be in the standard label
processing mode.
2. The system destroys all the data on the tape following the newly allocated data
set.
3. You must vary the tape online to the file number of the data set you are
allocating.
4. You must vary the tape online if you want a program to access it.
Example: Allocate data set (DATA2222) on volume 123456.

COMMAND (7): TA
TAPEDS (NAME,VOLUME): DATA2222,123456
EXPIRATION DATA (YYDDD): 79001
DATA SET ALLOCATED
COMMAND (7):

Chapter 4. Utilities

4-589

$TERMUTI

$TERMUT1 - Change Terminal Parameters
$TERMUT1, a general-purpose terminal utility program, alters logical device names,
address assignments, or terminal configuration parameters. Changes you make
remain in effect until you IPL the system.

o

Loading $TERMUT1
Load $TERMUTI with the $L operator command or option 4.1 of the session
manager.

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

COMMAND(?):

?

LA -- LIST TERMINAL ASSIGNMENTS
RE -- RENAME
RA -- REASSIGN ADDRESS
RH -- REASSIGN HARD coPY
CT-- CONFIGURE TERMINAL
ON-, VARY TERMINAL ON
OF-- VARY TERMINAL OFF
EN ~-END PROGRAM
COMMAND (1):

o

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

CT -

Configure Terminal
Use the CT command to modify the page-formatting parameters associated with a
terminal, but be sure you turn on the printer. If you do not, any changes you made
will not take effect and $TERMUTI enters a wait state. You must then turn the
printer on and reenter the CT command. With CT, you can also designate a
terminal as a printer, temporarily, for spooling output.
CT allows you to do some of the same things as the TERMCTRL function. When
you specify the CT command, the system issues questions for the various parameters
of the terminal. $TERMUTI checks the terminal name to see if it is a 4975-01A,
4975, 4201, 4202, 4224, 5219, 5224, or 5225. If the device is one of these printers,
the system asks additional questions relating to their extended functions.

o
4-590

SC34-0940

$TERMUTI

o

When you change the CHARSET parameter, it has the same effect as if you had
coded it on the TERMINAL statement.
Any parameters changed by the $TERMUTI CT command become permanent
values until you change them again with another CT command or another
TERMCTRL statement.
Note: If you shut off a 4224 printer, many of the parameters you changed using the
CT command will reset to the defaults.

The following examples show the conditional prompt message associated with each
parameter for the 4973, 4974, and 4975-01A; for the 3101 (block mode), 3151, 3161,
3163, 3164; for the 4975 models 1 and 2, 5219, 5224, and 5225; and the 4224, 4201,
and 4202.
Once you assign values for these parameters, you can change them by issuing the CT
command again. The CT command displays the values that currently are defined in
the NOW IS portion of the prompt, and you can change or delete the values that
you no longer need. If you do not want to change a given value, press the enter key
and the system will not change the value.
CT first prompts you for the terminal name. Enter * to specify the terminal where
you are assigned at present or enter the name of another terminal you wish to
modify.
Example 1: Reconfigure a 4973 or 4974 printer.

$L $TERMUTl
LOADING $TERMUTl

>

34P,01:05:00, LP= 2600, PART=l

*** TERMINAL CONFIGURATOR ***
COMMAND (?): CT
ENTER TERMINAL NAME: $SYSPRTR

Chapter 4. Utilities

4-591

$TERMUTI

Note: If your terminal is a 497S-0lA ASCII printer, the prompts are identical to
those in example 1 except for LPI (lines-per-inch). For a 4975-01A ASCII
printer, the system does not prompt you for LPI.
Example 2: Reconfigure a 3101,3151,3161,3163, or 3164 (in block mode).

OVEItFLOW LINES

(NOW iSN)

OUTPUT PAUSE

(NOW IS N)

SPOOLABLE(Y/N)

(NOW IS N)

VALUE

o

NOTCHANG~D

y

VALUE NOT· CHANGED
ATTRIBUTE (HIGH/LOW/BUNK/BLANK/NO):(NOW IS HIGH)
VAtUE'NOTCHANGED
STREAM (YIN)
(NOW IS N) :
VALUE. NOT CHANGED
COMMAND (?):

If you are reconfiguring a 3164 terminal, you also receive the prompt shown below.

If you reply Y to this prompt, you can use programmable color option for the
terminal. If you reply N you do not receive the programmable color option. The
system ignores any attributes you have defined previously and uses the default
colors.

PROGRAMMABLE COLOR (Y/N)

(NOW IS Y>:

o

With the option SPOOLABLE, you can temporarily designate a terminal as a printer
for spooling output. CT prompts you as follows with the current status of the
terminal displayed.

SPOOLABLE (Y/N) (NOW IS_>

If you respond Y, you can specify the designated terminal as a spool device by using
the $SPLUTI utility. If you respond N, the system resets the terminal's status and
you may not designate the terminal as a spool device with the $SPLUTI utility. If
you do not want to change the spoolable status of the device, press the enter key and
the system will not change the status.
The operation of a terminal you specified as a spoolable device is not affected until
you designate the device as a spool device using the $SPLUTI utility and the system
activates spooling. Once the system activates spooling, it dedicates the device to
spooling until the spool function ends. For a description of spooling to devices
other than IBM printers, refer to the Language Programming Guide.
Note: You may get unpredictable results if you change the spoolable status of a
terminal while spooling is active on that terminal.
The option OUTPUT PAUSE allows you to disable the "screen full" pause for
screen devices so that unattended systems do not enter an indefinite wait state.

4-592

SC34-0940

o

$TERMUTI

o

Note: For more information on terminal parameters, refer to the TERMINAL
statement in the Installation and System Generation Guide.

Because the 4975 model 1, 5219, 5224, and 5225 printers do not support text mode,
the system does not issue the print mode (PMODE) prompt for these printer models.
You may not specify PDEN= COMP for a 4975 model 1 printer.
Example 3: Reconfigure a 4975 modell, 5219, 5224, or 5225 printer.

PDEN (EXPD/NORM/COMP)

(NOW IS EXPO)

:

CHARSET (? FOR LIST)

(NOW IS USCA)
VALUE NOT CHANGED

NORM

L_C_OM_M_AN_D_(_?_):__________________________~________________)

Example 4: Reconfigure a 4975 model 2 printer.

PDEN (EXPO/NORM/COMP)
PMODE (DRAFT /TEXTI/TEXT)
CHARSET (1
INTL
BRZL
FRAN
PORT

FOR LIST)
USCA
AUGE
FRCA
DNNR
ITAL
JAEN
SPAN
SPNS

tHARSET (1 FOR LIST)

(NOW IS EXPO) :
VALUE NOT CHANGED
(NOW IS TEXT) :
VALUE NOT CHANGED
(NOW IS USCA) :?
BELG
SWFI
KANA
UKIN
(NOW IS USCA)

INTL

COMMAND (?):

"".

Chapter 4. Utilities

4-593

$TERMUTI

Example 5: Reconfigure a 4224 printer.

·'VAl.UE:N01TCHANGEIJ

(NOW· 1536) .:

....

o

27

.PDEN(LARGE/NORMAL/DENSE) (NOW IS LARGE}:
VALUE NOT CHANGED
.. BOLO (STOP/START) (NOW IS STOP) :
.
.
VALUE N()T CHANGED
DSTRIKE (STOP/START) (NOW IS STOP) : START
DWIDE (STOP/START) (NOW ISSTOP):
VALUE NOTCHANGEO
SETF()NT (? FOR LIST) (NOW IS 1) : ?
1
DATA PROCESSING (DP)
2
TEXT
3
NEAR LETTER QUALITY (NLQ)
4
PROPORTIONALLY-SPACED TEXT,
5
PROPORTIONALLY-SPACED NLQ
16
OCR-A
17
OCR-B
32-127
USER-DEFINED FONTS
SETFONT

(?

FOR LIST)

(NOW IS 1)
VALUE NOT CHANGED

PCOLOR (? FOR LIST) (NOW IS BLACK) :
BLUE
RED
MAGENTA GREEN
CYAN
YELLOW
BLACK
BROWN

?

o

(NOW IS BLACK) :
VALUE NOT CHANGED

o
4-594

SC34-0940

$TERMUTI

Example 6: Reconfigure a 4201 or 4202 printer.

o

SPOOLABLE (YIN)

(NOW IS Y) :

VALUE NOT CHANGED
LPI (216THS OF AN INCH) (NOW IS 36) ": 27
PDEN (LARGE/NORMAL/DENSE) (NOW IS LARGE) :
VALUE NOT CHANGED
BOLD (STOP/START) (NOW IS STOP) :
VALUE NOT CHANGED
DSTRIKE (STOP/START) (NOW IS STOP) : START
DWIDE (STOP/START) (NOW IS STOP) :
VALUE NOT CHANGED
SETFONT (? FOR LIST) (NOW IS 0) : ?
e
DATA PROCESSING (DP)
2
NEAR LETTER QUALITY (NLQ)
4
USER-DOWNLOADED DP FONT
6
USER-DOWNLOADEDNLQ FONT
SETFONT (? FOR LIST)

(NOW IS 0) :
VALUE NOT CHANGED

COMMAND (?) :

C·'\
I

EN - End $TERMUT1
Use the EN command to end the $TERMUTI utility.

",)

Example: End $TERMUTI.

COMMAND (?): EN
$J:ERMUTI ENDED. AT 08:36: 02

Chapter 4. Utilities

4-595

$TERMUTI

0

LA - List Terminal Assignments
Use the LA command to list the current terminal names, addresses, types, assigned
partitions, hard-copy terminals, and virtual terminal connections, if applicable. An
.....
arrow on the left side of the listing identifies the terminal that loaded $TERMUTl.Example: List terminal assignments.

$L $TERMUTl

LOADING $TERMUTl

34P,01:05:20,

*** TERMINAL CONFIGURATOR ***

COMMAND (?):

LA

NAME
ADDR
ACCA3101
58
ACCA3161
59
ACCA3163
5A
ACCA3164
5B
PRTR4
69
PRTR5
78
$SYSLOG
04
===>$SYSLOGA
24
$SYSPRTR
21
MPRINTER
01
ACCA68
68
CDRVTA
**
CDRVTB
**
COMMAND (?):

TYPE
PART
MFA 3101
3
MFA 3161
4
MFA 3163
5
MFA 3164
6
FPCA 4/L
1
MFA
1
4979
2
4978
3
4973 PTR
1
4974 PTR
1
FPCA 4/L
2
VIRT
1
VIRT
1

HARD-COPY ONLINE
YES (3101 BLOCK MODE)
YES (3161 BLOCK MODE)
YES (3163 BLOCK MODE)
YES (3164 BLOCK MODE)
YES (4201)
YES (4224)
MPRINTER YES
PRTR1
YES
YES
YES
YES (3101 BLOCK MODE)
YES CONNECTED CDRVTB SYNC=YES
YES CONNECTED CDRVTA

o

o
4-596

SC34-0940

$TERMUTI

OF - Vary a Terminal Offline

()

Use the OF command to vary a terminal offline. When you vary a terminal offline,
the system ignores any input from that terminal. If you send output to a terminal
that isoffline, the system issues a return code of 5 "device not ready."
Note: If you vary offline the base address of a 2091/92 card (multiline ACCA) or a
2095/96 card (feature programmable communications adapter), any other
addresses serviced by that card become unusable.
Example 1: Vary offline the terminal designated as the alternate logging device.

COMMAND (?): OF
ENTER TERMINAL NAME. OR ADDRESS IN (): $SYSLOGB
TERMINAL SUCCESSFULLY VARIED OFF
COMMAND (?):

If you issue the OF command to a terminal that is in u~e, CT issues a prompt asking
if you wish to continue or end the command. If you choose to continue, normal
processing of the program which was using the terminal is not guaranteed.
Example 2: Vary the alternate logging device, which is currently in use, offline.

COMMAND (?): OF
ENTER TERMINAL NAME, OR ADDRESS IN (): $SYSLOGB
WARNING - TERMINAL IN USE
CONTINUE VARYOFF PROCESSING (YIN)? Y
TERMINAL SUCCESSFULLY VARIED OFF

n) :

: COMMAND •

Chapter 4. Utilities

4-597

$TERMUTI

If you issue the OF command to the terminal that you are using,CT issues a prompt
asking if you wish to continue or end the command. If you choose to continue, the
utility ends after the VARYOFF completes.

0

Example 3: Vary offline the terminal you are using.

-WARNING .~.TERMINAL IN USE
CONTINUE VARYOFF PROCESSING (y INn
",'<.""'.,.'

., ":

~,.", <~,

Use the ON command to vary a terminal online. When the varyon process
completes, the terminal can send and receive interrupts.
For any terminal connected to an ACCA-type card, you must send a message to the
terminal before it is fully enabled for regular processing. Use the list supervisor
configuration command (LS) of the $IOTEST utility to determine which terminals
are connected to an ACCA-type card. To send a message to a terminal, use the
$TERMUT3 utility.
Example: Vary online the terminal at address 68.

COMMAND f?): ON
ENTER TERMINAL NAME, .ORADDRESS IN ():

l::::~?r~CCESSFULLY VARIEP

ON

o

(068)

.•.•

j

o
4-598

SC34-0940

$TERMUTI

o

RA - Reassign Address
Use the RA command to reassign the address specified in the address = parameter of
the TERMINAL statement. The syntax of this command is:

I RA

name address

where the address in question must be unassigned currently.
As shown in the following examples, the name can be a logical name or hexadecimal
device address. If you indicate a device address, it must consist of 1 or 2 digits
enclosed in parentheses.
Example:

RA DISPLAY2 7
RA $SYSPRTR 12
RA (05) 06

RE - Rename Logical Device

C",

Use the RE command to rename the logical terminal name (the label on the
TERMINAL statement) that you specified during system generation. The form for
this function is:

/

I RE

oldDame newname

The new name replaces the old name. As shown in the following examples, the old
name can be a logical name or a hexadecimal device address. If you indicate a
device address, it must consist of 1 or 2 digits enclosed in parentheses. Use the LA
command to verify the changes.
Example:

RE DISPLAY2 DISPLAY3
RE (06) TERM1

c
Chapter 4. Utilities

4-599

$TERMUTI

RH - Reassign Hard-Copy
Use the RH command to change the hard-copy device associated with a 4978, 4979,
or 4980 display station and to indicate which program function key you want to use
for the hard copy. The form is:

I RH

0

name keycode

Here, "name" is the logical name (not device address) of the hard-copy device, and
"keycode" is the code for the desired hard-copy key (for example, 1 - 6 for the 4979
display).
The system changes the hard copy device for the terminal from which you loaded
$TERMUTI.
Example:

RH $SYSLOGA 6
RH $SYSLOGA 4
RH

PRTR2 6

o

o
4-600

SC34-0940

$TERMUT2

()

$TERMUT2 - Change Image/Control Store
You can use $TERMUT2 to:
• Restore the image buffer of a 4974 printer to the standard 64-character set.
• Load the image buffer of a 4974 with the 96-character set $4974IS1. Appendix
B of 4974 Printer Description, GA34-0025 inCludes a description of the
96-character set.
• Assign a DEFINE key in a 4978 control store.
Note: The 4980 has a permanent DEFINE key.

• Change the definition of one or more keys in a 4978 or 4980 control store.
• Load a 4978 or 4980 control store from a direct-access data set or save a newly
redefined 4978 or 4980 control store into a direct-access data set.
• Load a 4978 or 4980 image store from a direct-access data set or save a 4978 or
4980 image store into a direct-access data set. See the description of the $FONT
utility program for a description of image store definition.
• Load a 4980 terminal.
• Assign a 4224 printer character set to a font you have defined.
• Delete a local font for a 4224 printer.
• Initialize a font for a 4224 printer.
• Load print images for a 4224 printer.
You may wish to load these functions from a terminal other than the one you are
using; therefore, the system prompts you to specify a terminal. If the selected
terminal is not a 4974, 4978, or 4980, the system notifies you and rejects the
command.
.

4974 Support
Use $TERMUT2 to restore the image buffer of a 4974 printer to the standard
64-character set or to load the 96-character set image $4974IS1. The 4974 printer
uses the Extended Binary Coded Decimal Interchange Code (EBCDIC), which
includes 64 standard characters and five characters for international use (96
characters are available with $4974IS1). You can change the standard key definition
by using the TERMCTRL instruction within your application program or using the
$FONT utility, and the system stores the redefined character set in the image buffer
of the 4974. For detailed information on the 4974 printer, refer to the Bibliography
for the 4974 Printer manual.

Chapter 4. Utilities

4-601

$TERMUT2

4978 and 4980 Support
Use $TERMUT2 to make special character string assignments on the 4978 and 4980
keyboard. The system defines the functional characteristics of a keyboard by data
('"
tables in the system-supplied data sets. These tables vary according to the p a r t i c u l a r - )
keyboard used and are provided on an IBM diskette shipped with your keyboard.
The diskette contains control data tables and image data tables.
Control data consists of scan-code-translation tables and a redefine table. Image
data consists of a character-image table.
4978 and 4980 displays have a control store and an image store, loaded from disk or
diskette. At IPL, the system automatically loads all 4978s and 4980s with the
following control· store and image-store data sets:
Display
Station

Control
Store

Image
Store

4978

$4978CSO

$4978ISO

4980

$4980CSO

$4980ISO

These control/image stores may be standard system-supplied data sets or
control/image store data sets that you created and named $4978CSO and $4978ISO
for the 4978 and $4980CSO and $4980ISO for the 4980.
Key definitions can be changed, perhaps to be appropriate to a special key data
application, and the redefined keyboard definitions saved on disk. The keyboard
definition can be reloaded later using $TERMUT2 or by using the TERMCTRL
instruction within your application. When the tables are altered, it is not necessary
to alter the entire table. Your particular application may be enhanced through
minor changes in key functions on a temporary or permanent basis. Use $FONT to
change the display image of redefined keys. Refer to the Operation Guide for
procedures on how to define an interrupt key on a 4978 or 4980.
F or detailed information on the 4978 or 4980 display station functions and the 4978
or 4980 keyboards, refer to ,the Bibliography.

Data Set Names and Requirements
Depending on the type of display stations that are attached to your Series/I, two
special names are reserved by the system and used during initial program load time.
For the 4978 and 4980 display stations, the two special data sets are as follows:

Display
Station

Control
Store
Label

Image
Store
Label

4978

$4978CSO

$4978ISO

4980

$4980CSO

$4980ISO

These data sets are automatically searched for and loaded to defined display stations
during the initialization phase at IPL time. After IPL, $TERMUT2 can be used to
load a control or image store from control/image data sets you have defined, or to
read the control or image store in a display, and write to a data set you have
allocated.

4-602

SC34-0940

o

$TERMUT2

o

For each control store or image store that you create and wish to save, $TERMUT2
requires preallocated data sets. For the 4978, the sizes of the data sets are as
follows:
1. A 16-record (4096 bytes) data set for each control store
2. An 8-record (2048 bytes) data set for each image store.

For the 4980, the sizes of the data sets are as follows:
1. An 8-record (2048 bytes) data set for each control store
2. A 16-record (4096 bytes).data set for each image store.

Names for the image and control stores respectively are $4980ISx and $4980CSx,
where "x" is any character excluding 0 through 9 which are reserved by EDX.

Loading $TERMUT2
You load $TERMUT2 with the $L operator command or option 4.2 of the session
manager.
Note: You can change the dynamic storage size when you load $TERMUT2. To do
so, press the attention key and enter $L $TERMUT2" XXXX. XXXX is the
size of storage in bytes. $TERMUT2 uses dynamic storage for the LF
command.

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

$L $TERMUT2

LOADING $TERMUT2

34P,01:07:09, LP= 9200, PART=l

COMMAND (?): ?
AD - ASSIGN DEFINE KEY
C - CHANGE KEY DEFINITION
EN- END PROGRAM
EX - ENABLE XON/XOFF PACING IN 3151, 3161, 3163 OR 3164
LC - LOAD CONTROL STORE
LI . - LOAD IMAGE STORE
LT - LOAD 4980 TERMINAL
RE- RESTORE 4974 TO STANDARD 64-CHARACTER SET
SC- SAVE CONTROL STORE
51 -SAVE IMAGE STORE
IF - INITIALIZE 4224 FONT
CF - ASSIGN 4224 CHARACTER SET TO LOCAL FONT
OF - DELETE LOCAL FONT FOR 4224 PRINTER
LF ~ LOAD 4224 PRINT IMAGES
COMMAND (?):

o

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

4-603

$TERMUT2

AD - Assign a Define Key
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 (0 in Figure 4-34 on
page 4-606), find that number in Figure 4-36 on page 4-607 (0) and make note of
its sean 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.
Note: The 4980 has a predefined DEFINE key.
Syntax:

AD

number terminal

Required:
Default:

ALL
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 load
$TERMUT2.

Example: Assign a define key.

COMMAND (?): AD
ENTER SCAN CODE OF KEY TO BE ASSIGNED
AS THE DEFINE KEY (HEX): 29
. ENTER TERMINAL NAME (CR OR * = THIS ONE):

$SYSLOG

ENTE.R N9NSHIFT, SHIFT ,ORALTERNATIVECOD~ MODE (N/S/A}:

Note: The NjSjA options will appear only on the 4980.

()
4-604

SC34-0940

$TERMUT2

o

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:
Default:

ALL
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 load $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 4-36 on page 4-607 and for the 4980 in Figure 4-37 on page 4-608. For
a complete listing, see the general information manuals for the 4978 keyboard or
the 4980 display station.

c
Chapter 4. Utilities

4-605

$TERMUT2

Example: Change a key definition.

o

COMMAND ( ?}:

C
,
ENTER TERMI NAC NAME (CROR *= THIS ONE): '$SYSLOG
ENTER SCAN COOEOF THE KEY TO BE REDEFINED (HEX): ,91
ENTER NONSHIFT , SHIFT, OR ALTERNATIVE CODE MODE (N!S/A):
ENTER NEW FUNCTION IO (HEX): 29
.
.
ENTER NEW CHARACTER/FUNCTIONCOOE (HEX):
ENTER. NEW' INTERRUPT CODE .' {HEX}: 91
ANOTHER KEY (YIN)? N

Note: The NjSjA options will appear only on the 4980.

BG1216

Figure

4-34. 4978 Display Station Keyboard

BG1217

Figure

4-606

4-35. 4980 Display Station Keyboard
SC34-0940

o

$TERMUT2

Control Store Data

o

Downshift - Unshifted

Upshift - Shifted

Scan code
K
e
y

Scan code
K

Function 10 code
Character/local function code

p
0

Character image table
Row

0

n

Character image table

1

2

3

4

5

6

Row

7

1

01

20

00

01

1

81

20

00

01
02

3

02

20

00

02

3

82

20

00

4

03

20

00

03

4

83

20

00

03

6

04

20

00

04

6

84

20

00

04

7

05

20

00

05

7

85

20

00

05

9

06

20

00

06

9

86

20

00

06

10

07

20

00

07

10

87

20

00

07

12

08

20

00

OB

12

88

20

00

OB

DC

13

09

20

00

OC

13

89

20

00

15

OA

20

00

OD

15

8A

20

00

OD

17

DB

20

00

DE

17

8B

20

00

DE

19

OC

20' 00

OF

19

8C

20

00

OF

20

OD

20

00

10

20

8D

20

00

10

22

DE

20

00

11

22

8E

20

00

11

23

OF

20

00

12

23

8F

20

00

12

25

10

20

00

13

25

90

20

00

13

26

11

20

00

14

26

91

20

00

14

28

12

20

00

15

28

92

20

00

15

29

13

20

00

16

29

93

20

00

16

31

14

20

00

17

31

94

20

00

17

32

15

20

00

18

32

95

20

00

18

34

16

20

00

19

34

96

20

00

19

35

17

20

00

lA

35

97

20

00

1A

37

18

20

00

1B

37

98

20

00

1B

39

19

20

00

1C

39

99

20

00

1C

41

1A

20

00

10

41

9A

20

00

1D

42

1B

20

00

1E

42

9B

20

00

1E

44

1C

20

00

1F

44

9C. 20

00

1F

61

10

20

00

20

61

9D

20

00

20

63

1E

20

00

21

63

9E

20

00

21

64
1'66

1F

20

00

22

64

9F

20

00

22

20

20

00

23

66

AO

20

00

23

21

20

00

24

67

A1

20

00

24

-

67

Keytop
symbol

Interrupt code

n

0

'\

0

s
i
t
i

0

Character/local function code

p
Key top
symbol

Interrupt code

s
i
t
i

Function 10 code

e
y

00

00

00

00

00

00

00

00

(Blank)

0

1

2

3

4

5

6

7

00

00

00

00

00

00

00

00

(Blank)

112 4C

00

C1

00

30

05

48

48

78

48

48

00

A

112 CC

00

C1

00

30

05

48

48

78

48

48

00

A

113 4D

00

E2

00

07

48

04

30

01

48

07

00

S

113 CD

00

E2

00

07

48

04

30

01

48

07

00

S

114 4E

00

C4

00

70

05

DC

DC

DC

05

70

00

D

114 CE

00

C4

00

70

05

DC

DC

DC

05

70

00

D

115 4F

00

C6

00

78

40

40

70

40

40

40

00

F

115 CF

00

C6

00

78

40

40

70

40

40

40

00

F

116 50

00

C7

00

31

DC

40

40

58

00

G

116 DO

00

C7

00

31

40

58

00

G

00

48

48

48

78

48

48

00

H

117 D1

00

C8

00

48

48

78

48

DC
48

38

C8

DC
48

40

00

DC
48

38

117 51

48

00

H

118 52

00

D1

00

OB

01

01

01

41

41

34

00

J

118 D2

00

D1

00

OB

01

01

01

41

41

34

00

J

Figure

-----

4-36. Control Chart for 4978 Display Station

Chapter 4. Utilities

4-607

$TERMUT2
Key
Reference

Scan
Code
00
01
02
03
04

OS

06
07
08
09
OA
OB
DC
0.0
DE
OF
10

11
12
13
14
15
16
17
18
19
lA
18
Ie
10
IE
IF
20

~
60
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
78
7C
70
7E
7F

Figure

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

Alpha- Alterna- NonShift
numeric tive
Entry
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

00
00
79
02
Fl
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
02
A3
A8
02
A4
02
89
02
96
02
97
02
> BO
02
02
EO
81
02
02
A2
84
02
86
02
87
02
02._
88

--

r-- 02

02
02
02
02
02
02

97

iO

02

98
99
100
101

10
10
61
10
10
10
10
61
·01
01
10
10

02
02
02
02
02
02
02
02
02
02
02
02

102
103
104
105

106
107

108
109

Interrupt
Entries

Character/Local
Entries

Function 10
Entries

-

00
F7
F4
F1
17
00
F8
F5
F2
FO
00
F9
F6
F3
4B
00
00
00
60
4E

00
Al
7C
7B
5B
6C
> BA
50
5C
40
50
60
4E
90
D8
E6
C5
09
E3
E8
E4
C9
06
07
> 4F
6A
Cl
E2
C4
C6
C7
~8

00
F7
F4
Fl
17
00
F8
F5
F2
FO
00
F9
F6
F3
4B
00
00
00
61)
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
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
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

Data Key
Functions

Alternative Default
is no Operation
Alphanumeric
Non-shift
Shift

AlphaAlternanumeric tive
Code
Shift
Entry
Entry

> BB

I

I
G)

1
2
3
4

It
$

5

Y-

-&

6

7
8
9
0
:!::
q

Q

=

W

r

R

t

T

<-

E
y
U
I
0
.p

y

u

i
0

p
¢

,

!

:

<<-

A
S

a
5

D
F
G
H

--

- -Replac~le
10

00
00
00
00
IE
00
00
00
00
IF
00
00
00
00
20
21
22
00
00

<-

+
0

w
e

~

<<<<<-

)

-

t

.

*(

-

d

( )\

..,

legendlkey
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

-

+

4-37. Control Chart for 4980 Display Station

o
4-608

SC34-0940

$TERMUT2

CF - Assign 4224 Character Set to Local Font
Use the CF command to assign a character set to a font you have previously defined
or to assign a character set as the default when initializing fonts provided with your
printer.
Syntax:

CF

footid charid prtrname

Required:
Default:

all
none

Operands

Description

fontid

The font identifier (1 word) representing the font to which the character
set is to be assigned. Valid values for the fontid are fonts you define or
255.
Notes:
1. When the fontid is 255, the character set you specify (charid

operand) becomes the default when initializing fonts provided with
your printer.
2. For more information on assigning a character set to a font by using
the TERMCTRL CHARSET statement, refer to the Language
Reference.
charid

The character identifier representing the character set from which graphic
characters are to be assigned. Valid character identifications are:
•
•
•
•
•
•

PC 1 - PC character set 1
PC2 - PC character set 2
INTI - International 1
INT5 - International 5
APL-APL
KANA - Japan-katakana.

Note: APL and KANA are only valid when you select a font of DP
quality. APL and KANA are not valid when the fontid equals
255.
prtrname

The name of the printer to which you are assigning a character set.

Example: Assign the International 5 Character Set to Font 32.

COMMAND (?).: CF
.NEW FONT 10: 32
CHARACTER SET 10: INTS
4224· PRINTER NAME: PRTR4224

c
Chapter 4. Utilities

4-609

$TERMUT2

OF - Delete Local Font for 4224 Printer
Use the DF command to delete fonts you have initialized previously. The active
font remains in effect. When you use the DF command to delete a font, the printer
releases the storage allocated for that font. For more information on deleting a font
using the TERMCTRL DELFONT statement, refer to the Language Reference.

0

. __ '

Syntax:

DF

fontid prtrname

Required:
Default:

ALL
none

Operands

Description

fontid

font identifier that specifies the local font you want to delete.

prtrname

The name of the printer whose font you are deleting.

Example: Delete a font.

COMMAND (?): DF
lOOF FONT TO BE DELETED: 32
4224 PRINTER NAME: PRTR4224

EN - End Program
Use the EN command to terminate the $TERMUT2 utility.
Syntax:

EN
Required:
Default:

none
none

Operands

Description

None

Non

Example: End the $TERMUT2 utility.

o
4-610

SC34-0940

$TERMUT2

EX - Enable XON/XOFF Pacing for 3151,3161,3163 or 3164 Terminal
Use the EX command to enable XONjXOFF pacing for a 3151,3161,3163 or 3164
terminal. The EX command is used only once for each 3151, 3161, 3163 or 3164
terminal defined with PACING=XONXOFF on the TERMINAL statement. Once
XONjXOFF is enabled, it stays enabled even if the terminal or system is powered
off. You do not need to disable XON/XOFF pacing if the terminal is later defined
without PACING = XONXOFF on the TERMINAL statement. Refer to the
Installation and System Generation Guide for more information.
Syntax:

EX

terminal

Required:
Default:

all
none

Operands

Description

Terminal

The name of the 3151, 3161, 3163 or 3164 terminal to have XONjXOFF
pacing enabled.

Example:

COMMAND (1): EX
3151/3161/3163/3164 TERMINAL NAME: $SYSPRTR

INVALID TERMINAL NAME
MUST BE DEFINED AS MODE=316XB
AN[)PACING=XONXOFF
COMMAND .(1):

IF - Initialize Font for 4224 Printer
Use the IF command to initialize a font for the 4224 printer. For more information
on initializing a font using the TERMCTRL INITFONT statement, refer to the
Language Reference.
Syntax:

IF

fontid original prtrname

Required:
Default:

ALL
none

o
Chapter 4. Utilities

4-611

$TERMUT2

Operands

Description

fontid

The font identifier (1 word in size) that represents the font you want to
initialize.

original

The font identifier (1 word in size) that represents a previously initialized
font. The previously initialized font is used to define the font presently
being initiriJized. The printer uses the character set and print
characteristics from the original font when initializing the new font.

prtrname

The name of the printer whose font you are initializing.

Example: Initialize a font for a 4224 printer.

J',.'

COMMAND (?): IF
NEW FONT 10: . 29
ORIGINAL FONT tD: 4
~_4~22_4__
PR_I_NT_E_R_N_A_ME_:__P_RT_R_4_22_4________________________________

'

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:
Default:

ALL
none

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 loaded $TERMUT2.

Example: Load a 4978 control store.

CQMMAND (?): LC
SOURCE,' (NAME, VOLUME): $4978CS9, EDX992
ENTER TERMINAL NAME(CR OR· *= THIS ONE): *

4-612

SC34-0940

c

$TERMUT2

LF - Load 4224 Print Images

o

Use the LF command to load print images for the 4224 printer. The LF command
alters an existing local font. If you want to alter a new font, you must use the IF
command to initialize the font first. For more information on loading a font using
the TERMCTRL LOAD FONT statement, refer to the Language Reference.
Syntax:

LF

name, volume fontid prtrname

Required:
Default:

ALL
none

Operands

Description

name

Defines the name of the data set to be accessed.

volume

Defines the name of the volume containing the data set.

fontid

The font identifier (1 word in size) that represents the local font you
want to alter.

prtrname

The name of the printer to which you are loading a print image.

Example 1: Load print images to a 4224 printer.

C'~,'I
,J

COMMAND (?): LF
IMAGE DATA, SET NAME:, NEWFONT, EDX002
LOCAL' FONT It):: 32
4224 PRINTER NAME: "PRTR4224

LI - Load an Image Store
Use the LI command to load an image store (character image table) on the terminal
you specify.
Syntax:

LI

name, volume terminal

Required:
Default:

ALL
none

Operands

Description

name

Defines the name of the data 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 loaded $TERMUT2.

Chapter 4. Utilities

4-613

$TERMUT2

Example 1: Load a 4978 image store.

o

tOMMA~D, {?}: '" LI

SOURCE (NAME, VOLUME}: $4978ISO, EDX992
ENTER,TERMINAL'·NAME'{CR"OR *= THIS'ONEJ:

*

Example 2: Load a 4974 image store.

COMMAND (?): LI
SOURCE· (NAME$VOLUME): $4974ISl,EDX992
ENTtRTERMINAL NAME (CR OR
= THIS, ONE):

*

MPRINTER

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:
Default:

terminal
none

Operands

Description

terminal

Defines the 4980 you want to load.

Example: Load a 4980 terminal.
COMMAND (1):' LT
ENTER TERMINAL NAME (CROR

*=

THIS ONE):

TERM!

C'URRENT IMAGE STORE DATA SET 'NAME IS$4980ISX
SYSTEM DEfAULT 'DATA SET IS. $4980150
ENTER LAST CHARACTER OF DATA SET NAME TO BE USED;

9

CURRENT CONTROL STORE DATASET NAME IS$4980CSX
SYSTEMDEFAiJLT DATASETNAMErS$4980CS0·
ENTER LAST CHARACTER OF DATA SET NAME TO BE USED:

X

L()AO~NG . IMAG.E: STOR~ "ANDCONTROLSTORETOJERMI

o
4-614

SC34-0940

$TERMUT2

RE - Restore 4974 to Standard 64-Character Set
Use the RE command to restore the image buffer of a 4974 printer to the standard
64-character set.
Syntax:

RE

terminal

Required:
Default:

terminal
none

Operands

Description

terminal

Defines the device to be restored.

Example: Restore 4974 to standard 64-character set.

COMMAND (?): RE
ENTER TERMINAL NAME (CR OR *

= THIS ONE): MPRINTER

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:
Default:

ALL
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 loaded $TERMUT2.

Example: Save a control store.

COMMAND (?): SC
SAVE DATA SET (NAME,VOLUME): $4978CSO,EDX002
ENTER TERMINAL NAME (CROR *= THIS ON;E:):;'$SYSLOG

Chapter 4. Utilities

4-615

$TERMUT2

SI - Save an Image Store
The SI command saves a redefined image store in the data set specified.
Syntax:

SI

name, volume terminal

Required:
Default:

ALL
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) QT enter an * and press the enter key to specify the
terminal that loaded $TERMUT2.

Example: Save an image store.

o
4-616

SC34-0940

$TERMUT3

()

$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.

Loading $TERMUT3
Load $TERMUT3 with the $L operator command or option 4.3 of the session
manager. $TERMUT3 does not have commands and only issues prompting
messages as follows:
( > ;jIL
...........
ERMU
.....
.) I
I
loJ

LOADING $TERMUT3

4P.el:e9:4e, LP= 92ee,PART=1

TERMINAL BROADCAST UTILITY
ENTER TERMINAL NAME:
(Label of the terminal to which message is to go.)
ENTER MESSAGE TO SEND
(Type in message and press the ENTER (CR) key.
The message is transmitted to the destination terminal.)
ANOTHER MESSAGE (YIN)?
(If yes, you are prompted to enter another message line.)
ANOTHER TERMINAL (YIN)?
(If yes. select another terminal and repeat the above process.)
DETACH PROGRAM, (WAIT FOR IATTN SEND') (YIN)?
(If yes, theprogram remai ns loaded and inactive.
Pressing the ATTN key and entering 'SEND' starts
the ....above· proce~s again.)

Chapter 4. Utilities

4-617

$TERMUT3

Example 1: Send a message to terminal $SYSLOGA.

>

o

$L $TERMUT3

LOADING$TERMUT3

3P.00:41:10, LP=8800

TERMINAL BROADCAST UTILITY
ENTER TERMINAL NAME: $SYSLOGA
ENTER MESSAGE TO SEND
THIS IS A TEST MESSAGE.
ANOTHER MESSAGE (YIN)? Y
ENTER MESSAGE TO SEND
THIS IS ANOTHER TEST MESSAGE.
ANOTHER MESSAGE (YIN)?

N

ANOTHER TERMINAL (YIN)? N
DETACH PROGRAM, (WAIT FOR IATTN SENDI) (YIN)?

N

$TERMUT3 ENDED AT 00:43:05

Example 2: Select another terminal after sending a message.

ANOTHER MESSAGE (Y.N)? N
ANOTHER TERMINAL (YIN)? Y
ENTER TERMINAL NAME: $SYSPRTR
ENTER MESSAGE TO SEND
HELLO $SYSPRTR
ANOTHER MESSAGE (YIN)?
ANOTHER TERMINAL (YIN)?

N
N

DETACH PROGRAM, (WAIT FOR 'ATTN SEND') (YIN)?

N

$TERMUT3 ENDED AT 00:54:00

o
4-618

SC34-0940

$TERMUT3

Example 3: Keep $TERMUT3 active; send a message later.

ANOTHER MESSAGE (YIN)?
ANOTHER TERMINAL (YIN)?

N
N

DETACH PROGRAM, ( WAIT FOR 'ATTN SEND') (YIN)? y
> SEND

ENTER TERMINAL NAME: TTY30
ENTER MESSAGE TO SEND
TTY30 - ARE YOU THERE
ANOTHER MESSAGE (YIN)?
ANOTHER TERMINAL (YIN)?

N

N

DETACH PROGRAM. ( WAIT FOR 'ATTN SEND') (YIN)? Y

Chapter 4. Utilities

4-619

$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 load the $TRACEIO utility for each
device you want to trace. lVIultiple traces require multiple loads, one for each
address.

o·

$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.

Loading $TRACEIO
Load $TRACEIO with the $L operator command. The session manager does not
support this utility.

l
I

> $L $TRACEIO

LOADING $TRACEIO

55P,03:29:58, LP= 0000, PART= 2

COMMAND (?):

I

J

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

(~'

COMMAND. (?): ?
01 - DISPLAY TRACE DATA SET
DU - DUMP TRACE BUFFER
EN ~ END TRACEIO PROGRAM
RE - REPEAl PREVIOUS TRACE
TR -TRACECOMM~NICATIONS LINE

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.

o
4-620

SC34-0940

$TRACEIO

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.

COMMAND (?):

DI

TRACE DATA SET (NAMEtVOLUME): $TRACEDS,EDX992
DISPLAY 010 EXECUTIONS (YIN)? Y
DISPLAY INTERRUPTS (YIN)? Y
ENTER PRINTER NAME: $~1YPRTR
ARE ALL PARAMETERS CORRECT (YIN)? Y

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 (ala) 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.
$TRACEIO prompts you to determine what you want to do with the trace data set
in the $TRACEIO data buffer. You can display, log, or print the data to disk(ette),
or you can do any combination of the three.
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.

COMMAND (?): DU
DISPLAY OID EXECUTIONS (YIN)? Y
DISPLAY INTERRUPTS (YIN)? Y
PRINT TRACE DATA. (YIN)? Y
ENTER PRINTER NAME:· $SYSPRTR
LOG TO DISK(ETTE) (YIN)? Y
ENTER TRACE DATA SET NAME, VOLUME: $TRACEDS,EDX992
ARE ALL PARAMETERS CORRECT {YIN}? Y

•
Chapter 4. Utilities

4-621

$TRACEIO

Sample output displayed on the monitoring terminal/printer would appear as in the
following example.

rt(

~,

EXECUTE RESET"OIO
EXECUTE START 010
EXECUTE START 010
EXECUTE START 010
INTERRUPT

CC=7
CC=2
CC=2
CC=7
ICC=2 (EXCEPTION)
ISB=Ae
DEVICE-DEPENDENT STATUS AVAILABLE
WRONG LENGTH RECORD
DCB
CONTROL WORD
TIMER 1
TIMER 2
CHAIN ADDR
BYTE COUNT
DATA ADDR

EXECUTE SCSS 010
INTERRUPT

20e4 (INPUT RECEIVED)
eee2
eeeA
eeee
eees
lA4E

CC=7
ICC=3 (DEVICE END)
STATUS WORD 0 lA54 RESIDUAL ADDR
1 e0ee FLAG WORD 1
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.

COMMAND (?): EN
$TRACEIO ENDED AT ee:ee:ee

4..622

SC34-0940

(

$TRACEIO

RE - Repeat Previous Trace
Use the RE command to repeat the trace previously performed on a communications
line.
Example: Repeat the previous trace.

l

COMMAND (?): RE

TR - Trace Communications Line
You can use the TR command to trace the activities on a specific communications
line. When you enter TR, $TRACEIO prompts you for the address of the line to be
traced.

COMMAND (?):

TR

ENTER HEX ADDRESS OF LINE TO BE TRACED:

If the device at the specified address is not traceable, $TRACEIO issues the
following message:

l~T_R_A_CE__OP_T_IO_N__NO_T_S_E_L_EC_T_ED__AT__S_YS_G_EN____________________~________~J
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:

l_:_:_:_:_lD_(y~ _~_:E_S_S

________________

~~~~~

________________

~j

•
Chapter 4. Utilities

4-623

$TRACEIO

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.

TERMINATE ON FULL BUFFER?
TERMINATE ON COUNT?
010 COUNT OR ZERO:
INTERRUPT COUNT OR ZERO:
ARE ALL PARAMETERS CORRECT (Y/N)?
NOTE: $TRACEIO MAY BE TERMINATED AT ANY TIMEWITH PF3

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.

4-624

SC34-0940

$TRANS

STRANS - Transmit Data Sets Across a Bisync Line
Use $TRANS to transmit data sets and programs from one Series/l to another
across a point-to-point bisynchronous communication line.

Loading $TRANS
Load $TRANS with the $L command.
You should always load $tRANS on the remote system first. The remote system is
the system receiving data. The load is successful on the remote system when you
receive the READY FOR TRANSMISSION message. The remote system is now
ready to receive data. Load $TRANS on the local system. (The local system is the
system transmitting data.) For a step-by-step procedure on how to use $TRANS,
refer to the Operation Guide.
Note: If the system does not allow you to transmit data across the BSC line (and
"the line does not time-out), you can free the line by pressing the attention key
and entering $C $BSCXMIT.
Example: Load $TRANS on the remote system. Respond to prompts as shown:
> $L $TRANS

LOADING $TRANS

xxP,12:12:12, LP=

aaaa,

PART= 2

$TRANS - BISYNC TRANSPORT UTILITY
THIS UTILITY SHOULD ONLY BE USED WHEN TRANSPORTING DATA
SETS OR PROGRAMS OVER A BISYNC LINE. DO YOU WISH TO CONTINUE (YIN)? Y
IS THIS THE TRANSMITTING SYSTEM (YIN)? N
BSC RECEIVE PROGRAM ACTIVE
ENTER BSC LINE ADDRESS IN HEX: 99
BSC LINE OPEN - READY FOR TRANSMISSION

()
Chapter 4. Utilities

4-625

$TRANS

Example: Load $TRANS on the local system. Respond to prompts as shown:

$TRANS

o

-BISYNC TRANSPORTUrILITY

THIS UTILITY SHOULD ONLY BE UStDWHENTRAN$pbHTINGDATA
SETS OR'PRQGRAMS OV.~R A .BISYNC LINE •. DO YOU WISH TO CONTI.NUE . (YjN)? Y
IS THIS THE TRANSMITTING SYSTEM (YIN)? Y
BSC TRANSMIT PROGRAM ACTIVE
ENTER

sse

LINE ADDRESS IN HEX:

ENTER SOURCE VOLUME!

I

09

TESTl

I

ENTER TARGET VOLUME: TE5T2
l_M_E_MS_E_R_S_O_N_V_O_LU_M_E_T_ES_T_l___
WI_L_L_B_E_C_O_PI_E._D_T_O_V_O_LU_M_E_T_E_ST_2________________

~j

Notes:

1. Messages regarding errors encountered on the receive end will appear on both
the receive and transmit ends.
2. If you rename $TRANS as $INITIAL, the system loads the utility automatically
at IPL time on the remote system. The bisync line address defaults to 09.
3. To cancel $TRANS:
• On the remote system, press the attention key and enter $C $BSCRECV.
• On the local system, press the attention key and enter $C $BSCXMIT.

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

COMMAND· (?): ?
. CALL ,.. COpy ALL MEMBERS IN THE VOLUME
CG
- COpy GtNERIC
Ctvi- COPJ MEMBER
. ,CV . ,.. CHANGE VOLUME
EN
- END UTI LITY
ES
-END UTILITY WITH SHUTDOWN ON RECEIVE END

J

~~~---"--~~~~--

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

o
4-626

SC34-0940

$TRANS

CALL - Copy All Members In the Volume
Use the CALL command to copy all members in a volume or all members starting
from a certain member.
Note: You cannot use the CALL command to copy $LOADER and the nucleus
modules ($EDXNUCx). Use the CM command to copy these modules.
Example 1: Copy all members.

COMMAND (?): CALL
COpy FROM THE BEGINNING (YIN)? Y
ALL MEMBERS ON VOLUME
III WILL BE COPIED TO VOLUME AAA
ARE ALL PARAMETERS CORRECT (YIN)? Y
$4978CSO
$LOADER
DATA002

COpy COMPLETE
NOT COPIED
COpy COMPLETE

VOLUME TRANSMISSION COMPLETE
COMMAND (1):

Example 2: Copy all members starting with a certain member.

COMMAND (?): CALL
COpy FROM THE BEGINNING (YIN)? N
ENTER STARTING MEMBER NAME: EDXSVCX'
ARE ALL PARAMETERS CORRECT (YIN)? Y
EDXSVCX COpy COMPLETE
#XMTSRC COPY COMPLETE
$TAPERT . COpy COMPLETE
oI SKIO
CO;PY COMPLETE
RWOOI
;C()PyCOM~lETE
OATA003 . COPY"COMPtETE

.COMMAND . . (?) :

Chapter 4. Utilities

4-627

$TRANS

Example 3: Copy all members on volume ZZZ to volume AAA. Volume AAA is

full. The system prompts you as to whether to copy the remaining members on
another volume. Reply Y and the system copies the members to volume BBB.

r

0

> $l $TRANS
>

LOADING $TRANS

xXP,12:12:12, LP= 0000, PART= 2

$TRANS >- BISYNC TRANSPORT UTILITY
THIS UTI LITY SHOULD ONLY BE USED WHEN TRANSPORTING DATA SETS
OR PROGRAMS OVER A BISYNC LINE. DO YOU WISH TO CONTINUE (YIN)? Y
IS THIS THE TRANSMITTING SYSTEM (YIN)? Y
BSC TRANSMIT PROGRAM ACTIVE

6a

ENTER BSC LINE ADDRESS IN HEX:
ENTER SOURCE VOLUME:

ZZZ

ENTER TARGET VOLUME:

AAA

MEMBERS ON VOLUME TEST 'WILL BE COPIED TO VOLUME TEST
COMMAND (?): CALL
COpy FROM THE BEGINNING (YIN)? Y
ALL MEMBERS ON VOLUME

III

WILL BE COPIED TO VOLUME AAA

ARE ALL PARAMETERS CORRECT (YIN)? Y
ASMOBJ
ASMWORK
BACKUP
LINKWORK

COPY
COPY
COPY
COPY

COMPLETE
COMPLETE
COMPLETE
COMPLETE

c

DIRECTORY OR VOLUME OVERFLOW ON REMOTE SYSTEM
CONTINUE ON ANOTHER VOLUME (YIN)? Y
ENTER CONTINUATION VOLUME NAME::

BBB

LINKWRK2 COpy COMPLETE
LINKWRK3COPY COMPLETE
VOLUME TRANSMISSION COMPLETED
COMMAND (?):

EN

BSC LINE CLOSED
$TRANS
ENDED AT 12:14:00

o
4-628

SC34-0940

$TRANS

CG - Copy Generic

()

Use the CG command to copy all members from one system to another.
Example: Copy all members from the source volume to the target volume. The
system issues NO MATCH ON X when there are no members starting with that
character.
COMMAND (?): CG
ENTER GENERIC TEXT:
ASMWORK
ASMOBJ

A

COPY COMPLETE
COpy COMPLETE

COMMAND (?): CG
ENTER GENERIC TEXT:

l

~

J

NO MATCH ON B

_C_O_MM_A_ND__
(?_.)_:____________________________________________~

CM - Copy Member
Use the CM command to copy a single member from one system to another.
Note: When copying from system to system using $TRANS, you cannot change the
member name.
Example: Copy a member.

COMMAND (?):

eM

ENTER THE DATA SET NAME:

XXX

(The following prompt appears only when $LOADER
is speci fi ed as the data set· you wi sh to· copy.
Respond nyu to the 'promptisstied and the copy wi 11 proceed.
Respond liN" and the utility wiHreturn to command mode.)

c
Chapter 4. Utilities

4-629

$TRANS

CV - Change Volume

o

Use the CV command to change the source volume.
Example: Change the source volume.

COMMAND (?): CV
ENTER SOURCE· VOLUME: ZZZ
ENTER TARGET VOLUME: AAA
MEMBERS ON VOLUME
ZZZWILL BE COPIED TO VOLUME

AAA

(?):

COMMAND

EN - End Utility
Use the EN command to end $TRANS on the local system. (This is the system
transmitting data.) The bisync line shuts down and no data can be sent to the
remote system.
Example: End the $TRANS utility on the local system.

COMMAND (?):

EN

SSC LINE CLOSED
$TRANS
ENDED AT 12:14:00

ES - End Utility with Shutdown on Receive End
Use the ES command to end $TRANS on both the local and remote systems. (The
remote system is the one receiving data.) The bisync line shuts down. The remote
system cannot receive data and the local system cannot send data.
Example: End $TRANS on the remote and local systems.

COMMAND

en:c. . ES

sse LINE

CLOSED·
REMOTE BSC LINE CLOSED
$TRANS
ENDED AT 12:14:00

o
4-630

SC34-0940

$TRAP

o

$TRAP - Save Storage on Error Condition
The $TRAP utility enables you to isolate intermittent hardware and software
problems. 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
TRAPDUMP command or by pressing the console interrupt button on the
programmer console. The use of the TRAPDUMP command and the console
interrupt button are explained under "Forcing a $TRAP Dump" on page 4-638.
The $DUMP utility formats and prints the data saved by $TRAP.

Considerations When Using $TRAP
Cross Partition allows $TRAP to be loaded out of partition 1 with two pages of
storage required in partition 1 for DCBs and interrupt handling.
Consider the following when you use $TRAP:
• $TRAP 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.
• When $TRAP is in the dynamic dump process, none of the attention commands
are recognized.
• If you code a task error exit for an error you want to trap, the trap still takes
place. If this is a dynamic dump, control passes back to the user after the
dump.
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
AP AR 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 Multiple Diskettes." If you choose to take a
dynamic dump (the system remains active after the dump takes place), spanning
diskettes is not supported.

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 - If you are dumping all storage, 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 SI2K.
Chapter 4. Utilities

4-631

$TRAP

3. Multiple Diskettes - If your storage is greater than 5I2K, use primary option 0
of the $DASDI utility to create one 8-inch diskette for each 5I2K of storage.
The name and volume must be the same for each diskette
($$EDXLIB,IBMEDX).
Note: Number the diskettes in the order you dump to them.

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
(or mapped storage if that is all you are dumping) in your system by four. For
example, if you have 5I2K bytes of physical storage, you must allocate a data set of
at least 2048 records. With I024K bytes of physical storage, the $TRAP work data
set must be a minimum size of 4096 records.

Loading STRAP
Load $TRAP using the $L command, through the $JOBUTIL utility, or through the
LOAD statement in a program. As shown in the following example, the system
requests the conditions to trap on.

> $L $TRAP
DUMPDS (NAME,VOLUME): TRAPWORK,EDX993

** * * * * * * *

********

TO ENO$TRAP BEFORE A. . DUMP.JS TAKEN, . .PRESS . .THE ATTENTION KEY
AND ·ENTER: TRAPEND
-c- 00 NOT USE$C TO ENDIHIS UTILITY-:-* * * *~* * *** ~ * * * * * * *

(»

SELECT ONE OR MORE OF THE FOLLOWING CONDITIONS:
MACHINE CHECK (YIN)? N
PROGRAM CHECK (YIN)? N
SOFT EXCEPTION(Y IN)? N
CON5,OLE INTERRUPT (YIN)?Y
SAVEFLQATr~GJjOINT REGISTE~S (YIN)? N

DUMP ON
DUMP ON
DUMP ON
'QUMP'ON

Note: If your dump data set resides on diskette and you are using a 4966, the
diskette must be in slot one (1).

4-632

SC34-0940

C

$TRAP

Loading $TRAP in a Program

(;

The following illustation shows how you can load $TRAP by using the LOAD
statement in a program:

LOAD

$TRAP,DS=(TRAPDS),TRAPPARM,LOGMSG=NO

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

*

PARAMETER LIST FOR $TRAP

*

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

CL2 IN'
CL2Iy'
CL2 IA'
CL2 8
CL2 W
CL2 0
CL2 IN'
CL2 IN'
CL2Iy'
CL2Iy'
CL2 IN'
CL2Iy'

TRAPPARM DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC

1

1

1
1

1

CL2Iy~

MACHINE CHECK
PROGRAM CHECK
PROGRAM CHECK CONDITIONS
PROGRAM CHECK CONDITIONS
SOFT EXCEPTION
SOFT EXCEPTION CONDITIONS
CONSOLE INTERRUPT
SAVE FLOATING POINT REGISTERS
DYNAMIC DUMP
DUMP ONLY MAPPED STORAGE
SOFTWARE IPL
TRAP ON
TRAP OFF AFTER TRAP TAKEN

Loading $TRAP using $JOBUTIL
Another alternative is to load $TRAP by executing the following batch job
commands using $JOBUTIL:

J

PROGRAM $TRAP,EDX002
OS
TRAPDS,EOX003
PARM
N YA 8 NON N Y Y NY Y
EXEC

' - - - - - - - -

Parameter

Description

PARMI

Trap machine check information. Valid values are:

PARM2

Y

'.Crap machine check information.

N

Do not trap machine check information.

Trap program check information. Valid values are:
Y

Trap program check information.

N

Do not trap program check information.

Chapter 4. Utilities

4-633

$TRAP

PARM3

PARM4

PARM5

PARM6

PARM7

PARM8

PARM9

Trap program check conditions. Select the bit codes you want to
trap on and determine the hexidecimal representation for the
character 0 - F (code 1100 = hex 'C'). These conditions are:
Code

Condition

lxxx

Specification check

xlxx

Invalid storage address

xxIx

Privilege violate

xxxI

Protect check

o

Trap program check conditions. Enter the first byte (bits 0 -7)
character 0 or 8. It is converted to the hexidecimal representation
of the character. These conditions are:
Code

Condition

lxxx

Invalid function

Trap soft exception information. Valid values are:
Y

Trap soft exception information.

N

Do not trap soft exception information

Use this parameter for soft exception conditions. Select the bit
codes you want to trap on and determine the hexidecimal
representation for the character 0 - F (code 1100 = hex 'C').
These conditions are:
Code

Condition

IxxO

Invalid function

xlxO

Floating-point exception

xxlO

Stack exception

Console interrupt. Valid values are:
Y

Trap console interrupt information

N

Do not trap console interrupt information.

Use this parameter to save floating point registers. Valid values
are:
Y

Save floating point registers.

N

Do not save floating point registers.

Dynamic dump. Ignored if you specify software IPL. Valid values
are:
Y

Continue after a dump without having to IPL the
system.

N

IPL the system after a dump.

Note: If you specify dynamic dump, the system will continue only
if the error did not disable the supervisor.

o
4-634

SC34-0940

$TRAP

PARMI0

Dump mapped storage only (the storage you define for partitions).
Valid values are:

Y

Dump only mapped storage.

N

Dump mapped and unmapped storage.

PARMll

Software IPL. Restarts the system after a "normal" $TRAP dump.
The system will IPL from the same supervisor that was active when
$TRAP was loaded. If you also specified dynamic dump, the
dynamic dump will be ignored and the system will restart.

PARM12

Trap load- time. Valid values are:

Y

Activate the trap function at load time.

N

Do not activate the trap function at load time.

Specify N if you do not want the trap function active when $TRAP
is loaded. This way the trap function will be suspended until you
enable it by issuing the TRAPON attention command from the
operator console.
PARM13

~,","

~)

Trap off after information has been trapped. Valid values are:

Y

Do not activate the trap function again after
information has be trapped.

N

Activate the trap function again after information has
be trapped.

Specify N if you need to suspend $TRAP after the trap function
traps an error. If you specify Y, then $TRAP will be activated
again and will wipe out the first trap taken.

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.

Chapter 4. Utilities

4-635

$TRAP

• 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 ED L program.

o

• 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) - Occurs if the system attempts to execute an
illegal operation code.
Soft Exception: Indicates a software error that the system software is equipped to

handle. If 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:
• Invalid Function (Soft Exception) - 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.
• 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.
• Stack Exception - Occurs when a program attempts to move an operand from
an 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.
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 N to this
prompt if your system does not have floating-point hardware.
Dynamic Dump: Dynamic Dump allows you to continue after a dump without
having to IPL the system.

Note: The system will continue only if the t!rror that caused the dump did not
disable the supervisor.
Software IPL: Software IPL allows you to restart the system after a "normal"

$TRAP dump. The system IPLs from the same supervisor that was active when
$TRAP was loaded.
Note: You are prompted for this option only if dynamic dump is not specified.

4-636

SC34-0940

o

$TRAP

o

Dump Mapped Storage: Dump Mapped Storage allows you to dump mapped

storage only instead of mapped and unmapped. If you respond Y to this prompt,
only mapped storage is dumped. If you respond N, all the physical storage is
dumped.

Starting, Suspending, and Ending $TRAP
Once you have selected the error conditions to trap, the utility displays the following
messages:

$TRAP IS NOW SUSPENDED. PRESS THE ATTENTION KEY (» AND
ENTER ONE OF THE FOLLOWING COMMANDS:
-TO START $TRAP:
TRAPON
-TO FORCE A DUMP: TRAPDUMP
-TO SUSPEND $TRAP: TRAPOFF
-TO END $TRAP:
TRAPEND

You can "start" $TRAP now by pressing the attention key and entering TRAPON.
The system returns the message: $TRAP STARTED.
The TRAPON command activates the trap utility but does not produce a storage
dump. After starting $TRAP, 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.

Encountering Errors
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.
See "Dumping to Multiple Diskettes" on page 4-644 for an explanation of how to
dump to multiple diskettes. 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.
Except for dynamic dump or software IPL traps, if you have a programmer console
and you run your Series/1 in Diagnostic mode, you will receive a stop code of E9 if
the $TRAP dump is successful. For more information on how to obtain stop codes
with the programmer console, refer to Problem Determination Guide.
Note: Except for dynamic dump, 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 the partition where $TRAP
was loaded from, 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 TRAPON
command.

c
Chapter 4. Utilities

4-637

$TRAP

To end or cancel the $TRAP utility, press the attention key and enter the
TRAPEND command in the partition where $TRAP was loaded. The system
returns the message: $TRAP TERMINATED. Do not use the $C operator
command to cancel $TRAP.

o

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 the partition $TRAP was loaded from. If 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).)

/(~

,~./

o
4-638

SC34-0940

$TRAP

Example 1: The following example shows various options of the $TRAP utility,

activating Dynamic Dump and Dump Mapped Storage only. A description of each
of the numbered items follows the example.

I

$L $TRAP
DUMPDS (NAME,VOLUME): TRAPDS,EDX003
LOADING $TRAP 22P, LP= BAee, PART=1
>

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

TO END $TRAP BEFORE A DUMP IS TAKEN, PRESS THE ATTENTION KEY
AND ENTER: TRAPEND

(»

-- 00 NOT USE $C TO END THIS UTILITY --

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

SELECT ONE OR MORE OF THE FOLLOWING CONDITIONS:

II

DUMP ON MACHINE CHECK (YIN)? Y

I.

DUMP ON CONSOLE INTERRUPT (YIN)? Y
SAVE FLOATING-POINT REGISTERS (YIN)? N
DYNAMIC DUMP (YIN)? Y ,
DUMP MAPPED STORAGE ONLY (YIN)? Y
* ** * * ** * * * * * ** *

II

$TRAP IS NOW SUSPENDED. PRESS THE ATTENTION KEY
ENTER ONE OF THE FOLLOWING COMMANDS:
-TO START $TRAP:
TRAPON
-TO FORCE A DUMP: TRAPDUMP
-TO SUSPEND $TRAP: TRAPOFF
-TO END $TRAP:
TRAPEND

(»

AND

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

NOTE: IF A DUMP OCCURS, YOU MAY HAVE TO IPL THE *****
SYSTEM IF THE ERROR THAT CAUSED THE DUMP DISABLED *****
THE SUPERVISOR AS WELL.
*****

II,> TRAPON
'$TRAP'STARTED

,

"

c
Chapter 4. Utilities

4-639

$TRAP

II
II
II

Load $TRAP.

II

Indicate that you want the option of using the console interrupt button to
force a $TRAP dump.

1.1

Indicate that you want to save the floating-point registers (if you have
floating-point hardware installed).

II
II
II

Indicate that you want to activate the dynamic dump.

Enter the data set name and volume of the $TRAP work data set.
SET $TRAP to dump storage when it encounters a machine check.

o

Indicate that you want to dump mapped storage only.
The utility initially sets itself to "off."

m Start $TRAP. Duplicate the problem you wish to trap.

C~-'
j

4-640

SC34-0940

$TRAP

Example 2: The following example shows various options of the $TRAP utility,

()

activating Software IPL. A description of each of the numbered items follows the
example.

r

I

$L $TRAP
DUMPDS (NAME,VOLUME): TRAPDS,EDX003
LOADING $TRAP 22P, ~P= BA00, PA~T=l
>

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

TO END $TRAP BEFORE A DUMP IS TAKEN, PRESS THE ATTENTION KEY (»
AND ENTER: TRAPEND
-~-

DO NOT USE $C TO END THIS UTILITY -* * * * * * * * * * ** * **

SELECT ONE OR MORE OF THE FOLLOWING CONDITIONS:

II

DUMP ON MACHINE CHECK (YIN)? Y

I

DUMP ON CONSOLE INTERRUPT (YIN)? Y
SAVE FLOATING-POINT REGISTERS (YIN)? N

II
II
II

DYNAMIC DUMP (YIN)? N
SOFTWARE IPL THE SYSTEM AFTER A DUMP (YIN)? Y
DUMP MAPPED STORAGE ONLY (YIN)? Y

#'*'",1
~)

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

II

$TRAP IS NOW SUSPENDED. PRESS THE ATTENTION KEY (» AND
ENTER ONE OF THE FOLLOWING COMMANDS:
-TO START $TRAP:
TRAPON
-TO FORCE A DUMP: TRAPDUMP
-TO SUSPEND $TRAP: TRAPOFF
-TO END $TRAP:
TRAPEND
* *

*****

NOTE:

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

IF A DUMP OCCURS, THE SYSTEM,WILL IPL AUTOMATICALLY ****

Chapter 4. Utilities

4-641

$TRAP

o

Load $TRAP.

fJ

Enter the data set name and volume of the $TRAP work data set.

H
II

SET $TRAP to dump storage when it encounters a machine check.

o

Indicate that you want the option of using the console interrupt button to
force a $TRAP dump.

II

Indicate that you want to save the floating-point registers (if you have
floating-point hardware installed).

II
II

Indicate that you do not want to activate the dynamic dump.

II
D

Indicate that you want to dump mapped storage only.

Indicate that you do not want to activate the software IPL.

The utility initially sets itself to "off."

o
4-642

SC34-0940

$TRAP

o

Example 3: 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.

II

> $L $TRAP

DUMP (NAME,VOLUME): TRAPIT,EDX993
II LOADING $TRAP 22P, LP= BAOO, PART=8
*

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

TO END $TRAP BEFORE A DUMP IS TAKEN, PRESS THE ATTENTION KEY (»
AND ENTER: TRAPEND
-- DO NOT USE $C TO END THIS UTILITY -* * * * * * * * * * *•

~*

*

SELECT ONE OR MORE OF THE FOLLOWING CONDITIONS:
DUMP ON MACHINE CHECK (YIN)? N
DUMP ON PROGRAM CHECK (YIN)? Y
SPECIFICATION CHEC~ (YIN)? Y
INVALID STORAGE ADDRESS (YIN)? N
PRIVILEGE VIOLATE (YIN)? N
PROTECT CHECK (YIN)? N
INVALID FUNCTION (YIN)? N
DUMP ON SOFT EXCEPTION (YIN)? N
DUMP ON CONSOLE INTERRUPT (YIN)? N
SAVE FLOATING-POINT REGISTERS (YIN)? N
DYNAMIC DUMP (YIN)? N
SOFTWARE IPL AFTER A DUMP (YIN)? Y

I
#'~.".'.'.'

~,I

DUMP ONLY MAPPED STORAGE (YIN)? Y

***************
$TRAP IS NOW SUSPENDED. PRESS THE ATTENTION KEY (» AND
ENTER ONE OF THE FOLLOWING COMMANDS:
-TO START $TRAP:
TRAPON
-TO FORCE A DUMP: TRAPDUMP
-TO SUSPEND $TRAP: TRAPO~F
~ TO END $TRAP:
TRAPEND
,

IF A

DUMPOCCURS~

;;

.,

THES'lST;MMILL IPLAtjTOMATICALLY ****

"II,;T~APON

$.:tRAeSTARTED

II>, TRAPOFF

$TRAPSUSPENDED (TRAPQN RESTARTS$TRAP)

,II:.;>. TR~PEND

:··.·$rM~:T.~~~rNATED

Chapter 4. Utilities

4-643

$TRAP

II
fJ
II
II
II

Load $TRAP.

II

End $TRAP.

Enter the data set name and volume of the $TRAP work data set.

0

Set $TRAP to dump storage when it encounters a specification check.
Start $TRAP.
Suspend $TRAP. If the error occurs before the operator enters this command,
the system will IPL.

Dumping to Multiple Diskettes
To dump to multiple diskettes, mount the first diskette (8-inch diskettes only), load
$TRAP, and reply to the prompts as in example 2 with the exception of DUMP
(NAME,VOLUME). (Before you can dump to multiple diskettes, you must format
the diskettes using $DASDI primary option 0.) The NAME,VOLUME will be
$$EDXLIB,IBMEDX. 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.

c

o
4-644

SC34-0940

$UPDATE

o

$UPDATE - Converting Series/1 Programs
The $UPDATE conversion utility converts an object module into an executable,
relocatable load module.
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/l disk or diskette
volume by a facility such as the IBM 2780/3780 RJE emulation utility
$RJE2780/$RJE3780, or by the $HCFUTI utility, before you can use them as the
input to $UPDATE.
Use $UPDATE to convert a single object module only. Use $EDXLINK to convert
one or more object modules.
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 the following data sets. You must specify these data sets when
you load $UPDATE.
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.

*",'''''',:,'\
'-'I
Loading $UPDATE

LOced $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 load $UPDATE with the $L operator command, it prompts you for the
information it requires. Examples of this interactive usage follow.

Loading $UPDATE Using the $L Operator Command
This example shows $UPDATE being loaded for execution and the subsequent
prompt messages.

> $L $UPDATE

LOAD INS ,'$UPDATE

35P,ee,:17:51. LP=48ee, PART=1

THE DEFINED INPUT VOLUME IS EDXee2. OK (YIN)? Y
THE DEFINED OUTPUT VOLUME IS EDXeeZ. OK (YIN)? Y

COMMAND (7):

Chapter 4. Utilities

4-645

$UPDATE

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

'COMMAND :, (? ) :

o

?

CY-CHANGEVOLUME
RP;.READ PROGRAM
EN •. ..,END

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:

COMMAND •(?) : CV
THE DEFINED INPUT VOLUME IS EDX802 OK (YIN)? N
ENTER NEW INPUT VOLUME LABEL: EDX993
THE DEFINED .OUTPUT VOLUME IS EDX883 OK (YIN)? y
t

t

COMMAND (?):

If the volume is not mounted:

COMMAND (1):

cv

THE DEFINED INPUT VOLUME IS EDX803. OK (YIN)?
ENTER NEW INPUT VOLUME LABEL: EDXDFG
VOLUME OFFLINE
;Fij[ ,D~FiNE~:INP9~ ,. VO~U~~1 S EQ~Q~3 ,:~OK '. (Y/Nl;?

o
4-646

SC34-0940

$UPDATE

EN - End $UPDATE
Use the EN command to end $UPDATE processing.
Example: Ending $UPDATE

l~.

C
. _OM_M_AN_D_(_?)_:_._E_N
!UPDATE
ENDED AT ____________________
11:39:34

~

________________

~J.1
.

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.

COMMAND (?):

RP

OBJECT MODULE NAME: OBJSET
OUTPUT PGM NAME: TESTPROG
TESTPROG STORED
COMMAND (?):

If you specify the name of an input object module that does not exist, $UPDATE

takes no action. For example:

COMMAND (?): RP
OBJECT. MODULE NAME:,
OUIPUT· .PGM NAME: PROGRAM

In addition, an appropriate error message is issued if the output data set was not
defined as a program type.

c
Chapter 4. Utilities

4-647

$UPDATE

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.

0"J
' ,,

r

COMf\fAND (?): ,', ,', RP
OBJECT MO,DULE. NAME: OBJSET
OtJTPUTPGM ,NAME: *
PROGRAM NAME DEFAULTED TO OBJSEI
OBJSET STORED ON EDxee3
COMMAND '(?):

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.

COMMAND (?): RP
OBJECT MODULE NAME: OBJSET
OUTPUT PGM NAME: TSTPRGI
TSTPRGI REPLACE (YIN)? Y
TSTPRGI STORED ON EDXee2
COMMAND (?):

4-648

SC34-0940

c

$UPDATE

o

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.

COMMAND (?): RP
OBJECT MODULE NAME: OBJSET
OUTPUT PGM NAME: TESTPROG
TESTPROG REPLACE (Y/N)? N
RENAME (Y/N)? Y
NEW PGM NAME: TSTPRGI
TSTPRGI STORED ON EDX003

l~C_O_MM_A_ND~,:~~f?~'!_t_·____________~__~________________________~J
Updating a Program Using the Session Manager
To load $UPDATE using the session manager, select option 2.9.
Figure 4-38 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. If the program exists, enter a Y to the REPLACE
parameter. If it does not exist, enter an N to the REPLACE parameter. If you
enter an N, $UPDATE prompts you for the name of the program.

$SMM0209: SESSION MANAGER $UPDATE PARAMETER INPUT MENU
ENTER/SELECT PARAMETERS
PRESS PF3 TO RETURN
OBJECT INPUT

(NAME~VOLUME)

==========> ASMOBJ,EDX992

PROGRAM'OUTPUT(NAME~VOLUME)

==========> TSTPGM,EDX993

REPLACE (ENTER YES IF PROGRAM EXISTS)===>
LISTING'" (TERMI~AL ,HAME/*)==:=======> $SYSPRTR
,

.. ' . . . . . "

,

'.. N~~E::'THEOB~E6T·.· I NpUt::;, PR0GRAM .OUTPUT:,~AND·' LISTING TERMINAL
.. '.' >NAMEAREREQUIREO .·PARAMETERSANDMUST BEENTERED~ . ,
.···AN'*i~Jt( BEilJSED:T.O SPECIFY TtUSTERMINALAS'
.: !~E . ·.·lISTING :' TERMINAL

Figure

4-38. $UPDATE Parameter Input Menu

Chapter 4. Utilities

4-649

$UPDATE

Updating a Program Using $JOBUTIL
When you use the job-stream processor ($JOBUTIL) to load $UPDATE, the
information that $UPDATE requires must be passed by the PARM command of
$JOBUTIL. The required information consists of:

o

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
P ARM command.
When you load $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.
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 loading $UPDATE using $JOBUTIL commands.

PROGRAM
PARM
NOMSG
EXEC

$UPDATE
$SYSPRTR OBJMOD,VOLI MYPROG YES

In this example, $SYSPRTR receives the printed messages, the input object module
is OBJMOD on VOL1, 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.

4-650

SC34-0940

l

~···~·
.

./

$UPDATE

o

$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/I. You can then copy them to diskettes which can be used on the Series/l
having the proper configuration.
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.

Chapter 4. Utilities

4-651

$UPDATEH

$UPDATEH - Converting Host System Programs
$UPDATEH transfers, over a communications link, Series/! object programs that
are members of a host-partitioned data set (PDS) and stores them in a Series/! disk
or diskette volume in the proper format to be loaded for execution. The programs
must have been assembled previously on the host.
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 requires that the Event Driven Executive Host Communication Facility
(lUP 5796-PGH) be installed on the host computer.

Loading $UPDATEH
Load $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 load $UPDATEH with the $L operator command, it prompts you for the
information it requires. Examples of this interactive usage follow.
This example shows $UPDATEH being loaded with the $L operator command and
the subsequent messages that follow.

> $L
PGM(NAME~VOLUME):

LOADING $UPDATEH

$UPDATEH
28P,15:29:59~

LP=4400, PART=2

THE DEFINED HOST LIBRARY IS S1. EDX. LOADLIB OK (YIN)? Y
THE DEFINED VOLUME IS EDX002, OK (YIN)? Y
. COMMAND (?):

4-652

SC34-0940

c

SUPDATEH

$UPDATEH Commands

()

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

COMMAND (?):
CH
CV
RP
EN

?

CHANGE HOST LIBRARY
CHANGE VOLUME
READ PROGRAM
END

COMMAND (?):

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 - 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.

COMMAND (?): CH
ENTER HOST LIBRARY NAME: Sl.EDX.LOADLIB2
COMMAND (?):

CV - Change Volume
Use the CV command to change the volume. The system prompts you for the new
volume label.
Example: Change the volume:

COMMAND (?) :

CV

ENTER VOLUME LABEL:

EDXaa3

COMMAND (?) :

c
Chapter 4. Utilities

4-653

$UPDATEH

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

l

o

!

COMMAND (?):
$UP.D~TEHENDED

EN

15.39.54

RP - Read a Program
Use the RP command to transfer a new program to a Series/l data set, transfer a
program and rename it, or transfer and replace an existing program.
Example 1: Transfer a new program to a Series/l data set.

COMMAND (?):

RP

PROGRAM NAME: TPTEST
PROGRAM: TPTEST STORED
COMMAND(?):

Example 2: Transfer and replace an existing program.

COMMAND (?):

RP

PROGRAM NAME: PROGI
PROGI REPLACE (YIN)? Y
PROGRAM: PROGI STORED
COMMAND(?):

Example 3: Transfer a program PROGl and rename it PROG2. The existing

program (PROG I) is not replaced.

PROGRAM NAME: PROGI
PROGRAM: PROGI REPlACE(Y/N)?N
RENAME (YIN)? Y
,PROGRAM . NAME:, PROG2
. . PROGRAM: PROG2 STORED

4-654

SC34-0940

c

$UPDATEH

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.

#~,I",\
~/

Chapter 4. Utilities

4-655

c
4-656

SC34-0940

o

Index
Special Characters
$A - list partitions and programs
syntax 2-3
$B - blank display screen
syntax 2-3
$BSCTRCE utility
description 4-3
loading 4-3
$BSCUTI utility
commands 4-5
description 4-5
loading 4-5
$BSCUT2 utility
change hard-copy device 4-10
commands 4-9
description 4-8
loading 4-9
test pattern messages 4-8
$C - cancel program
syntax 2-4
$CHANUTI utility
change device address 4-17
description 4-17
displaying commands 4-17
enable/disable trace 4-18
I/O trace 4-17
loading 4-17
print trace area 4-18
start channel attach device 4-18
stop channel attach device 4-18
terminate utility 4-18
trace example 4-19
$COMPRES utility
compress
a volume 4-25
device with fixed-head volumes 4-22
IPL volume 4-26
description 4-20
estimate progress of compress 4-23
load 4-21
$COPY utility
copy
data set 4-29
from basic exchange 4-33
to basic exchange 4-34
volume 4-31
copy to a different size data set 4-27
loading 4-29
$COPYUTI utility
copy
all data sets 4-42
all programs 4-43
data members 4-41
data sets not starting with a prefix 4-46

$COPYUTI utility (continued)
copy (continued)
member 4-45
members beginning with a prefix 4-44
multiple data sets 4-40
one data set 4-45
to a different size data set 4-35
copy mode
change source and target volumes 4-39
copy all 4-39
description 4-39
read verify 4-39
turn off roll screen 4-39
turn on roll screen 4-39
verify member copy 4-39
wri te verify 4-40
description 4-35
loading 4-36
logging messages 4-47
reading commands 4-47
$CP - change terminal partition
syntax 2-4
$CPUMON utility
CPU utilization percentage 4-48
loading 4-48
monitor
CPU utilization 4-48
disk I/O 4-48
number of IPLs 4-48
program loads 4-48
print summary log 4-49
$CPUPRT utility
explanation of report fields 4-52
loading 4-51
print CPU utilization report 4-51
sample report 4-51
$D - dump storage
syntax 2-5
$DASDI utility
creating stand-alone dump/$TRAP diskette
description 4-53
format
30-megabyte disk(DDSK-30) 4-78
60-megapyte disk(DDSK-60) 4-78
initialize
diskettes 4-56
2 diskettes for a dump> 512K 4-53
30-megabyte disk (DDSK-30) 4-78
4956 model G disk 4-85
4956 model H disk 4-85
4962 disk 4-63
4963 disk 4-67
4967 disk 4-70
60-megabyte disk (DDSK-60) 4-78

4-53

Index

X-l

$DASDI utility ( continued)
loading 4-53
operating characteristics for diskette
initialization 4-57
$DEBUG utility
activate a stopped task 4-98
change
execution sequence 4-98
registers 4-102
storage 4-102
close spool job created by $DEBUG _ 4-97
data necessary for debugging 4-91
description 4-90
direct output 4-105
display
status of tasks 4-105
storage or registers 4-99
ending 4-97
features 4-90
list
breakpoints and trace ranges 4-96
commands 4-99
unmapped storage 4-99
modify base address 4-104
patch unmapped storage 4-102
post
event (ECBs) 4-104
process interrupt 4-104
remove breakpoints and trace ranges 4-lO0
set
breakpoints 4-95
trace ranges 4-95
$DICOMP utility
add a new member to data base 4-lO7
alter an existing member 4-107
description 4-lO6
display commands 4-106
insert/delete elements in existing member 4-108
loading 4-106
print member formatted 4-109
subcommands
advance X, Y coordinates 4-111
define multiple real-time data members 4-122
description 4-109
direct graphics output 4-111
display characters 4-119
display time and date 4-122
display variable 4-123
draw a line to X,Y coordinates 4-119
draw a symbol 4-111
draw line relative to current position 4-120
end display 4-117
exit program without update to data base 4-117
insert member 4-117
jump reference 4-118
jump to address 4-118
move beam to X, Y coordinates 4-120
plot curve only 4-121
plot data 4-121

X-2

SC34-0940

$DICOMP utility (continued)
subcommands (continued)
save completed display profile 4-122
send data 4-117
test display as entered 4-lO9
$DIINTR utility 4-124
$DIRECT utility
alphabetical order sort 4-132
change volume for directory sort 4-133
description 4-131
end utility 4-134
list all data sets in volume 4-134
loading 4-131
sort
by ascending data set size 4-135
by descending data set size 4-135
by location 4-133
directory in predefined order 4-136
interactively 4-138
$DISKUTI utility
allocate a statistics file data set for $SIPSYS 4-544
change
volume 4-143
volume being accessed 4-143
delete
all members starting with prefix 4-144
data sets 4-143
data sets not starting with prefix 4-145
generic in prompt mode 4-144, 4-145
programs not starting with prefix 4-145
programs starting with prefix 4-144
description 4-139
determine free space on a volume 4-158
direct output 4-152
end utility 4-146
free space available in volume 4-158
list directory
all data sets in CTS/RBA mode 4-147
all members 4-146
all members in CTS/RBA mode 4-147, 4-151
all members on a volume 4-146
data sets on all volumes 4-148
data sets starting with specific prefix 4-148
data-type data sets 4-150
data-type data sets in CTS/RBA mode 4-151
free space available in volume 4-158
one data set 4-153
program-type data sets 4-156
prograIl)-type data sets in CTS/RBA mode 4-157
volumes 4-146, 4-149
volumes with or without extents 4-146
loading 4-139
renaming data sets 4-159
reset prompt mode 4-160
set
end of data pointer/flag 4-159
prompt mode 4-160

o

o

()

o

$DISKUT2 utility
change volume 4-164
clear a data set 4-164
description 4-161
end utility 4-169
list
all/portion of data set on printer 4-171
data set on terminal 4-173
data-type data set 4-165, 4-166
log by relative record for a device 4-180
log by relative record for a terminal 4-172
log by wrap count for a device 4-180
log by wrap count for a terminal 4-172
log data set 4-170, 4-179
program-type data set 4-165, 4-166
source data set 4-173
loading 4-162
patch a data set/program 4-174
print $SYSLOG messages 4-181
set program storage parameter 4-185
$DIUTIL utility
allocate data member 4-187
build data member 4-188
compress data base 4-189
copy member 4-189
delete a member 4-190
description 4-186
display
data base status 4-193
directory 4-191
member header 4-191
end utility 4-190
initialize data base 4-190
loading 4-186
move data base 4-192
rename member 4-193
$DSKLOG utility
description 4-197
loading 4-197
print disk usage log 4-197
program trace 4-200
sample log 4-197
$DSKMON utility
description 4-194
display summary log 4-194
end utility 4-196
loading 4-194
monitor
accessing cache 4-194
accessing cylinders 4-194
numbers of reads 4-194
numbers of writes 4-194
resume printing 4-196
stop printing summary 4-196
$DSKSEEK utility
description 4-203
load 4-203
print
disk activity graph 4-203

$DSKSEEK utility (continued)
print (continued)
disk activity report 4-203
report field explanation 4-203
sample activity report 4-203
sample output 4-203
$DUMP utility
description 4-206
loading 4-206
print a dump 4-206
storage
$TRAP output 4-206
stand-alone dump 4-206
unmapped 4-206
$E - eject printer page
syntax 2-5
$EDITI/$EDITIN utility
add/replace text 4-227
command syntax
EDIT 4-217
EDIT mode subcommands 4-222
END 4-217
LIST 4-217
READ 4-218
SUBMIT 4-219
WRITE 4-220
control keys 4-216
data set requirements 4-213
description 4-213, 4-216
display changes to work data set 4-234
end utility 4-217
enter edit mode 4-217
find a character string 4-226
line editing commands 4-235
list work data set 4-217, 4-228
loading 4-213
move
line pointer up 4-234
text 4-228
position line pointer 4-233
renumber work data set 4-229
retrieve
host data set 4-218
Series/l data set 4-219
save work data set 4-230
sequence of operations 4-214
set tabs 4-231
submit job to host 4-219
write
work data set to host 4-220
work data set to Series/l data set 4-221
$EDXASM Event Driven Language compiler
description 4-236
language-control data set 4-236
listing program ($EDXLIST) 4-241
loading with $L 4-238
options 4-237
output 4-240

Index

X-3

$EDXASM Event Driven Language compiler
( continued)
overview 4-236
required data sets 4-236
using the compiler 4-237
$EDXL language control data set 4-236
$EDXLINK utility
A UTOCALL option
data set 4-261
data set record format 4-261
processing 4-261
system data set 4-261
control statement data sets 4-262
control statements
AUTOCALL 4-245
comment 4-245
COpy 4-246
END 4-246
INCLUDE 4-247
LINK 4-247
OVERLAY 4-249
OVLAREA 4-248
RESET 4-249
UNMAPCNT 4-250
VOLUME 4-251
data sets required 4-243
define
overlay area 4-248
overlay segment 4-249
overlay segments in unmapped storage 4-250
identify
autocall data sets 4-245
comments 4-245
end-of-control-statement data set 4-246
include object modules 4-247
link map 4-259
load using
$L interactive 4-255
$L noninteractive 4-255
operator termination 4-258
perform a link-edit 4-247
primary-control-statement data set 4-243, 4-251
req uesting a link-edit 4-254
reset $EDXLINK 4-249
secondary-control-statement data set 4-243, 4-253
set default volume 4-251
specifying dynamic storage 4-253
$EDXLIST program 4-241
$FONT utility
create/modify a character image 4-273
data set requirements 4-263
display current image 4-265
enter edit mode 4-266
get image store from device 4-267
load image store into device 4-269
loading 4-263
pf keys 4-273
read a data set 4-271

X -4

SC34-0940

$FONT utility (continued)
save image data set 4-272
$FSEDIT utility
data set requirements 4-282
directory line commands 4-289
directory list
change volume 4-286
display end of list 4-285
locate a specific data set 4-287
return to beginning of list 4-288
sort list 4-288
edit line commands
copy block(s) of data 4-306
define copy or move 4-306
delete block(s) of text 4-308
description 4-305
display column setting 4-307
display insert mask 4-311
insert blocks of text 4-310
insert new line 4-309
move block(s) of text 4-312
shift left 4-306
shift right 4-306
edit upper/lowercase data 4-292
loading 4-279
overview 4-279
primary commands 4-293
cancel browse/edit mode 4-297
change text 4-299
clear work data set 4-300
description 4-295
end browse/edit mode 4-300, 4-302
find a specific text string 4-301
locate a line number 4-302
print contents of work data set 4-303
renumber lines within work data set 4-303
reset line commands 4-304
save contents of work data set 4-305
set COBOL line numbers 4-300
set tabs in edit work data set 4-304
set uppercase conversion 4-297
primary options
browse a data set 4-290
create a source data set 4-290
display tutorial text 4-295
edit a source data set 4-290
end utility 4-295
merge data sets 4-294
modify an existing source data set 4-291
print contents of work data set 4-294
retrieve a source data set 4-293
submit a job to host job stream 4-294
write a source data set to another data set 4-294
program function (PF) keys 4-283
scrolling 4-282
work data set 4-282
$GPIBUTI utility
change partition 4-314

I"

o

o

$GPIBUTI utility (continued)
define
device 4-314
end character 4-314
description 4-313
displaying commands 4-313
end utility 4-315
example 4-321
GPIB control 4-315
list device control block 4-316
loading 4-313
post GPIB operation complete 4-320
read
data 4-317
error status 4-318
reset GPIB adapter 4-318
resume utility operation 4-320
suspend utility 4-319
write data to the GPIB adapter 4-319
$HCFUTI utility
description 4-326
loading 4-326
release status record 4-328
set status 4-328
status commands 4-328
submit job to host job stream 4-328
transfer
data set from host to Series/l 4-327
data set from Series/l to host 4-329
records from host to Series/l 4-327
$HXUTI utility
allocate H-exchange data set 4-332
change to another volume 4-333
copy
to EDX data set 4-336
to H-exchange data set 4-341
delete data set 4-334
description 4-330
initialize volume 4-334
list
contents of volume 4-334
space in volume 4-335
loading 4-330
redirect listing to another terminal 4-335
rename an H-exchange volume 4-336
update
data set label by name 4-339
data set label by number 4-340
volume label 4-340
using 4-332
$IMAGE utility
define
attribute characters 4-351
null character 4-356
screen dimensions 4-353
description 4-343
display
field table 4-354
how to 4-350

$IMAGE utility (continued)
display (continued)
PF key functions 4-356
end utility 4-354
enter screen mode 4-353
loading 4-350
print images and tables 4-357
program function keys 4-363
save screen format 4-360
set
horizontal tabs 4-355
vertical tabs 4-363
$INITDSK utility
allocate
fixed-head volume 4-368
volume 4-369
define additional volume 4-383
delete volumes 4-370
description 4-367
displaying commands 4-368
initialize
device 4-371
IPL text 4-376
volume directories 4-371
listing volume directories 4-377, 4-379
loading 4-367
rename
diskette voll/ownerid 4-382
volumes 4-382
split a volume 4-383
verify
device 4-384
volume 4-384
write
data set directory on volume 4-377
$INSTAL utility
commands 4-388
loading 4-386
$IOTEST utility
description 4-398
displaying commands 4-398
list
devices attached to Series/1 4-402
devices supported by supervisor 4-403
loading 4-398
$JOBQUT utility
change logging terminal 4-407
delete job queues 4-408
description 4-405
displaying
commands 4-406
the status 4-405
end
job queue processing 4-411
utility 4-408
initialize job queue data set 4-409
loading 4-405
resume job queue processing 4-409

Index

X-5

$JOBQUT utility (continued)
suspend
job queue processing 4-409
utility 4-408
$JOBUTIL utility
allocate a data set 4-414
command syntax 4-413
description 4-412
display message 4-425
end
job 4-416
nested procedure 4-417
enter $JOBUTIL commands manually 4-423
execute
procedure 4-424
program 4-417
identify
continuation point 4-419
job to be executed 4-418
parameters to be passed 4-422
program to be executed 4-424
indicate internal comments 4-425
jump to label 4-418
loading 4-412
log control commands 4-420
set no message logging 4-421
setup procedure 4-412
starting
new page in log listing 4-416
with $L 4-412
usage example 4-426
$L - load program
syntax 2-6
$LCCTRCE utility
attention commands 4-427
controlling execution 4-427
loading 4-427
record format 4-429
stop tracing 4-427
trace I/O activity with $LCCTRCE 4-427
wrap data 4-427
$LCCUTI utility
commands 4-430
description 4-430
loading 4-430
$LINTRC utility
attention commands 4-443
capture line trace activity 4-439
controlling execution 4-443
examples 4-444
handling buffer overflow 4-439
loading 4-439
prompts 4-440
resume tracing 4-443
stop tracing 4-443
suspend tracing 4-443
wrap trace data set 4-440

X -6

SC34-0940

$LINUTI utility
commands 4-452
description 4-449
loading 4-450
primary selection options 4-450
record format 4-451
trace record templates 4-455
$LOG utility
commands 4-459
description 4-457
loading 4-458
log data set 4-457
remote manager user requirements 4-457
$MEMDISK utility
allocate unmapped storage as a disk 4-461
commands 4-467
delete a volume 4-467
initialize a volume 4-468
loading 4-461
reset $LOADER to load from disk 4-470
reset system default volume 4-470
set $LOADER to load from storage 4-471
set default volume to storage disk volume 4-470
$MOVEVOL utility
data set names required 4-472
description 4-472
diskette usage
format 4-472
usage 4-472
4966 considerations 4-472
dump procedure 4-473
loading 4-472
restoring a system 4-476
saving a system 4-473
$MSGUTI utility
description 4-478
displaying commands 4-478
end utility 4-479
format messages 4-479, 4-482
loading 4-478
messages
disk-resident 4-479
storage-resident 4-482
print messages 4-481
$P - patch storage
syntax 2-7
$PCUTIL utility
change
diskette address 4-486
volume 4-486
commands 4-484
copy
a data set 4-483
change direction 4-485
from EDX disk(ette) 4-483
from PC disk( ette) 4-483
member 4-485
to EDX disk(ette) 4-483
to PC disk(ette) 4-483

'
C
I

\

c

~\

U

c

$PCUTIL utility (continued)
end utility 4-486 list root directory 4-486
load 4-483
no translation 4-487
translate EDCDIC or ASCII 4-483
translate to ASCII 4-487
$PFMAP utility
description 4-488
loading 4-488
$PREFIND utility
commands 4-490
description 4-489
loading 4-489
program load process 4-489
$PRT2780 utility
loading 4-494
sample remote job entry session 4-495
$PRT3780 utility
loading 4-494
sample remote job entry session 4-495
$RJE2780 utility
define
data to host 4-501
disk( ette) to receive data from host 4-500
spool file to receive data from host 4-501
terminal for output 4-499
description 4-497
end
spooling of printer output 4-499
utility 4-499
host subsystems 4-497
loading 4-498
reset utility functions 4-500
stop data transmission 4-499
suspend
data to host 4-501
single card image record to host 4-499
$RJE3780 utility
define
data to host 4-501
disk( ette) to receive data from host 4-500
spool file to receive data from host 4-501
terminal for output 4-499
description 4-497
end
spooling of printer output 4-499
utility 4-499
host subsystems 4-497
loading 4-498
reset utility functions 4-500
send
data to host 4-501
single card image record to host 4-499
stop data transmission 4-499
$S - control printer spooling
ALT, alter printing
syntax 2-8

$S - control printer spooling (continued)
BROW, browse a spool job
allocate work data set 2-10
browse functions 2-12
examples of scrolling 2-11
syntax 2-10
DALL, delete all jobs
syntax 2-15
DE, delete one job
syntax 2-16
DG, delete jobs by prefix
syntax 2-16
DISP, display status
syntax 2-17
HOLD, hold job
syntax 2-17
KEEP, keep/release job
syntax 2-18
REL, release jobs
syntax 2-18
STOP, stop spooling
syntax 2-19
WRES, restart writer
syntax 2-19
WSTP, stop writer
syntax 2-21
WSTR, start writer
syntax 2-21
$SDLCST utility
description 4-502
loading 4-502
$SMMAIN
See session manager
$SMMLOG session manager logon menu
See session manager
$SMMPRIM primary option menu
See session manager
$SPLUTI utility
description 4-507
$STGUTI utility
description 4-517
displaying commands 4-517
free storage 4-520
list
segmentation registers 4-519
unmapped storage information 4-523
loading 4-517
$SUBMIT utility
delete a job 4-526
description 4-525
display
commands 4-526
status of job queue processing 4-530
end utility 4-527
hold a batch job 4-528
loading 4-525
release a held job 4-528
resume utility processing 4-527

Index

X-7

$SUBMIT utility (continued)
submit
and hold a batch job 4-528
job for execution 4-529
job to job queue processor 4-525
suspend utility 4-527
$SlASM utility
assembler options 4-532
data sets required 4-531
description 4-531
loading 4-531
output 4-538
$SIPPRG utility
commands 4-540
loading 4-539
$SIPPRGR utility
$SIPSYS utility
commands 4-545
loading 4-544
requirements 4-544
$SIPSYSR utility
commands 4-549
defined 4-548
loading 4-548
$S 1S1UTI utility
define device name 4-561
-description 4-560
displaying commands 4-560
echo test 4-562
end utility 4-562
IPL the other processor 4-563
loading 4-560
obtain status 4-564
perform write abort 4-561
read data 4-563
reset device 4-564
write data 4-564
$T - set date, time
syntax 2-22
$TAPEUTI utility
allocate a data set 4-589
automatic initialization mode 4-585
backup volume on tape 4-584
change
tape drive attributes 4-569
control tape motion 4-578
copy a data set 4-566
description 4-565
display
commands 4-566
tape return codes 4-580
double-buffered function 4-581
dump tape records 4-570
exercise tape 4-571
initialize a tape 4-574
initialize tapes automatically 4-585
list tape drives and attributes 4-578
loading 4-565

X -8

SC34-0940

$TAPEUTI utility (continued)
monitor save or restore process 4-581
nonautomatic initialization mode 4-587
restore
data set 4-581
disk device 4-581
multiple tapes 4-583
volume 4-581
save
data set 4-584
disk device 4-584
using multiple tapes 4-588
volume 4-584
single-buffered function 4-581
vary tape online automatically 4-582
$TERMUTI utility
assign printer for spooling output 4-590
change
hard-copy device 4-600
page formatting parameters 4-590
print PF key 4-600
terminal address 4-599
description 4-590
end utility 4-595
list terminal name/type/address 4-596
loading 4-590
rename a terminal 4-599
vary
terminal offline 4-597
terminal online 4-598
$TERMUT2 utility
assign
a DEFINE key 4-604
4224 character set 4-609
change a key definition 4-605
character set 4-601
description 4-601
displaying commands 4-603
end utility 4-610
initialize font for 4224 4-611
load
control store 4-612
image store 4-613
4224 print image 4-613
4980 terminal 4-614
loading 4-603
required data sets 4-602
reserved data set names 4-602
restore
original character set to 4974 printer 4-615
4974 image 4-601
save
control store 4-615
image store 4-616
scan codes
for the 4978 4-606
for the 4980 4-607
4978 support 4-602

()

c

$TERMUT2 utility (continued)
4978/4980 keyboards 4-606
$TERMUT3 utility
description 4-617
loading 4-617
$TRACEIO utility
description 4-620
display trace data set 4-621
dump trace buffer 4-621
end utility 4-622
loading 4-620
repeat communication line trace 4-623
trace activities on a communications line 4-623
$TRA NS utility 4-625
copy /send/transmit data across a bisync Line 4-625
description 4-625
loading 4-625
$TRAP utility
allocate work data set 4-631
attention commands 4-637
description 4-631
dump mapped and unmapped storage to work data
set 4-631
ending 4-637
error conditions 4-635
forcing a dump 4-638
loading 4-632
starting 4-637
suspending 4-637
$U operator command
description 2-22
$UPDA TE utility
change volume 4-646
data sets required 4-645
description 4-645
end utility 4-647
loading 4-645
loading with the session manager 4-649
output 4-651
read and store a program 4-647
update a program using $JOBUTIL 4-650
use considerations during system generation 4-651
$UPDATEH utility
description 4-652
displaying commands 4-653
loading 4-652
$VARYOFF - set device offline
syntax 2-23
$VARYON - set device online
syntax 2-24
$VIRLOG support
print messages 4-181
$W - display date, time
syntax 2-25
#ACI attention command
description 4-545
#CKP attention command
description 4-545

#END attention command
description 4-545
#STOP attention command
description 4-545

A
abort
Series/l-to-Series/l write 4-561
absolute record copy 4-28
absolute record number
dump 4-162
patch 4-162
ACCA
communication line, trace activities 4-623
trace facility 4-620
activate
error logging 4-457
real-time data member 4-122
stopped task 4-98
TRAP function of storage dump 4-631
waiting task 4-104
add
member to partitioned data base (graphics)
null data set on tape volume 4-589
advancing printer forms
$E syntax 2-5
aligning forms
for spool jobs 2-8
allocate
data set
creating partitioned ($PDS) 4-187
extents 4-142
for $SIPPRG 4-539
statistics file ($SlPSYS) 4-544
using $DISKUT1 4-139
using $JOBUTIL 4-414
using $TAPEUTI 4-589
using ALX command 4-142
with extents 4-139
searching for character string
EBCDIC 4-182
hexadecimal 4-182
unmapped storage as a disk 4-461
volume
in unmapped storage 4-461
on disk/diskette 4-369
on fixed-head device 4-368
alter
member (graphics) 4-107
spool job printing
command syntax 2-8
terminal configuration 4-590
alternate session menu, session manager
defined. 3-2
alternate tracks 4-67
analog input
AT $IOTEST command 4-399

4-107

Index

X-9

analog output
AO $IOTEST command 4-398
analyze program performance, with $SlPPRG 4-539
analyze system performance, using $SIPSYS 4-544
assembler
See $EDXASM and $SIASM
assign
alternate sector 4-67, 4-76, 4-83, 4-87
DEFINE key in control store 4-604
printer for spooling output 4-590
priorities to jobs 4-529
ATTR define attribute characters, $IMAGE
command 4-351
AUTO CALL
control statement ($EDXLINK) 4-245
data set ($EDXLINK) 4-261
data set record format ($EDXLINK) 4-261
option ($EDXLINK) 4-261
processing ($EDXLINK) 4-261
automatic
inclusion of modules in link edit 4-261
initialization mode 4-585

B
back up
disk or diskette volume on tape 4-584
diskette, $COPYUTI 4-35
diskette, $MOVEVOL 4-472
background option 3-5
backup dump restore utility, $MOVEVOL 4-472
base address, modify 4-104
basic exchange copy 4-33
basic exchange diskette
copying from 4-33
copying to 4-34
data set copy utility 4-33
batch job processing
See $JOBUTIL utility
binary synchronous communications (BSC)
read transparent/nontransparent data 4-10
read/write
nontransparent conversational 4-12
nontransparent data 4-11
transparent conversational 4-13
transparent data 4-14
transparent data, multidrop line 4-15
test BSCAM 4-8
trace printing utility, $BSCUTI 4-5
trace utility, $BSCTRCE 4-3
write
nontransparent data 4-16
transparent data 4-16
blanking display screen
$B syntax 2-3
breakpoint and trace range
remove 4-100
settings 4-95

X-I0

SC34-0940

browse
a data set 4-285, 4-290
a spool job 2-10
BSC trace records, dump 4-7
BSF(backward space file) 4-578
BSR (backward space record) 4-578
build data member (graphics) 4-188
BUILD option ($EDXASM) 4-237
bus
See General Purpose Interface Bus

C
CA attention request
$EDXASM 4-237
$EDXLIST 4-242
$FSEDIT 4-294
cancel
browse/edit mode 4-297
dump 4-207
job queue jobs 4-526
print command 4-294
programs
$C syntax 2-4
utilities 4-2
change
character string
with $EDITI/N 4-223
with $FSEDIT 4-299
control store 4-601
data set name 4-602
DEBUG base address 4-104
definition of a key 4-605
display screen format 4-590
execution sequence of a program 4-98
GPIB partition 4-314
graphics or report display profile 4-106
hard -copy device
with $BSCUT2 4-10
with $TERMUTI 4-590
image store 4-601
keyboard values 4-605
page formatting 4-590
PF key 4-604
print screen PF key 4-600
tape drive attributes 4-569
tape label 4-574
terminal
address 4-599
configuration 4-590
displaying job queue status 4-407
name 4-599
partition 2-4
volume
with $TERMUT1 4-600
with CV ($BSCUTI) 4-6
with CV ($DISKUT1) 4-143
with CV ($DISKUT2) 4-163
with CV ($LCCUT1) 4-430

o

o

change (continued)
volume (continued)
with CV ($UPDATE) 4-646
channel attach
See also $CHANUTI utility
description 4-17
I/O trace 4-17
character image table, load 4-613
clear
data set 4-164
display screen
$B syntax 2-3
work data set 4-300
write verify 4-385
comment control statement ($EDXLINK) 4-245
commuication line, trace activities
$LINTRC 4-439
$TRACEIO 4-623
communications utilities
$BSCTRCE 4-3
$BSCUT1 4-5
$BSCUT2 4-8
$HCFUTI 4-326
$LCCTRCE 4-427
$LCCUTI 4-430
$LINTRC 4-439
$LINUTI 4-449
$PRT2780 4-494
$PRT3780 4-494
$ RJE2780 4-497
$RJE3780 4-497
$TRACEIO 4-623
$TRANS 4-625
compile
a program 4-237
compiler
See $EDXASM Event Driven Language compiler
completion codes
See also post codes, return codes
$EDXASM 4-241
$UPDA TE 4-650
compress
disk, diskette, or volume 4-20
IPL volume 4-20
configuring
terminal 4-590
contents of data set, list 4-173
control
job queue processing 4-405
keys for test editors 4-216
processing of batch jobs 4-525
statements, $EDXLINK 4-244
tape motion 4-578
CONTROL option ($EDXASM) 4-237
control store
changing 4-601
loading 4-612
saving 4-61 5

convert
new program with data set allocation 4-649
object modules to executing code 4-645
source messages
to disk-resident format 4-479
to storage-resident format 4-482
copy
basic exchange data set
from 4-33
to 4-34
block(s) of text 4-306
copy text 4-224
data set
across a bisync line ($TRANS) 4-625
not starting with a prefix 4-46
to target data set 4-29
with allocation 4-35
data to/from non-EDX systems
basic exchange data set 4-33, 4-34
diskette data set to tape 4-566
from EDX to PC diskettes 4-483
from PC to EDX diskettes 4-483
IPL text to diskette 4-28
line(s) of text 4-306
member
$DIUTIL 4-189
beginning with a prefix 4-44
from source to target 4-45
programs 4-43
tape data set
$COPYUT1 4-39
to diskette 4-566
to tape 4-566
volume or data set to an allocated volume or data
set 4-29, 4-31
COpy control statement ($EDXLINK) 4-246
CPU utilization, monitor 4-48
create
control data set 4-388
source data set 4-290
stand-alone dump/$TRAP diskette 4-53
upper jlowercase data set 4-601
custom menus, session manager 3-5
cylinder/head/sector 4-66

D
DALL subcommand
syntax 2-15
data
editing 4-279
data management support
30-megabyte disk (DDSK-30)
allocate directory data ($DISKUT1) 4-141
format disk or diskette ($DASDI) 4-53
list directory data ($DISKUT1) 4-147
4975~01A ASCII printer
change terminal parameters ($TERMUT1) 4-592

Index

X-II

data management support (continued)
4978/4980 display station
change image/control store ($TERMUT2) 4-601
process character image tables ($FONT) 4-263
5219 printer
change terminal parameters ($TERMUT1) 4-593
60-megabyte disk (DDSK-60)
allocate directory data ($DISKUT1) 4-141
format disk or diskette ($DASDI) 4-53
list directory data ($DISKUT1) 4,.147
data management utilities
$COMPRES 4-20
$COPY 4-27
$COPYUTI 4-35
$DASDI 4-53
$DISKUTI 4-139
$DISKUT2 4-161
$INITDSK 4-367
$MOVEVOL 4-473
$TAPEUTI 4-565
data set
allocate
AL command 4-414
data-type 4-141
program-type 4-141
clear (set to zero) 4-164
copy
absolute record 4-28, 4-40
all data sets from source to target 4-42
from EDX to PC diskettes 4-483
from PC to EDX diskettes 4-483
from source to target 4-45
multiple data sets 4-35
to basic-exchange diskette 4-34
to tape 4-566
using $COPY 4-27
using H-exchange 4-332
with allocation of target data set 4-35
data organization 4-141
delete
data member 4-143
generic 4-144, 4-145
H-exchange 4-334
with $JOBUTIL 4-415
description 4-153
dump all or portion 4-165, 4-166
format
$FSEDIT 4-282
$PRT2780 4-494
$PRT3780 4-494
identify 4-415
list
all members 4-146
all members in CTS/RBA mode 4-147, 4.:151
data sets starting with specific prefix 4-148
description of data sets in a volume 4-150
description of one data set 4-153
description of program members in
volume 4-156

X-12

SC34-0940

data set (continued)
list (continued)
free space available in volume 4-158
programs in CTS/RBA mode 4-157
locating before loading a program 4-489
organization
DATA 4-27
PROGRAM 4-27
partitioned
allocate 4-187
delete 4-190
rename 4-193
patch
in decimal 4-174
in EBCDIC 4-174
in hexadecimal 4-175
rename 4-159
set end-of-data 4-159
data set directory
listing
data set list commands 4-284
data set extents
allocate 4-142
monitor storage for 4-518
data set utilities
See data management utilities
date
directory sort 4-288
displaying
command syntax 2-25
setting
command syntax 2-22
DDSK-30 disk
See 30-megabytedisk (DDSK-30)
DDSK-60 disk
See 60-megabyte disk (DDSK-60)
DE subcommand
syntax 2-16, 4-415
using 4-415
default volume, change 4-251
defective records, locate 4-384
define
device name 4-561
end character (GPIB) 4-314
GPIB device 4-314
horizontal tabs 4-355
image dimensions 4-353
null·characters 4-356
overlay area 4-248
overlay segments in unmapped storage 4-250
protected fields ($IMAGE) 4-366
vertical tabs 4-363
310 1 attribute characters 4-351
define key
specifying 4-604
delete
block(s) of text 4-308
data set
on tape 4-589

o

o

c

•

":,,,,,,

delete (continued)
data set (continued)
with $DISKUTI 4-143
with $JOBUTIL 4-415
elements in graphics member 4-108
job queue 4-408
jobs in job queue 4-526
member
with ($DIUTIL) 4-190
with $DISKUTI 4-143
text
with $EDITI/N 4-225
with line command ($FSEDIT) 4-308
volumes 4-370
density
for diskette initialization, $DASDI 4-56
detach
$SUBMIT 4-527
determine
data set
end-of-data 4-153
location 4-153
size 4-153
type 4-153
free space on a volume 4-158
number of
data sets on a volume 4-158
directory entries on a volume 4-158
unused directory entries on a volume 4-158
unused records on a volume 4-158
terminal
address 4-596
name 4-596
partition assignment 4-596
type 4-596
device
vary offline
command syntax 2-23
vary online
command syntax 2-24
device test utility, $IOTEST 4-398
DG subcommand
syntax 2-16
diagnostic utilities
$DEBUG 4-90
$DUMP 4-206
$IOTEST 4-398
$LOG 4-457
$TRAP 4-631
digital input
direct output, $DICOMP subcommand 4-111
external sync, XI $IOTEST command 4-404
IOTEST commands 4-399
direct
$DEBUG output 4-105
graphics output 4-111
disk
allocate unmapped storage as a disk 4-461

disk (continued)
determine activity for 4-197, 4-203
DISP command ($FONT) 4-265
initialize
a DDSK-30 (30-megabyte disk) 4-78
a DDSK-60 (60-megabyte disk) 4-78
a 4962 4-63
a 4963 4-67
a 4967 4-70
message support 4-478
monitor with $DSKMON 4-194
organize with $DSKMON 4-194
diskette
DISP command ($FONT) 4-265
format 4-56
initialize
using $DASDI 4-56
record sizes 4-474
rename volume label and owner id 4-382
stand-alone dump/$TRAP dump/$TRAP,
creating 4-53
vary offline
command syntax 2-23
vary online
command syntax 2-24
DISP subcommand
syntax 2-17
display
character image tables 4-265
column setting in source data set 4-307
data set extent table 4-518
DMEXTBL 4-518
insert mask 4-311
job queue status 4-407
processor composer, $DICOMP 4-106
processor interpreter, $DIINTR 4-124
processor utility, $DIUTIL 4-186
registers 4-99
screen image 4-357
spool status
command syntax 2-17
status of all tasks 4-105
status of job queue processing 4-410, 4-530
storage
command syntax 2-5
contents 4-99
registers 4-99
tape return codes 4-580
4978 and 4980 program function keys 4-488
draw
line, $DICQMP subcommand 4-119
symbol 4-111
dump
$D oper.ator command
syntax 2-5
absolute record numbers 4-162
BSC trace records 4-7
data set
on printer 4-165

"

Index

X-13

dump (continued)
data set (continued)
on terminal 4-166
using $TRAP 4-631
diskettes to disk
with $DUMP utility 4-212
Lee trace records 4-431
tape records 4-570
to mUltiple diskettes 4-644
to printer
with $DICOMP 4-109
with $DISKUT2 4-165
with $DUMP utility 4-206
with $TAPEUT1 4-570
to terminal
with $DICOMP 4-109
with $DISKUT2 4-166
trace buffer 4-621
unmapped storage 4-206
volume 4-472
with $DISKUT2 4-166
dynamic storage, specifying 4-253

E
echo test, Series/1-to-Series/l 4-562
edit
contents of data set 4-286
control data set 4-388
line commands, $FSEDIT 4-305
source data set 4-290
source statements 4-217
editor subcommands, $EDIT1/N 4-222
eject page in log listing 4-416
ejecting printer page
command syntax 2-5
enable/disable trace for channel attach 4-18
end
$EDXLINK 4-258
browse/edit mode 4-300, 4-302
display (graphics) 4-117
job queue processing 4-411
job, EOJ command ($JOBUTIL) 4-416
nested procedure, EOP command
($JOBUTIL) 4-417
END control statement ($EDXLINK) 4-246
end-of-data pointer/flag
reset 4-159, 4-164
set 4-159
enter
source statements 4-217
unprotected output fields using $IMAGE 4-366
ERAP - print log data set
syntax 2-25
error codes
See return codes
error log data set
printing 2-25

X-14

SC34-0940

error status, obtaining
with $GPIBUTI 4-318
with $SIS1 UTI 4-564
errors
I/O error logging 4-457
printing log data set 2-25
ERRORS command ($EDXLIST) 4-242
errors option ($EDXASM) 4-237
EX command ($TAPEUT1) 4-571
exerciser, BSC line ($BSCUT2) 4-8
exercising tape 4-571
EXIO device support
line trace facility ($LINTRC) 4-439
trace facility ($TRACEIO) 4-620
extents
allocate data set with 4-142
external sync DI/DO, XI/XO, $IOTEST
command 4-398
EXTRN statement
unresolved references 4-262

(.:"

F
find
specific text string 4-301
format
BSC trace files 4-5
communication line trace files 4-449
disk or diskette ($DASDI) 4-53
formatted screen images 4-343
LCC trace files 4-430
messages 4-478
viewing area into a plotter 4-121
free space, determining 4-158
free storage 4-520
FSF (forward space file) 4-578
FSR (forward space record) 4-578
full-screen text editor ($FSEDIT) 4-279

G
General Purpose Interface Bus
change partition 4-314
define
device 4-314
end character 4-314
description 4-313
displaying commands 4-313
end utility 4-315
example 4-321
GPIB control 4-315
list device control block 4-316
loading 4-313
post GPIB operation complete 4-320
read
data 4-3l7
error status 4-318
reset GPIB adapter 4-318
resume $GPIBUTI operation 4-320

(

General Purpose Interface Bus (continued)
suspend $GPIBUT1 4-319
write data to the GPIB adapter 4-319
get character image table from device 4-267
GPIB
See General Purpose Interface Bus
GPIB control 4-315
graphic display, method for producing 4-109
graphics
utilities
$DICOMP 4-106
$DIINTR 4-124
$DIUTIL 4-186

H
HCF
See Host Communications Facility
hold
batch job 4-528
spool jobs
command syntax 2-17
HOLD subcommand
syntax 2-17
horizontal tabs, define with $IMAGE 4-355
Host Communications Facility
return codes 4-329
utility program ($HCFUT1) 4-326

(j

'l''''',.,,'11\
,IiW

I/O (input/output)
exerciser ($BSCUT2) 4-8
tracing for channel attach 4-17
I/O error logging
data set list utility, $DISKUT2 4-161
loading 4-458
log data set 4-457
utility, $LOG 4-457
id.instl
identify
batch job stream
continuation point 4-419
data set 4-415
defective RBAs 4-72
defective RBAs by cylinder 4-73, 4-80
overlay segment 4-249
image attributes
define 4-351
image dimensions, define 4-353
image store
loading 4-613
saving 4-616
image, formatted screen
See also $IMAGE utility
create 4-343
display 4-349

INCLUDE control statement ($EDXLINK)
initial program load
See IPL (initial program load)
initialize
disk
$INITDSK utility 4-371
30-megabyte (DDSK-30) 4-78
4962 4-63
4963 4-67
4967 4-70
60-megabyte (DDSK-60) 4-78
IPL text 4-376
job queue data set 4-409
partitioned data base 4-190
Seriesl-to-Series/l 4-563
stand-alone dump/$TRAP diskette 4-53
tapes 4-574
tapes automatically 4-585
unmapped storage as a disk 4-461
volumes 4-377
insert
blocks of text 4-310
elements in graphics member 4-108
line of text 4-309
member (graphics) 4-117
new line in source data set 4-309
installing a system/update 4-391
interactive debugging 4-90
intercept class interrupts 4-631
interface
$L interactive ($EDXLINK) 4-255
$L noninteractive ($EDXLINK) 4-255
IPL (initial program load)
initialize text 4-376

4-247

J
job control statement 4-418
job printing, spool
$S ALT syntax 2-8
job queue
data set, initialize 4-409
delete 4-408
priorities 4-529
processing status 4-410
status of job 4-405
job queue processor
displaying job status 4-529
jump
to address (graphics) 4-118
to batch job stream label 4-418
to reference (graphics) 4-118

•
Index

X-IS

K
KEEP subcommand
syntax 2-18
keeping spool jobs
command syntax 2-18
kept spool jobs, releasing
command syntax 2-18
key
See program function (PF) keys
keyboard define utility 4-601

L
labels, tape
See tape
LCC attachment card
trace I/O activity with $LCCTRCE 4-427
LCC trace records, dump 4-431
line editing, $EDITI/N 4-235
LINK control statement ($EDXLINK) 4-247
link map ($EDXLINK) 4-259
linkage editor
See $EDXLINK utility
linkage editor overlays
See $EDXLINK utility
list
all members with $DISKUTI 4-146
breakpoints and trace ranges 4-96
characters (graphics) 4-119
configuration 4-403
current system level 4-395
data base status (graphics) 4-193
data members in CTS mode 4-139
data set
on printer 4-171
on terminal 4-173
with $DISKUT2 4-173
with $EDITI/N 4-228
with $FSEDIT 4-294
data set directory
one dataset 4-153
date/time (graphics) 4-122
device control block (GPIB) 4-316
devices on a system 4-402
directory entries 4-281, 4-284
error specification 4-237
graphics member 4-109
hardware configuration 4-398
header of data member 4-191
insert mask 4-311
processor program, $EDXLIST 4-241
program function key codes 4-488
program function keys 4-356
program members 4-139
segmentation registers 4-519
status of all tasks 4-105
supervisor configuration 4-403
tape drives and attributes 4-57S

X -16

SC34-0940

list (continued)
terminal name/type/address 4-596
unmapped storage overlay information 4-523
user-assigned sectors 4-76, 4-84
variables 4-123
volumes on disk or diskette 4-377, 4-379
LIST command
$EDXASM 4-237
$EDXLIST 4-242
list directory
data-type data sets in CTS/RBA mode 4-147
log data set
on printer 4-179
on terminal 4-170
program-type data sets in CTS/RBA mode 4-154
load
control store 4-612
image store 4-613
image store into device 4-269
program
$L syntax 2-6
EXEC $JOBUTIL command 4-417
session manager 3-1
your operator command ($U) 2-22
load-time storage allocation, modify 4-185
local communications controller (LCC)
trace printing utility, $LCCUTI 4-430
locate
line number in the work data set 4-302
log data set
for I/O errors 4-457
list on printer 4-179
list on terminal 4-170
logoff menu, session manager
defined 3-2
logon menu, session manager
defined 3-2

C'\

I

M
magnetic tape
See tape
menus, session manager
custom defined 3-5
logon/logoff
defined 3-2
parameter input
defined 3-4
primary option
defined 3-2
example 3-3
secondary option
defined 3-3
example 3-3
merge source and work data set 4-294
message logging, set off 4-421
message-sending utility, $TERMUT3 4-617

-c

()

6.'~~,"
'-'I

messages, program
convert to disk-resident format 4-479
convert to storage-resident format 4-482
on message volume 4-479
modify
an existing source data set 4-291
character image screen 4-266
character string
with $EDIT1/N 4-223
with $FSEDIT 4-299
default storage allocation 4-185
image/control store 4-601
load-time storage allocation 4-185
multiple copy commands, $COPYUT1 4-39
storage or registers 4-102
monitor
CPU utilization 4-48
cross-partition stack 4-521
disk access 4-194
disk I/O 4-48
interrupt buffer 4-521
number of IPL's 4-48
program loads 4-48
save or restore process 4-581
system performance 4-544
move
block(s) of text 4-312
line pointer
down 4-225
to bottom 4-222
to top 4-233
up 4-234
partitioned data base to another volume 4-192
tape 4-578
text
$EDIT1/N subcommand 4-228
volumes on disk or diskette 4-473

N
name directory sort 4-288
NOLIST command ($EDXASM) 4-237
nonautomatic initialization mode 4-587
NULL character, define 4-356

oobject data set for $EDXASM

4-236
operator commands
$A - list partitions and programs
syntax 2-3
$B - blank display screen
syntax 2-3
$C - cancel program
syntax 2-4
$CP - change display terminal partition
syntax 2-4
$D - dump storage
syntax 2-5

operator commands (continued)
$E - eject printer page
syntax 2-5
$L - load program or utility
syntax 2-6
$P - patch storage
syntax 2-7
$S - control printer spooling
ALT 2-8
DALL 2-15
DE 2-16
DG 2-16
DISP 2-17
HOLD 2-17
KEEP 2-18
REL 2-18
STOP 2-19
WRES 2-19
WSTP 2-21
WSTR 2-21
$T - set date, time
syntax 2-22
$U - user operator command
command syntax 2-22
$VARYOFF - set device offline
syntax 2-23
$VARYON - set device online
syntax 2-24
$W - display date, time
syntax 2-25
display SDLC device statistics 4-502
entering 2-1
loading 2-22
operator termination ($EDXLINK) 4-258
option selection menus, session manager
defined 3-1
overlay
area
defining 4-248
overlay segment
identify 4-249
in unmapped storage 4-250
OVERLAY control statement ($EDXLINK)
OVERLAY option ($EDXASM) 4-238
OVLAREA control statement ($EDXLINK)
owner id on volume, rename 4-382

4-249
4-248

p
page eject, printer
$E syntax 2-5
page formatting parameters 4-590
parameter iriput menu
defined 3-4
example 3-4
partition
changing 2-4
changing assignment
CP command ($GPIBUT1) 4-314

Index

X-17

partition (continued)
listing
$A syntax 2-3
partitioned data base
allocate 4-187
compress 4-189
copy member 4-189
delete a member 4-190
display directory 4-191
display member header 4-191
initialize 4-190
list status 4-193
move 4-192
rename member 4-193
passing parameters
using $JOBUTIL 4-422
patch
absolute record numbers 4-162
data set/program 4-163, 4-174
storage or registers 4-102
PI
See process interrupt
place $SUBMIT utility in suspended mode 4-527
portion of data set, list 4-171
post
event 4-104
GPIB operation 4-320
process interrupt 4-104
post codes
See completion codes and return codes
primary commands, $FSEDIT 4-295
primary-control-statement data set 4-243
primary option menu, session manager
defined 3-2
example 3-3
print
$SYSLOG messages 4-181
BSC trace files 4-5
communication line trace files 4-449
contents of work data set 4-303
CPU utilization report 4-51
EXIO trace files 4-449
graphics member 4-109
LCC trace files 4-430
log data set
using ERAP command 2-25
messages 4-481
system performance report 4-548
trace buffer for channel attach device 4-18
trace file on printer 4-431
trace file on printer/terminal 4-6, 4-430
trace file on terminal 4-433
print utilities, remote job entry 4-494
printer spooling
See spooling
printers
ejecting pages ($E) 2-5

X-18

SC34-0940

process interrupt
10TEST command 4-398
produce a graphic display 4-109
program
cancelling
$C syntax 2-4
dump
on printer 4-165
on terminal 4-166
listing active
$A syntax 2-3
load
$L syntax 2-6
patch 4-174
in decimal 4-175
in EBCDIC 4-176
in hexadecimal 4-176
with overlay segments 4-177
program analyzer
commands 4-540
loading 4-539
program function (PF) keys
list 4978 and 4980, $PFMAP utility 4-488
list, KEYS $IMAGE command 4-355
when using $FSEDIT 4-283
when using $IMAGE 4-356
program identifier, $JOBUTIL command 4-424
program library update
See $UPDATE utility
program preparation
$EDXASM 4-236
$SIASM 4-531
program storage parameter, set 4-185
prompt-reply format, operator commands 2-2
protected field
defined 4-344

R
read
analog input 4-399
data set 4-271
data set into work file
with $EDITI/N 4-218
with $FSEDIT 4-293
with $UPDATE 4-647
data using $GPIBUTI 4-317
digital input using external sync 4-404
program with $UPDATE 4-647
records from host ($HCFUT1) 4-327
realtime data member
RT $DICOMP subcommand 4-122
reclaim unused space in partitioned data base
report. field explanation 4-199
record
format of LCC I/O activity 4-429
format, EDX 4-282
sizes, diskettes 4-474

4-189

c

records
verify 4-384
redirect spool jobs
command syntax 2-8
reformatting diskettes 4-53
refresh data on IDSK disk 4-87
refresh data on 4967 disk 4-74,4-81
registers
contents
modify 4-102
REL subcommand
syntax 2-18
release
a held job 4-528
nonprogram storage" 4-517
spool jobs
$S KEEP syntax 2-18
$S REL syntax 2-18
release status record ($HCFUT1) 4-328
Remote Manager
error logging ($LOG) 4-459
list log by wrap count and relative record
on a printer 4-180
on a terminal 4-172
remove
alternate sector assignment 4-76, 4-84
breakpoints and trace ranges 4-100
rename
an H-exchange volume 4-336
data set 4-139, 4-159
new program with data set allocation 4-649
terminal 4-599
volume 4-382
with $DISKUTI 4-139
with $DIUTIL 4-193
renumber lines within work data set 4-303
repeat communication line trace 4-623
replace old program with new program 4-648
report generator
system ($SIPSYSR) 4-548
report types
data set summary 4-558
program summary 4-556
program utilization detail 4-552
request
compilation 4-237
reset
$EDXLINK linkage editor 4-249
$LOADER to load from disk 4-470
control statement ($EDXLINK) 4-249
device, Seriesjl-to-Seriesjl 4-564
end-of-data pointer 4-164
GPIB adapter 4-318
line commands, $FSEDIT 4-304
option ($EDXASM) 4-238
system default volume 4-470
restart
printer spooling 4-513

restore
character set, RE $TERMUT2 4-615
data set 4-581
disk device 4-581
disk or volume
from tape 4-581
diskette, $COPYUTI 4-35
diskette, $MOVEVOL 4-473
monitor process 4-581
multiple tapes 4-583
volume 4-472, 4-581
4974 to standard character set 4-615
resume job queue processing 4-409
retrieve
host data set 4-218
Series/l data set 4-219
source data set 4-293
return codes
See also completion codes and post codes
Host Communications Facility 4-329
REW (rewind tape) 4-578
rewind tape 4-578
roll screen mode for multiple copying 4-39

s
sample session 4-495
save
contents of
storage and registers 4-631
work data set 4-305
control store 4-615
data set 4-581
disk device 4-581
disk or diskette volume on tape 4-584
formatted screen 4-360
graphics data 4-122
image data set 4-272
image store 4-616
monitor process 4-581
using multiple tapes 4-588
volume 4-581
screen format builder utility
See $IMAGE utility
scrolling, $FSEDIT 4-282
search and dump tape 4-570
secondary-control-statement data set 4-243, 4-253
secondary option menu
defined 3-3
examples 3-3
sector size for diskette initialization $DASDI
utility 4-57
segmentation registers
list 4-519
send
data, HX $DICOMP subcommand 4-117
message to another terminal 4-617

Index

X-19

session manager
$SMMAIN 3-1
$SMMLOG 3-2
$SMMPRIM 3-3
alternate session menu
defined 3. . 2
background option 3-5
custom menus defined 3-5
introduction 3-1
loading 3-1
logon menu
defined 3-2
parameter input menu
defined 3-4
example 3-4
primary option menu
defined 3-2
example 3-3
program function keys 3-7
secondary option menu
defined 3-3
example 3-3
user ID defined 3-2
utilities supported 3-7
set
$LOADER to load from storage 4-471
breakpoints and trace ranges 4-95
COBOL line numbers in edit mode 4-300
data set contents to zero 4-164
default volume for linkage editor 4-251
program storage parameter 4-185
status ($HCFUT1) 4-328
system default volume to storage disk volume
tabs 4-231
tabs in edit work data set 4-304
tape offline 4-578
uppercase conversion 4-297
3101 display terminal switch settings 4-284
set tabs
horizontal ($IMAGE) 4-355
vertical ($IMAGE) 4-363
with $EDITI/N 4-231
setup procedure for $JOBUTIL 4-412
single-line format, operator commands 2-2
sort
alphabetically 4-132
by ascending data set size 4-135
by descending data set size 4-135
by location 4-133
in predefined order' 4-136
interactively 4-138
source messages, format 4-478
special PI bit/group 4-404
specify
dynamic storage ($EDXLINK) 4-253
split a volume 4-383
spool job, browsing 2-10

X -20

SC34-0940

4-470

spooling
ALT subcommand 2-8
alter job printing
command syntax 2-8
BROW subcommand 2-10
capacity parameters
defaults 4-507
cold·starting 4-513
DALL subcommand 2-15
DE subcommand 2-16
delete a job
command syntax 2-16
delete all jobs
command syntax 2-15
delete generic jobs
command syntax 2-16
DG subcommand 2-16
DISP subcommand 2-17
display status
command syntax 2-17
ending
command syntax 2-19
forms, altering ($S ALT) 2-8
hold jobs
command syntax 2-17
HOLD subcommand 2-17
keep jobs
command syntax 2-18
KEEP subcommand 2-18
REL subcommand 2-18
releasing kept jobs
command syntax 2-18
restart writer
changing 2-8
command syntax 2-19
restarting 2-19
starting 2-21
status 2-17
stopping 2-21
restarting 4-513
start a writer
command syntax 2-21
stop a writer
command syntax 2-21
stop spooling
command syntax 2-19
STOP subcommand 2-19
WRES subcommand 2-19
WSTP subcommand 2-21
WSTR subcommand 2-21
stand-alone dump
create diskette 4-53
start
channel attach device 4-18
job queue processor 4-525
programs
$L syntax 2-6

c

status commands ($HCFUT1) 4-328
status display, WHERE $DEBUG 4-105
stop
batch logging 4-407
channel attach device 4-18
multiple copies 4-40
spool writer 2-21
STOP subcommand
syntax 2-19
storage
displaying
command syntax 2-5
dumping 4-631
patching
command syntax 2-7
release nonprogram 4-517. 4-520
storage disk, allocate a 4-461
submit
and hold a batch job 4-528
job
for execution 4-529
to host ($HCFUT1) 4-328
to host job stream 4-294
to job queue processor 4-525
surface analyzing tape 4-571
suspend
$GPIBUTI 4-319
$JOBQUT utility 4-408
job queue processing 4-409
system
AUTOCALL data set ($EDXLINK) 4-261
system analyzer
commands 4-545
loading 4-544
requirements· 4-544
system level 4-395

T
tab

o

set in edit work data set 4-304
tape
control commands 4-578
data set, allocate 4-589
label, change 4-574
management 4-565
return codes, display 4-580
vary offline 2-23
vary online 2-24
tape drive
change attributes 4-569
list defined tape drives 4-578
terminal
configuration utility, $TERMUTI 4-590
message-sending utility, $TERMUT3 4-617
terminating GPIB operation 4-313
test
BSC conversational transparent mode 4-13

test (continued)
BSC definitions 4-8
display ($DICOMP) 4-109
generated report or graphics profile member 4-109
label types 4-571
process interrupt 4-404
text editing utilities
full-screen editor 4-279
line editors 4-213
time and date
display
command syntax 2-25
set
command syntax 2-22
trace
ACCA activities 4-620
BSC activities 4-3
buffer for channel attach device, print 4-18
buffer, dump 4-621
communications activities, repeat 4-623
data set, display 4-621
EXIO activities ($TRACEIO) 4-620
EXIO activities ($LINTRC) 4-439
LCC activities 4-427
printing utility for BSC 4-5
printing utility for LCC 4-430
range and breakpoint, remove 4-100
ranges and breakpoint settings 4-95
record format for BSC line 4-4
utility for BSC 4-3
utility for EXIO 4-439
transfer
data set across a bisync line ($TRANS) 4-625
data set from host ($HCFUT1) 4-327
data set to host
WR command ($HCFUT1) 4-329
WRITE $EDITI command 4-220
WRITE $FSEDIT 4-294
translate
ASCII data 4-487
EBCDIC data 4-487
from EDX format 4-487
from PC format 4-487
transmit data sets across a bisync line
$TRANS 4-625

U
UNMAPCNT control statement ($EDXLINK)
unmapped storage
allocate as a disk 4-461
amount available at IPL time 4-469
dumping 4-206
list 4-99
modify
allocation 4-185
locations 4-102
patch 4-102

Index

4-250

X-21

unmapped storage (continued)
trap 4-631
unprotected field
defined 4-344
output fields 4-366
unresolved external references (EXTRNs)

v

vary
device offline
command syntax 2-23
device online
command syntax 2-24
tape online automatically 4-582
terminal offline 4-597
terminal online 4-598
verify
BSC communications 4-8
disk or diskette data set 4-384
tape is executing correctly 4-571
4967 disk 4-72
vertical tabs, define 4-363
volume
allocating 4-369
allocating in unmapped storage 4-468
change 4-143, 4-164
change for directory sort 4-133
compressing 4-25
copying 4-27,4-31
deleting 4-370
disk backup 4-40
dump/restore, $MOVEVOL 4-473
free space 4-158
initialize 4-371, 4-377
initialize H-exchange 4-334
IPL volume, copy 4-40
list
all 4-149
disk or diskette 4-377, 4-379
list all data sets 4-134
list directory entries 4-284
number of
data sets 4-158
directory entries 4-158
free space entries 4-158
unused directory entries 4-158
unused records 4-158
rename 4-382
rename label and owner id 4-382
size 4-158
sort
alphabetically 4-132
by ascending data set size 4-135
by descending data set size 4-135
by location 4-133
description 4-131
in predefined order 4-136
interactively 4-138

X-22

SC34-0940

4-262

volume (continued)
split 4-383
update H-exchange volume label 4-340
verify 4-384
with $FSEDIT 4-288
VOLUME control statement ($EDXLINK)
volume label, rename 4-382

4-251

W
wait state
put program in wait state 4-398
weak external reference (WXTRN) 4-262
work data set
$EDXASM 4-236, 4-241
$EDXLINK 4-243
$SIASM 4-531
save 4-305
wrap
data with WRAPON command 4-427
line trace data set 4-440
WRES subcommand
syntax 2-19
write
data
Series/l-to-Series/l 4-564
to the GPIB adapter 4-319
digital output using external sync 4-404
IPL text 4-376
one sector ID 4-77
source data set- to a host/native data set 4-294
write verify
clear 4-385
set 4-385
writer, spooling
See spooling
WSTP subcommand
syntax 2-21
WSTR subcommand
syntax 2-21

Numerics
30-megabyte disk (DDSK-30)
data management support
$DASDI 4-53
$DISKUTI 4-139
initialize 4-78
3101 display terminal
3151 display terminal
defining character attributes 4-345
screen format 4-343
3161 display terminal
defining character attributes 4-345
reconfigure 4-590
screen format 4-343
3163 display terminal
defining character attributes 4-345
reconfigure 4-590

3163 display terminal (continued)
screen format 4-343
3164 display terminal
defining character attributes 4-345
reconfigure 4-590
screen format 4-343
4201 printer
changing page formatting parameters 4-590
configure terminal ($TERMUT1) 4-590
4202 printer
changing page formatting parameters 4-590
configure terminal ($TERMUT1) 4-590
data management support
$FONT 4-263
$TERMUT2 4-601
4224 printer
changing page formatting parameters 4-590
configure terminal ($TERMUT1) 4-590
delete font 4-601
initialize font 4-601
load print images 4-601
4975-01A ASCII printer
data management support
$TERMUTI 4-592
4978 display station
change hard-copy device ($TERMUTl) 4-600
data set sizes 4-602
keyboard 4-606
scan code 4-605
screen format 4-344
4980 display station
change hard-copy device ($TERMUT1) 4-600
data management support
$FONT 4-263
$TERMUT2 4-601
data set sizes 4-603
keyboard 4-606
load terminal command (LT) 4-614
scan code 4-605
screen format 4-343
5219 printer
data management support
$TERMUTI 4-593
60-megabyte disk (DDSK-60)
initialize 4-78

Index

X-23

()

.C~:
X-24

SC34-0940

------- ---- -------------'- Series/1 Event Driven Executive

Publications Order Form
Instructions:
1.

Order:

Complete the order form, supplying all of the
requested information. (Please print or type.)

2.

Oty.

If you are placing the order by phone, dial

1-800-.1 BM-24G8.
3.

Order
number

Description:

If you are mailing your order, fold the
postage-paid order form as indicated, seal
with tape, and mail.

Ship to:
Name:

Address:

Basic Books:
Set of the following eight books. (For
indi\liduatcopies, order by book (lumber.)

SBOF-0255 _ __

Advanced Program-to-Program Communication Programming Guide and Reference

SC34-0960 _ __

Communications Guide

SC34-0935 _ __

Installation and System Generation Guide

SC34-0936 _ __

Language Reference

SC34-0937 _ __

Library Guide and Common Index

SC34-0938 _ __

Messages and Codes

SC34-0939 _ __

Operator Commands and Utilities
Reference

SC34-0940 _ __

Problem Determination Guide

SC34-0941

City:
State:

Zip:

Additional books and reference aids:
Set of the following three books and reference
aids. (For individual copies, order by number.)

Bill to:
Customer number:

Address:

SC34-0942

Event Driven Executive Language
Programming Guide

SC34-0943 _ __

Operation Guide

SC34-0944 - - SX34-0199 _ __

Operator Commands and Utilities
Reference Summary

SX34-0198 _ __

Conversion Charts Card

SX34-0163 _ __

Reference Aids Storage Envelope

SX34-0141

'·:;~.~:f:·6ttHtE!e·;:~t~~~~~e ·aids .Wit?·st6r~ge

City:'
State:

Customization Guide

Language Reference Summary

Name:

SBOF-0254 _ __

."':f~yelope}:t~~~ :~~r:·is·incl uded vVtth~qr;5ie:~
Zip:

numberSS'ciF~(i254.)

.'

Binders:
Your Purchase Order No.:

Easel binder with 1 inch rings

SR30-0324 _ __

Easel binder with 2 inch rings

SR30-0327 _ __

Phone: (

Standard binder with 1 inch rings

SR30-0329 _ __

Signature:

Standard binder with 1 1/2 inch rings

SR30-0330 _ __

Standard binder with 2 inch rings

SR30-0331 _ __

Diskette binder (Holds eight 8-inch diskettes.)

SB30-0479 _ __

Date:

Publications Order Form
J

()

c

""
g
'TI

(:)

0

0:
~
0

:J
<0

c::J
(1)

I

I
I

I
I
I

I
Fold and tape

Please Do Not Staple

Fold and tape

II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

III II I

I

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:

IBM Corporation
1 Culver Road
Dayton, New Jersey 08810

.......................................................................................................................................................................................
Fold and tape

Please Do Not Staple

Fold and tape

----------

--

- ----,-



c'

IBM Series/l Event Driven Executive
Operator Commands and Utilities Reference
Order No. SC34-0940-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 usc 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 review and action, if any, are deemed
appropriate.
Note: Copies ofIBllJ puhlications are not stocked at the location to 'which this form is addressed.
Please direct allY requests fc)r copies of publications, or for assistance in using your IBM system, to
your IBM representative or to the IBM hranch office serving your locality.

(l)

+-'

o

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-0940-0
Printed in U.S.A.

I

()

~
~
"'Tl

Reader's Comment Form

0

a:
1:>
0
:::l
1.0

[:
:::l
(1)

I

I
I

I
I
I

I
Fold and tape

..........................................................................................................................................................................................I
Please Do Not Staple

Fold and tape

""11

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
5414 (Internal Zip)
P.O. Box 1328
Boca Raton, Florida 33429-9960

1•• 11 ••• 11 •• 1•• 1•• 1.11.1 •• 1.1 •• 1.1 ••• 11 •• 11 •••• 1.1.1
Fold and tape

-- -

Please Do Not Staple

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

®

Fold and tape

C~
7

,~

1

IBM Series/l Event Driven Executive
Operator Commands and Utilities Reference
Order No. SC34-0940-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 review and action, if any, are deemed
appropriate.
Note: Copies ofIBllJ publications are not stocked at the location to which this form is addressed.
Please direct allY requests for copies of publications, or for assistance in using your IBM system, to
your IBll! representative or to the IBM branch office serving your locality_

Q)

+-'

o

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-0940-0
Printed in U.S.A.

I
;;.

()

('11

g ....1
"T1

Reader's Comment Form

£

0.

~
0

::l


I

I
I

I
I
I

I
Fold and tape

Please Do Not Staple

Fold and tape

""11

I

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
5414 (Internal Zip)
P.O. Box 1328
Boca Raton, Florida 33429-9960

1•• 11'1.11 •• 1•• 1•• 1.11.1 •• 1.1 •• 1.1 ••• 11 •• 11 •••• 1.1.1
Fold and tape

Please Do Not Staple

Fold and tape

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

--

®

,()~

-

--------- --_.
_
,---- ,'---

File Number
S1-32

Program Number
5719-XS6, 5719-XX7 , 5740-LM7 , 5719-LMA

®

5C34-0940-0

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 16:44:41-08:00
Modify Date                     : 2013:01:04 09:54:11-08:00
Metadata Date                   : 2013:01:04 09:54:11-08:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:1853f9ba-f412-48b3-8913-f8398a045dcd
Instance ID                     : uuid:4d14cb37-4dbf-42e3-8a2f-bf5eb09ad5fe
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 746
EXIF Metadata provided by EXIF.tools

Navigation menu