SC34 4024 1_ISPF_MVS_Program_Reference_Ver_2_Rel_2_MVS_Sep85 1 ISPF MVS Program Reference Ver 2 Rel Sep85

SC34-4024-1_ISPF_MVS_Program_Reference_Ver_2_Rel_2_MVS_Sep85 SC34-4024-1_ISPF_MVS_Program_Reference_Ver_2_Rel_2_MVS_Sep85

User Manual: SC34-4024-1_ISPF_MVS_Program_Reference_Ver_2_Rel_2_MVS_Sep85

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

DownloadSC34-4024-1_ISPF_MVS_Program_Reference_Ver_2_Rel_2_MVS_Sep85 SC34-4024-1 ISPF MVS Program Reference Ver 2 Rel Sep85
Open PDF In BrowserView PDF
----- ---------,--

Interactive
System Productivity Facilityl
Program Development Facility
Version 2 Release 2
Program Reference

MVS

File Number
S370/4300-39

Program Number
5665-317

I
I
I
I
I
I
I
I

Second Edition (September 1985)

This edition applies to Version 2, Release 2 of the program
product Interactive System Productivity Facility/Program
Development Facility (5665-317), and to all subsequent releases
and modifications until otherwise indicated in new editions or
Technical Newsletters. It is for use with the Interactive
System Productivity Facility Version 2, Release 2 (5665-319),
I and OS/VS2 (MVS) Release 3.8 or later. In the Extended
I Architecture (XA) environment, it is for use with MVS/SP Version
I 2.

I
I
I
I
I
I
I
I
I
I

Changes are made periodically to the information herein.
Therefore, before using this publication, consult the latest IBM
System/370 and 4300 Processors Bibliography (GC20-0001) for the
editions that are applicable and current.

References in this publication to IBM products, programs, or
services do not imply that IBM intends to make these available
in all countries in which IBM operates. Any reference to an IBM
program product in this document is not intended to state or
I imply that only IBM's program product may be used. Any
I functionally equivalent program may be used instead.

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

Publications are not stocked at the address given below.
Requests for copies of IBM publications should be made to your
IBM representative or to the IBM branch office serving your
locality.
A form for reader's comments is provided at the back of this
publication. If the form has been removed, comments may be
addressed to IBM Corporation, Dept. T46, P. O. Box 60000,
Cary, NC 27511. IBM may use or distribute whatever information
you supply in any way it believes appropriate without incurring
any obligation to you.
© Copyright International Business Machines Corporation 1984,

1985

PREFACE

The Interactive System Productivity Facility (ISPF) and the ISPF/Program
Development Facility (ISPF/PDF or PDF) are related IBM program products.
Together, they are designed to improve user productivity in the
development of applications, and contain special functions for the
development, test, and use of interactive applications, called dialogs.
Specifically:

•

ISPF is a dialog manager for interactive applications. It provides
control and services to support execution of the dialogs.

•

PDF is a facility that aids in the development of dialogs and other
types of applications. It makes use of display terminals and an
interactive environment to assist with many of a programmer's tasks.

This manual tells you how to use the PDF under MVS. It assumes that you
are an application or systems programmer, engaged in program
development, and are familiar with the MVS environment.
The first three chapters of this manual provide you with information
pertinent to the general use of PDF, such as use of the terminal, format
of the displays, and a description of the programming libraries. Each
succeeding chapter deals with the use of a particular PDF function, as
selectable from the primary option menu. Finally, the appendixes
contain a usage scenario, a description of listing formats, and command
summaries.
The dialog management functions of ISPF and the program development
functions of PDF were previously combined in the predecessor program
product, the System Productivity Facility (SPF). The major changes from
SPF are described in ISPF and ISPF/PDF for MVS General Information,
GC34-4041. You may also want to refer to the following publications:
ISPF for MVS Dialog Management Services (SC34-4021) - Provides a
detailed description of the dialog management services and related
information required to develop an interactive application that runs
under ISPF.
ISPF for MVS Dialog Management Services Examples (SC34-4022) Provides a set of examples of the use of dialog management services.
ISPF and ISPF/PDF for MVS Installation and Customization (SC34-4019)
- Provides information needed to install ISPF and ISPF/PDF and to
custom tailor these products for a particular installation.
ISPF/PDF for MVS Library Management (SC34-4025) - Provides
information needed to use the library management facilities provided
with PDF.

Preface

iii

ISPFjPDF for MVS Edit Macros (SC34-40l8) - Provides information
needed to write and test macros to be executed under the PDF editor.
ISPFjPDF for MVS Services (SC34-4023) - Provides a detailed
description of the EDIT, BROWSE, and library access dialog services
provided with PDF.
In this document, the following notation conventions are used to
describe PDF command formats:
•

Uppercase commands and their operands should be entered as shown,
but not necessarily in uppercase. Operands shown in lowercase are
variable; you substitute your own value for them.

•

Operands shown in brackets [ ] are optional, with a choice indicated
by the OR symbol (I) or by stacking the operands. You may choose
one or none; the defaults are underscored.

•

Operands shown without brackets are required. If several required
operands are separated by the OR symbol (I) or are stacked and shown
in braces { }, you must select one of the choices.

•

Command name truncations are shown stacked under the full command
name without braces.
(

\

(
iv

ISPFjPDF for MVS Program Reference

CONTENTS

Chapter 1. Introduction
Major Functions
Structured Programming
Interactive Applications
Usage Scenario

1

Chapter 2. Interacting with PDF
Panel Displays
....
. . . .
Format of Panels
. . . . . . . . . . . . . . . .
Types of Panels
.........
. . . . . . . .
PDF Invocation
. . . . . .
. . . . . . .
Command Entry
.........
. . . . . . . . . .
.........
. . . . . ..
...
Jump Function
Terminal Keys
. . . .
. . . . .
. . .
Program Access Keys
....................
Program Function Keys
...................
Scrolling
....
. . . .
Overtyping of Scroll and Multiple Choice Parameters
Split Screen
. . . . .
. . ..
...
Help Information
. . ..
.... .
PDF Termination
. . . .
. . .

5

1

2
2

3

5
5
6

10
13

.
.
.
.

16
17
17
18

19
20
.

21
22

.

23

Chapter 3. Libraries and Data Sets
ISPF Libraries
Library Statistics
Load Module Libraries
Parameter Specification
....
Library and Data Set Names
Data Set Password
Job Statement Information
User Profiles
Member List Commands
Locating Members
.......... .
Single-Selection Member Lists
... .
Multiple-Selection Member Lists
Log and List Files
.......... .
Foreground and Batch Output Listings
Other Temporary Files
.....

25

Chapter 4. ISPF Parms (Option 0)
. . ..
Specify Terminal Characteristics (Option 0.1)
..... .
Specify Log and List Defaults (Option 0.2)
....... .
Specify Program Function Keys (Option 0.3)
.... .
Specify Screen Display Characteristics (Option 0.4)
Specify List Data Set Characteristics (Option 0.5)

39

Chapter 5. Browse (Option 1)

53

25
28

30
31
31
32

33
33

34

35
35
36
36
37

38

40
43
45
49

50

Contents

v

Locating Lines
........ .
Identifying Columns
Finding Character Strings
Controlling the Display (DISPLAY Command)
Displaying Data in Hexadecimal Format
Recursive Browsing (BROWSE Command)

57

Chapter 6. Edit (Option 2)
Disabling Library Management
Edit Selection
..... .
Summary of Edit Operations
Command Functions
Edit Modes, Options, and Profiles
Selecting a Profile
Setting Up a Profile
Locking Your Profile
Special Data Modes
Packing Data
.....
Macros
. . . .
Labels and Line Ranges
Line Ranges
Edit Termination
Primary Commands and Functions
....
Controlling Your Edit Environment

65
67

c_,..., .... ____

l..T ... __ L

LJty'u~:;aH;t

nUlllU\;;;l.

~

___

~

______

~..!

_______,

U\;;;U\;;;l.Cl.L...LUU

d.UU

J""'t ___

.J........ _ _

58

59
61
62
63

68

72
73
74

75
75
76
76
77
77

'

\..IUIU... l U l

Sequence Number Format
Sequence Number Display
Initialization of Number Mode
NUMBER Command
RENUM Command
UNNUM Command
AUTONUH Command
Statistics Generation and Control (STATS, VERSION, and LEVEL
Commands)
................ .
Controlling the END Command (AUTOSAVE Command)
Packing Data (PACK Command)
....... .
Automatic Source Listing (AUTOLIST Command)
Character Translation (CAPS Command)
... .
Nulls Control (NULLS Command)
...... .
Tabs Definition (TABS Primary Command)
Profile Display and Control (PROFILE Command)
Hexadecimal Display (HEX Command)
.....
Controlling the Edit Boundaries (BOUNDS Command)
Displaying Model Notes (NOTE Command)
General Reset (RESET Command)
Recovery Control (RECOVERY Command)
Macro-Handling Commands
..... .
Specifying an Initial Macro (IMACRO Command)
Specifying a Recovery Macro (RMACRO Command)
Define a Name (DEFINE Command)
...... .
Execute a Built-in Command (BUILTIN Command)
Locating Lines (LOCATE Command)
Finding, Changing, and Excluding Data
Command Summary
.......... .
vi

ISPF/PDF for MVS Program Reference

78
79
81
82
82
83
83

84
84
85
85
86
86
86
88
89
89
90
90
91
93

95
96
98

99
100
101
101
102
103
104
104
106
106

)

Detailed Command Description
........ .
Starting Point, Direction, and Extent of Search
Conditions for Character String Match
....
Use of Text Strings
. . . . .
Use of Character Strings
..... .
Use of Picture Strings for String-1
Use of Picture Strings for String-2
Excluded Line Limitations
Column Limitations
Range of Lines Limitation
Example of Limiting Operands
~lerging and Segmenting Data
....... .
Merging Data (COpy and MOVE Commands)
... .
Segmenting Data (CREATE and REPLACE Commands)
Deleting Lines (DELETE Command)
Sorting Data (SORT Command)
Recursive Editing (EDIT Command)
Submitting to a Job Stream (SUBMIT Command)
Saving and Cancelling
Saving Data (SAVE Command)
Cancelling Changes (CANCEL Command)
Line Commands and Functions
Rules for Entering Line Commands
Basic Line Commands
I (Insert) Command
D (Delete) Command
R (Repeat) Command
.....
M (Move), C (Copy), A (After), and B (Before) Commands
Preparing Text
.....
. . . . .
TE (Text Entry) Command
TS (Text Split) Command
TF (Text Flow) Command
Uppercase (UC) Command
Lowercase (LC) Command
Overlaying Lines (0 Command)
Identifying Columns (COLS Command)
Defining Masks (MASK Command)
Controlling Tabs (TABS Line Command)
Defining Boundary Columns (BOUNDS Command)
Changing Indentations
..... .
> and < (Data Shifting) Commands
) and ( .(Column Shifting) Commands
Excluding Lines (X, F, L, and S Commands)
Dialog Development Models
MODEL Command
........... .
Using Models
........... .
Adding, Changing, and Deleting Models
Adding Models
Finding Models
Changing Models
Deleting Models

110
112
113
114
114
114
116
116
116
117
117
117
117
120
122
123
125
125
126
126
127
127
128
129
129
131
132
134
136
137
138
143
146
148
150
152
153
155
157
159
161
163
164
168
171
172
174
175
180
180
180

Chapter 7. Utilities (Option 3)
Library Utility (Option 3.1)

181
182

Contents

vii

viii

Data Set Utility (Option 3.2)
Move/Copy Utility (Option 3.3)
Data Set List Utility (Option 3.4)
Reset Statistics Utility (Option 3.5)
Hardcopy Utility (Option 3.6)
List VTOC Utility (Option 3.7)
Outlist Utility (Option 3.8)
Command Table Utility (Option 3.9)
Convert Menus/Messages (Option 3.10)
Format Definition Utility (Option 3.11)

186
192
201
206
209
211
213
216
219
222

Chapter 8. Foreground (Option 4)

229

Member Expansion
....... .
Member Expansion Return Codes
COBOL Restrictions
~L~gger 0cacement Errors
Processing Sequence
Assembler/Compiler Processing
Linkage Editor Processing
... .
Script/VS Processing
... .
Member Parts List
... .

229
231
231
232
233
234
237
239
245

Chapter 9. Batch (Option 5)

249

Member Parts List
LIST Data Set

252
253

.....

Chapter 10. Command (Option 6)

255

Chapter 11. Dialog Test (Option 7)

259

Dialog Test Environment
.... .
Dialog Test Variable Usage
... .
Dialog Test Severe Error Handling
Dialog Test Commands
Primary Commands
Line Commands
Functions (Option 7.1)
Panels (Option 7.2)
Variables (Option 7.3)
Manipulating Variables
Variables Usage Notes
Tables (Option 7.4)
Display Row (Tables Option 1)
Delete Table Row (Tables Option 2)
Modify Row (Tables Option 3)
Add Row (Tables Option 4)
Display Structure (Tables Option 5)
Display Status (Tables Option 6)
Log (Option 7.5)
Trace Header
Function Trace Entries
Variable Trace Entries
Dialog Services (Option 7.6)
Traces (Option 7.7)
Function Trace (Trace Option 1)

260
261
262
263
264
265
266
269
272
273
274
276
278
280
281
283
285
287
291
291
292
292
294
296
297

ISPF/PDFfor MVS Program Reference

(

\

c

Variable Trace (Trace Option 2)
Breakpoints (Option 7.8)
....... .
Defining Breakpoints (Breakpoints Panel)
Qualifying a Breakpoint (Qualification Panel)
Tutorial (Option 7.T)
.....
Exit (Option 7.X)
Encountering a Breakpoint

298
301
301
303
306
307
308

Chapter 12. Lihrary Management Utilities (Option 8)

311

Chapter 13. Tutorial (Option T)

313

Appendix A. Usage Scenario

317

Appendix B. PDF Listing Formats

323

Appendix C. Character Translations for APL and Text Keyboards

331

Appendix D. Summary of Commands
General Commands
....
... .
Member List Co,mmands
........ .
Browse Commands
Edit Primary Commands
Edit Line Co,mmands
Dialog Test Primary Commands
Dialog Test Line Commands

333

Appendix E. Summary of Command Syntax
Member List Commands
......... .
Browse Commands
........... .
Edit Pr imary Commands
.... .
Find/Change Strings (Browse and Edit)
Edit Line Commands
.......... .

343

Appendix F. Dialog Development Model Listing

349

Appendix G. List of Abbreviations

363

Index

365

333
335
335
336
339
341
342

343
343
344
347
347

~.'\

i

Contents

ix

(

x

ISPF/PDF for MVS Program Reference

FIGURES

~\

)

'

V

.. :."

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.

Utility Selection Panel
Browse - Entry Panel
Browse - Member List
Browse - Data Display'
Primary Option Menu
Default Program Key Arrangement
Split Screen Example
Termination Panel
ISPF Library Organization
Hierarchy of ISPF Libraries
Member List Display
Load Library Member List Display
Parameter Selection Panel
Terminal Characteristics Panel
Log and List Defaults Panel
PF Key Definition Panel (12 PF Keys)
PF Key Definition Panels (24 PF Keys)
Screen Display Characteristics
List Data Set Characteristics Panel
Browse - Entry Panel
Browse - Data Display
Browse - Column Identification Line
Browse - Hexadecimal Display, Vertical
Edit - Creating New Data
Edit - LMF Error
Edit - Entry Panel
Edit - Member List
Edit - Data Display
Edit - Profile Display
Edit - Hexadecimal Display, Data Representation
Edit - Default Column Boundary Settings
Edit - Recovery Panel
Edit - CHANGE ALL Command Example
Edit - COPY Command Example
Edit - REPLACE Command Example
Edit - Insert and Delete Lines Example
Edit - Repeat Line Example
Edit - Copy Lines Example
Edit - Text Split Example
Edit - Move Sentence Example
Edit - Text Restructure Example
Example of UC commands before processing
Results of processing the UC commands shown in the previous
figure
Example of LC commands before processing
Results of processing the LC commands shown in the previous
figure
Edit - Overlay Line Example
Figures

7
8
9

10
11
18
22
24

26
27
29
30
39
40
43
45
47
49
50

53
56
59

63
67
68

69
71
72
94
95

98
101
109
119
121
131
133
135
139
142

145
147
148
149
149

151
xi

47.
48.

Edit - Column Identification Line
Edit - Define Mask Example
49. Edit - Tab Definition Line
50. Edit - Default Column Boundary Settings
51. Edit - Boundary Definition Line
52. Edit - Left Shift Data Example
53. Edit - Excluded Lines Example
54. Edit - Show Lines Example
55. Edit - Model Class Selection Panel
56. Edit - Model Selection Panel for CLIST Models
57. Edit - Sample Dialog Development Model
58. Edit - Sample Block Letter Model
59. Edit - Panel Model Selection Panel
60. Edit - Modified Visible Panel Model Selection Panel
61. Edit - Modified )PROC Section of Panel Model Selection Panel
62. Edit - Block Letter Model Selection Panel Coding
63. Utility Selection Panel
64. Library Utility Panel
65. Library Utility - Print, Rename and Delete
66. Data Set Utility Panel
67. Data Set Utility - Allocate New Data Set
68. Data Set Utility - Rename Data Set
69. Data Set Utility - Display Information
70. Move/Copy Utility Panels
71. Promotion "To" Panel
72.
Move/Copy Utility - Copy Members from List
73. Data Set List Utility Panel
74. Data Set List Display (Short Format)
75. Reset Statistics Utility Panel
76. Hardcopy Utility Panel
77. List VTOC Utility Panel
78. Display VTOC Example
79. Out list Utility Panel
80. Out list Print Panel
81. Command Table Utility Panel
82. Command Table Editing Panel
83. "From" Panel for Converting Menu/Message Definitions
84. "To" Panel for Converting Menu/Message Definitions
85. Format Specification Panel
86. Format Definition Panel
87. Copy Format Selection List Panel
88. Format Selection List Panel
89. Foreground Selection Panel
90. Foreground - Assembler Example
91. Foreground Print Panel
92. Foreground - Linkage Editor Example
93. SCRIPT/VS Utility - Selection Panel
94. SCRIPT/VS Formatting Style Selection Panel
95. SCRIPT/VS Options Specification Panel
96. Example of specifying specific pages to print from a document
97. Foreground Member Parts List Panel
98. Member Parts List Display
99. Batch Selection Panel
100. Batch - PL/I Optimizing Compiler Example
xii

ISPF/PDF for MVS Program Reference

153
154
157
158
159
162
165
167
170
173
174
175
176
177
178
179
181
182
184
186
187
189
191
192
195
197
201
202
206
209
211
212
213
215
216
217
220
221
222
224
225
226
232
233
235
238
239
240
241
242
245
247
249
250

(\~

101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.

Batch Member Parts List Panel
TSO Command Entry Panel
Dialog Test - Primary Option Menu
Dialog Test
Invoke Function Entry Panel
Dialog Test
Display Panel Entry Panel
Dialog Test
Message Display Panel
Dialog Test
Variables Entry Panel
Dialog Test
Tables Selection Panel
Dialog Test
Display Table Row Entry Panel
Dialog Test
Delete Table Row Confirmation Panel
Dialog Test
Modify Table Row Entry Panel
Dialog Test
Add Row Entry Panel
Dialog Test
Table Structure Display
Dialog Test
Table Status Display for a Closed Table
Dialog Test
Table Status Display for an Open Table
Dialog Test
Invoke Dialog Service Entry Panel
Dialog Test
Special Display Panel
Dialog Test
Traces Selection Panel
Dialog Test - Function Trace Entry Panel
Dialog Test - Variable Trace Entry Panel
Dialog Test - Breakpoints Entry Panel
Dialog Test - Qualification Panel
Dialog Test - Breakpoint Primary Option Nenu
Library Management Utility Panel
Tutorial - First Two Pages
Sample Source Listing
Sample Index Listing - Source Library
Sample Index Listing
Load Library
Sample Log Listing
Sample Data Set List Listing
Internal Character Representations for APL Keyboards
Internal Character Representations for Text Keyboards

253
255
260
267
269
271
272
276
279
280
281
284
286
288
290
294
295
296
297
299
302
303
308
312
313
325
326
327
328
329
331
332

Figures

xiii

(

(
xiv

ISPF/PDF for MVS Program Reference

CHAPTER 1. INTRODUCTION

The ISPFjProgram Development Facility (ISPFjPDF, or PDF) Program Product
is an interactive dialog application that you can use to simplify many
of your programming tasks. PDF may be used either by individual
programmers, each working on a separate project, or by a group of
programmers working on a common project.
MAJOR FUNCTIONS

PDF is an ISPF dialog that you use at a display terminal.
available to you include:

~

)

The functions

•

Multilevel programming library support that makes it easier to
maintain and track program segments at different versions or levels.

•

Full-screen, context editing that allows multiple changes to
information on a screen with one interaction with the host system.
The most frequently used editing functions are invoked using simple,
one-character commands.

•

Models that assist in the development of dialog panels, messages,
function routines, file skeletons, and tables.

•

Scrolling of source data and listings in any direction.
location of data by character string or line number.

•

Split screen capability that allows you to partition the display
screen into two logical areas (four areas for 3290).

•

Utilities to specify and maintain libraries and data sets.

•

Interface to standard language processors (compilers, assemblers,
and a linkage editor). These processors may be invoked either in
the foreground or as batch jobs.

•

Dialog test facilities that assist in the development and testing of
ISPF dialog applications.

•

Documentation preparation assistance consisting of text editing
facilities, and an interface to the Document Composition Facility
Program Product.

•

Online tutorial for instruction and reference. This feature is
especially valuable if you are 8. new or an occasional user.

Also,

Chapter 1. Introduction

1

STRUCTURED PROGRAMMING

PDF permits use of both structured and conventional programming
techniques.
While conventional programming consists of large blocks of unindented
code, structured programming emphasizes the use of segmentation and
indentstion. A structured source program normally consists of a large
number of relatively small segments, with each segment stored as a
separate member of a programming library. Within a segment, source
statements are block-indented under each "IF-THEN-ELSE" or "DO-WHILE" to
show the control structure. Functions that are specifically oriented
toward structured programming include:

•

Segmentation. One segment (member) can easily be split into
multiple segments, or multiple segments can be merged into one.

•

Indentation. Single statements or blocks of statements can easily
be shifted left or right by a specified number of column positions.

•

Insertion in context. A "DO-END" pair, for example, may be coded on
consecutive lines, and then space can be opened between the two
lines to allow insertion of a block of code.

•

Visual verification. A block of code may be temporarily excluded
from display so that the space that it normally occupies on the
screen is closed up. This makes it easy for you to see the control
structure, particularly when the length of a segment exceeds the
screen size.

INTERACTIVE APPLICATIONS

PDF aids in the development of interactive applications, called dialogs,
that run under the ISPF dialog manager. Models are provided to help you
create the various ISPF elements of a dialog application, and the
following functions are available to help you test the dialogs:

2

•

Dialog functions may be invoked, panels displayed, variable data
displayed and manipulated, table data displayed and changed, and
ISPF services called. These facilities are available before you
begin exec~ting a dialog or at a breakpoint during testing.

•

You may stop execution of the dialog at any call to an ISPF service
by establishing a breakpoint. At a breakpoint, dialog data
(variable data, table data, etc.) may be displayed and changed.

•

You may trace the flow of the dialog's calls to ISPF services and
the usage of variables. Trace information is placed in the ISPF
log.

ISPF/PDF for MVS Program Reference

(

USAGE SCENARIO

The usage scenario shown in Appendix A is a brief scenario of PDF
terminal operations. It is intended to serve as a demonstration that
PDF has been properly installed and is operational. It may also be
useful for new users as a quick introduction to PDF.

\

)

Chapter 1. Introduction

3

(

\

4

ISPF/PDF for MVS Program Reference

CHAPTER 2. INTERACTING WITH PDF

This chapter tells you how to begin and end your PDF session, and how to
use the display screen and terminal keys.
PANEL DISPLAYS

PDF communicates with you through a series of panels. A panel is a
predefined display image that is presented on a display terminal.
Panels may require a response, and that response is used to determine
the next panel to be displayed or the function to be performed. Your
responses may be in uppercase or lowercase. Most responses can be in
your national language: for example, English, Kanji, or German.
Format of Panels

All panels are formatted to fit on a 24-line by 80-character screen.
a 3278 Model 3 or 4, scrollable data occupies the full length of the
screen (32 or 43 lines).
\
)

On

On a 3278 Model 5, information is normally displayed in "default" mode
(24 lines by 80 characters) with the same size characters as other
models. Browse and edit data that is wider than 80 characters is
displayed with the smaller "native" mode characters (up to 132 per
line). You may override the automatic switching of modes using option
0.1.
The first three lines of each display are formatted as follows:
line 1

Title

line 2

Command/Option

line 3

Long Message

Short Message
Scroll

The title area (line 1) identifies the function being performed and,
where appropriate, the library or data set name, member name, version
number, and modification level. The short message area (line 1) is used
to indicate:
•

Current line (for browse) and column positions (for browse and edit)

•

Successful completion of a processing function

•

Error conditions (accompanied by audible alarm, if installed)

Chapter 2. Interacting with PDF

5

The command/option area (line 2) is where you enter a command or an
option selection. The scroll area (line 2) contains the current scroll
amount whenever scrolling is applicable. You may overtype the scroll
amount.
The long message area (line 3) is used to display an explanation of
error conditions upon request. Normally, this line is blank on
selection panels and data entry panels, contains column headings on
member lists, and is treated as part of the data area on data displays.
The long message overlays any other data on the line.

Types of Panels
In using PDF, you will see four basic types of panels:

6

1.

Selection
number on
Selection
the panel

Panel - You select from a list of options by typing its
the command/option line and pressing the ENTER key.
panels are also called menus. Figure 1 shows an example:
for selecting a PDF utility.

2.

Entry Panel - You supply parameters by filling in labeled fields.
In many cases, fields are pre-entered based on what you last
entered. Figure 2 shows an example: the panel on which you identify
the data to be browsed.

3.

Member List - Displays a list of members in a programming library.
You may select a member by entering a one-character code in front of
the appropriate member name. Figure 3 shows an example: a member
list on which the user has selected the member named COINS.

4.

Scrollable Data Display - Displays soUrce code or output listings.
Figure 4 shows an example: the browse display of source code.

ISPF/PDF for MVS Program Reference

(
\

------------------------OPTION ===>
1

LIBRARY

2

DATASET

3

MOVE/COPY
DSLIST

4

5

6
7
8
9

10
11

RESET
HARDCOPY
VTOC
OUTLIST
COMHANDS
CONVERT
FORMAT

UTILITY SELECTION HENU

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

- Library utility:
Print index listing or entire data set
Print, rename, delete, or browse members
Compress data set
- Data set utility:
Display data set information
Allocate, rename, or delete entire data set
Catalog or uncatalog data set
- Move, copy, or promote members or data sets
- Data set list:
Print or display (to process) list of data set names
Print or display VTOC information
- Reset statistics for members of ISPF library
- Initiate hardcopy output
- Display or print VTOC entries for a DASD volume
- Display, delete, or print held job output
- Create/change an application command table
- Convert old format messages/menus to new format
- Format definition for formatted data edit/browse

\

)

Figure 1.

Utility Selection Panel

1:
)r

Chapter 2. Interacting with PDF

7

-------------------------CONNAND ===>
ISPF LIBRARY:
PROJECT ===> SPFDENO
GROUP
===> MYLIB
TYPE
===> PLI
NEMBER ===>

BROWSE - ENTRY PANEL

===>

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

===>

===>

(Blank for member selection list)

OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>.
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PASSWORD

===>

(If password protected)

NIXED

===>
===>

(Specify YES or NO)

~lODE

FORNAT NANE

(

Figure 2.

8

Browse - Entry Panel

ISPF/PDF for HVS Program Reference

\

BROWSE - SPFDEMO.MYLIB.PLI ---------------------------------------------------COMMAND ===>
SCROLL ===> PAGE
NAME
CREATED
LAST MODIFIED SIZE INIT
MOD
VV.MM
ID
ACCOUNT
01.00 83/01/09 83/01/09 17:07
21
21
0 HUNTER
ACCT1
01.01 83/02/11 83/04/23 14:52
0 BECKETT
199
193
ACCT2
01.00 83/03/09 83/03/09 17:07
20
20
0 BECKETT
S COINS
01.04 83/04/24 83/04/28 16:20
19
19
4 JOSLIN
COMPX
01.00 83/01/21 83/01/21 11:08
44
44
0 JOSLIN
COMPY
01.01 83/01/14 83/01/16 12:30
13
13
1 FISHER
DCLS
01.00 83/04/23 83/04/23 15: 14
20
20
0 LEESB
LISTNEW
01.02 83/04/23 83/05/06 10:00
17
13
6 LEESB
MAIN
01.00 83/01/09 83/01/09 17:08
4
4
0 KIRK
TESTDIR
01.02 83/04/23 83/05/06 09:04
30
43
10 LAIDLAW
UPDATE
01.00 83/03/26 83/04/01 13:08
13
13
0 LAGRANDE
~'d;:'END";'....'..

Figure 3.

Browse - Member List

\.:,.-,

JY

Chapter 2. Interacting with PDF

9

BROWSE COH~iAND

SPFDEHO.~IYLIB.PLI(COINS)

:::::=>

.. 01.04 ------------ LINE 000000 COL 001 080
SCROLL ==> PAGE

COINS:
00010001
PRobEDURE OPTIONS (HAIN);
00020000
DECLARE
00030000
COUNT
FIXED BINARY (31) AUTO~iATIC IN IT (1),
00040000
HALVES
FIXED BINARY (31),
00050000
QUARTERS FIX~b BINARY (31),
00060003
DIMES
FIXED BINARY (31),
00070000
NICKELS FIXED BINARY (31),
00080004
SYSPRINT FILE STREAM OUTPUT PRINT;
00090000
DO HALVES = 100 TO 0 BY -50;
00100000
DO QUARTERS = (100 .. HALVES) TO 0 BY -25;
00110000
DO DIMES
((100 - HALVES .. QUARTERS)/10)*10 TO 0 BY -10;
00120000
NICKELS = 100 -HALVES - QUARTERS - DIMES;
00130000
PUT FILE(SYSPRINT) DATA(COUNT,HALVES,QUARTERS,DIMES,NICKELS);00140000
COUNT = COUNT + 1;
00150000
ENDi
. 00160000
END;
00170000
END;
00180000
END COINS;
00190001

=

/

Figure 4.

Browse - Data Display

PDF INVOCATION

To invoke
establish
displayed
option by
the ENTER

PDF, enter the command "PDF"~ (Your installation may
an alias for PDF, such as ISPF or SPF.) The first panel to be
is the primary option menu (Figure 5). You may select an
typing its number or letter in the option field and pressing
key; for example:

OPTlON ==> 2
to select the

10

~dit

option.

ISPF/PDF for MVS Program Reference

\

ISPF/PDF PRIMARY OPTION MENU
OPTION

°21
3
4
5
6

7
8
C
T
X

==>

USERID
- FLAG3
ISPF PARMS - Specify terminal and user parameters
TIME
- 12:47
- Display source data or output listings TERMINAL - 3278
BROWSE
PF KEYS - 12
- Create or change source data
EDIT
UTILITIES
- Perform utility functions
FOREGROUND - Invoke language processors in foreground
BATCH
-Submit job for language processing
COl'lMAND
- Enter TSO command or CLIST
DIALOG TEST - Perform dialog testing
LM UTILITIES- Perform library management utility functions
CHANGES
- Display summary of changes for this release
TUTORIAL
- Display information about ISPF/PDF
EXIT
- Terminate ISPF using list/log defaults

Enter END command to terminate ISPF.

'\
)

I

Figure 5.

Primary Option Menu

If you select options 0, 3, 4, 5, 7, or 8 you get another selection
panel with a secondary list of options. As you get familiar with PDF,
you may want to bypass the second selection panel by typing your first
two selections (separated by a decimal point) on the primary option
menu. For example, entering "~.1" on the primary option menu has the
same effect as entering "3" on the prim?ry option menu and "1" on the
secondary selection panel.
On initial entry, you may also bypass the primary option menu (and the
secondary selection panel) by including your selection as a parameter of
the PDF command. Examples:
PDF 2
PDF 3.1

- to go directly to edit
- to go directly to utility suboption 1

The PDF primary options are:

o

ISPF PARMS

To specify terminal and user parameters and defaults,
including: terminal type, number of program function
(PF) keys and PF key definitions, default pad
character for input fields, and allocation parameters
and default dispositions for log and list files.
Chapter 2. Interacting with PDF

11

..f~ft\o1

12

1 BROWSE

To display source data or output listings. Browse is
intended primarily for viewing large data sets such as
compiler listings or dumps.

2 EDIT

To create or change source data, including program
code, test data, or documentation. Unlike browse,
edit reads the selected member (or entire sequential
data set) into virtual storage and retains it there
during edit operations.

3 UTILITIES

To print, rename, or delete library members or entire
data sets; allocate data sets; move, copy, or promote
data; display or print data set lists or VTOCs; reset
library statistics; initiate hardcopy output; examine
held SYSOUT data; create or modify application command
tables; convert menus and messages to ISPF format from
old SPF format; or define formats to be used with edit
or browse.

4 FOREGROUND

To execute language processing programs in the
foreground, including: Assembler, COBOL, FORTRAN, PLjI
(checkout or optimizer), PASCALjVS, linkage editor,
COBOL or FORTRAN interactive debug, and the SCRIPTjVS
document formatter.

5 BATCH

To generate and submit JCL for batch execution of IBM
language processing programs, including: assembler,
COBOL, FORTRAN, PLjI (checkout or optimizer), PASCAL,
and linkage editor.

6 COMMAND

To enter a TSO command or command procedure (CLIST)
during execution of PDF.

7 DIALOG TEST

To test a panel or dialog function; display a panel or
message; set or examine dialog variables; set up,
modify, or examine tables; browse the ISPF log; set up
or modify breakpoints; and set up or modify traces of
functions or variables.

~ \ l?, ')

.

8 LM UTILITIES

To control updating of ISPF libraries and to establish
or remove updating controls.

C CHANGES

To obtain online instruction about the changes between
Version 1 and Version 2 of ISPFjProgram Development
Facility.

T TUTORIAL

To obtain immediate online instruction in the use of
PDF. The tutorial may be viewed sequentially from
beginning to end, or randomly by selecting topics from
its table of contents or index. The tutorial may also
be entered from other PDF options using the HELP
command.

ISPFjPDF for MVS Program Reference

(

\

(

X EXIT

To exit from PDF using the log and list defaults
defined using Parms option 0.2.

COMMAND ENTRY

'PDF comm~nds are provided for commonly used functions.
PDF command in one of two ways:

You can enter a

1.

By typing the command in the command/option field and pressing
ENTER. (This includes the command field in browse, edit, member
lists, and table displays, as well as the command/option field on a
panel. )

2.

By pressing a program function (PF) key that has been equated to the
desired command.

Although there is a set of default PF key definitions shipped with PDF,
there are no functions that rely on specific PF key settings. A PF key
simply simulates command entry. Each PF key is equated to a character
string. When you press the PF key, the processing is the same as if you
typed the character string in the command field and pressed the ENTER
key. ISPF does not differentiate between a command entered with a PF
key and a command entered by typing in the command field.
Before you press a PF key, you may enter information in the command
field. If so, the PF key definition is concatenated ahead of the
contents of the command field. For example, suppose you equate PF7 to
the character string "UP". If you type "4" in the command field and
then press PF7, the results are exactly the same as if you had typed "UP
4" in the command field and then pressed ENTER. However, if you type
something unrelated to the PF key in the command field and then press a
PF key, the entry in the command field will be passed through to the
function in control. It will be up to the function in control to then
process or ignore this entry. For example, Edit will process the entry
and Tutorial will ignore the entry. Some PDF functions such as Edit and
Browse will flag the entry in the command field as an invalid command if
it is not valid for the function in control. Any stacked commands in
the command field will be executed.
You can enter multiple commands in a single command entry. This is
called command stacking. You stack commands for execution by entering a
special delimiter between the commands. The default d~limiter is a
semicolon (;). You can change the default using the ISPF parms option
(option 0.1). In the following example, two edit CHANGE commands have
been stacked:
COHHAND ===> CHANGE ALL ABC XYZ;CHANGE ALL PQR GHIJK
The PDF commands include the following functions:

Chapter 2. Interacting with PDF

13

HELP
RETURN
UP
LEFT
PRINT
KEYS
PRINTL

SPLIT
RFIND
DOWN
RIGHT
PRINT-HI
PANELID
PRINTLHI

END
RCHANGE
SWAP
CURSOR
TSO
SPLITV

Following is a description of the general PDF commands. Additional
commands are defined for member lists, browse, edit, and dialog test.
The default PF key definitions are shown following the command name.
HELP

(PF1/13)

Displays additional information about an error
message or provides tutorial information about PDF
commands and options.

SPLIT

(PF2/14)

Causes split screen mode to be entered, or changes
the location of the split line.

END

(PF3/1S)

Terminates the current operation and returns to
the previous panel. If the primary option menu is
displayed, this command terminates PDF.

RETURN

RFIND

(PF4/16)

( PFS/17)

Causes an immediate return to the primary option
menu or to the panel from WhlCh a tl~L~ or KEYS
command was entered, without displaying the
intervening panels. Note that the dialog test
primary option menu (displayed when option 7 is
selected) is itself a primary option menu; when
you are in option 7, the RETURN command stops at
that menu. For other uses of the RETURN command,
see the section entitled "Jump Function."
Repeats the action of the previous FIND command
(applies to browse only).
Finds the search string defined by the most recent
SEEK, FIND, or CHANGE command, or excludes a line
containing the search string defined by the
previous EXCLUDE command (applies to edit only).

RCHANGE (PF6/18)
UP

14

(PF7/19)

Repeats the action of the previous CHANGE command
(applies to edit only).
Causes a scroll toward the top of the data.

DOWN

(PF8/20)

Causes a scroll toward the bottom of the data.

SWAP

(PF9/21 )

Moves the cursor to wherever it was previously
positioned on the other logical screen of a split
screen pair. For use of the SWAP command, see the
section entitled "Split Screen."

ISPF/PDF for MVS Program Reference

/
\

LEFT

(PF10/22)

Causes a scroll toward the left margin of the
data.

RIGHT

(PFl1/23)

Causes a scroll toward the right margin of the
data.

CURSOR

PRINT

(PF12/24)

Hoves the cursor to the first input field on line
2 (normally the option selection or command
field). Entering this command again causes the
cursor to be moved to the second input field on
line 2, if any (normally the scroll amount field).
This command is useful only when invoked using a
PF key.
Causes a "snapshot" of the physical screen image
to be recorded in the ISPF list file for
subsequent printing.

Note: For the PRINT, PRINT-HI, PRINTL, and
PRINTLHI commands, a screen image may exceed 121
characters. When it does, the line must be split
when the output is being directed to a printer
other than a 3800. The line length is obtained
from a user modifiable specification on the ISPF
PARMS panel (option 0.2). The default line length
for printing is 121 characters.
)

PRINT-H I

Same as PRINT except that high-intensity
characters on the screen are printed with
overstrikes to simulate the dual-intensity
display. See the note under the PRINT command.
Do not use this command if the list output is to
be printed on a 328x printer or other device that
does not have a suppress-space carriage control.

PRINTL

Causes a "snapshot" of the logical screen image to
be recorded in the ISPF list file for subsequent
printing. See the note under the PRINT command.

PRINTLHI

Same as PRINT except that high-intensity
characters on the screen are printed with
overstrikes to simulate the dual-intensity
display. See the note under the PRINT command.
Do not use this command if the list output is to
be printed on a 328x printer or other device that
does not have a suppress-space carriage control.

SPLITV

On 3290 terminals, causes the screen to be split
vertically.

Note: The SPLITV function is not active if the
data being displayed on a screen is more than 80
characters wide.

Chapter 2. Interacting with PDF

15

TSO

Allows you to enter a TSO command or CLIST from
any panel. For example:
CONNAND ===> TSO LISTC LEVEL(Z77PHJ)
Note: I f an ISPF dialog invoked us ing
TSO command encounters a severe error,
will be returned to the primary option
not the panel on which you entered the
command.

the
you
menu,
TSO

KEYS

Causes an immediate display of a panel that allows
you to view and change the current PF key
definitions (equivalent to option 0.3).

PANELID

The command PANELID or PANELID ON causes all
subsequent panels to be displayed with the
identifier of the panel shown at the beginning of
line 1 (provided the panel contains a
protected-field attribute byte in row 1 column 1,
and no other attribute bytes in the next ten
character positions). The command PANELID OFF
suppresses display of the panel identifiers.
PANELID is OFF at the beginning of a PDF session.

The SPLIT, RFIND, RCHANGE, SWAP, and CURSOR commands are
sensitive to the current cursor position and are most easily
entered using PF keys. The four scrolling commands are also
cursor-sensitive if the scroll amount is set to "CSR". See
"Scrolling."

Note:

JUMP FUNCTION

The jump function allows you to move from one option to another option
under the same primary option menu without displaying the primary option
menu, as follows: In the command field on any panel, or in any input
field that can be displayed and is preceded by an arrow (===», enter an
equal sign (=) immediately followed by a primary option. Then press the
ENTER key or the RETURN PF key.
For example, suppose you are in edit and you wish to use the library
utility (option 3.1). Enter:
COHHAND ===> =3.1
This causes edit to be ended and the library utility panel to be
displayed. The processing is exactly the same as if you had repeatedly
entered END commands until the primary option menu was displayed, and
then you had entered 3.1 on the primary option menu.

16

ISPF/PDF for HVS Program Reference

/

Notes:
1.

You may enter "=X" , which is equivalent to selecting the X (exit)
option on the primary option menu. Except under option 7, "=X"
immediately terminates:

•

ISPF/PDF if you are not in split screen mode

•

The logical screen if you are in split screen mode

Commands stacked after =X in split screen mode will be ignored.

\I

2.

Since option 7 (dialog test) has its own primary option menu, the
jump function pertains to options that may be selected from the
dialog test primary option menu. For example, suppose you are in
option 7.3. If you enter "=1", you go to option 7.1. On the other
hand, if you enter "=X", you exit dialog test and return to the
ISPF/PDF primary option menu.

3.

Unlike the RETURN command, the jump function does not stop upon
completion of the HELP or KEYS command. For example, suppose you
are in edit and you enter a HELP command, which takes you into the
tutorial. From the tutorial, if you enter RETURN (without the jump
function), you return to the edit display from which you entered
HELP. But if you enter "=3.1", you leave the tutorial, end edit,
and go directly to the library utility.

)

TERMINAL KEYS
On the terminal, the program access (PA) and program function (PF) keys
are used to request commonly used operations. No PF keys are required
for PDF operations, but PDF has a default set of PF key definitions that
you can change. Keys that are not used for general PDF operations may
be equated to edit, browse, and dialog test primary commands, to edit
and dialog test line commands, or to TSO commands, using the parms
option (option 0.3) or the KEYS command.

Program Access Keys
The two PA keys are defined as follows.
changed.

These definitions may not be

ATTENTION (PAl) Normally, you should not use this key while you are
in ISPF full screen mode.
If you press PAl after the keyboard is unlocked by
ISPF, it is treated like the PA2 key. It does not
cause an exit from ISPF. However, if you press the
PAl key a second time without any intervening
interaction, it causes current processing to be
terminated and the primary option menu to be
redisplayed.
Chapter 2. Interacting with PDF

17

If you press PAl after manually unlocking the keyboard
(with the RESET key), it causes current processing to
be terminated and the primary option menu to be
redisplayed.
RESHOW (PA2)

Reshows the last full screen image displayed by ISPF.
PA2 may be useful if you accidentally press the ERASE
INPUT or CLEAR key, or if you type unwanted
information but have not yet pressed ENTER or a PF
key. Note that PDF does not allow use of the Field
Mark character (same key as PA2).

Program Function Keys

The PDF default PF key assignments for the 3-key by 4-key pad
(right-hand side of the keyboard) are shown in Figure 6. These are PF
keys 1-12 on a 12-key terminal, or keys 13-24 on a 24-key terminal.
For 24-key terminals, PF keys 1-12 have the same defaults as keys 13-24.
It is strongly recommended that users of 24-key terminals continue to
use the key pad (13-24) for general commands, and redefine PF keys 1-12
to specific operations for edit, browse, or dialog test. Use option 0.3
to reset the p~ogram function keys for your use.
(

\
PAl

PA2

ATTENTION

RESHOW

PF1 / 13
HELP
PF4 / 16
RETURN
PF7 / 19
UP
PF10 / 22
LEFT

Figure 6.

18

Default Program Key Arrangement

ISPF/PDF for MVS Program Reference

PF2 / 14

PF3 / 15

SPLIT

END

PF5 / 17

PF6 / 18

RFIND

RCHANGE

PF8 / 20

PF9 / 21

DOWN
PF11 / 23
RIGHT

SWAP
PF12 / 24
CURSOR

SCROLLING

During edit and browse or during table display, you are generally
dealing with information that exceeds the screen size. Scrolling allows
you to move the screen "window" up, down, left, or right across the
information. You can also scroll a member list up and down if it
exceeds a single screen length.
You use four commands for scrolling (UP, DOWN, LEFT, and RIGHT).
Whenever scrolling is allowed, a scroll amount is displayed at the top
of the screen (line 2). This value indicates the number of lines (or
columns) scrolled with each use of a scroll command. To change the
scroll amount, move the cursor to the scroll field and overtype the
displayed amount. Valid scroll amounts are:

•

A number from 1 to 9999 - specifies the number of lines (up or down)
or columns (left or right) to be scrolled.
If you are browsing or editing a formatted data set, scrolling left
or right is done on a field basis, not a column basis. If you
specify a scroll amount, the scroll amount will be ignored.
Instead, scrolling left causes the preceding field in the record to
be placed at the leftmost edit area position; scrolling right causes
the next field in the record to be placed at the leftmost edit area
position.

'\

)

•

PAGE or P - specifies scrolling by one page.

•

HALF or H - specifies scrolling by a half page.

•

MAX or M - specifies scrolling to the top, bottom, left margin, or
right margin, depending upon which scrolling command is used.

•

CSR or C - specifies scrolling based on the current position of the
cursor. The line or column indicated by the cursor is moved to the
top, bottom, left margin, or right margin of the screen, depending
upon which scrolling command is used. If the cursor is not in the
body of the data, or if it is already positioned at the top, bottom,
left margin, or right margin, a full page scroll occurs.

•

DATA or D - for up and down scrolling, specifies scrolling of one
line less than is currently visible on the logical screen (PAGE 1) . For left and right scrolling, it specifies scrolling one column
less than is currently visible on the logical screen (PAGE - 1).

In edit, left and right scrolling is also affected by the current
setting of the bounds. See the description of the BOUNDS command.
For scrolling purposes, a "page" is defined as the amount of information
currently visible on the logical screen. In split screen mode, for
example, a browse display might have 12 BO-column lines of scrollable
data. In this case, a scroll amount of HALF would move the window up or
down by 6 lines, or right or left by 40 columns.

Chapter 2. Interacting with PDF

19

The current scroll amount is saved in the user profile. Three different
values are saved -- one for browse, one for edit, and one for member
lists. When you overtype the scroll amount, the new value remains in
effect for that type of pperation until you change it again. The value
HAX is an exception; following a ~lAX scroIl ,the scroll amount reverts
to its previous value.
You can also .enter any valid scroll amount in the command field and use
it with a scrolling command or PF key. For example, you can enter:
CONNAND

===>

UP 3

and press the ENTER key, or enter
CONNAND

===>

3

and press the UP PF key .. Either form results in a temporary, one-time
override of the scroll amount.

Note:

When editing with a format, left and right scrolling is
controlled by the format. The scroll amount is ignored; the
editor scrolls one field width starting from the field boundary
currently displayed on the left side of the screen.

OVERTYPING OF SCROLL AND MULTIPLE CHOICE PARAMETERS
(

To reduce keystrokes, you can change the scroll amount field by
overtyping the first character(s) only:

•

To change the scroll amount to PAGE, HALF, NAX, CSR, or DATA,
overtype the first character with "p", "H", "M", "C", or "D",
respectively.

•

To change the scroll amount to a number of lines or columns,
overtype the first character(s) with the desired number. Any
alphabetic characters following a number are ignored. For example)
"3AGE" is interpreted as "3".

\

The same rule applies to mUltiple choice parameters when the first
letter uniquely defines the option. For example:
REPLACE HENBERS
DISPOSITION

===>
===>

NO
KEEP

(YES or NO)
(KEEP or DELETE)

To change these options to YES or DELETE, overtype the first character
with "yft or "D", respectively.

(
'20· ISPF jPDF fo:J:'; JIVS Program Reference

SPLIT SCREEN

Split screen mode allows you to divide the display screen into two
logical screens separated by a horizontal split line. The top and
bottom screens are treated as though they were displayed on independent
terminals. Functions that can be performed simultaneously on two
separate terminals can be done on the top and bottom screens. Functions
that are in conflict on two separate terminals (editing the same member
of a partitioned data set, or editing the same sequential data set) will
also be in conflict when attempted simultaneously on the split screens.
Since only one logical screen is active at a time, you cannot split the
screen while executing a foreground compilation or a TSO command.
You can enter split screen mode by moving the cursor to the desired
location for the split line and then pressing the SPLIT PF key.
Alternatively, you can type SPLIT in the command/option field and then
move the cursor to the desired line before pressing the ENTER key. In
either case, the line containing the cursor becomes the split line and
is identified by a row of periods. All lines below the cursor are
treated as the bottom screen. The first display to appear on the bottom
screen is always the primary option menu. An example is shown in
Figure 7.

~
/

J

You can reposition the split location at any time by moving the cursor
to the desired line and using the SPLIT PF key (or command) again.
Repositioning may be required to bring an entire panel or tutorial page
into view.
In split screen mode, only one of the logical screens is'considered
active at anyone time. The location of the cursor identifies which of
the two screens is active. Any interrupts, such as the operation of
program function keys, are interpreted as having meaning for the active
screen. To switch from one screen to the other, use the cursor movement
keys or enter the SWAP command.
In addition to moving the cursor to the other logical screen, the SWAP
command automatically repositions the split if either logical screen is
less than five lines long. For example, if the split occurs at the
third line down from the top and the cursor is on the bottom screen,
SWAP moves the cursor to the top screen and repositions the split to the
third line up from the bottom. This allows the use of two screens in
"flip-flop" mode, with each logical screen consuming nearly all lines of
the physical screen.
To terminate split screen mode, end PDF processing on either logical
screen by entering an END or RETURN command from the primary option
menu, or by using "=X". The remaining logical screen is then expanded
to its full size. If you have stacked any other commands after U=x" ,
they ~re ignored.
On a 3290 terminal, in addition to splitting the screen horizontally,
you can issue the SPLITV command to split the s,creen vertically, for a
total of four logical screens.

Chapter 2. Interacting with PDF

21

BROWSE - SPFDEHO.~IYLIB.PLI(COINS) - 01.04 ------------ LINE 000000 COL 001 080
COHHAND ===>
SCROLL ===> PAGE
COINS:
PROCEDURE OPTIONS (HAIN);
DECLARE

00010001
00020000
00030000

---------------------- ISPF/PDF PRIHARY OPTION HENU --------------------------OPTION ===>
USERID
- BECKT
0 ISPF PARHS - Specify terminal and user parameters
Tum
- 12:47
- Display source data or output listings TER~lINAL - 3278
1 BROWSE
PF KEYS
- Create or change source data
12
2 EDIT
- Perform utility functions
3 UTILITIES
4 FOREGROUND - Invoke language processors in foreground
- Submit job for language processing
5 BATCH
6 COH~lAND
- Enter TSO command or CLIST
7 DIALOG TEST - Perform dialog testing
8 LN UTILITIES- Perform library management utility functions
C CHANGES
- Display summary of changes for this release
T TUTORIAL
- Display information about ISPF/PDF
X EXIT
- Terminate ISPF using list/log defaults

-

Enter END command to terminate ISPF.
Figure 7.

Split Screen Example

Note: The SPLITV function is not active if the data being displayed on
a screen is more than 80 characters wide.
HELP INFORMATION

The help function allows you to obtain general information about a PDF
command, option, or panel, or additional information about a message
that has been displayed in the upper right corner of the screen.
If a message is displayed, enter the HELP command to cause a one-line
explanation to be displayed. If this explanation is not sufficient, you
can obtain further information by entering the HELP command again. This
causes an entry into the appropriate section of the tutorial. For some
messages in the LHF utilities, entering the HELP command again displays
a message help panel, which provides a description of the error
condition that would cause the message and a description of the user
action needed 'to correct the error. If a message is not displayed, the
HELP command causes a direct entry into the appropriate section of the
tutorial.

22

ISPF/PDF for MVS Program Reference

Once in the tutorial, enter the END or RETURN command to return to the
screen that was being viewed when the HELP command was originally
entered.
PDF TERMINATION

To terminate PDF, you must have only a single logical screen displayed
(see "Split Screen").
Three termination options are available from the primary option menu:

•

Enter the END command to display a termination panel (Figure 8) that
lets you specify the log and list processing.

•

Enter option X to terminate PDF with your defaults for processing
log and list files, as specified using the ISPF parms option (option
0.2). If you have specified no defaults, option X causes the
termination panel to be displayed.

•

Enter the RETURN command. From the primary option menu, RETURN has
the same effect as entering option X.

If you are not in split screen mode, you may immediately exit ISPF/PDF
from any panel (except under option 7) by entering "=X". See the
section entitled "Jump Function."
J

The termination panel allows you to specify whether the log and list
files are to be printed with a background job or routed to a local
printer, or deleted or kept without printing. If the files are to be
printed, you must specify the destination (SYSOUT class or printer id),
as well as job statement information for background printing.
Once you have typed the information, press ENTER to complete
termination. The screen is cleared, one or more termination messages
are displayed, and you are returned to TSO.
The termination panel shown in Figure 8 is the version that is displayed
if both log and list files have been used. If only one has been used, a
version of the panel is displayed for only that one. If neither list
nor log has been used, PDF terminates immediately when you use either
option X or the END or RETURN command from the primary option menu.

Chapter 2. Interacting with PDF

23

SPECIFY DISPOSITION OF LOG AND LIST DATA SETS
COHHAND ==>
LOG OPTIONS FOR THIS SESSION
Process option
SYSOUT class
Local printer ID

===>
===>
===>

PD
A

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

LIST OPTIONS FOR THIS SESSION
Process option
SYSOUT Class
Local printer ID

VALID PROCESS OPTIONS:
PD - Print data set and delete

===>
===>
===>

PD

A

K - Keep data set (without printing)
D - Delete data set (without printing)

INSTRUCTIONS:
Press ENTER key to complete ISPF termination.
Enter END command to return to the primary option menu.
JOB STATEt-lENT INFORHATION: (Required for system printer)
===> //FRANKEL JOB (DC19,B213,896754), 'LAGRANDE ..... 72745'

===>
===>
===>

Figure 8.

24

Termination Panel

ISPF/PDF for HVS Program Reference

\

CHAPTER 3. LIBRARIES AND DATA SETS

This chapter provides the information you need to handle programming
libraries, data sets, output listings, etc., under PDF.
ISPF LIBRARIES

An ISPF library is a collection of code or data units, called members.
Each library generally contains members with the same type of
information. Figure 9 shows a sample set of five libraries that contain
Assembler source (ASH), COBOL source (COBOL), object modules (OBJ) , load
modules (LOAD), and SCRIPT documentation (SCRIPT).
In the TSO environment, each library is a cataloged partitioned data
set, with a 3-level name in the form:
'project-name.group-name.type'
where
~

•

"project-name" is the common identifier for all libraries belonging
to the same project.

•

"group-name" identifies the particular group of libraries, such as
NASTER, TEST, or FRANK.

•

"type" identifies the type of information in the library, such as.
ASH, COBOL, OBJ, LOAD, or SCRIPT. Except for OBJ and LOAD, the type
qualifier need not conform to the standard TSO naming conventions.

I

)

Nost projects use a hierarchy of related libraries to maintain effective
control over the programming development process and to reduce
contention in library usage. Figure 10 shows a sample 3-level hierarchy
consisting of a set of.master libraries, a set of test libraries, and
three sets of development (private) libraries identified by user id.
New library members or members undergoing changes generally reside in
the development libraries. A test library may be used to accumulate
members that have been unit tested and are ready for integration test.
A master library contains fully tested members, which may correspond to
a previously released version of the program. Typically, a higher
degree of control is maintained over the higher-level libraries than
over the development libraries. This library control can also be
provided using the Library Management Facility controls under LM
UTILITIES (Option 8). Libraries can be accessed from dialogs using
library access services, documented in ISPFjPDF for MVS Services.
PDF allows concatenation of up to four libraries during browsing, source
editing, compilation, assembly, link editing, or SCRIPTjVS processing.
Chapter 3. Libraries and Data Sets

25

ASH

COBOL

OBJ

LOAD

I

I
I
I

HEl-lBER
A

-i
HEi'iBER I

HEHBER
D

I
I
I

MEHBER
E

~1EMBER

A

I

B

MEMBER
C

I

MEt-mER
D

HEHBER
F

I
I HEHBER
G
I

•
•
•

I
I
I
I
I
I

MEMBER
IJK

I
I
I
I
I

i'1El'mER
D

I MEMBER

MEMBER
PQRS

•
•
•
•

•
,.

II
Figure 9.

SCRIPT
I

-i

Q

I
I

I

I MEl-iBER

•
•
•
•

I
I

XYZ

I
I
I

•

I
I
I

•

•

I
I

ISPF Library Organization

(

\

Generally, the lowest-level library is concatenated ahead of the next
higher-level library, and so on, in bottom-to-top order. For the
hierarchy shown in Figure 10, a typical concatenation sequence might be
library FRANK, followed by TEST, followed by MASTER. The concatenation
applies to libraries of the same type, and is restricted to libraries
that belong to the same project.
The purpose of concatenation during editing is to provide for copying
members to your development library. The concatenation sequence is used
to search the libraries for the member to be edited. The edited member
is saved in your development library (the first library in the
concatenation sequence), while the unchanged version remains in the test
or master library. When the new version is fully tested, it may be
promoted to a higher-level library by means of the move/copy utility or
the LMPROM service if the higher-level library is controlled.
The purpose of concatenation during language processing is to facilitate
inclusion of source segments via INCLUDE or COpy statements (or SCRIPT
"imbed" controls), and to allow debugging of new or modified programs
without altering the contents of the test or master libraries. The
oudtpult from a compilation or assembly (object module) or link edit (load
mo u e) is stored in the lowest-level OBJ or LOAD library (the first
library in the concatenation sequence).
26

ISPF/PDF for HVS Program Reference

I,'
~

HASTER
I

I

I
I C
A I 0
S I B
H I 0
I L
II

I
0
B
J

S
C
R
I
P
T

L
0

A
D

I
I

I
I
I
II

TEST
I

I

A
S
M

I

I
I
I

C

I
II

L

I

0
B
0

0
B
J

L
0

A
D

I
I
I
I
I
I
II

I

S
C
R
I
P
T

I
I
I

I
I
I
I
I

LIBRARY STATISTICS

At your option, the PDF editor automatically generates and maintains the
following statistics for each member of an ISPF library or other
partitioned data set:
Version Number:

Initialized to 1 when the member is created

Chapter 3. Libraries and Data Sets

27

Modification Level:

Number of times this version has been modified

Creation Date:

When this version was created, in the national
format

Date/Time Modified:

When this version was last modified, with the date
in the national format

Current No. Lines:

Current size (number of records)

Initial No. Lines:

Initial size of this version

No. Modified Lines:

Number of lines added .or changed since this
version was created (zero for unnumbered data)

User ID:

Who created or last updated this version

You can change the version number and/or user ID with the reset
statistics utility (option 3.5) or with the LEVEL and VERSION edit
primary commands. The statistics are displayed next to each member name
on member lists, and may be printed by requesting an index listing via
the library utility (option 3.1).
The statistics are displayed and printed with the following formats:

•

For version number and modification level: VV.MM (for example,
"VER.MOD 02.15" means version 2, modification 15).

•

For creation date and date last modified, the date is in the
national format: for example, "83/06/27" means June 27, 1983;
"06/27/83" means June 27, 1983; "27/06/83" means June 27, 1983.

•

For time last modified:

HH:MM (for example, "17:20" means 5:20 PM).

During browse and edit, the current version and modification level are
displayed in the title area (line 1) following the library and member
name.
On member lists, column headings are displayed in the national language.
The following are the column headings displayed:

I
I

NAME
LIB
VV.MM
CREATED
LAST MODIFIED
SIZE
INIT
MOD
ID

-

Name of the Member
Library Number (See below)
Version Number and Modification Level
Creation Date
Date and Time Last Modified
Current Number of Lines
Initial Number of Lines (when member is first saved)
- Number of Modified Lines
- User ID

The LIB column (group number) is displayed only if a concatenated
sequence of libraries was specified. It indicates the library (1, 2, 3,
or 4) in which the member was found.
28

ISPF/PDF for MVS Program Reference

(

\

Figure 11 shows an example of a member list with statistics. In the
member list, the date created and date modified is displayed in the
national language format. For example: yy/mm/dd, mm/dd/yy, dd/yy/mm.

BROWSE - SPFDEMO.MYLIB.PLI
COMHAND ===>
NAME
VV.MM
ACCOUNT
01.00
ACCTI
01.01
01.00
ACCT2
COINS
01.04
COHPX
01.00
COMPY
01.01
DCLS
01.00
01.02
LISTNEW
01.00
HAIN
TESTDIR
01.02
UPDATE
01.00
,'·,'·END,'d,

Figure 11.

---------------------------------------------------CREATED
83/01/09
83/02/11
83/03/09
83/04/24
83/01/21
83/01/14
83/04/23
83/04/23
83/01/09
83/04/23
83/03/26

LAST MODIFIED
83/01/09 17:07
83/04/23 14:52
83/03/09 17:07
83/04/28 16:20
83/01/21 11:08
83/01/16 12:30
83/04/23 15:14
83/05/06 10:00
83/01/09 17:08
83/05/06 09:04
83/04/01 13:08

SIZE
21
199
20
19
44
13
20
17
4
30
13

SCROLL ===> PAGE
INIT
MOD
ID
21
0 HUNTER
193
0 BECKETT
20
0 BECKETT
19
4 JOSLIN
44
0 JOSLIN
13
1 JOSLIN
20
0 LEESB
13
6 LEESB
4
0 KIRK
43
10 LAIDLAW
13
0 COONS

Member List Display

Chapter 3. Libraries and Data Sets

29

BROWSE - ISPFPROJ.HYLIB.LOAD
COMHAND ===>
SCROLL ===> CSR
NA~IE
SIZE
ALIAS-OF AC --------- ATTRIBUTES ---------TTR
ISPF
0003A8 OOOOOC
00 FO
RN RU
ISRBRO
0008D8 00001B
00 FO
RN RU
ISRECN
0009A8 00001B
00 FO
TS
RF RN RU
ISRECNBR
000138 000024
00 FO
RN RU
ISREDIT
000C60 000101
00 FO
RN RU
ISRFOR
001230 00010C
00 FO
TS
RF RN RU
ISRFPR
000F48 000117
00 FO
RN RU
ISRFPT
000278 000201
00 FO
RN RU
ISRJB1
000B40 000208
00 FO
RN RU
ISRJB2
001088 000210
00 FO
RN RU
ISRJOB
000E40 00021A
00 FO
TS
RF RN RU
LNODBAD
0003A8 OOOOOC ???????? ?? FO
RN RU
..'....·.. END ..':..':
Figure 12.

Load Library Nember List Display

/
\

Load Module Libraries

For load libraries, the directory information displayed in a member list
has a different format as shown in Figure 12. The following column
headings are used:
NAME
SIZE
TTR
ALIAS-OF
AC
ATTRIBUTES

- Name of the Member
- Size of the Nember
- The Relative Block Address
The Name of the Member for Which This Member is an Alias
- The Authorization Code
- The Member's Attributes as foflows:
FO - Process only by F Level Linkage Editor
NX - ~ot Executable
OL - Only Loadable
OV - In Overlay Structure
RF - Refreshable
RN - Reenterable
RU - Reusable
SC - Scatter Format
TS - Module to be Tested

Question marks ( ??? ) are placed in the member list of a load module
library for members that have invalid load module directory fields. For
example; member LMODBAD, shown in Figure 12, contains invalid. ALIAS and
Authorization Code information.

~

\4.
30

ISPF/PDF for MVS Program Reference

PARAMETER SPECIFICATION

Several entry panels require specification of the following:

•

Library and data set names

•

Data set password (if applicable)

•

Job statement information (for submitting background jobs).

These items are described in the following paragraphs.
Library and Data Set Names

To specify a member of an ISPF library, you must enter a project name,
group name, type qualifier, and member name. Each of these items may
contain up to eight alphameric characters, the first character of which
must be alphabetic or the special characters '$', '#', or '@'.
PDF panels prompt you for each component of the library identification
as follows:
ISPF LIBRARY:
PROJECT ===>
GROUP
===>
TYPE
===>
ME~IBER

===>

(blank for member selection list)

For convenience, any cataloged data set (sequential or partitioned) with
a 3-level name may be entered in this manner, even if the three
components of the data set name do not actually identify project, group,
and type. For partitioned data sets, if the member name is not
specified, a member list is displayed.
Some panels allow a concatenated sequence of up to four libraries.
example:
ISPF LIBRARY:
PROJECT ===> SAMPLE
GROUP
===> NYOWN
TYPE
===> COBOL
ME~IBER

===>

===>

TEST

===>

MASTER

For

===>

(blank for member selection list)

In this example, three libraries would be concatenated in the following
order:
SAMPLE.MYOWN.COBOL
SAMPLE.TEST.COBOL
SAMPLE.MASTER.COBOL

)

You must ensure that the concatenated libraries have consistent record
formats, logical record lengths, and block sizes.

Chapter 3. Libraries and Data Sets

31

Partitioned and sequential data sets may also be specified using
~tandard TSO syntax, as follows:
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAHE ===>
VOLU~1E SERIAL ===>
(If not cataloged)
Any fully qualified data set name may be entered, and it must be
enclosed within apostrophes. If the apostrophes are omitted, your TSO
user prefix is automatically left-appended to the data set name. For
partitioned data sets, a member name enclosed in parentheses may follow
the data set name. For example:
'SYSl.PROCLIB(ASHHC),
If the member name (and parentheses) are omitted, a member list will be
displayed.
If both a library name and an "other" data set name are specified on the
same panel, the "other" data set name is used. Therefore, to specify a
library, the "other" data set name must be blank.
The volume serial parameter may specify a real DASD volume or a virtual
volume residing on an IBM 3850 Mass Storage System. To access 3850
virtual volumes, you must also have MOUNT authority (s~~ TSO ACCOUNT
command) .

Note:

PDF does not allow the use of multivolume data sets.

Data Set Password
PDF allows you to protect your data sets using as password protection.
Any data set may be protected to permit read-only or read/write access.
More than one password.may be assigned to the same data set. A data set
that is read/write protected, for example, might allow several
authorized users to read it, but only one user to write.
You can specify a data set password in the following manner:
DATA SET PASSWORD ===>

(If password protected)

A nondisplay input field is used so that the password does not appear on
the screen. For entry panels that allow specification of a concatenated
sequence. of libraries, the password applies to all data sets in the
concatenation sequence.
When you replace a longer password with a shorter password, you must
blank out the remaining spaces of the password field.

Note: PDF may be used with either the TSO/VS2 Programming
Control Facility (PCF) or the Resource Access Control Facility
(RACF). PCF and RACF provide extensive facilities for data set
security. With either PCF or RACF, you should not attempt to
32

ISPF /PDF for

~IVS

Program Reference

enter a password on the PDF panels, since both of these facilities
rely on your TSO user id and (logon) password to identify you and
check for proper author~zation.
Job Statement Information

PDF allows you to submit batch jobs for printing and language
processing. Before submitting a batch job, you must supply a job
statement. For this purpose, four lines are provided on each job
submission panel. The first time a job submission panel is displayed,
the job statement information appears as follows:
JOB STATEHENT INFORNATION:
===> Iluser-idA JOB (ACCOUNT), 'NANE'
===>
===>
===>

I I;';
I I;';
11-';

The pre-entered job name consists of your TSO user id with the letter
"A" right-appended. The last character of the job name is automatically
incremented to "B", "C", etc., each time the job statement information
is used. You may change the last character of the job name to a numeric
digit, rather than a letter, in which case the last chafacter is cycled
from 0 to 9, rather than A to Z.
You may overtype the entire job name, if desired, but automatic
incrementing of the last character is suspended unless the job name
starts with your user id.
You must enter the remaining job statement information the first time
you submit a batch job. You can use the lines containing "I I;';" as
continuation lines (by changing the "II;"" to "11"), or to enter other
JCL statements, such as a JOBLIB DD statement. If you don't need these
lines, you may blank them out. Blank lines are>not submitted to the job
stream.
USER PROFILES

PDF stores information on your behalf in your user profile. This allows
PDF to prefill panel input fields with the values that you last entered
on the same (or a similar) panel. In some cases, default values are
provided if you have not specified otherwise.
Information maintained in your user profile includes:
•

Project name, library name(s), and type

•

Job statement information

•

SYSOUT class for printed output

•

Defaults for list/log allocation and processing
Chapter 3. Libraries and Data Sets

33

•

Terminal characteristics and PF key definitions

•

Edit profiles, including mask, tabs, and bounds

•

Current scroll amount (browse, edit, and member lists)

•

Processing options for each of the language processors

•

Data set allocation/information parameters

This information is automatically maintained from one session to
another. As a new user, you will have to enter certain information the
first time it is requested. But from that point on, you simply verify
the information and make any desired changes before proceeding.
Notes:

1.

Seven sets of job statements are retained, one set each for the
foreground print option (excluding SCRIPT/VS), batch option,
hardcopy utility, outlist utility, SCRIPT/VS draft output, SCRIPT/VS
final output, and termination. This allows you to provide different
job statement parameters for each of these functions.

2.

When you replace a longer password with a shorter password, you must
blank out the remAining SpA CAS of thA password field.
/
\

MEMBER LIST COMMANDS

For any of the following PDF options, a member list is displayed if you
specify an ISPF~library or other partitioned data set but supply no
member name:
•

Browse

•

Edit

•

Library Utility

•

Move/Copy Utility

.,

Reset Statistics Utility

•

Convert Menus/Messages Utility

•

Foreground Processing

•

Batch Processing

An example of a member list display is shown in Figure 11 on page 29.

34

ISPF/PDF for MVS Program Reference

'"

Locating Members

You can scroll up and down the member list using the scrolling commands.
In addition, you can enter a LOCATE command in the command/option field
on line 2 of any member list display. The format of the command is:
LOCATE
LOC

member-name

L

This causes a direct scroll to the specified member name (that is, the
entry for the specified name appears as the first line following the
header lines). If the specified name is not found, scrolling is to the
member name which (in the collating sequence) would immediately precede
the specified name.
Single-Selection Member Lists

For the browse, edit, foreground, and batch options, you can select one
member at a time from the list, in either of two ways:

•

Move the cursor down the left side of the screen and enter the
single character "s" in front of the desired member name.
Note: If you enter more than one "S", the topmost member is
selected and the rest are ignored.

)

•

Enter a SELECT command in the command field on line 2 .

The format of the SELECT command is:
SELECT
SEL

member-name

S

This command also allows you to select a member that is not in the list.
For edit, entering the SELECT command with the name of a nonexistent
member creates a new member with that member name.
When you terminate browse or edit, the member list is redisplayed with
an automatic scroll to the member just processed. You can then select
another member or enter the END command again to return to the browse or
edit entry panel.
Note: When the member list is redisplayed following browse or
edit, it does not include new members that may have been created
by you in a recursive invocation of edit, by another user, or, in
split screen mode, on another logical screen. To display an
up-to-date list, return to the browse or edit entry panel, leave
the member name blank again, and press ENTER.

)
Chapter 3. Libraries and Data Sets

35

Multiple-Selection Member Lists

For the utility options, you can select multiple members from the list
by typing a single character: in front of one or more member name(s)
before you press ENTER.

S
p

R
D
B

Select member
utilities)
Print member
Rename member
Delete member
Browse member

(for move/copy, reset statistics, and convert
(for
(for
(for
(for

the
the
the
the

library
library
library
library

utility
utility
utility
utility

only)
only)
only)
only)

When you press ENTER, the selected member(s) are processed and a
confirmation indicator is displayed to the right of the member name.
See the descriptions of the utilities for examples. You may then select
additional members (scrolling to bring them into view, if necessary) or
enter the END command to return to the previous panel.
LOG AND LIST FILES

PDF helps you obtain hardcopy listings of source modules, and also
maintains a log of significant user activities. These items are kept in
data sets called the list file and the log file; ~espectively.
When needed, the two data sets are allocated automatically.
temporary data sets named:

They are

/

user-id.SPFn.LIST
user-id.SPFLOGn.LIST
where "n" is a digit from 0 through 9.
The list file is allocated the first time you request a print function.
The log file is allocated the first time you perform some action that
results in a log message, such as saving edited data or submitting a
batch job. Once allocated, these files remain open throughout your
ISPF/PDF session.
If you have specified a data set prefix that differs from your user id
in your TSO profilei the data set names will begin with your user
prefix, followed by your user id.
The list file is used to accumulate PDF-produced listings and screen
images. The list file accumulates, under user option, a listing of any
source module that is created or modified by the PDF editor. Source
listings and other types of printed output may also be obtained using
the PDF utilities. A screen image may be obtained by entering the PRINT
or PRINT-HI command.
The log file maintains a log of significant user activities, including
ISPF log messages, a record of data sets (and members) that were

36

ISPF/PDF for MVS Program Reference

ar

~

modified via edit or utility options, batch jobs that were submitted,
dialog test trace data, etc.
Appendix B describes the format of the ISPF log and list files.
When you terminate ISPF, you may print the contents of these files. You
may direct the printed output to a system output device via a batch job,
or you may direct it to a local IBM 3284, 3286, 3287, 3288, or 3289
printer. For local printing, the TSO Command Processor "DSPRINT" must
be installed. If the log/list files are printed, they are automatically
deleted following printing, and new log/list files are allocated the
next time you invoke PDF. If you elect not to print the log or list
files, you may delete them, or you may keep them and they will be opened
with a disposition of MOD the next time you invoke PDF.
Notes:

1.

You may avoid allocation of the list file simply by not requesting
any print functions. You may prevent allocation and use of the log
file with the Parms option (option 0.2). See Chapter 4.

2.

If you use the dialog test option, it is recommended that you allow
allocation of the log file.

FOREGROUND AND BATCH OUTPUT LISTINGS

The following additional listing files are allocated as needed for
foreground or batch processing:
prefix.list-id.LIST
prefix.list-id.LINKLIST
prefix.list-id.TERM
prefix.list-id.TESTLIST
where "prefix" is your data set prefix in your TSO profile. The
particular file names used depend on the foreground or batch processing
option chosen.
For batch processing, the output may either be directed to a list file
or printed as part of the batch job. Upon completion of batch
processing: you may browse the list file and then invoke the "hardcopy"
utility option to print it. Using this utility, you indicate whether
the file is to be kept or deleted following printing. PDF does not
delete these files during termination.
For the foreground option, the output listing is directed to a list file
and automatically displayed (for browsing). Upon completion of brow~e,
a selection panel is displayed that allows you to print, keep, or delete
the list file. Again, PDF does not delete this file during termination.

Chapter 3. Libraries and Data Sets

37

OTHER TEMPORARY FILES

PDF allocates temporary control and listing files, as needed, for its
own internal use. They are assigned the names:
user-id.SPFTEMPn.CNTL
user-id.SPFTEMPn.LIST
user-id.ISROOOz.BACKUP
user-id.SPFxxx.OUTLIST
where "n" is the number 1 to 4, depending on 'vhich logical screen is
active, "zit is a number from 1 to 8, controlled by the edit recovery
table (ISREDRT) and the number of concurrent edit invocations active,
and "xxx" is a PDF-generated number.
If you have specified a data set prefix different from the user id in
your TSO profile, the data set names start with your data set prefix,
followed by your user id.
These files are automatically deleted during normal ISPF termination.
You are usually not aware of their existence.

38

ISPF/PDF for MVS Program Reference

ISPF Parms (Option 0)
CHAPTER 4. ISPF PARMS (OPTION 0)

The Parms option allows you to display and change selected ISPF
parameters at any time during the ISPF/PDF session. Changes remain in
effect until you change the parameters again, and are saved from session
to session. The parameter selection panel is shown in Figure 13.

-------------------------OPTION ===>
1
2
3
4
5

~

)

TER~lINAL

LOG/LIST
PF KEYS
DISPLAY
LIST

-

Specify
Specify
Specify
Specify
Specify

ISPF PARAHETER OPTIONS

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

terminal characteristics
ISPF log and list defaults
PF keys for 3278 terminal with 24 PF keys
screen display characteristics
list data set characteristics

I

Figure 13.

Parameter Selection Panel

)
Chapter

4. ISPF Parms (Option 0)

39

SPECIFY TERMINAL CHARACTERISTICS (OPTION 0.1)

When you select this option, a panel is displayed that allows you to
specify the terminal type, number of program function (PF) keys, the
default pad character for panel input fields, the mode of operation for
a 3278 .Model 5 or 3290, and the command stacking delimiter. The panel,
with the initial user defaults, is shown in Figure 14. (The allowable
alternatives for these defaults are indicated on the display.)

----------------------COMMAND ===>

TERMINAL CHARACTERISTICS

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

TERMINAL TYPE

===>

3277

(3277
(3277A
(3278
(3278A
(3278T

NUMBER OF PF KEYS

===>

12

(12 or 24)

INPUT FIELD PAD

===>

N

(N - Nulls) (B - Blanks) (Special Charactermust not be the same as COMMAND DELIMITER)

COMMAND DELIMITER

===>

SCREEN FORMAT
===> DATA
(3278 Model 5 only)

(3290 only)
Figure 14.

-

3275/3277 terminal)
3275/3277 with APL keyboard)
3276/3278/3279/3290 terminal)
3276/3278/3279/3290 APL keyboard)
3276/3278/3279/3290 TEXT keyboard)

(Special character for command stacking)
(Select
(DATA (STD (MAX -

one of
Format
Always
Always

/

(

the following:)
based on data width)
format 24 lines by 80 chars)
format 27 lines by 132 chars)

(PART - Format using hardware partitions.
Effective the next ISPF invocation.)

Terminal Characteristics Panel

After you have reviewed these parameters, and changed them as necessary,
ent~r the END command to return to the previous panel.
Specification of terminal type allows ISPF to recognize valid
(displayable) characters. A 3278 terminal can display six more
chara~ters than a 3277.
If you have a 3279 terminal"specify 3278 as
the terminal type, since a 3279 terminal has the same character set as a
3278.
See Appendix C for the APL and TEXT character set descriptions.

(
40

ISPF/PDF for MVS Program Reference

Specify Terminal Characteristics (Option 0.1)
Notes:

1.

One or more of the following installation-dependent options for
terminal type may also be included on this panel:
3278CF - for 3278 Canadian French terminals
3277KN - for 3277 Katakana terminals
3278KN - for 3278 Katakana terminals
A 5550 3270 Kanji Emulation Version 3 terminal has the same
character set as a 3278 Katakana terminal. If you are using a 5550
3270 Kanji Emulation Version 3 terminal, specify 3278KN as the
terminal type.

2.

To avoid problems in finding and changing text strings on a Kata.ka.na
terminal while caps mode is off, when the data was entered using
caps mode on, set the terminal type to 3278KN.

Specification of the number of PF keys controls the particular set of PF
key definitions currently in use, and also affects the panel displayed
by option 0.3.
In the following cases, ISPF automatically senses the terminal type and
number of PF keys:
11\

•

If the screen size is greater than 24 lines (determined when the
user logs on), ISPF sets the terminal type to 3278.

•

If you press a PF key higher than 12, ISPF sets the terminal type to
3278 and the number of PFkeys to 24.

I

/

ISPF cannot sense the terminal type or number of PF keys in the
following cases:
•

If you have switched between a 3277 and 3278 Model 2 (both 24-line
terminals) .

•

If you have switched from a terminal with 24 PF keys to a terminal
with 12 PF keys.

In these cases, you must inform ISPF of the terminal type and number of
PF keys using option 0.1 or 0.3. Otherwise, an incorrect character set
or incorrect PF key definitions will be used (see option 0.3).
Specification of a pad character controls the initial padding of panel
input fields (including selection panels) but not the data portion of an
edit display. Within edit, null or blank padding is c6ntrolled with
edit commands. The pad character specified may be a B (blank), N
(null), or any special (non-alphameric) character. The character you
choose for the command stacking delimiter must not be the same as the
character that you have chosen for input field padding.
Specification of screen format applies to 3278 Model 5 and 3290
terminals only; it is ignored for other types of terminals. If you
Chapter·4. ISPF Parms (Option 0)

41

specify DATA, ISPF automatically uses the larger "default" mode
characters (24 lines by 80 characters) or the smaller "native" mode
characters (27 lines by 132 characters), depending on the width of the
data to be displayed. If you specify STD or MAX, the mode is not
switched. For a 3290 terminal, you can specify PART to use the maximum
available screen size. The effect of PART is as follows: If the 3290
is configured to permit partitions, ISPF formats the screen in one of
four ways, depending on the 3290 configuration:
•
•
•
•

31
62
31
62

rows
rows
rows
rows

by
by
by
by

80 columns
80 columns
160 columns
160 columns

In addition, the SPLITV command is enabled when the 3290 is configured
to permit hardware partitions. If the 3290 is not configured to permit
hardware partitions, the default mode depends on the definition of the
terminal in your system.

Note:

The SPLITV function is not active if the data being displayed on
a screen is more than 80 characters wide.

You can stack commands on the command line of any panel by separating
them with a delimiter. The default delimiter, the semicolon (;), may be
changed using this opLioIl. Stacking allows you to enter, for example:
===> }OIND DEPT;HEX ON

which finds the characters DEPT and then switches to hex mode.
The character you choose for the command stacking delimiter must not be
the same as the character that you have chosen for input field padding.

Note: The browse and edit FIND and CHANGE commands will not work
with a search argument that contains the command delimiter, even
if string delimiters are used.

42

ISPF/PDF for MVS Program Reference

'\

Specify Log and List Defaults (Option 0.2)
SPECIFY LOG AND LIST DEFAULTS (OPTION 0.2)

When you select this option, a panel (Figure 15) is displayed that
allows you to specify default processing for log and list files, lines
per page, and allocation parameters. These entries will be used when
you terminate ISPF using primary option X or the RETURN command.

-------.'----------------COHHAND ===>

LOG AND LIST DEFAULTS

LOG DATA SET DEFAULT OPTIONS

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

LIST DATA SET DEFAULT OPTIONS

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

-------------------------.---

Process option
SYSOUT class
Local printer ID
Lines per page
Primary pages
Secondary pages

Process option
SYSOUT class
Local printer ID
Lines per page
Primary pages
Secondary pages

===>
===>
===>
===>
===>
===>

PD
A
60
10
10

VALID PROCESS OPTIONS:
PD - Print data set and delete

===>
===>
===>
===>
===>
===>

PD
A
60
100
200

K - Keep data set (without printing)
D - Delete data set (without printing)

~
I

/

JOB STATEHENT INFORHATION:
(Required for system printer)
===> //HOSTETLA JOB (U907,B945), 'HOSTETLER RS' ,NOTIFY=HOSTETL
===>
=::;;=>
===>
Figure 15.

Log and List Defaults Panel

The ini·tial defaults are:
Log File

SYSOUT Class
Lines per Page
Primary Pages
Secondary Pages

==::::;>
===>
===>
===>

A
60
10
10

List File

===>
===>
===>
==>

A
60
100
200

No defaults are supplied for the other paramet&rs on this panel.

Chapter 4. ISPF Parms (Option 0)

43

Normal values for lines per page are:
60 - for printing 6 lines per inch
80 - for printing 8 lines per inch
Primary/secondary allocation parameters are specified in terms of the
anticipated number of pages of printout. These values are automatically
converted by ISPF to the appropriate number of blocks prior to
allocating space for the log and list files.
If you modify the primary/secondary allocation parameters after the
files have been allocated, the new values take effect the next time you
enter ISPF. (The list file is allocated the first time you request a
print function. The log file is allocated the first time you perform
some action that results in a log message, such as saving edited data or
submitting a batch job.)
For the log file, you may specify a primary allocation of 0 (zero) to
prevent allocation and generation of the log. You can avoid allocating
the list file by simply not requesting any print functions.

Notes:
1.

If the processing option for the log file is Keep when PDF is
terminated, the log file will be nr~n~d with a disposition of 'MOD'
the next time PDF is invoked.

2.

If you change the defaults to prevent allocation of the log file,
and the log is already allocated, you must delete the log file when
you terminate ISPF to stop generating the log.

3.

If you use the dialog test option, it is recommended that you not
prevent allocation of the log file.

If you request default processing options for the log and list files,
the following rules apply:
•

If you specify PRINT, you must also specify SYSOUT class and job
statement information. (If you specify option PD for both log and
list, you may specify different SYSOUT classes but only one job is
submitted for printing both files.)

•

If you specify routing to a local printer, you must also specify a
printer id and leave the SYSOUT field blank.

If you do not observe these rules, or if you specify no default
processing options, primary option X or the RETURN command causes the
termination panel to be displayed.
After you review or change the parameters on this panel, enter the END
command to return to the previous panel.

44

ISPF/PDF for MVS Program Reference

(

Specify Program Function Keys (Option 0.3)
SPECIFY PROGRAM FUNCTION KEYS (OPTION 0.3)

The PF key definition panel allows you to assign PF keys to ISPF
commands. You may assign PF keys to system commands (such as HELP or
END), to commands that are meaningful within a particular function or
environment (such as the edit FIND and CHANGE commands), and to line
commands (such as edit or dialog test I or D commands).
When you enter the KEYS command or select option 3 from the ISPF Parms
panel, the panel shown in Figure 16 is displayed.
The PF key definitions shown in the figure are the default definitions
distributed with PDF.

---------------------------COHHAND ===>
NU~1BER

~
I

~/

PF1
PF2
PF3
PF4
PF5
PF6
PF7
PF8
PF9
PFI0
PF11
PF12

OF PF KEYS

===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>

===>

12

PF KEY DEFINITION

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

TERHINAL TYPE

===>

3278

HELP
SPLIT
END
RETURN
RFIND
RCHANGE
UP
DOWN
SWAP
LEFT
RIGHT
CURSOR

INSTRUCTIONS:
Verify number of PF keys and terminal type before proceeding.
Press ENTER key to process changes.
Enter END command to process changes and exit.

Figure 16.

PF Key Definition Panel (12 PF Keys)

Before you change your PF key assignments, you should verify- the
terminal type and the number of PF keys (12 or 24). The terminal type
must be one of the following:

)

3277, 3277A, or 3277KN,
3278, 3278A, 3278T, 3278CF, or 3278KN

Chapter 4. ISPF Parms (Option 0)

45

I

The panel shown in Figure 16 is the panel that is displayed for
terminals with 12 PF keys. For terminals with 24 PF keys, the first
panel displayed by the KEYS command or by option 0.3 shows the "primary"
keys (PFI3-PF24). When you press the ENTER key, a panel is displayed
showing the "alternate" keys (PFI-PFI2). You can flip-flop between the
two panels by continuing to press ENTER. See Figure 17.

i

\

You can define or change a PF key function simply by equating the key to
a command. For example:
PF9
PF12

===>
===>

CHANGE ALL ABC XYZ
PRINT

In the example, PF9 has been equated to an edit command, and PF12 has
been equated to the system-defined PRINT command.
If you enter a blank for any PF key definition, the key is restored to
its PDF default. The functions of the default PF key commands are
discussed under "Program Function Keys."
When a PF key definition begins with a colon, it indicates a line
command. The colon is stripped off and the command to which the key is
equated is inserted in the first input field in the line at which the
cursor is currently positioned. For example:
PFI0
PFll

===>
===>

:TS
:TF

In this example, PF keys 10 and 11 have been equated to the edit text
split (TS) and text flow (TF) line commands, respectively.
When a PF key definition begins with a greater-than sign, the command is
assumed to be an edit or browse primary command, but not a system
command. This is provided for compatibility with previous SPF products;
the greater-than sign is no longer required.

46

ISPF/PDF for MVS Program Reference

(

\"

Specify Program Function Keys (Option 0.3)

-------------------- PF KEY DEFINITION - PRIMARY KEYS ------------------------COMMAND ===>
NUNBER OF PF KEYS
PF13
PF14
PF15
PF16
PF17
PF18
PF19
PF20
PF21
PF22
PF23
PF24

===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>

===>

24

TER~lI NAL

TYPE

===>

3278

HELP
SPLIT
END
RETURN
RFIND
RCHANGE
UP
DOWN
SWAP
LEFT
RIGHT
CURSOR

INSTRUCTIONS:
Verify number of PF keys and terminal type before proceeding.
Press ENTER key to process changes and display alternate keys.
Enter END command to process changes and exit.
~I

V

Figure 17 (Part 1 of 2).

PF Key Definition Panels (24 PF Keys)

Chapter 4. ISPF Parms (Option 0)

47

------------------ PF KEY DEFINITION - ALTERNATE KEYS ------------------------CONHAND ===>
NOTE: The definitions below apply only to terminals with 24 PF keys.
PFl
PF2
PF3
PF4
PF5
PF6
PF7
PF8
PF9
PFIO
PFll
PF12

===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>

HELP
SPLIT
END
RETURN
RFIND
RCHANGE
UP
DOWN
SWAP
LEFT
RIGHT
CURSOR

INSTRUCTIONS:
Press ENTER key to process changes and display primary keys.
Enter END command to process changes and exit.

Figure 17 (Part 2 of 2).

48

PF Key Definition Panels (24 PF Keys)

ISPFjPDF for MVS Program Reference

Specify Screen Display Characteristics (Option 0.4)
SPECIFY SCREEN DISPLAY CHARACTERISTICS (OPTION 0.4)

When you select this option, a panel is displayed (Figure 18) that
allows you to specify PLACEMENT=ASIS or PLACEMENT=BOTTOM for the command
line and long message line.
A specification of ASIS causes the screen to be displayed as specified
in the panel definitions for the various panels displayed during the
session. A specification of BOTTOM causes command and long message
lines to be displayed at the bottom of the logical screen for each
display during the ISPF/PDF session. Since the command lines on some of
your panels may not be moved to the bottom, you may want to keep the
command line placement for existing dialogs set to ASIS. For additional
information about restrictions on the use of PLACEMENT=BOTTOM, refer to
ISPF for MVS Dialog Management Services. When BOTTOM is in effect:

~I

•

The command line is moved to the last line of the logical screen.

•

Each line that followed the command line is shifted

•

The long message overlays the next to the last line of the logical
screen (the line above the new command line location).

-----------------------COMMAND ===>

DISPLAY

CHARACTERISTICS

~

one line.

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

/

COMMAND LINE PLACEMENT ===> ASIS

(ASIS

- Display as shown
in panel definition.)

(BOTTOM - Display as the last
line on the screen or
as the last line above
the split line.)

Figure 18.

Screen Display Characteristics

)
Chapter 4. ISPF Parms (Option 0)

49

SPECIFY LIST DATA SET CHARACTERISTICS (OPTION 0.5)
The Specify List Data Characteristics option (option 0.5) allows you to
specify the characteristics of the records to be contained in the list
data set when it is allocated.
When you specify this option, a panel (Figure 19) is displayed that
allows you to specify the record format, the logical record length, and
the line length to be printed. When the characteristics are reset,
their new values take effect at once unless the list data set has
already been allocated. In that case, the new values are used in the
next ISPF session. These values are saved in your user profile, which
ISPF automatically builds and maintains across sessions.

-----------------------CO~1}1AND

===>

RECORD FaRHAT
LOGICAL RECORD LENGTH
LINE LENGTH

LIST DATA SET CHARACTERISTICS

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

===>
===>
===>

(

\

Figure 19.

List Data Set Characteristics Panel

The record format specifies the format and characteristics of the
records in the list data set. The allowable record formats are:
FBA

50

fixed-length records that contain ANSI-defined printer control
characters.

ISPF/PDF for MVS Program Reference

Specify List Data Set Characteristics (Option 0.5)

VBA

variable-length records that contain ANSI-defined printer control
characters.

The default setting for the record format for the list data set is FBA.
The logical record length specifies the length, in bytes, of
fixed-length records or the maximum length allowed for variable-length
records. The default value for the logical record length for the list
data set is 121. This value represents one ANSI-defined control
character and 120 bytes of data to be printed.
The line length denotes the length of the logical line to be printed.
If the specified line length is greater than that of the logical record,
of the list data set, then the data is truncated. The range of
allowable lengths is from 80 bytes to 160 bytes. The default value for
the line length for the list data set is 120.
The information supplied by the parameters allows for the printing of
panels \vhose line lengths would not otherwise be supported by the
available printing facilities.
For example:
1.

A panel of 160 bytes in width is to be printed, but printing
capabilities allow only 132 bytes.
The following should be specified:
line length - 130
LRECL
- 132 (allows for two ANSI-defined control characters)
RECFM
- FBA or VBA
The first page of output would contain the first 130 bytes of the
panel, and the second page would contain the last 30 bytes. This
technique is referred to as the "cut and paste" method of printing.

2.

A panel 132 bytes in width is to be printed; line length is
supported by printing facilities.
The following should be specified:
line length - 132
LRECL
- 133 (allows for one ANSI-defined control character)
RECFM
- FBA or VBA
The entire panel would be printed out on one page of output.

3.

A panel of 80 bytes in width is to be printed; default values for
the LIST parameters are to be used.
The entire panel would be printed out on one page of output as in
the previous release of ISPF.

Chapter 4. ISPF Parms (Option 0)

51

52

ISPF/PDF for MVS Program Reference

Browse (Option 1)

CHAPTER 5. BROWSE (OPTION 1)

The browse option allows you to display source data and listings stored
in ISPF libraries or other partitioned or sequential data sets with the
following characteristics:
Record Format (RECFM):
•
•
•

Fixed, variable (non-spanned), or undefined
Blocked or unblocked
With or without printer control characters

Logical Record Length (LRECL):

Up to 32,766 characters

When you select browse, a panel (Figure 20) is displayed to. allow you to
specify an ISPF library or other data set, volume serial (if the data
set is not cataloged), data set password (if the data set is protected),
browse mode (mixed or conventional), and format name (if the data set
you specify is a formatted data set).

-------------------------CONMAND ===>
ISPF LIBRARY:
PROJECT =>
GROUP
=>
TYPE
=>
ME~1BER

BROWSE - ENTRY PANEL

==>

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

==>

==>

(Blank for member selection list)

=>

OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAt-IE =--=>
VOLU~IE SERIAL =>
( I f not ca ta loged)
DATA SET PASSWORD

==>

(If password protected)

MIXED

===> YES

(Specify YES or NO)

FOR~IAT

)

~1ODE

NAME

Figure 20.

=>

Browse - Entry Panel

ChapterS. Browse (Option 1)

53

You can specify a concatenated sequence of ISPF libraries.
For libraries and other partitioned data sets, you can supply the name
of the member to be browsed, or leave the member name blank to request a
member list from which a member can be selected.
If you request a member list, it includes an indication of the library
where the member was found (library 1, 2, 3, or 4).
You can browse unformatted mixed data which contains both EBCDIC
(one-byte) characters and double-byte character set (DBCS, or two-byte)
characters. To do this, you must specify mixed mode. A new field is
provided on the BROWSE entry panel for specifying the operation mode:
~lIXED

HODE

===> YES

(Specify YES or NO)

where YES indicates mixed mode BROWSE, and
NO indicates conventional BROWSE.
If your terminal does not support DBCS,the operation mode is ignored.
DBCS strings are enclosed with shift-out (X'OE') and shift-in (X'OF')
characters in unformatted mixed data. The shift-out character (referred
to as 'SO' hereafter) precedes the DBCS character string, and the
shift-in character (referred to as 'SI' hereafter) follows the string.
If the browse line contains invalid mixed data, the line is assumed to
be EBCDIC only. Examples of invalid mixed data include: unpaired SO
and SI characters, invalid DBCS characters between SO and SI characters,
or an odd number of bytes between SO and SI characters.
If you invoke BROWSE from the Library Utility (Option 3.1) or the Data
Set List Utility (Option 3.4), mixed mode is the assumed operation mode.
If you wish to browse DBCS data as EBCDIC data, you must browse in
non-mixed mode. You can do this by operating from a terminal which does
not support DBCS, or by specifying "NO" for the mixed mode field on the
BROWSE entry panel. In non-mixed mode, SO and SI characters are not
treated as special characters; instead, they are treated as
nondisplayable characters. Thus, you can browse the data in the
conventional way.
You can browse DBCS data in hexadecimal format, just as you would EBCDIC
data. For information on specifying a hexadecimal display, see
"Hexadecimal Display (HEX Command)" on page 95.
You can browse a sequential data set containing records that consist of
subfields for which locations and lengths are fixed throughout the data
set. This type of data set is called a formatted data set. The
formatted data browse is particularly useful when a subfield contains
DBCS data without SO and SI characters. You can browse a formatted data
set by specifying a format name in the BROWSE entry panel.

54

ISPF/PDF for MVS Program Reference

(,
.

Browse (Option 1)

A new field is provided in the Browse entry panel for specifying the
format to be used in browsing a formatted data set:
FORMAT NAME

===>

The format name, like a member name, can consist of up to eight
alphameric characters, the first of which must be alphabetic.
A format definition can include EBCDIC fields, DBCS fields, and mixed
fields. If the specified format includes a mixed field definition, and
you specify conventional browse (MIXED = NO) as the operation mode, the
operation mode is ignored.
The Format Definition utility is provided to support the IBM 5550
terminal using DBCS. For information on defining formats for formatted
data sets, see "Format Definition Utility (Option 3.11)" on page 222.
When formatted data is displayed, an attribute character that does not
reside in the data set and is not stored back to the data set, precedes
each field. Therefore, the column position on the display is different
from the column position in the data set.
The allowable maximum length is decreased two bytes per field definition
from the standard browse allowable maximum length.
The browse data display is shown in Figure 21. Any nondisp1ayable
characters in the data are changed on the display to either a period or
a character that you have specified. Using the DISPLAY command, you can
specify whether printer carriage control characters are to be treated as
part of the data, and thus displayed.
During browse, 4-way scrolling is available through the scrolling
commands. You can also use the FIND and LOCATE commands to scroll to a
particular character string, line number, or symbolic label.

)
Chapter 5. Browse (Option 1)

55

(
BROWSE - SPFDEMO.XXX.COBOL(CBLMAIN) - 01.01 ---------- LINE 000000 COL 001 080
COMMAND ===>
SCROLL ===> PAGE
000100
000200
000300
000400
000500
000600
000700
000800
000900
0010'00
001100
001200
001300
001400
001500
001600
001700
001800
001900
002000
002100

IDENTIFICATION DIVISION.
PROGRAM-ID. 'F20D1000'.
DATE-COMPILED. OCT. 20, 1983
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-370.
OBJECT-COMPUTER. IB~1-370.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OLD-COMREC ASSIGN TO DA-S-DD1.
SELECT D1-REPORTS ASSIGN TO UR-S-D10UT.
SELECT OPTION-CARD-FILE ASSIGN TO UR-S-SYSIN.
DATA DIVISION.
FILE SECTION.
FD OLD-COMREC
LABEL RECORD IS STANDARD
RECORDING MODE IS F
BLOCK CONTAINS 0 RECORDS
DATA RECORD IS COMREC1.
01 COMREC1.
02 DUMMY
PICTURE X(520).

Figure 21.

56

Browse - Data Display

ISPF/PDF for MVS Program Reference

/

Browse (Option 1)

Browse provides seven functions (described in the following sections)
each of which is controlled by a command that may be entered in the
command input field on line 2:
Locating Lines (LOCATE)
Identifying Columns (COLS)
Resetting Columns Line (RESET)
Finding Character Strings (FIND)
Controlling the Display (DISPLAY)
Controlling Hexadecimal Display (HEX)
Recursive Browsing (BROWSE)
To terminate browse, enter the END command, which causes a return to the
previous display (either the member list or the browse entry panel).
When the return is to the member list, the member just browsed appears
at the top of the list. You may select another member from the list or
enter the END command again to return to the browse entry panel.
When the entry panel is displayed, you may select another data set or
member, or enter the END command to return to the primary option menu.
LOCATING LINES

Use the LOCATE command to bring a particular line to the top of the
display. The line may be specified either by relative line number or by
a previously defined label.
During browse, the current position of the screen window is indicated by
the line/column numbers in the upper right corner of the screen. The
line number refers to the first line of data currently being displayed
(i.e., the first line after the two header lines). It indicates the
relative position of that line in the data, and is unrelated to any
sequence numbers that may be contained within the data. The "TOP OF
DATA" message is treated as relative line zero.
The LOCATE command has the following format:
LOCATE
LOC

line-number
label-

L

You must enter either a line number or a label as an operand.
The line-number operand is a numeric value of up to eight digits
(leading zeros need not be typed), which refers to the line number
relative to the beginning of the data. The line number is displayed in
the upper right corner.
You can define a label by scrolling to any desired line and entering a
label (on the command line) in the form:
.aaaaaaa

Chapter 5. Browse (Option 1)

57

The label is a period followed by up to seven displayable characters,
except the comma and the space. It is treated as an internal symbol and
equated to the top line on the screen.

~

Note: The period is required when defining a label. It is
optional when referring to a label in a LOCATE command unless the
label begins with a numeric character, in which case the period is
required to distinguish the label from a line number.
Once a label has been defined in this manner, it may be used as an
operand in a subsequent LOCATE command. The latest assignment of a
label overrides any previous assignments. Several labels may be
assigned to the same line. Labels are not retained when you leave the
browse option.
IDENTIFYING COLUMNS

The COLUMNS and RESET commands are used to provide a temporary
indication of where columns occur on the panel.
The COLUMNS command displays a column identification line on the first
line of the data area. The RESET command terminates display of the
column identification line. The commands have the following formats:
COLUMNS
COLS
COL
RESET
RES
Neither command uses any parameters.
An example of the column identification line is shown in Figure 22. The
digits on the identification line indicate the "tens" positions, e.g.,
"1" indicates column 10, "2" indicates column 20, etc. The plus signs
(+) indicate the "fives" positions.

58

ISPF/PDF for MVS Program Reference

/

\,

Browse (Option 1)

~

~

BROWSE - SPFDEMO.XXX.COBOL(CBLMAIN) - 01.01 ----------- LINE 000022 COL 001 080
COMMAND ===>
SCROLL ===> PAGE
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
002200 FD D1-REPORTS
002300
LABEL RECORD IS OMITTED
002400
RECORDING MODE IS F
002500
BLOCK CONTAINS 133 CHARACTERS
002600
DATA RECORD IS D1-LINE.
002700 01 D1-LINE.
002800
02 COLUMNS
PICTURE X(133).
002900 FD OPTION-CARD-FILE
003000
LABEL RECORD IS OMITTED
003100
BLOCK CONTAINS 1 RECORDS
RECORDING MODE IS F
003200
003300
DATA RECORD IS O-C.
003400 01 O-C.
PICTURE X(80) .
02 DUMMY
00}500
003600 WORKING-STORAGE SECTION.
003700
77 OP-SUB
PICTURE S99 COMPUTATIONAL VALUE O.
003800
PICTURE X VALUE 'I' .
77 PREV-DEVICE-TYPE-CODE
003900
77 PREV-ACTV-CODE
PICTURE 9 VALUE O.
004000
77 PREV-PROB-CODE
PICTURE 9 VALUE O.
004100
77 C-SWITCH
PICTURE X VALUE '0' .
004200
77 PREV-SYSTEM-CODE PICTURE X VALUE SPACE.
I

Figure 22.

Browse - Column Identification Line

FINDING CHARACTER STRINGS

To find one or more occurrences of a specified character string, use the
FIND command. The FIND command allows special forms of character
strings and several optional parameters to control the:

•

Starting point and direction of search

•

Special conditions to determine character string "match"

•

Column limitations when searching

The command summary, which follows, describes the basic form of FIND
that you will use most frequently. The full FIND command (as used with
browse) is shown later in this section and is discussed in Chapter 6.
The basic format for FIND is:

)

FIND

string

[ALL]

F

Chapter 5. Browse (Option 1)

59

The operands may be separated by blanks or commas. The string operand
is the series of characters you wish to find. The ALL operand is
optional, and may precede or follow the string.
Generally, you can type the string without delimiters. For example,
enter:
FIND

XYZ

to find the next occurrence of XYZ.
You may delimit strings with either apostrophes (') or quotation marks
("). Use delimiters if a string contains imbedded blanks or commas, or
if a string is the same as a command keyword. For example, enter:
FIND

'everyone'

to find the next occurrence of "everyone" (which contains a blank).

Note:

You cannot use FIND to locate a string containing the
command delimiter character, even by using string delimiters.

You can define the FIND string to be an EBCDIC, DBCS, or mixed string.
If you delimit a DBCS string with SO and SI characters, the SO and SI
characters are not used as part of the string. If you spe~l[y d mixed
string that contains no EBCDIC character, the string is treated as a
DBCS string; that is, the SO and SI characters are not used as part of
the string.

(
\

If you omit the ALL operand, the FIND command searches for the next
occurrence of the string, starting at the current cursor location.
(If
the cursor is not in the data area of the screen, scanning starts at the
beginning of the first line that is currently being displayed.)
Scrolling is performed, if necessary, to bring the string into view.
The cursor is positioned under the string and a verification message is
displayed in the upper right corner of the screen. Use the RFIND PF key
to find each successive occurrence of the string.
If you specify a one-byte hexadecimal string as the FIND string and the
string is found at the second byte of a DBCS character, hardware sets
the cursor to the first byte of the character. If you then request
RFIND, the same data will be found again. To find the next occurrence
of the string, you must move the cursor to the next character position
before requesting RFIND.
If you are browsing a formatted data set, and a FIND string is found,
the field containing the found string is highlighted.

Note:

If you type RFIND on the command line (rather than using
the RFIND PF key), you must position the cursor to the desired
starting location before pressing the ENTER key.

If the string is not found between the current cursor location and the
end of data, a "BOTTOM OF DATA REACHED" message is displayed and the
60

ISPF/PDF for MVS Program Reference

f
~~

Browse (Option 1)

audible alarm (if installed) is sounded. Then use the RFIND PF key to
wrap to the top of data and continue searching. If the string is not
found anywhere ,in the data, a "NO string FOUND" message is displayed.
If you type the ALL operand, the FIND command searches for all
occurrences of the string, starting at the top of the data, and
positions the cursor under the first occurrence. The verification
message indicates the number of occurrences found. Use the RFIND PF key
to locate the other occurrences.
The complete format for FIND, showing all parameters used with browse,
is:
FIND

string

F

[NEXT ]
[ALL ]
[FIRST]
[LAST ]
[PREV ]

[ CHARS ] [ co 1-1
[PREFIX]
[SUFFIX]
[WORD ]

rt:o 1-2] ]

The FIND command, as used with browse, has the same parameters as the
FIND command used with edit. (The edit FIND command has additional
parameters that need not concern the browse user.) The full description
of the FIND command is given in the section entitled "Finding, Changing,
and Excluding Data" on page 106.
CONTROLLING THE DISPLAY (DISPLAY COMMAND)

The DISPLAY command allows you to display carriage control characters
and nondisplayable characters.
The DISPLAY command has the following format:
DISPLAY [char]
DISPL

[CC ]
[NOCC]

The operands are optional and can be entered in either order. If only
one operand is entered, the other operand retains its current value.

)

char

is the character to be used to represent nondisplayable
characters on the display. It may be a single character, or a
single character enclosed in quotes C'I) or apostrophes (I). A
blank must be enclosed in quotes or apostrophes.

CC

indicates that carriage control characters are to be displayed
and considered part of the data.

NOCC

indicates that carriage control characters are not to be
displayed and are not to be considered part of the data.

Both operands are stored in your user profile, and are in effect
whenever you are using browse. You need to reenter the DISPLAY command
only if you want to change one of the operands.

Chapter 5. Browse (Option 1)

61

The initial settings for display mode are period (.) and NOCC.
The carriage control character status has no effect if the data that you
are browsing has no carriage control characters.
The following examples show how to enter the DISPLAY command:
disp1 ""
- to display nondisp1ayab1e characters as blanks.
display I
- to display nondisplayable characters as "I"s.
DISPLAY NOCC - to suppress the display of carriage control characters.
DISPLAYING DATA IN HEXADECIMAL FORMAT

The display of data in hexadecimal notation is controlled by the HEX
command. When browse is operating in hex mode, three lines are
displayed for each source line. The first line shows the data in
standard character form. The next two lines show the same data in
hexadecimal representation (Figure 23). A separator line is displayed
between the representations for ease in reading.

Note: You may also use the FIND command to find invalid
characters or any specific hex character, regardless of the
setting of hex mode. See the discussion of picture strings and
hAX strinQ"s llndAr thA FTND command in "FindinQ"_ ChanQ"inQ". and
Ex~ludi~g
SCROLL ==> PAGE
:H3.HEXADECIMAL DISPLAY
7CF4CCECCCCCDCD4CCEDDCE
A83B8571453941304927318
WHEN BROWSE IS OPERATING IN HEX MODE, THREE LINES ARE DISPLAYED FOR EACH
ECCD4CDDEEC4CE4DDCDCECDC4CD4CCE4DDCC64ECDCC4DCDCE4CDC4CCEDDCECC4CDD4CCCC
685502966250920675913957095085704645B03895503955201950492731854066905138
SOURCE LINE. THE FIRST LINE SHOWS THE DATA IN STANDARD CHARACTER FORM.
EDEDCC4DCDC444ECC4CCDEE4DCDC4ECDEE4ECC4CCEC4CD4EECDCCDC4CCCDCCECD4CDDD4
26493503955B0038506992303955028662038504131095023154194038191335906694B
THE FOLLOWING TWO LINES SHOW THE SAME DATA IN HEXADECIMAL
ECC4CDDDDECDC4EED4DCDCE4ECDE4ECC4ECDC4CCEC4CD4CCECCCCCDCD
385066336695703660395520286603850214504131095085714539413
REPRESENTATION. SEE :FIGREF REFID='BHEX' ..
DCDDCECDECECDD444ECC47CCCDCC4DCCCC77CCCE744
95795255313965B002550A697956095694ED2857DBB

Figure 23.

Browse - Hexadecimal Display, Vertical

RECURSIVE BROWSING (BROWSE COMMAND)

The BROWSE command allows you to browse another member of the same data
set, or browse any other data set, without leaving your current browse
session.
The BROWSE command has the following format:
BROWSE

[member]

member

is a member of the ISPF library or another partitioned data set
that you are currently browsing.
If the member name is not entered, a panel is displayed. On this panel
you can specify any data set or member that can be browsed.
The current browse session is resumed when the nested browse
session is terminated.

Note:
111
) ,I',

Chapter 5. Browse (Option 1)

63

/
\

\,

(
64

ISPF/PDF for MVSl"rogram Reference

Edit (Option 2)
CHAPTER 6. EDIT (OPTION 2)

The edit option allows you to create, display, and modify source data
(program code, test data, documentation, etc.) stored in ISPF libraries
or other partitioned or sequential data sets with the following
characteristics:
Record Format (RECFM):
•
•
•

Fixed or variable (non-spanned)
Blocked or unblocked
With or without printer control characters

Logical Record Length (LRECL):

•
•

From 10 to 255, inclusive, for fixed-length records
From 14 to 259, inclusive, for variable-length records

This chapter describes how you invoke and terminate edit, what functions
you can perform with edit, and what commands you use to perform these
functions.
When using the edit option, keep the following in mind:
•

The editor truncates variable-length lines by removing blanks at the
end of each line during a save.

•

Invalid (nondisplayable) characters are replaced on the screen (but
not in the data) with attribute bytes, which are displayed as blanks
and may not be overtyped. You may display and edit invalid
characters by entering hex mode (see the description of the HEX
command) or by using the FIND and CHANGE commands.

•

If the record length of an EDIT file is greater than 72 bytes, a
Double-Byte Character Set (DBCS, or two-byte) character could go
over the display boundary. In this case, PDF attempts to display
the other characters by replacing an unpaired DBCS character byte
with a shift-out (X'OE', referred to as 'SO' hereafter) character or
a shift-in (X'OF', referred to as 'SI' hereafter) character. If the
replaced SO or SI character might have been destroyed, the line
number of the line is highlighted. If you change the position of
the SO and SI characters on the display, or delete the SO and SI
characters entirely, the DBCS character on the boundary is destroyed
to keep the rest of the data intact.

•

Printer
treated
and may
display
bytes.

control characters, if present, are displayed and are
as part of the data. ASA control characters are alphameric
be edited. Machine control characters, however, are invalid
characters and are replaced on the screen with attribute

Chapter 6. Edit (Option 2)

65

•

The editor does not distinguish between "input mode" and "edit
mode." Use the I (insert) line command to add new lines, either
between existing lines or at the end of the data.

•

When you specify an empty sequential data set or nonexistent member
of a partitioned data set for editing, the initial display contains
several inserted lines between the "TOP OF DATA" and "BOTTari OF
DATAl! message lines (Figure 24). The quote marks on the left of the
screen will be filled in with sequence numbers when you enter
information on the lines.

•

You can prefix any edit command with an ampersand (&) and keep the
command displayed on the command line after the command has
executed. This technique allows you to repeat similar commands
without reentering the data. For example, if you enter

/
\

===> &CHANGE ALL ABCD 1234

the command is displayed after the change has been made, which
allows you to then modify the parameters and issue another CHANGE
command.
•

You may simplify repetitive sets of edit commands by creating edit
macros. For information about edit macros, refer to "Hacros" later
.:~

..... '\.....:~

.l...1.1

\...1.1..1.;:'

~'\....~~

.....

~_

\,...J.La.p~C;.L

... ~;:I
U.L1U

..........

"'"'v

TC!D"D/Dn"D
..1..U.1..L"/LJ.J..L

.c~_
J..V.L

Tl.H7C!

.LJ..,u

t;';:1':+W\...4....L","

M·"" .... ,....,....

.1.~u.'-..L\J~.

/

(

\

66

ISPF/PDF for MVS Program Reference

Edit (Option 2)

EDIT --- SPFDEMO.XXX.COBOL(SEGNEW) -------------------------- COLUMNS 007 078
COMMAND ===>
SCROLL ===> HALF
******
***************************
TOP
OF
DATA
********************************
,,,,,,

,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,, ,,
,,,,,,
, ,

, I I'

,

,

,

,

I

,

, , I' , I
, ,

I , I ,

,

,

I

,

,

,

, , 1'1'

,, ,, ,,

,, ,,,,
, ,

, , I ,

,,,,,,
Figure 24.

Edit - Creating New Data

DISABLING LIBRARY MANAGEMENT

To disable the Library Management Facility (LMF) for your session, free
the ISRCFIL file. This would be desirable for the following reasons:
1.

LMF is not installed on your system.
panel shown in Figure 25.

This would result in the error

2.

None of your libraries are controlled and you do not wish to incur
the LHF overhead on the copying of a member from a concatenated
library.

)
Chapter 6. Edit (Option 2)

67

----------------------CONNAND ===>

ISPF LIBRARY SERVICES ERROR

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

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

*

ERROR DESCRIPTION:

,;':

LNF TASK NOT STARTED
THE LNF STARTED TASK WAS NOT FOUND.
,;'( INSTRUCTIONS:
Press the ENTER key to proceed with Edit.
Enter END command to terminate Edit.

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

Figure 25.

Edit - LMF Error

EDIT SELECTION

The Edit entry panel is shown in Figure 26. For edit, you can specify a
concatenated sequence of ISPF libraries. The editor searches the
libraries in the designated order to find the member and bring it into
working storage. When you save the edited member, the editor places it
(or replaces it) in the first library in the concatenation sequence
regardless of which library it came from. Figure 26 indicates the
entries you would make to display the member list for the concatenated
libraries SPFDEMO. MYLIB. PLI and SPFDEMO. ~IASTER. PLI.

68

ISPF/PDF for MVS Program Reference

Edit (Option 2)

--------------------------COM~lAND

EDIT - ENTRY PANEL

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

==>

ISPF LIBRARY:
PROJECT ===> SPFDEMO
GROUP
===> ~lYLIB
TYPE
===> PLI
ME~1BER

===>

===>

HASTER

===>

===>

(Blank for member selection list)

OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NA~1E ===>
VOLU~lE SERIAL
===>
(If not cataloged)
DATA SET PASSWORD

===>

(If password protected)

PROFILE NAME

===>

(Blank defaults to data set type)

INITIAL

===>
===>

~lIXED

MODE

FORMAT
~

~lACRO

NA~1E

YES

(Specify YES or NO)

===>

I

yI

Figure 26.

Edit - Entry Panel

For information about editing libraries that are controlled under
Library Management Facilities, see ISPF/PDF for MVS Library Management.
If you request a member list, it includes an indication of the library
where the member was found (library 1, 2, 3, or 4). See Figure 27.
The Edit entry panel also allows you to specify a profile name, which
may be entered to override the default edit profile. See the
description under "Edit Profiles."
You may specify a macro to be executed before you begin editing your
sequential data set 'or any member of a partitioned data set. This
initial macro allows you to set up a particular editing environment for
the edit session you are beginning. If you leave the field blank, the
initial macro (if any) from your edit profile (specified with the IMACRO
command) is executed. To suppress execution of a profile initial macro,
enter NONE in the INITIAL MACRO field.

,)

You can edit unformatted mixed data which contains both EBCDIC
(one-byte) characters and Double-Byte Character Set (DBCS, or two-byte)
characters. To do this, specify mixed mode. A new field is provided on
the Edit entry panel for specifying the operation mode:
Chapter 6. Edit (Option 2)

69

MIXED

===> YES

~10DE

(

(Specify YES or NO)

where YES indicates mixed mode Edit, and
NO indicates conventional Edit.
If your terminal does not support DBCS, the MIXED MODE field is ignored.
DBCS strings are enclosed with shift-out (X'OE') and shift-in (X'OF')
characters in unformatted mixed data. The shift-out character (SO)
precedes the DBCS character string, and the shift-in character (SI)
follows the string.
If the edit line contains invalid mixed data, the line is assumed to be
EBCDIC-only. Examples of invalid mixed data include: unpaired SO and
SI characters, invalid DBCS characters between SO and SI characters, or
an odd number of bytes between SO and 81 characters.
If you wish to edit DBCS data as EBCDIC data, you must edit in
conventional mode. You can do this by operating from a terminal which
does not support DBCS, or by specifying "NO" for the mixed mode field on
the Edit entry panel. In conventional mode, SO and SI characters are
not treated as special characters; instead, they are treated as
nondisplayable characters. Thus, you can edit the data in the
r.()n"\Tpn~; ()n~
~

~--.

~---

1

-~----

r.7~V

..

-~

.

You can also edit DBCS data in hexadecimal format, just as you would
EBCDIC data. For information on specifying a hexadecimal display, see
"Hexadecimal Display (HEX Command)" on page 95. You should not edit a
record in hexadecimal format, however, when a DBCS string encroaches on
the display boundary. If you edit under this condition, the result is
unpredictable.

\

You can edit a sequential data set containing records that consist of
subfields for which locations and lengths are fixed throughout the data
set. This type of data set is called a formatted data set. The
formatted data edit is particularly useful when a subfield contains DBCS
data without SO and SI characters. You can edit a formatted data set by
specifying a format name on the Edit entry panel.
FORMAT NAME

===>

The format name, like a member name, can consist of up to eight
alphameric characters, of which the first must be alphabetic.
A format definition can include EBCDIC fields, DBCS fields, and mixed
fields. If the specified format includes a mixed field definition, and
you specify conventional edit (MIXED MODE = NO) as the operation mode,
the MIXED MODE field is ignored.
The Format Specification utility is provided to support the IBM 5550
terminal using DBCS. For information on defining formats for formatted
data sets, see "Format Definition Utility (Option 3.11)" on page 222.

70

ISPF/PDF for MVS Program Reference

(

Edit (Option 2)

When formatted data is displayed, an attribute character that does not
reside in the data set and is not stored back to the data set precedes
each field. Therefore, the column position on the display is different
from the column position in the data set.
The allowable maximum length is decreased two bytes per field definition
from the standard allowable maximum length for edit.
You must have previously allocated space for the selected data set, but
it may be empty. Selecting an empty sequential data set or a
nonexistent member of a partitioned data set allows you to create new
source data.
The selected member or sequential data set is read into virtual storage,
where it is updated during edit operations. Use of virtual storage for
edit work space results in high performance, but may require a large
user region. If insufficient storage is available, your edit session is
abnormally terminated.

EDIT --- SPFDEMO.MYLIB.PLI
CO~IMAND

\

v

===>

NAME
ACCOUNT
ACCT1
ACCT2
ACCT3
ACCT4
ACCT5
COINS
COHPX
COHPY
DCLS
LISTNEW
MAIN
HINUS
PLUS
TESTDIR
UPDATE
ZCOMP
~'(~·"END·k~·..

Figure 27.

-

LIB
1
1
1
2
2
2
1
1
1
1
1
1
2
2
1
1
2

VV. ~IM
01. 00
01.01
01. 00
01.02
01.00
01.01
01.04
01.00
01.01
01.00
01.02
01.00
01.03
01.00
01.02
01.00
01.01

---------------------------------------------------CREATED
83/01/09
83/02/11
83/03/09
83/01/09
83/04/24
83/04/13
83/04/24
83/01/21
83/01/14
83/04/23
83/04/23
83/01/09
82/10/06
83/01/09
83/04/23
83/03/26
83/01/14

LAST MODIFIED
83/01/09 17:07
83/04/23 14:52
83/03/09 17:07
83/04/23 15:07
83/04/30 15:04
83/04/23 15:09
83/04/28 16:20
83/01/21 11:08
83/01/16 12:30
83/04/23 15: 14
83/05/06 10:00
83/01/09 17:08
83/01/09 08:57
83/02/13 10:08
83/05/06 09:04
83/04/01 13:08
83/03/13 14:30

SIZE
21
199
20
21
99
22
19
44
13
20
17
4
19
44
30
13
13

SCROLL ===> PAGE
MOD
INIT
ID
21
0 HUNTER
193
0 BECKETT
20
0 BECKETT
21
3 FISHERL
99
0 FISHERL
20
4 FISHERL
19
4 JOSLIN
44
0 JOSLIN
13
1 JOSLIN
20
0 LEESB
13
6 LEESB
4
0 KIRK
19
2 HAURER
44
0 MAURER
43
10 LAIDLAW
13
0 COONS
13
1 STALEY

Edit - Member List

The edit data display is similar to the browse display, except that each
line consists of a 6-column line command field followed by a data field
(Figure 28). The line command fields contain numbers that reflect the
Chapter 6. Edit (Option 2)

71

contents of the sequence numbers in the data. If the data has no
sequence numbers, the line command fields contain numbers that start at
1 and are incremented by 1.

EDIT --- SPFDEHO.HYLIB.PLI(COINS) - 01.04 ------------------- COLUHNS 001 072
COI'II'IAND ===>
SCROLL ===> HALF
000100
000200
000300
000400
000500
000600
000700
000800
000900
001000
001100
001200
001300
001400
001500
001600
001700
001800
001900

COINS:
PROCEDURE OPTIONS (HAIN);
DECLARE
COUNT
FIXED BINARY (31) AUTOHATIC INIT (1),
HALVES
FIXED BINARY (31),
QUARTERS FIXED BINARY (31),
DIMES
FIXED BINARY (31),
NICKELS FIXED BINARY (31),
SYSPRINT FILE STREAM OUTPUT PRINT;
DO HALVES = 100 TO 0 BY -50;
DO QUARTERS = (100 - HALVES) TO 0 BY -25;
DO DIMES = (( 100 - HALVES - QUARTERS) / 10 )";';-10 TO 0 BY -10;
NICKELS = 100 - HALVES - QUARTERS - DII'lES;
PUT FILE(SYSPRINT) DATA(COUNT,HALVES,QUARTERS,DIMES,NICKELS);
COUNT = COUNT + 1;
END;
END;
END;
END COINS;

Figure 28.

(

Edit - Data Display

SUMMARY OF EDIT OPERATIONS

This section lists the functions that are performed by edit commands,
and the modes and profiles in which the edit option may operate.
Command Functions

Two types of commands are used to control edit operations:

72

•

Primary or macro commands, entered in the command field at the top
of the screen (line 2)

•

Line commands, entered in the line command field on any line by
overtyping the number displayed in that field

ISPF/PDF for MVS Program Reference

(

Edit (Option 2)

You can use primary commands to:

•

Control your editing environment

•

Locate a specific line

•

Find and change a character string

•

Combine several members into one (merge) or split a member into two
members (segment)

•

Submit data to the job stream

•

Save the edited data or cancel without saving

•

Sort data

•

Delete lines

•

Access dialog element models

You can use line commands to:

\,
I

•

Insert or delete lines

•

Repeat lines·

•

Rearrange lines (move or copy) or overlay portions of lines

•

Prepare text

•

Define a mask for input

•

Change the indentation of data (shift)

•

Include or exclude lines from the display

•

Control tabs and boundaries for editing

)

A command summary may be found in Appendix D, and a quick-reference
summary of the commands is contained in Appendix E.
Edit Modes, Options, and Profiles

When you are editing, the edit session is controlled by an environment
def~n~d by modes and options.
Taken together, these modes' and options
are called the edit profile.
An example of an edit mode is the caps mode. If you are editing a COBOL
program, which is in uppercase, and you want all of your input to be
translated to uppercase, you can set caps mode on by entering the CAPS
ON command. On the other hand, if you are editing text, which is in
mixed case, you can enter the CAPS OFF command to set caps mode off.
Chapter 6. Edit (Option 2)

73

The modes, which are part of the edit profile and which you control by
entering commands, are listed below. This list will give you an idea of
the kinds of things that make up your edit environment and which you can
control. The items in the list will all be described in detail in later
sections.

•

AUTOSAVE

- to save data automatically when you end

•

AUTONUH

-

•

AUTOLIST

- to list data automatically

•

CAPS

- to control translation to uppercase

•

HEX

•

NOTE

-

•

NULLS

- to allow you to insert data at the terminal

•

NUHBER

-

•

PACK

- to control the format of data that is saved

•

RECOVERY

-

to control the generation of a recovery data set

•

STATS

-

to control the generation of ISPF statistics

•

TABS

- to control hardware and software tabbing

to renumber data automatically

to control the display format for hexadecimal data
to control notes generated by the HODEL command

to control sequence numbering

/

(

\

In addition to the modes listed above, there are options associated with
several of the modes that are also part of the edit profile.

•

AUTOSAVE - PROHPT or NO PROMPT options

•

HEX

- VERTICAL or DATA display options

•

NULLS

- STANDARD or ALL display options

•

NUMBER

- STANDARD, COBOL, and DISPLAY options

•

TABS

- STANDARD or ANY options or a special tab character

Finally there are three special lines that are part of the edit profile.
They are:

74

•

BOUNDS

- used to specify left and right
used by other commands

•

HASK

- used when creating new lines

•

TABS

- used to define tab positions

ISPF/PDF for MVS Program Reference

bound~rie~

that

ar~

Edit (Option 2)

Edit saves the environment, the edit profile, each time that it is
changed. When you start an edit session, the profile is retrieved and
used to set up the environment. For example, if you have caps mode on
at the end of one edit session, it will be set on at the beginning of
the next session that uses the same profile.
You may have up to 25 different profiles for different kinds of data.
With this capability, you can set up a profile that will be used when
you edit COBOL program~, and a different profile to be used when you
edit memos. A third profile could be set up for editing test data, and
a fourth for editing JCL statements.
Selecting a Profile
You contrpl the profile that is being used for a particular edit session
by putting your data into different libraries and letting edit select
the profile based on the library type (or the lowest level qualifier of
the data set name if you are editing a sequential data set or other
partitioned data set). Or you can explicitly specify the profile to be
used on the edit data set panel. And you can switch to anothe~ profile
while you are in edit by entering the profile command and naming the
profile that you want to use.
Setting Up a Profile
You set up a profile by simply entering commands to set the various
modes, options. and special lines. Whenever the profile is changed, it
is also saved, and the next time that you edit data using the profile,
it is retrieved and the environment is set up again. This is much
easier than it sounds. First, there are defaults for all of the modes,
and in most cases, the defaults do not need to be changed. Second, if
you decide that you want to change the edit profile, you simply enter
the appropriate command. The edit profile is automatically changed, and
is automatically saved for you.
Locking Your Profile
Once you have set"-'up a profile exactly the way that you want it, you can
lock it. To do this, enter the PROFILE command with the LOCK option.
The profile is saved with all of the current modes, options, and special
lines, and it is marked so that the saved copy of the profile can not be
overwritten. Each time that you begin an edit session, the profile that
you begin with will be exactly the way that you locked it. You can
change a mode during an edit session, but as long as the profile is
locked, the change will affect only the current session, and will not
affect the next session.
Suppose that you almost always want caps mode on. Enter CAPS ON to set
the caps mode, and then enter PROFILE LOCK. You can change caps mode
during an edit session if you need to enter lowercase data, but because
the profile is locked, the edit profile containing CAPS OFF will not be
Chapter 6. Edit (Option 2)

75

saved at the end of the edit session. The next time that you begin an
edit session, the profile will be retrieved, and caps mode will be on.

Note:

If you have locked your current profile, you may not change the
initial macro name with the IMACRO command.

§~cial

Data Modes
There are four profile modes that fall into a special catego~ybecause
they can be changed by the editor. The four modes, and the reason that
the editor might change them are:
•

Caps Mode - set on if the editor detects that a member that is to be
edited contains no lowercase characters. It will be set off if the
editor detects that the member did contain lowercase characters.

•

Number Mode - set on, and number options changed if edit discovers
that the data contains valid sequence numbers. It will set number
mode off if the data does not contain valid sequence numbers.

•

Pack Mode - set on if the data being edited has previously been
saved in packed format. It will set pack mode off if the data has
not been previously saved in packed format.

•

Stats Mode - set on if the member being edited currently has ISPF
statistics. It will set stats mode off if the member did not
previously have ISPF statistics.

I

\

Edit changes the special data modes, even if the profile that was used
in setting up the environment is locked. This is handled by first
reading the data and profile into memory, and then modifying the edit
profile (you can think of it as the current profile), without affecting
the copy of the profile that is on disk.
When edit changes your profile to correspond to the data, it inserts
special warning lines that are displayed as part of the data. If you
want to override the change, you simply enter the appropriate command.
For example, if edit changes CAPS mode from ON to OFF, because it finds
lowercase characters in the data, you simply enter CAPS ON to reset it
back on.
Edit users generally want the modes to change automatically to
correspond to the data. This allows you to have a single data set, and
to use the default profile, even though some members may contain
programs (CAPS ON) and other members contain text (CAPS OFF). Some of
the members may have statistics that will be maintained, while other
members may be stored without statistics. Some members may be in packed
data format and other in standard data format. And finally, and perhaps
most important, some members may be sequence numbered, and others may
not be numbered.
If you have special requirements, you may not want edit to change the
special modes automatically to conform to the data. You may want to
76

ISPF/PDF for MVS Program Reference

~

Edit (Option 2)

have caps mode on, even if the data contains lower case data. Or you
may want to generate statistics on output, whether or not the member
originally had statistics.
Specifying the CAPS, NUMBER, PACK, or STATS command in an initial macro,
specified in the profile, allows you to specify, for a particular
profile, how edit is to process these special modes.
Packi ng Data

Data can be saved on disk in either packed or standard format. The
packed data format has the advantage of saving space on disk at the
expense of additional processing when the data is read from or written
to disk.
The packed data format allows you to edit packed data in a transparent
way. Data that is stored on disk in packed format will be read in by
edit, and can be edited in the normal way. When the edit session is
ended; the data is packed and stored on disk.
The format in which data is stored can be controlled, either from the
edit profile or with the PACK command.

)

Macros

Macros are similar to edit primary commands. The name of the macro,
along with any operands, are entered on the command line.
There are no edit macros distributed with ISPF/PDF. All the commands
described in this manual are built-in commands. You may have available,
at your installation, common macros that have been written and
documented for your use. Or you may write your own edit macros.
The rules for entering a specific macro, along with the expected
results, are dependent on the particular macro, and should be documented
by your installation. If you want to write your own macros, you should
read ISPF/PDF for MVS Edit Macros.
Note: The effect of executing a macro will depend on the
implementation of the macro, and results such as cursor positioning,
output messages, and so on, mayor may not conform to the results that
you expect from built-in edit commands.
Labels and Line Ranges

)

When you are editing data, each line of the data is displayed with a
number on the left side of the screen. You may assign a label to a line
by overtyping the number with the label. The label always starts with a
period err. ") followed by one to five alphabetic characters. You may not
define a label with Z as the first alphabetic character; labels starting
with Z are reserved for edit use. Once you have assigned a label to a
Chapter 6. Edit (Option 2)

77

line, it is displayed in place of the number whenever the line is being
displayed. You may not type a label on a non-data line or the line
displayed indicating one or more lines are excluded (not displayed).
The purpose of labels is to allow you to specify a line or a range of
lines in a primary command. There is one command, the LOCATE command,
in which you can specify a single label. There are a number of other
commands in which you can specify two labels to define a range of lines
that are to be processed by the command.
A single label is used in the LOCATE command to locate (scroll to) the
line with the label. Most commands, however, require two labels to
specify a range of lines to be examined or processed by the command.
In the command descriptions, the range, which is always optional, is
specified as [range]. When you enter a co~mand, enter two labels to
specify the range.
If you do not specify a range, the entire member or file that you are
editing is processed.
An example of a command description is:
SUBMIT [range]
SUB
Examples of using the command are:
SUBt-lIT
SUB}lIT . s . e
SUBMIT .s

(

- Submit all lines
- Submit lines from .S to .E
- INVALID, a range must include two labels

For example, the command:
CHANGE ALL 'TEST' 'FINAL'
can be interpreted to mean: Change all occurrences of "TEST" to
"FINAL". Because no explicit range is specified, the CHANGE command
starts at the first line of the data being edited, and scans all lines
up to and including the last line, changing all occurrences of "TEST" to
"FINAL".
The command:
CHANGE .A .B ALL 'TEST' 'FINAL'
can be interpreted to mean: From the .A line to the .B line, change all
occurrences of "TEST" to "FINAL". The change command in this case will
start at the .A line and stop when it has processed the .B line.
When labels are used to specify a range, they are always given in pairs
that define the first and last lines, inclusively. To process a single
line, repeat the label.

78

ISPF/PDF for MVS Program Reference

(

Edit (Option 2)

CHANGE ALL" " " " .A .A
can be interpreted to mean:
line.

Change all blanks to underscores on the .A

The commands on which a range can be specified are:
CHANGE
EXCLUDE
FIND
LOCATE
RESET
SORT
SUBHIT
To eliminate a label, blank it out, or use the RESET command with the
LABELS option to eliminate all labels.
Line Ranges

Commands may operate on a single line, a group of lines, or the complete
file.
The following edit primary commands normally operate on the entire file
that you are editing:
•

DELETE - scans the entire file for excluded or non-excluded lines

•

RESET

•

SORT
- sorts the entire file, or sorts all excluded or
non-excluded lines

•

SUBMIT - submits the entire file

- resets the entire file

Other commands optionally start at the first line of the file and may
scan through the entire file. These commands are:

•

CHANGE

if FIRST or ALL is specified

•

EXCLUDE

if FIRST or ALL is specified

•

FIND

if FIRST or ALL is specified

•

LOCATE

-

if FIRST is specified

You may want to perform one of the above commands, but limit its
operation to a specific range of lines. You can do this by assigning
labels to the first and last lines to be processed and then by entering
the labels as operands on any of the above commands.

)

The following rules apply:

Chapter 6. Edit (Option 2)

79

•

Labels must be assigned to the first and last lines of a range.

•

Both the starting and ending labels must be specified on the above
commands to identify the range of lines.

•

If you want the range of lines to consist of a single line, enter
the same label twice.

•

As long as both labels are given, their order is not important. The
line closest to the first line of the file will be assumed to be the
first line of the range, and the line closest to the last line of
the file will be assumed to be the last line of the range.

The following special built-in labels can always be used:

-

•

.ZF

•

.ZFIRST - first line of the file

•

.ZL

•
•

first line of the file

last line of the file

.ZLAST

-

.ZCSR

-

cursor line

last line of the file

The following examples illustrate the use of both user-defined and
built-in labels to identify ranges of lines. They show that the order
of the labels, and of other operands is not important and that labels as
well as keyword operands can be entered in either uppercase or
lowercase.
loc first chg .start .zcsr
locates the first line flagged ==CHG> between the line labeled . START,
and the line with the cursor on it.
eHG last pre post .HERE .ZFIRST
changes the last occurrence of "pre" to "post" between the first line
and the line marked with the .HERE label.
c pre post all .mylab .zl
changes all occurrences of "pre" to "post" from the .MYLAB line to the
last line of the file.
find higher word .start .end
finds word "higher" between the .START line and the .END line.

Note: Specifying a range of lines is a limiting operation. It
does not change the way that the command works, but limits the
command to the specified lines. For example:

80

ISPF/PDF for MVS Program Reference

Edit (Option 2)

find next 'abc' .a .b
starts searching at the cursor position, and searches forward, but
the lines that are searched are limited to those between, and
including, .A and .B.
EDIT TERMINATION

Normally, you complete your edit session by entering the END command,
which causes the following actions:
1.

If any changes have been made to the data and autosave mode is on:
•

The data is renumbered if both number mode and autonum mode are
on.

•

The data is automatically saved -- see the description of the
SAVE command.
Note: "Special" lines (HASK, TABS, COLS, BOUNDS, message
lines, NOTE lines, and profile display lines) are never
saved as part of the data, and need not be deleted prior
to entering a SAVE command or an END command.

•

The statistics are updated (or generated if none previously
existed) if stats mode is on and the data is a member of an ISPF
library (or other partitioned data set). If the member was an
alias, the alias indicator is turned off.

•

A source listing of the data is recorded in the ISPF list file
for eventual printing if autolist mode is on.

2.

If autosave mode is off with the PROMPT option, a prompting message
is displayed. The user can issue a SAVE command to save the data or
a CANCEL command to terminate edit without saving.

3.

If autosave mode is off with the NOPRO~IPT option, data is not saved,
as if the user had entered a CANCEL command.

'4.

A return is then made to the previous display (either the member
list or the Edit entry panel). When return is to the member list,
the member just edited appears at the top of the list.
Note: The RETURN command, which is logically equivalent to
repeated use of the END command, also causes action 1 to occur.

)

You can save the data without terminating edit (and without printing)
using the SAVE command. You can also terminate editing without saving
(or printing) using the CANCEL command. Be aware that the CANCEL
command cancels all changes made since the beginning of the edit session
or the last SAVE command, whichever is more recent.

Chapter 6. Edit (Option 2)

81

PRIMARY COMMANDS AND FUNCTIONS

This section deals with the commands that control your edit environment,
allow you to find lines, change data, merge and segment data, and submit
data for processing. All these commands are entered on line 2 of the
panel.
Controlling Your Edit Environment

Your edit environment is that set of conditions in which you perform
your PDF editing work.
Each condition is called a "mode" and is controlled by one or more
commands. Generally, the name of the command and the mode name are the
same. For example, the NUMBER command controls number mode, and
determines whether your data lines are numbered.
The conditions that make up your edit environment are:
Sequence number generation and control (number mode)
Statistics generation (stats mode)
Controlling the END command (autosave mode)
Packing data (pack mode)
Source listing control (autolist mode)
Character translation (caps mode)
Nulls control (nulls mode)
Tab definition and control (tabs mode)
Hexadecimal display (hex mode)
Recovery control (recovery mode)
Model note display (note mode)

/

\

The majority of these modes have defaults that collectively provide an
edit environment suitable for most users.
You can display the settings of these modes using the profile display
and control facilities. You can also reset the display of information
lines using the general reset facility.
Sequence Number Generation and Control
The following commands allow you to generate and control the numbering
of lines (records) in your data:
NUMBER

Verifies that lines are correctly numbered, and renumbers
them to maintain the proper sequence

RENUM

Renumbers all lines

UNNUM

Turns off numbering

(
82

ISPF/PDF for HVS Program Reference

Edit (Option 2)

AUTONUM

Automatically renumbers data whenever it is saved

This section discusses the format of sequence numbers~ how they are
displayed, and how the number mode is initialized. Each of the four
control commands is then discussed in detail.
Sequence Number Format
Sequence numbers normally start at 100 and are incremented by 100. When
lines are inserted, the tens or units position are used. If necessary,
one or more succeeding lines are renumbered automatically to keep the
sequence numbers in order.
Sequence numbers may be generated in the "standard" sequence field, the
COBOL sequence field, or both. The standard sequence field is either
the last eight characters of the data (for fixed-length records) or the
first eight characters' of the data (for variable-length records),
regardless of the programming language. The COBOL sequence field is
always the first six characters of the data, and is valid only for
fixed-length records.

"\

I

/

For members of partitioned data sets, the format of standard sequence
numbers is dependent on whether statistics are being generated. If
statistics are being generated (i.e., stats mode is in effect) standard
sequence numbers are six digits, followed by a 2-digit modification
flag. The flag reflects the modification level of the member when the
line was created or last changed. If, for example, a sequence number
field contains 00040002, the line was added or last changed at
modification level 02. The sequence number is 000400. When a new
member is created with statistics, the flags are all set to 00, since
the modification level is initialized to zero.
If stats mode is off, or if a sequential data set is being edited,
standard sequence numbers are eight digits right justified within the
field. COBOL sequence numbers are always six digits, and are unaffected
by the setting of stats mode.
Seguence Number Display
For numbered data, the line command field (displayed at the left of each
line) duplicates the sequence number in the data. Normally, the
sequence numbers themselves are not displayed, but you may view them by
scrolling left or right. You can include the sequence numbers in the
data "window" by using the DISPLAY operand of the NUHBER or RENUH
command if your display terminal is wide enough to display both data and
sequence numbers.
When data is fetched for editing, the data is positioned on the screen
so that the leftmost column of the data window is the first column
displayed. When number mode is changed with a NUHBER, RENUM, or UNNUM
command, automatic left or right scrolling is performed (if required) so

Chapter 6. Edit (Option 2)

83

that the leftmost column of the window is again the first column
displayed.

(

For example, assume that the data has COBOL numbers in columns one
through six and number mode (saved in the edit profile) is "NUHBER ON
COBOL." When the data is fetched, column seven will be the first column
displayed. If you enter an UNNUM command, the data will be scrolled so
that column one is the first column displayed. If you then enter a
"NUNBER (or RENUM) COBOL" command, the data will be scrolled back to
column seven. But if you enter a "NUNBER (or RENUN) COBOL DISPLAY"
command, the data will be scrolled to column one. (The sequence numbers
in columns one through 6 will be part of the data window.)
Initialization of Number Mode
As data is fetched for editing, it is examined to determine whether it
contains sequence numbers. The standard sequence field is always
examined. The COBOL sequence field is also examined if the data set
"type" (lowest level qualifier in the data set name) is COBOL.
If all lines contain numeric characters in either the standard or COBOL
sequence field positions (or both), and if the numbers are in ascending
order, edit assumes the data is numbered and turns on number mode.
Otherwise~ edit turns off number mode.
If the initial setting of the number mode differs from the previous
setting in the profile, a message is displayed indicating that edit has
changed the mode. For new members or empty sequential data sets, the
initial setting of number mode is determined by the data in the profile.
The default for a new profile is number mode on for standard sequence
fields, and for COBOL fields if the data set type is COBOL.

\

NUMBER Command
The NUMBER command controls number mode. When number mode is turned on,
the NUHBER command verifies that all lines have valid numbers in
ascending sequence. It renumbers any lines that are either unnumbered
or out of sequence, but does not otherwise alter existing sequence
numbers.
When operating in number mode, edit automatically generates sequence
numbers in the data for new lines that are created when data is copied
or inserted, and automatically renumbers the data when it is saved
(provided aut anum mode is also in effect).
The command has the following format:
NUMBER
NUMB

[ON"] [STD] [COBOL] [DISPLAY]
[OFF]

NU~l

(

\"

84

ISPF/PDF for MVS Program Reference

Edit (Option 2)

You can enter the operands in any order. NUMBER ON is. the default. The
STD, COBOL, and DISPLAY operands are valid only when number mode is
turned on. COBOL and DISPLAY may be abbreviated to COB and DISPL or
DIS, respectively.
If you specify STD, the data is numbered in the standard sequence field.
If you specify COBOL, the data is numbered in the COBOL field. If you
specify both STD and COBOL, the data is numbered in both fields. If you
omit both operands, the default is STD unless number mode was already in
effect, in which case the data is numbered in whichever fie1d(s) were
previously specified.
If both STD and COBOL numbers are being generated, the STD number is
determined and then used as the COBOL number. This can result in COBOL
numbers that are out of sequence if the COBOL and STD fields are not
synchronized. Use the RENUM command to force synchronization.
If you specify the DISPLAY operand, the width of the data window
includes the sequence number fields when the COBOL operand is coded.
When you display a data set with an LRECL of 80 and STD numbering, you
will not see the sequence numbers unless you are using a 3278 Model 5
terminal, which displays 132 characters. If you omit the DISPLAY
operand, the width of the window excludes the sequence number fields.
Automatic left or right scrolling is performed (if required) so that the
leftmost column of the data window is the first column displayed.
RENUM Co.mmand
The RENUM command immediately turns on number mode, renumbers all lines,
starting with number 100 and incrementing by 100, and positions the
screen so that column 1 is at the left.· The command has the following
format:
RENUM
REN

[STD]

[COBOL]

[DISPLAY]

The STD, COBOL, and DISPLAY operands are defined with the NUMBER
command~
COBOL and DISPLAY may be abbreviated to COB and DISPL or DIS,
respectively.
UNNUM Command
The UNNUM command sets all sequence fields to
mode, and positions the screen so that column
valid only when number mode is currently on.
field, the COBOL sequence field, or both,are
was being numbered prior to issuing the UNNUM
the following format:

blanks, turns off number
1 is at the left. It is
The standard sequence
blanked, depending on what
command.
The command has

Chapter 6. Edit (Option 2)

85

UNNU:t-lBER
UNNUMB
UNNU~l

UNN
The UNNUH command has no operands.
AUTONU~l

Command
The AUTONUM command controls autonum mode. When autonum mode is on, the
data is automatically renumbered whenever it is saved, provided number
mode is also on at that time.
The command has the following format:
AUTONU~l

[ ON ]
[OFF]

If you omit the operand, ON is assumed.
Statistics Generation and Control (STATS, VERSION, and LEVEL Commands)
If you are editing a member of a partitioned data set, you can have edit
create and then maintain statistics that are saved with the daLa.
The STATS command controls the generation of statistics for a member of
a partitioned data set. If stats mode is on when the member is saved,
the statistics are updated (or created if the member did not previously
have statistics) and stored in the "user" portion of the directory entry
for that member. If stats mode is off when the member is saved, no
statistics are stored and any previous statistics are destroyed. Stats
mode is ignored for sequential data sets.
The command has the following format:
STATS

[ON]
[OFF]

If you omit the operand, ON is assumed.
Whenever a member is fetched for editing, PDF checks the setting of
stats mode. If stats mode is off and the member has statistics, PDF
automatically turns on stats mode and displays a message indicating the
mode change. If stats mode is on and the member has no statistics, a
warning message is displayed, but the mode remains unchanged.
When a new member is created, the initial setting of stats mode is
unchanged from whatever is in the profile. The default for a new
profile is stats mode on.
The generation of statistics also affects the format of sequence
numbers, as discussed in "Sequence Number Format."

86

ISPF/PDF for MVS Program Reference

/
I~

Edit (Option 2)

Included in the statistics are version and modification levels. These
numbers have no intrinsic meaning, but can be useful in controlling
library members.
The VERSION command allows you to control the version number assigned to
a member of an ISPF library. The format for the VERSION command is:
VERSION
VERS
VER
nurn

num

is a number from 1 to 99 that will be assigned as the version
number for this member in the statistics.

The LEVEL command allows you to control the modification level that is
assigned to a member of an ISPF library.
The format for
LEVEL
LEV
nurn

~
/

th~

LEVEL command is:

num
is a number from 1 to 99 that will be assigned as the
modification level for this member in the statistics.

Edit normally increments the modification level the first time that data
is changed during an edit session. This incrementing is suppressed if:

•
•

You have set the modification level with a LEVEL command before
making the first change.
Edit has set the modification level to 0 for a new member.
Note: If stats mode is on, and standard sequence number mode is
on, the current modification level is stored in the last two
positions of the sequence number for any lines that are modified
during the edit session, and for any lines that are already marked
with a modification level higher than the current modification
level. If you enter LEVEL 0 and then save the data, all lines
will be reset to level O.

Controlling the END Command (AUTOSAVE Command)
Autosavemode controls the meaning of the END command:

•

If autosave mode is on, data is saved to disk and the edit session
is terminated when the END command is entered.

•

If autos ave mode is off with the PROHPT option, a prompt message is
displayed. You can then enter a SAVE command to save data to disk,
or you can enter a CANCEL command to terminate edit without saving.

Chapter 6. Edit (Option 2)

87

•

If autosave mode is off with the ~OPRONPT option, data is not saved
to disk when the END command is entered. The edit session is
terminated just as though a CANCEL command had been entered.

The AUTOSAVE command sets autosave mode on or off and saves it, along
with a prompt option, in the edit profile. The AUTOSAVE command has the
following format:
AUTOSAVE

[ON]
[OFF [PROHPT ]]
[OFF [NOPROHPT]]

Operands may be entered in any order.
ON

turns autosave mode on

OFF PROMPT

turns autos ave mode off with the PROHPT option

OFF NOPROMPT turns autosave mode off with the NOPROHPT option

If no operands are specified, ON is assumed. If OFF is specified alone,
PROMPT is assumed. If PROHPT is specified alone, OFF is assumed.
Notes:

1.

Autosave mode has an effect only if the data is to be saved to disk.
If you end an edit session without having changed any data, the edit
session is always terminated without saving to disk.

2.

Data is considered changed once it has been marked as changed even
though you may change it back to its original form. It is also
considered changed if you execute a command that could cause the
data to be changed, whether or not it is actually changed. For
example, shifting a blank line, or chang ink a word to itself does
not actually change data, but they cause the data to be marked as
changed.

3.

When a SAVE command is invoked, the change status of the data is
reset. If you issue SAVE and then END without changing data, the
edit session will be terminated without a prompt message since the
data is not marked as changed.

Packing Data (PACK Command)
The PACK command sets pack mode on or off and saves it in the edit
profile. When pack mode is on, data that is saved will be stored in a
packed format. When pack mode is off, data that is saved will be stored
in standard format. The PACK command has the following format:
PACK

88

[ON]
[OFF]

ISPF/PDF for HVS Program Reference

Edit (Option 2)

ON

causes pack mode to be set on

OFF

causes pack mode to be set off

If no operand is entered, ON is assumed.
The PACK command allows more efficient use of DASD by replacing
repeating characters with a sequence indicating the repetition. When
the PDF foreground and batch options encounter the SOURCE DATA PACKED
field equal to YES, the unpack and expansion is done automatically.
Unpredictable results can occur if packed data is used or executed
outside of PDF. For example, the LRECL and BLKSIZE of a packed data set
can only be changed via PDF option 3. You cannot use the IEBCOPY
utility to change the LRECL and BLKSIZE. A packed CLIST will not
execute properly because pack mode analysis is not done prior to passing
the CLIST to the system.
Automatic Source Listing (AUTOLIST Command)
The AUTOLIST command controls the automatic generation of source
listings. If this mode is on when you terminate edit, and the data is
changed and will be saved (see AUTOSAVE), the editor records a source
listing of the data in the ISPF list data set for eventual printing.
The command has the following format:
AUTOLIST

[ON]
[OFF]

If you omit the operand, ON is assumed.
Character Translation (CAPS Command)
The CAPS command controls the caps mode. If caps mode is on, alphabetic
data that you enter at the terminal is automatically translated to
uppercase during edit operations. If caps mode is off, alphabetic data
is left "as is." Caps mode is normally on for program development work
and turned off when documentation (text) is being edited.
Caps mode also determines whether character strings, entered as operands
of the FIND and. CHANGE commands, are translated to uppercase. Note that
the keyword operands and all panel parameters are always translated to
uppercase regardless of the current setting of caps mode.
The CAPS command has the following format:
CAPS

,

[ON]
[OFF]

If you omit the operand, ON is assumed.

)

Chapter 6. Edit (Option 2)

89

When PDF gets data for editing, the setting of caps mode is initialized
based on whether or not the data contains lowercase alphabetic
characters. If lowercase alphabetic characters are present in the data,
caps mode is set to off; otherwise, it is set to on. To override the
automatic setting of caps mode during edit initialization, you may
include a CAPS command in an initial macro. If the initial caps mode
setting differs from the profile setting, a message is displayed
indicating that edit has changed the mode. For new members or empty
sequential data sets, the initial caps mode setting is unchanged from
the profile. The default for a new profile is caps mode on.

Note:

The CAPS command does not apply to DBCS fields in
formatted data, or to DBCS subfields in MIXED fields. If you
specify CAPS, the DBCS fields remain unchanged.

Nulls Control (NULLS Command)
Nulls mode determines whether trailing blanks in each data field are
written to the screen as blanks or nulls. The term "data field"
normally refers to the 72 characters of data on each line. Using
hardware tabs, however, you can split each line into multiple fields
(see "Tabs Definition and Control").
You can turn nulls mode on or off with the NULLS command.
has the following format:
NULLS
NULL
NUL

Thp. ~ommand

[ON ] [ALL]
[OFF]

You can type the operands in either order. If you omit the ON/OFF
operand, ON is assumed.
The ALL operand is valid only when nulls mode is turned on. Entering
ALL causes trailing blanks and all-blank fields to be replaced with
nulls. Omitting ALL preserves one trailing blank (followed by nulls);
all-blank fields continue to contain blanks.
Blank characters (hexadecimal '40') and null characters (hexadecimal
'00') both appear as blanks. Trailing nulls simplify use of the INSERT
key on the IBM 3270 keyboard. This key may be used to insert characters
on a line, providing the line contains trailing nulls. In addition to
using the NULLS command, you can create nulls at the end of a line using
the ERASE EOF or DELETE key. Null characters are never stored in the
data; they are always translated to blanks.

90

ISPF/PDF for MVS Program Reference

Edit (Option 2)
Tabs Definition (TABS Primary Command)
Three types of tabs are available: software tabs, hardware tabs, and
logical tabs.

Software tabs are used by edit to reposition the cursor.

Whenever the
cursor is in the data portion of a line and you press the ENTER key, the
cursor is mov~d to the next software tab position (providing that you
have defined software tabs).

Hardware tabs allow you to use the tab forward and tab backward keys to
move the cursor to defined column positions within the data. This is
accomplished by inserting additional attribute bytes in each
72-character data area, which splits the data a:'~a into multiple fields.
When you press the tab forward or tab backward key, the cursor is moved
to the Screen position immediately following the next or previous
attribute byte. There are always at least two attribute bytes on each
edit line; one at the beginning of the line number field, and one at the
beginning of the data.
The advantage of hardware tabs is that no program interrupt is generated
when you press the tab forward and tab backward keys. The disadvantage
is that each· attribute byte occupies a screen position and may not be
overtyped. The attribute bytes display as blanks.

Logical tabs are used by edit to break up strings of data entered on a
line and reposition the strings to user-defined tab positions. The
beginning of each string is indicated by a user-designated special
character. You may not use the command ·delimiter for this special
character. See the discussion of the TABS primary command.

Note:

Tabs are not functional when using the text entry (TE)
line command.

The three types of tabbing are controlled as follows:

•

Hardware and logical tab positions are defined by means of the TABS
line command (see description of line commands). Each asterisk ( ..... )
in the tabs line indicates the position of a hardware or logical
tab. Hardware or logical tabs do not take effect, however, until
tabs mode is turned on by the TABS primary command (see the
description below).

•

Software tab positions are also defined by means of the TABS line
command. Each hyphen (-) or underscore (_) in the tabs line defines
a software tab position or tab field. Software tabs take effect
immediately upon being defined in the tabs line. They are
unaffected by the setting of tabs mode and, hence, are unaffected by
the use of the TABS primary command.

Chapter 6. Edit (Option 2)

91

The TABS primary command controls the tabs mode and defines the logical
tab character. The command has the following format:
TABS
TAB

[Q~

] [tab-character] [ALL]

[OFF]

You can type the operands in any order. If you omit the ON/OFF operand,
ON is assumed. The tab-character and ALL operands are valid only when
tabs mode is turned on.
The tab-character operand consists of a single, non-alphameric (special)
character. It defines the character to be interpreted as a logical tab
when encountered on input; for example:
TABS ON $
If yoti then enter the following information on a line:
$aaaaa$bbb$cccc
the data "aaaaa" is repositioned after the first tab column (as defined
by an ",'," in the tab definition line), the "bbb" is repositioned after
the next tab column, etc., as follows:
TABS
aaaaa

bbb

cccc

(

If you do not enter the tab-character operand when tabs mode is turned
on, hardware tabs are initiated by inserting attribute bytes at each tab
position defined by an ",'," in the tabs definition line. If you specify
the ALL operand, an attribute byte is inserted at all user-defined
positions on each line, overlaying any characters in those positions.
If you omit the ALL operand, an attribute byte is inserted at each
user-defined position on each line only if that character position
currently contains a blank or null.
Characters are overlaid with attribute bytes only on the display; the
attribute bytes are never recorded in the data. If your data set
contains DBCS subfields, however, be aware that attribute bytes can
invalidate them. If you activate hardware tabs and cause an attribute
byte to be inserted in the middle of a DBCS subfield, it becomes invalid
as a DBCS subfield. Instead, it is displayed as an EBCDIC field. When
you turn tabs mode off, the attribute bytes are removed and the overlaid
characters at each tab position are redisplayed.
Note:

When you are in formatted data edit mode, TABS is ignored.

In tabs mode, you can cause the attribute bytes to be temporarily
removed from a single line by blanking out the entire line command field
or by placing the cursor directly under one of the attribute bytes and
pressing the ENTER key. When you press the ENTER key again, the
attribute bytes are reinserted.

(

"
92

ISPF/PDF for MVS Program Reference

Edit (Option 2)

Profile Display and Control (PROFILE Command)
You may display your current edit profile at any time during your edit
session by using the PROFILE primary command. You can also use this
command to define a new profile, switch to a different profile, or lock
or unlock the current profile. The command has two formats. The first
one, for displaying or defining the profile, is:
PROFILE
PROF
PRO
PR

[name] [number]

Both operands are optional, and may be entered in either order. The
name operand consists of up to eight alphameric characters, the first of
which must be alphabetic. The number operand consists of a single digit
in the range
to 8, inclusive, and defines the number of profile lines
to be displayed.

°

If you omit both 6perands, the contents of the profile are displayed in
the data area of the screen (Figure 29). In the figure, the first four
lines show the current mode settings. The remaining lines show the
current contents of the TABS, MASK, and BOUNDS commands, together with
the COLS positioning line. The MASK and TABS commands are not displayed
if they contain all blanks, and the BOUNDS command is not displayed if
it contains the default boundary positions. The remainder of the figure
contains a portion of the data set being edited.
If you include the name operand, and if you already have a profile of
that name, edit immediately switches to the specified profile and
displays it. (You can avoid displaying the profile by typing a zero for
the number operand.) If a profile of the specified name does not
already exist, a new profile is defined with that name. The initial
content of the new profile is the same as the profile that was in effect
when the PROFILE command was entered.
The number operand controls the number of lines shown in the profile
display. If you type the number 0, the profile is not displayed. If
you type a number from 1 through 7, that number of lines of the profile
is displayed in the order shown in Figure 29. If you type the number 8,
the complete profile is displayed, even if the mask and tabs are blanks
and bounds contains the defaults. For the display in the figure, the
user has entered "profile 8" to display all the lines, even the blank
lines.

)

You can control the use of profiles from the Edit entry panel. If you
leave the profile name field blank, the profile name defaults to the
data set type (last qualifier in the data set name). If you enter a
name, it overrides the type qualifier. In either case, if a profile of
that name currently exists, it is used. If it does not exist, a new
profile is defined. The initial content of the new profile has the
default mode settings, all-blank mask and tabs, and default bounds.
To eliminate the profile lines from your display, use the RESET command.
Chapter 6. Edit (Option 2)

93

EDIT --- SPFDEMO.SAMPLE.PLI(BROPDS) - 01.02 ----------------- COLUMNS 001 072
COMt-lAND===>
SCROLL ==> HALF
=PROF>
=PROF>
=PROF>
=PROF>
=TABS>
=MASK>
=BNDS>
=COLS>
000800
000900
001000
001100
001200
001300
001400
001500
001600
001700

.... PLI (FIXED - 80) .... RECOVERY OFF .... NUMBER ON STD ..................
.... CAPS ON .... HEX OFF .... NULLS OFF .... TABS OFF ........................
.... AUTOSAVE ON .... AUTONUH ON .... AUTOLIST OFF .... STATS ON ..............
.... PROFILE UNLOCK .... INACRO NONE .... PACK OFF .... NOTE ON ...............

1*

<

.
.
.
.

*1
>

----+----1----+----2----+----3----+----4----+----5----+----6----+----7-BROMLIST = OFF;
I"~
TURN OFF LIST FLAG
..~ I
BROSHEMB = BROHHEMB;
1*
MOVE MEMBER NAME TO *1
END ;
I"~
, SELECTED' NENBER
..'~ I
IF BROSMEHB (1) .,= t , THEN
I"~
IF MEMBER SELECTED,
..'~ I
DO;
I"~
. '( I
%INCLUDE SYSLIB (BROFINDH) ;
I"~
FIND HEt-lEER
..~ I
IF BRORCODE = 0 THEN
1*
IF NO ERRORS,
*1
DO;
I"~
"~I
.,~/
%INCLUDE SYSLIB(BROPDSH);I*
SET UP PDS HEADER
CALL CBRO (TLD, TDC) ;
CALL CONMON BROWSE .,~/
I"~
,'r I
001800
END;
,h'.
I,tr
001900
ELSE
ELSE,
"~I
/,~
002000
DO;
"~I
I

Figure 29.

(

Edit - Profile Display

The second form of the PROFILE command has the following format:
PROFILE
PROF
PRO
PR

{LOCK }
{UNLOCK}

LOCK

causes the current profile to be saved, and then locked.

UNLOCK

causes the current profile to be unlocked.

For information about locking and unlocking the profile, see "Edit
t-lodes, Options, and Profiles" on page 73.

(
94

ISPFjPDF for MVS Program Reference

Edit (Option 2)

Hexadecimal Display (HEX Command)
When edit is operating in hexadecimal (hex) mode, three lines are
displayed for each source line. The first line shows the data in
standard character form. The next two lines show the same data in
hexadecimal representation. See Figure 30.
You can change any invalid (nondisplayable) characters by overtyping the
hexadecimal representations. You can change any valid character by
overtyping either the standard character representations or the
hexadecimal representations.
You can also use the FIND, CHANGE, and EXCLUDE commands to find, change,
or exclude invalid characters or any specific hex character, regardless
of the setting of hex mode. See the discussion of picture strings and
hex strings under the FIND, CHANGE, and EXCLUDE commands.

EDIT --- SPFDEMO.SAMPLE.PLI(BROPDS) - 01.02 ----------------- COLUMNS 001 072
COMHAND ===>
SCROLL ==> HALF
000700
%INCLU:DE SYSLIB (BROLIST~1) ;
/.,~
LIST ME~1BER NAMES
.,~ I
40404040404040404040406CC9DSC3D3E4C4CS40E2E8E2D3C9C24DC2D9D6D3C9E2E3D45D
SE40404061SC4040404040D3C9E2E340D4CSD4C2CSD940DSC1D4C5E240404040405C6140
~

000800

END;
/,tc
*I
404040404040404040CSDSC45E4040404040404040404040404040404040404040404040
4040404061SC404040404040404040404040404040404040404040404040404040SC6140

000900

ELSE
/* ELSE,
*1
40404040404040C5D3E2C540404040404040404040404040404040404040404040404040
4040404061SC404040C5D3E2CS6B404040404040404040404040404040404040405C6140

001000

DO;
/.,~
*1
404040404040404040C4D65E404040404040404040404040404040404040404040404040
40404040615C404040404040404040404040404040404040404040404040404040SC6140

001100

BRO~ILIST = OFF;
/.,~
TURN OFF LIST FLAG
..~ I
4040404040404040404040C2D9D6D4D3C9E2E3407E40D6C6C65E40404040404040404040
4040404061SC4040404040E3E4D9D540D6C6C640D3C9E2E340C6D3C1C740404040SC6140

001200

BROSMEHB = BROMMEMB;
/.,~
~10VE MEMBER NAME TO
..'r I
4040404040404040404040C2D9D6E2D4C5D4C2401E40C2D9D6D4D4C5D4C2SE4040404040

V

Figure 30.

Edit - Hexadecimal Display, Data Representation

The HEX command controls hex mode.
format:

)

HEX

The command has the following

[ON] [VERT]
[OFF] [DATA]
Chapter 6. Edit (Option 2)

95

ON

indicates that data will be displayed in hexadecimal format.
If you. don't specify ON or OFF, ON is the default.

OFF

indicates that data will not be displayed in hexadecimal
format.

VERT

causes the hexadecimal representations to be displayed
vertically (two rows per byte) under each character. A
representation of the HEX VERT display is shown in Figure 23
on page 63. VERT is valid only when hex mode is ON. If you
don't code VERT or DATA, VERT is the default.

DATA

causes the hexadecimal representations to be displayed as a
string of hex characters (two per byte), as shown in
Figure 30. Since the hex string is twice as long as the data
string, it requires two rows. DATA is valid only when hex
mode is ON.

The operands may be typed in either order.
Controlling the Edit Boundaries (BOUNDS Command)
The BOUNDS command sets the left and right boundaries and saves them in
the edit profile. It provides an alternative to
with the BOUNDS line command (=BNDS».
The BOUNDS command has the following format:
BOUNDS
BOUND
BNDS
BND

left-col

[left-col right-col]

identifies the left boundary column.

right-col identifies the right boundary column.
If the BOUNDS command is entered without operands, the boundaries are
set to their default columns. The same column cannot be specified for
both boundaries.
Examples of the BOUNDS command are:
bnds
bounds

- reset the boundaries to the default columns
1 72 - sets the left boundary to 1, the right boundary to 72

Default boundaries are the minimum and maximum columns that can be
specified in the BOUNDS command. They include the entire record that is
being edited with the exception of any columns being used for sequence
numbers. Some examples of default boundaries are:

96

ISPF/PDF for MVS Program· Reference

/

Edit (Option 2)
1 - 80

1 - 72
9 - 80
1 -255

FIXED LRECL 80
FIXED LRECL 80
VARIABLE LRECL
VARIABLE LRECL

records without sequence numbers
records with sequence numbers
80 records with sequence numbers
255 records without sequence numbers

The current boundaries are used by the following commands:
FIND, CHANGE, and EXCLUDE
TF (Text Flow), TS (Text Split), TE (Text Enter)
SORT
Scrolling, left and right
Shifting line commands
S (Show) line command
Notes:
1.

Setting the boundaries with this command has the same effect as
setting the boundaries on the =BNDS> line.

2.

If both the BOUNDS primary command and the BOUNDS line command are
used in the same interaction, the line command overrides the primary
command.

The column boundaries are used to limit the scope of:

•

Left- and right-shift line commands

•

FIND and CHANGE commands when explicit columns are not specified

•

TE (text entry), TS (text split), and TF (text flow) line commands

•

Overlay line command

•

Left and right scrolling

The effect on left and right scrolling is that a left scroll stops at
the left bound, and a right scroll stops at the right bound. A
subsequent left or right scroll goes beyond the bound (assuming the
bound is not at the leftmost or rightmost column position).
The boundaries are initialized by edit based on the data set "type" (the
lowest level qualifier in the data set name) and whether or not the data
is sequence numbered. The default left and right column boundaries are
shown in Figure 31.

Chapter 6. Edit (Option 2)

97

I

RECORD
FORHAT

DATA
TYPE

FIXED
LENGTH

VARIABLE
LENGTH

Figure 31.

NUHBERED

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

UNNUHBERED

ASM

1, 71

COBOL

7, 72

(OTHER)

1, LRECL-81

1, LRECL

I
I
I
I
I
II

1, LRECL

(ANY)

9, LRECL

1, 71

7, 72

Edit - Default Column Boundary Settings

You can change the boundaries by displaying the boundary definition line
and changing its contents, using 't:he BOUNDS line command (see "BOUNDS
Line Command"). The boundary definition line contains a single "<"
character indicating the position of the left column boundary, and a
single ">" character indicating the position of the right column
boundary. If you have already changed the boundaries, you can revert to
the default bounds by displaying the boundary definition line and
blanking out its contents with the ERASE EOF key.
If the default boundaries are in effect, they are automatically adjusted
whenever number mode is turned on or off. If you have changed the
bounds from the default settings, they are not affected by the setting
of number mode.
Displaying Model Notes (NOTE Command)
When note mode is on, tutorial notes are included when the MODEL command
is used. When note mode is off, note lines are excluded when the HODEL
command is used. The NOTE command sets note mode on or off and saves it
in the edit profile. The NOTE command has the following format:
NOTES [ON ]
NOTE [OFF]
ON

98

causes note mode to be set on

ISPF/PDF for MVS Program Reference

Edit (Option 2)
OFF

causes note mode to be set off

If no operand is entered, ON is assumed.

Note: You can set the note mode the way that you would normally
want the MODEL command to work, and then use the NOTE or NONOTE
operand on the MODEL command to override the default mode for a
particular model.
General Reset (RESET Command)
The RESET command terminates the display of all message lines, note
lines, and other special lines (COLS, MASK, TABS, and BOUNDS), resets
line numbers to normal after they wen~ replaced with "==CHG>" or
u==ERR>" messages (refer to the CHANGE and SHIFT commands), blanks out
pending line commands, and redisplays all excluded lines. The RESET
command does not change any edit modes, or alter data. The command has
the following format:
RESET
RES

[LABEL] [COMMAND] [ERROR] [CHANGE] [SPECIAL] [EXCLUDED] [range]

The operands may be entered in any order. If no operands are specified,
RESET executes all the options with the exception of LABEL.
,
)

LABEL

(or LAB) indicates that labels should be cleared (undefined).

COMMAND (or COM) indicates that pending line commands should be
cleared.
ERROR

(or ERR) indicates that error flags (==ERR»

CHANGE

(or CHG) indicates that change flags (==CHG»
reset.

SPECIAL

(or SPE) indicates that special lines (flagged with (=PROF>,
=MASK>, =TABS>, =BNDS>, ==MSG>, or =NOTE= ) should be deleted.

should be reset.
should be

EXCLUDED (or X) indicates that excluded lines should be reset (set
non-excluded.)

range

specifies two labels. The labels identify the first and last
lines of a range of lines. The reset is limited to this range
of lines. This operand can be coded with any other operand on
the command.

Note: RESET scans every line of data for conditions to be reset.
Using the D line command to delete one or more special lines may
result in faster response time.

)
'.

"

Chapter 6. Edit (Option 2)

99

g~.s:~yery

Control (RECOVERY Command)
When edit is operating in recovery mode, ~n audit trail of user
interactions is automatically recorded in an application-dependent data
set. Following a system failure, using the same application-ID in which
recovery was initiated, you can use the audit trail to replay the edit
session.
You can control how many data sets can be recovered with the edit
recovery table, a system data set that contains entries for each level
of nested editing sessions that can be recovered. For further
information about the use of edit recovery tables, see ISPF and ISPF/PDF
for MVS Installation and Customization.
When you select edit from the primary option menu, edit displays a
special panel indicating that recovery is available (Figure 32). As
directed on the panel, you can proceed with recovery, cancel recovery,
defer recovery until the next edit session, or enter the END command to
return to the primary option menu. If you proceed with, defer, or
cancel recovery and you have other data sets that have been recovered,
the recovery panel will be redisplayed for each data set.

Note: Recursive Edit cannot be invoked while you are in Edit
Recovery.
The RECOVERY command controls recovery mode.
following format:
RECOVERY
RECOVER
RECOVRY
RECVRY
RECOV
RECVR
REC

The command has the

[ON ]
[OFF]

If you omit the operand, ON is assumed.
Operating with recovery mode off eliminates the I/O operations that
maintain the recovery data set and may therefore result in improved
response time. If recovery mode is on, the first change to the data
causes a checkpoint of the data to be written. This may increase
response time for the interaction, especially if a large member or
sequential data set is being edited.

100

ISPF/PDF for MVS Program Reference

I

\

Ed it (Option 2)

---------------------------COHHAND ===>

EDIT - RECOVERY

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

*****************************************
EDIT AUTOMATIC RECOVERY

*****************************************
The following data set was being edited when a system failure or
task abend occurred:
Data set: SPFDEMO.SAMPLE.ASM
Volume:
IS423
Instructions:
Press the ENTER key to continue editing the data set, or
Enter END command to return to the primary option menu, or
Enter DEFER command to defer recovery of the specified data set, or
Enter CANCEL command to cancel recovery of the data set
To continue editing a password protected data set, specify:
DATA SET PASSWORD ===>

Figure 32.

Edit - Recovery Panel

Macro-Handling Commands

To assist you in using the edit macro facility with the PDF editor, the
IMACRO, RMACRO, DEFINE, and BUILTIN command~ are provided.
Specifying an Initial Macro (IMACRO Command)
The IMACRO command saves the name of an initial macro in the edit
profile. It has the following format:
IMACRO

[name]
[NONE]

name

is the name of the macro to be executed at the beginning of
each edit session.

NONE

indicates that no macro is to be executed at the beginning of
each edit session.

Chapter 6. Edit (Option 2)

101

Examples of the IMACRO command are:
IMACRO STARTUP - to define STARTUP as the initial macro.
IMACRO NONE
- to reset the profile with no initial macro.
Once specified, the initial macro is executed at the beginning of each
edit session that uses the profile unless it is overridden by an initial
macro entered on the edit data set panel. You can enter NONE on the
edit data set panel to suppress execution of the initial macro defined
in the profile.

Notes:
1.

If the current profile is locked, the IMACRO command cannot be
executed.

2.

An initial macro can be used to set up your edit environment if you
want to default to values other than those automatically set up by
edit. For example, if you want CAPS ON, regardless of whether data
contains lowercase data, create an initial macro with a CAPS ON
command. Edit will first read the profile and the data and then set
the caps mode to correspond to the data. Finally it will execute
the initial macro, which will override the caps mode as set by edit.

Examples of commands that may be useful in an initial macro, either
unconditionally or for new members (members with zero lines):
CAPS
NUMBER
PACK
STATS
RESET
VERSION
LEVEL

-

force caps mode on or off
force number mode off
force pack mode on or off
force stats mode on or off
reset unwanted information me'ssages
set version number
set or increment modification level

(
\

Specifying a Recovery Macro (RMACRO Command)
The RMACRO command saves the name of a recovery macro in the edit
profile. The recovery macro is executed, like an initial macro, at edit
recovery time, after data has been processed by edit recovery, but
before being displayed for subsequent editing. The name of the recovery
macro is associated with the current edit session. The RMACRO command
has the following format:
RMACRO
name

[name]
[NONE]
is the name of the recovery macro to be executed. The name
may be preceded by an exclamation point (!) to indicate that
it is a program macro.

(
102

ISPF/PDF for MVS Program Reference

Edit (Option 2)
NONE

indicates that no recovery macro is to be executed.

Examples of the RMACRO command are:
RMACRO RESTART - to define RESTART as the recovery macro.
RMACRO NONE
- to reset the profile with no recovery macro.
Note: If the current profile is locked, the RMACRO command cannot be
executed.

Define a Name (DEFINE Command)
The DEFINE
cancel the
identified
name, or a

command is used to identify a command name to edit, or to
effect of a previous DEFINE command. A command name is
as a CLIST or program macro, an alias of another command
NOP.

DEFINE name
DEF

name

{CMD MACRO }
{PGM MACRO }
{ALIAS name2}
{NOP
}
{RESET
}

is the user invocation name.

CMD MACRO identifies 'name' as a command language macro, which is to
be invoked by the SELECT CMD service. May also be specified
as MACRO C:tv1D or MACRO.
PGM MACRO identifies 'name' as a program (load module) macro, which
is to be invoked by the SELECT PGM service. May also be
specified as MACRO PGM.
ALIAS name2 identifies 'name' as an alias of 'name2' with the same
characteristics

NOP

identifies 'name' as a NOP. When 'name' is invoked, nothing
is executed. Any aliases are set to NOP, also.

RESET

resets the most recent definition of 'name' to the status in
effect prior to that definition. The reset becomes a NOP if
'name' is currently NOP.

Examples of the DEFINE command are:

)

DEFINE IJKDOIT MACRO
- Define the name
DEFINE DOlT ALIAS IJKDOIT - Define the name
macro IKJDOIT.
- Define the name
DEFINE SAVE NOP
DEFINE SETITUP PGM MACRO - Define the name
macro.

IKJDOIT as a CLIST macro.
DOlT as an alias of the
SAVE to have no effect.
SETITUP to be a program

Chapter 6. Edit (Option 2)

103

DEFINE FINDIT }-lACRO CHD
DEFINE SAVE RESET

- Define the name FINDIT to be a CLIST
macro.
- Reset the definition of the name SAVE.

Execute a Buil t-,i.n Command (BUILTIN Command)
The BUILTIN command is used to execute a built-in edit command, even
though a macro with the same name may have been defined.
For example, a DEFINE MACEND ALIAS END could be issued so that when an
END command is processed by edit, the user-defined HACEND macro is
executed. In order to execute the built-in END command, you should
'issue the command BUILTIN END to actually terminate edit.
BUILTIN cmdname
cmdname

is the built-in command to be executed.

Examples of the BUILTIN command are:
- to execute the built-in END command.
BUILTIN END
BUILTIN CHANGE ALL " " "_" - to execute the built-in CHANGE command.
Locating Lines (LOCATE Command)

The LOCATE command performs up or down scrolling, as required, to a
specified line. There are two forms of the LOCATE command.
The first form is a specific locate, used to position to a particular
line. Either a line number or a label may be specified. This form has
the following format:
LOCATE
LOC

label
line-number

L

label

causes a scroll to the line with the specified label. An
error message is displayed if the label is not currently
assigned.

line-number causes a scroll to the line with the specified line number.
If the data is sequence numbered, and the sequence number does
not exist, the preceding line is displayed at the top of the
data area.

The line-number operand is a numeric value of up to eight digits
(leading zeros need not be entered). If the operand contains six or
fewer digits, it refers to the number in the line command field,
displayed at the left of each line. (For numbered data, this field
refers to the sequence numbers in the data records. For unnumbered

104

ISPF/PDF for MVS Program Reference

(

Edit (Option 2)

data, these fields contain line numbers relative to the beginning of the
data.) If the line-number operand contains eight digits, it refers
directly to the sequence numbers in the data records, including the
"modification flag" for ISPF libraries (see "Sequenc.e Number Format").
The second form of the LOCATE command is a generic locate. It is used
to position to the first, last, next, or previous occurrence of a
particular type of line. This form has the following format:
LOCATE [NEXT] [LABEL
LOC
[PREV] [COMMAND
L
[FIRST] [ERROR
[LAST ] [ CHANGE
[SPECIAL ]
[EXCLUDED]

[range]

The operands may be entered in any order.
NEXT

to search from the cursor line, proceeding forward.

PREY

to search from the cursor line, proceeding backward.

FIRST

to search from the first line, proceeding forward.

LAST

to search from the last line, proceeding backward.

LABEL

(or LAB) to search for a line

\~ith

a label.

COMMAND (or COM) to search for a line wi.th a pending line command.
ERROR

(or ERR) to search for a line with a error flag (==ERR».

CHANGE

(or CHG) to search for a line with a change flag (==CHG».

SPECIAL

(or SPE) to search for a special line (with ==PROF>, =HASK>,
=TABS>, =BNDS>, ==MSG>, or =NOTE= )

EXCLUDED (or X) to search for an excluded line.

range

two labels which define the range of lines to be

searched~

Examples of the LOCATE command are:
LOCATE SPE
- Locate the
- Locate the
L ERR FIRST
LOC NEXT LABEL - Locate the
LX . START .END - Locate the
.END
L FIRST .E .S X - Locate the

next line with a special label.
first line labeled with ==ERR>.
next line with a label.
next excluded line between . START and
first excluded line between .S and .E

)
Chapter 6. Edit (Option 2)

105

Finding, Changing, and Excluding Data

The FIND, CHANGE, and EXCLUDE commands, described in this section, allow
you to find a specified character string, to change one character string
to another, or to exclude lines on which a specified character string is
found. While these commands provide powerful editing functions, they
operate on a complete file rather than on a single data or text line.
Therefore, you enter them in the command field on line 2 of the display
rather than in the line coMmand area.
Since these commands are generally used together (to find a character
string, and then change it to another string or exclude it from the
display), they are discussed together. The three commands allow special
forms of character strings and several optional parameters that control:
•

The starting point and direction of search

•

Special conditions that define a character string "match"

•

Range and column limitations and the extent of the search

3

Labeling of a

define~

line range

The following command summary describes the basic forms of FIND, CHANGE,
and EXCLUDE, which are most frequently needed. The remainder of this
section provides detailed information about the various special features
and options.
Command Summary
The basic format for the FIND, CHANGE, and EXCLUDE commands is shown
below. Refer to the following section for a discussion of the complete
commands.
FIND

string-1

[ALL]

F

CHANGE
CHG
CHA

string-1

string-2

[ALL]

C

EXCLUDE
EX

string-1

~ALL]

X

If you omit the ALL operand, the FIND, CHANGE, or EXCLUDE command
searches for the next occurrence of string-1 starting at the current
cursor location. (If the cursor is not in the data area of the screen,
scanning starts at the beginning of the first line that is currently
being displayed.) Scrolling is performed, if necessary~ to bring the
string into view. The cursor is positioned under the string (for a
CHANGE command, it is positioned at the end of the changed string) and a
106

ISPF/PDF for MVS Program Reference

/
~

Edit (Option 2)

verification message is displayed in the upper right corner of the
screen. Use the RFIND PF key to find or exclude each successive
occurrence of the string specified in the last FIND, CHANGE, or EXCLUDE
command. Use the RCHANGE PF key to change successive occurrences of the
string specified in the last CHANGE command.
If you specify a one-byte hex string as the FIND string and the string
is found at the second byte of a DBCS character, hardware sets the
cursor to the first byte of the character. If you then request RFIND,
the same data will be found again. To find the next occurrence of the
string, you must move the cursor to the next character position before
requesting RFIND.

Note:

If you type RF!ND or RCHANGE on the command line (rather
than using the PF keys), you must position the cursor to the
desired starting location before pressing the ENTER key.
If the string is not found between the current cursor location and the
end of data, a "BOTTO~l OF DATA REACHED" message is displayed and the
audible alarm (if installed) is sounded. Use the RFIND or RCHANGE PF
key to wrap to the top of data and continue searching. If the string is
not found anywhere in the data, a "NO string-l FOUND" message is
displayed.

\

If you enter the ALL operand, the FIND, CHANGE, or EXCLUDE command
searches for all occurrences of string-I, starting at the top of the
data, and positions the cursor at the first occurrence. The
second-level verification message (issued when you enter the HELP
command in response to the short verification message) indicates the
number of occurrences found. For a CHANGE command, each line on which a
change occurred is indicated with a "==CHG>" message in the line number
field.
You can separate the operands by blanks or commas. The ALL operand is
optional, and may precede or follow the other operands.
Generally, you enter the strings without delimiters; for example, you
might enter:
FIND XYZ
CHANGE ALL
EX ALL QRST

ABC

IJKL

to find the next occurrence of XYZ, to change all occurrences of ABC to
IJKL, or to exclude all lines containing the string QRST.
You must use delimiters if a string contains imbedded blanks or commas,
or if a string is the same as a command keyword. You delimit strings
with either apostrophes (') or quotation marks ("). For example, you
might enter:
FIND 'everyone'
CHANGE 'everyone' 'all'
EXCLUDE 'no one'
Chapter 6. Edit (Option 2)

107

to find the next occurrence of "everyone", to change the next
occurrence of "everyone" to "all", or to exclude the next occurrence of
I
no one I .

Note: You cannot use FIND to locate a string containing the
command delimiter character, even by using string delimiters.
If the two strings specified in a CHANGE command are not the same
length, automatic shifting is performed by adding or deleting blank
characters to the right of the substitution. In no case is data lost.
If insufficient blanks exist for right-shifting, the original string
remains unchanged. This condition is indicated with a u==ERR>" message
in the line number field.
Following a CHANGE command, you can reset the ==CHG> and ==ERR> line
messages to normal by using the RESET command, or overtyping the line
number or data on those lines.
If you are editing a data set containing both EBCDIC and UBCS data, you
should note the following rules when using the CHANGE command:
The SO and SI characters that delimit the string are used as part of
the string only if necessary. If you specify replacement of an
EBCDIC string with a DBCS string, they are used. If you specify
replacement of a UBGS string with another DBCS string, they are not
used.

•

If you specify that an SO or SI character be changed to another
character, the result is unpredictable.

•

If you specify a string that causes a subfield length of zero and
the BNDS boundary falls between the SO and 81 characters, the
adjacent SO/SI or SI/SO character strings are replaced with a UBCS
blank. If the BNDS boundary does not fall between the SO and SI
characters, the adjacent SO/SI or SI/SO characters are removed.

•

If the lengths of the two strings specified in the CHANGE command
are different, the following occurs:
If string-1 is shorter than string-2, the data to the right of
string-l is shifted to the left up to some breakpoint.
Breakpoints include the border between an EBCDIC subfield and a
DBCS subfield, a double or single blank, or the right BNDS
boundary.
If string-1 is longer than string-2, any blanks in the record to
the right of string-l are used to make room. When blanks in a
DBCS subfield are used, they are used in units of two bytes.

•

108

If a DBCS subfield crosses the right BNDS boundary, the CHANGE
command might cause an odd-length DBCS subfield. If this happens,
the right BNDS boundary is ignored, and the operation takes place.

ISPF/PDF for MVS Program Reference

I

\

Ed it (Option 2)

You can use the RFIND and RCHANGE PF keys together to find each
occurrence of a character string, examine it, and then either change it
(by pressing the RCHANGE PF key), or go on to the next occurrence (by
pressing the RFIND PF key). To do this, type a CHANGE command on line 2
but then, rather than pressing the ENTER key, press the RFIND PF key.
This will position the cursor to string-l without changing it. Then
press the RCHANGE PF key (to change it to string-2) or RFIND PF key (to
get to the next occurrence of string-I).
You can also use the FIND and CHANGE commands with the X (exclude) line
command to display only those lines that have been found or changed.
For example, enter "X99999" in the line command area of the first
displayed line to exclude all the lines from the display (see "Excluding
Lines" in the section on "Line Commands and Functions"). Then enter a
FIND or CHANGE command, such as:
FIND ALL XYZ
All lines containing the character string "XYZ" will "pop out" from the
group of excluded lines.
Figu~e

Ii'I
J

f

33 shows a before-and-after example of the CHANGE command.

EDIT --- SPFDEHO.XXX.COBOL(CBLHAIN) - 01.01 ----------------- COLUHNS 007 078
COHHAND ===> CHG NUHERIC NUHERIC-INT ALL
SCROLL ===> HALF
003300
DATA RECORD IS O-C.
003400 01 O-C.
003500
02 DUHHY
PICTURE X(80).
003600 WORKING-STORAGE SECTION.
003700
77 OP-SUB
PICTURE S99 COHPUTATIONAL VALUE O.
003800
77 PREV-DEVICE-TYPE-CODE
PICTURE X VALUE 'I'.
003900
77 PREV-ACTV-CODE
PICTURE 9 VALUE O.
004000
77 PREV-PROB-CODE
PICTURE 9 VALUE O.
004100
77 C-SWITCH
PICTURE X VALUE '0'.
004200
77 PREV-SYSTEH-CODE PICTURE X VALUE SPACE.
004300
77 GSA-REF PICTURE XX.
004400
77 UNIT-PRICE-NUHERIC PICTURE S9(8)V99.
004500
77 BHL-NUHERIC
PICTURE S9(8)V99.
004600
77 PREV-HODEL
PICTURE X(5) VALUE '0'.
004700
77 PG-COUNT
PICTURE 999 VALUE O.
004800
77 PERIOD
PICTURE 99 VALUE O.
004900
77 PL-TOTAL-PRICE-NUHERIC PICTURE S9(8)V99 VALUE O.
005000
77 PL-TOTAL-BMR-NUMERIC PICTURE S9(8)V99 VALUE O.
005100
77 PL-MAINT-REQ-NUH PICTURE S9(4)V99 VALUE O.
005300
77 HEADING-SW
PICTURE 9 VALUE 1.
005400
77 PREV-DEVICE
PICTURE X(6) VALUE SPACES.
005500
77 PREV-RPQ-FEATURE PICTURE X(10) VALUE SPACES.
Figure 33 (Part 1 of 2).

Edit - CHANGE ALL Command Example

Chapter 6. Edit (Option 2)

109

EDIT --- SPFDEt-iO.XXX.COBOL(CBLNAIN) - 01.01 ----------- CHARS 'NU~1ERIC' CHANGED
CONHAND ===>
SCROLL ===> HALF
003300
DATA RECORD IS O-C.
003400 01 O-C.
003500
02 DUNHY
PICTURE X(80).
003600 WORKING-STORAGE SECTION.
003700
77 OP-SUB
PICTURE S99 COHPUTATIONAL VALUE O.
003800
PICTURE X VALUE 'I' .
77 PREV-DEVICE-TYPE-CODE
003900
PICTURE 9 VALUE O.
77 PREV-ACTV-CODE
004000
PICTURE 9 VALUE O.
77 PREV-PROB-CODE
PICTURE X VALUE '0' .
004100
77 C-S\~ITCH
004200
77 PREV-SYSTEM-CODE PICTURE X VALUE SPACE.
004300
77 GSA-REF PICTURE XX.
==CHG>
77 UNIT-PRICE-NUHERIC-INT_PICTURE S9(8)V99.
==CHG>
77 BML-NUMERIC-INT PICTURE S9(8)V99.
004600
PICTURE X(5) VALUE '0'.
77 PREV-HODEL
004700
77 PG-COUNT
PICTURE 999 VALUE O.
004800
77 PERIOD
PICTURE 99 VALUE O.
==CHG>
77 PL-TOTAL-PRICE-NUHERIC-INT PICTURE S9(8)V99 VALUE O.
==CHG>
77 PL-TOTAL-B~IR-NU~1ERIC-INT PICTURE S9 (8)V99 VALUE O.
005100
77 PL-HAINT-REQ-NUM PICTURE S9(4)V99 VALUE O.
005300
PICTURE 9 VALUE 1.
77 HEADING-SW
005400
PICTURE X(6) VALUE SPACES.
77 PREV-DEVICE
005500
77 PREV-RPQ-FEATURE PICTURE X(10) VALUE SPACES.

(
\

Figure 33 (Part 2 of 2).

Edit - CHANGE ALL Command Example

\,

All occurrences of the character string NUHERIC are replaced with the
string NUHERIC-INT. The cursor is repositioned to the end of the first
occurrence, and a ==CHG> message is displayed at the beginning of each
changed line.
Detailed Command Description
The complete formats for FIND, CHANGE, and EXCLUDE, showing all optional
parameters, are:
FIND
F

CHANGE
CHG
CHA
C

110

string-1 [range] [NEXT]
[ALL ]
[FIRST]
[LAST ]
[PREV ]

[CHARS] [X ][col-1 [col-2]]
[PREFIX] [NX]
[SUFFIX] [EX]
[WORD ]

string-1 string-2 [range] [NEXT ]
[ALL ]
[FIRST]
[LAST ]
[PREV ]

ISPF/PDF for MVS Program Reference

[CHARS ] [X ] [col-1 [col-2]]
[PREFIX] [NX]
[SUFFIX]
[WORD ]

(

Edit (Option 2)

EXCLUDE string-1
EXCLUDED
EXC
EX
X

[range] [NEXT]
[ALL ]
[FIRST]
[LAST ]
[PREV ]

[CHARS] [X ] [col-1 [col-2]]
[PREFIX] [NX]
[SUFFIX]
[WORD ]

Note that FIND as an edit command (shown here) has the same format as
FIND as a browse command, except for the addition of the optional X/NX
parameter and the optional line range parameter.
In the FIND, CHANGE, and EXCLUDE commands, PREFIX, SUFFIX, and CHARS may
be abbreviated PRE, SUF, and CHAR, respectively.
You can separate the operands with blanks or commas, and type them in
any order except that string-2 must follow string-1, and col-2 (if
typed) must follow col-1. The string-1 operand is required, as is the
string-2 operand for the CHANGE command; the others are optional.
The string-1 operand specifies the characters to be found. The default
is to disregard uppercase and lowercase when searching. Refer to "Use
of Text Strings" for additional information. It may also be specified
in anyone of the following forms. With the exception of the character
(C) string, differences between uppercase and lowercase strings are
ignored. For example, FIND 'CONDITION NO. l' would successfully find
any of the following:
CONDITION NO. 1

Condition No. 1

condition no. 1

coNDitION nO. 1

Within the string itself, alphabetics may be typed in uppercase or
lowercase (even if caps mode is off). For example, all the following
have the same effect:
FIND 'Edit Commands'

FIND 'EDIT COMMANDS'

FIND 'edit commands'

•

A simple string: Any series of characters not starting or ending
with an apostrophe or quotation mark, and not containing any
imbedded blanks or commas.

•

A delimited string: Any string starting and ending with an
apostrophe (') but not containing imbedded apostrophes, or starting
and ending with a quotation mark (") but not containing imbedded
quotation. marks.

•

A hexadecimal string: Any delimited string of valid hexadecimal
characters, preceded or followed by the character X. Example:
X'C27B'

•

A character string: Any delimited string of characters, prec~ded or
followed by the character C. Example: C'THIS WORD' See the
discussion under "Use of Character Strings."

)
Chapter 6. Edit (Option 2)

111

•

A picture string: Any delimited string of picture characters,
preceded or followed by the character P. Example: P'.' See the
discussion under "Use of Picture Strings."

•

A single asterisk (*). This causes the value that was used as
string-I in either a previous FIND, CHANGE, or EXCLUDE command to be
used again.

To find, change~ or exclude lines that begin with a direction keyword,
you must include the direction keyword, and begin the string with either
apostrophes or quotation marks. For example:
EXCLUDE LAST "LAST BUT NOT LEAST"

Note:

To find a keyword such as NEXT or ALL, place the keyword
in quotation marks.

The string-2 operand is required for the CHANGE command to specify the
new value of the string. The rules for coding string-2 are the same as
for string-I, except that:

•

You cannot specify a text string for string-2.

•

If you enter a single asterisk, the previous value of string-2 that
was used in a CHANGE command is used again.

•

If a picture string is specified for string-2, it must be exactly
the same length as string-I and can only contain the special
characters '=', '>', and '<'.

You can define string-I and string-2 to be EBCDIC, DBCS, and mixed
stri.ngs in any combi.nation. If you delimit a DBCS search string
(string-I) with SO and S1 characters, the SO and S1 characters are not
used as part of the string. If you specify a mixed string that contains
no EBCDIC character, the string is treated as a DBCS string; that is,
the SO and SI characters are not used as part of the string.
The previous value of a character string (indicated by an asterisk or by
use of the RFIND or RCHANGE PF keys) is retained until you end your
editing session (i.e., until you return to the primary option menu).
Starting Point, Direction, and Extent of Search
You can control the starting point, direction, and extent of the search
by using one of the following operands:
NEXT

ALL
FIRST

112

The scan starts at the current cursor location and proceeds
forward to find the next occurrence of string-I. This is the
default operand.
The scan starts at the top of the data and proceeds forward to
find all occurrences of string-I.
The scan starts' at the top of the data and proceeds forward to
find the first occurrence of string-I.

ISPF/PDF for MVS Program Reference

(
I

\

Edit (Option 2)

LAST
PREY

The scan starts at the bottom of the data and proceeds
backwards to find the last occurrence of string-I.
The scan starts at the current cursor location and proceeds
backwards to find the previous occurrence of string-I.

If the direction of the search is forward (i.e, if FIRST, ALL, or NEXT
is specified), pressing the RFIND or RCHANGE PF key finds or changes the
next occurrence of the designated string. If the direction of the
search is backward (if LAST or PREV was specified), pressing these PF
keys finds or changes the previous occurrence of the string. The other
optional parameters (CHARS, WORD, PREFIX, SUFFIX, X, NX, and col-I,
col-2) remain in effect, as specified in the last FIND or CHANGE
command.
The search proceeds until one or all occurrences of string-l are found,
or until the end of data is encountered. If string-l is not found, one
of the following actions takes place.
•

For FIRST, LAST, or ALL - a uNO string-l FOUND" message is displayed
in the upper right corner of the screen.

•

For NEXT - a "BOTTOH OF DATA REACHED" message is displayed.

•

For PREV - a "TOP OF DATA REACHED" message is displayed.

When "BOTTON OF DATA REACHED u or uTOP OF DATA REACHED" is displayed, you
can press the RFIND PF key (for either FIND or CHANGE) or the RCHANGE PF
key (for CHANGE) to continue searching by wrapping to the top (or
bottom) of the data. If no occurrence is found anywhere in the data, a
"NO string-l FOUND u message is displayed.
Conditions for Character String Match
The operands CHARS, PREFIX, SUFFIX, and WORD control the conditions for
a successful "match" with string-l based on whether the data string
begins and/or ends with a nonalphameric character (i.e., a special
character or blank).
In the following illustration, the underscored strings would be found,
and the non-underscored strings would be ignored.
CHARS C'DO'

DO

DONT

ADO

ADOPT

'DO'

+ADO

(DONT)

ADO-

PREFIX C'DO'

DO

DONT

ADO

ADOPT

'DO'

+ADO

(DONT)

ADO-

SUFFIX C'DO'

DO

DONT

ADO

ADOPT

'DO'

+ADO

(DONT)

ADO-

WORD C'DO'

DO

DONT

ADO

ADOPT

'DO'

+ADO

(DONT)

ADO-

If you do not specify an operand, the default is CHARS.

)
Chapter 6. Edit (Option 2)

113

If you specify a mixed string or a DBCS string for the FIND command in
conjunction with the PREFIX, SUFFIX, or WORD operand, only the following
strings are found:

•

PREFIX - A DBCS string preceded by an SO character, a DBCS blank
character, or an attribute character of formatted data editing.

•

SUFFIX - A DBCS string followed by an SI character, a DBCS blank
character, or an attribute character of formatted data editing.

•

- A DBCS string that satisfies both the PREFIX and the SUFFIX
WORD
conditions.

Use of Text Strings
Text strings are processed exactly the same as delimited strings. They
are provided for compatibility with prior versions of the product.
Use of Character Strings
A character string, which may be used as string-1 in a FIND, CHANGE, or
EXCLUDE command, requires that the search be satisfied by an exact
character-by-character match. Lowercase alphabetic characters match
only with lowercase alphabetic characters and uppercase alphabetic
characters match only with uppercase.
For example, FIND C'XYZ' would find the characters XYZ only if they were
in uppercase. FIND C'xyz' would find the characters xyz only if they
were in lowercase.
If you specify a text string that contains any SO or SI characters, the
string is considered a character string.
Use of Picture Strings for String-1
A picture string used as string-1 in a FIND, CHANGE, or EXCLUDE command
allows the user to search for a particular type of character, without
regard for the specific character involved. You can use special
characters within the picture string to represent the type of character
to be found, as follows:

114

ISPF/PDF for MVS Program Reference

(
\

Edit (Option 2)

STRING

MEANING

p'='

any
any
any
any
any
any
any
any
any

p'~'

p' . '
p'#'

p'_'
p'@'
p'<'
p'>'
P'$'

character (don't care)
nonblank character
nondisplayable (invalid) character
numeric character (0-9)
non-numeric character
alphabetic character (upper or lowercase)
lowercase alphabetic character
uppercase alphabetic character
special character (not alphabetic or numeric)

If an APL or TEXT keyboard is being used, the following additional
character may be used in a picture string:

p'm'

any APL-specific or TEXT-specific character

Only the special characters listed above are valid within a picture
string, but the string may include alphabetic or numeric characters,
which represent themselves.
A DBCS subfield cannot be specified as the subject of a picture string
for the FIND operation.
Examples of picture strings:

p'###'
p'~

~,

p'. '
p' #'

P'#AB'

a string of three numeric characters
any two nonblank characters separated by a blank
any nondisplayable character
a blank followed by a numeric character
a numeric character followed by 'AB'

-

Examples of FIND and CHANGE commands using picture strings:
FIND P'.'
FIND p'~' 72
CALL p'=' , , 73 80
F

p'~'

1

When you use
character is
confirmation
screen. For

- Find next nondisplayable character
- Find next nonblank character
in column 72
- Change any characters in columns
73-80 to blanks
Find the next line with a blank in
column 1 followed by a nonblank

the special characters '=' or t.', and a nondisplayable
found, a hexadecimal representation is used in the
message that appears in the upper right corner of the
example:

FIND P' .. '
could result in the message "CHARS X'0205' FOUND".

Chapter 6. Edit (Option 2)

115

Use of Picture Strings for String-2
In a CHANGE command, string-2 may be a picture string with the following
rules and restrictions:
•

The length of string-2 must be the same as the length of string-I.

•

The only valid special

character~

are '='

STRING

HEANING

'='

'from' character to be unchanged
if 'from' character is lowercase
changed to uppercase; otherwise,
if 'from' character is uppercase
changed to lowercase; otherwise,

'>'
'<'

I>', and ' COPY

000100
000200
000300
000400

IDENTIFICATION DIVISION.
PROGRA~l- ID .
SHPLCBL AUTHOR. JOE BLOW.

- 01.01 ---------------- COLUMNS 007 078
SCROLL ==> HALF

SA~lPLE

CBL PROGRAM.

ENVIRONMENT DIVISION.
000600
000700 DATA DIVISION.
000800
FILE SECTION.
000900
FD SYSPRINT
001000
LABEL RECORD I S O~nTTED
001100
DATA RECORD IS PRINT-LINE.
001200
01 PRINT-LINE.
001300
02 LINE-FIELD
PICTURE X(121).
001400
WORKING-STORAGE SECTION.
001500
01 PRINT-VALUE
PICTURE X(121)
001600
VALUE ' PRINT LINE PRODUCED BY SAMPL
001700 'E CBL PROGRAM. ' .
001800
001900 PROCEDURE DIVISION.
002000
BEGIN.

A

Figure 34 (Part 1 of 2).

Edit - COpy Command Example

Chapter 6. Edit (Option 2)

119

--------------------------- EDIT - COpy ------------------------------------COHHAND ===>
"CURRENT" DATA SET: SPFDEMO.XXX.COBOL(CBLCODE1)
FROM ISPF LIBRARY:
PROJECT ===> MASTER
GROUP
===> OLD
TYPE
===> COBOL
HEHBER ===> ENVD

===>

===>

===>

FROM OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAHE ===>
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PASSWORD

===>

(If password protected)

LINE NUNBERS (BLANK FOR ENTIRE ME~1BER OR SEQUENTIAL DATA SET):
FIRST LINE
===> 1000
LAST LINE
===> 2300
NUNBER TYPE
===> COBOL
(STANDARD, COBOL, or RELATIVE)
Press the ENTER key to copy.
Enter END command to cancel copy.

(
Figure 34 (Part 2 of 2).

Edit - COpy Command Example

Segmenting Data (CREATE and REPLACE Commands)
Use the CREATE and REPLACE primary commands to specify a data set to be
written from the data being edited. Use CREATE only to specify a member
of a partitioned data set. CREATE adds the member providing a member of
the same name does not already exist in the data set. REPLACE adds or
replaces a member in a partitioned data set or rewrites an entire
sequential data set. The commands are of the form:
CREATE
CRE
REPLACE
REPL
REP

[member-name] [line-range]
[member-name] [line-range]

If you enter the member-name opera~d, the member is written in the data
set currently being edited. (For a concatenated sequence of libraries,
the member is always written in the first library of the concatenation
sequence.) If you omit the member-name, you must specify the source
120

ISPF/PDF for HVS Program Reference

t

~

Edit (Option 2)

with an M (move) or C (copy) line command or specify a line range with a
pair of line labels. Then a panel is displayed to allow you to specify
any partitioned data set member or sequential data set as the
destination of the operation.
Specify the source of the operation by the C (copy) or M (move) line
commands. Use the block form -- CC or MM -- to specify the first and
last lines. If you use the M or MM line command, the lines are deleted
from the data being edited following a successful write operation. Use
the form "Cn" or "Mn", where "n" is a large number, on the first data
line to copy or move all the data.
Figure 35 shows an example of the REPLACE command. Member CBLCODE1 is
being edited in data set SPFDEMO.XXX.COBOL. Lines 800 through 1700 are
to be moved, as indicated by the "MMIt commands. The entire contents of
data set TEMP. SAVE are to be replaced with lines 800 through 1700.
Note: The data that is written to the destination data set is
renumbered if both number mode and autonum mode are in effect. A
source listing of the data is also recorded in the ISPF list file
for eventual printing, provided autolist mode is in effect.

EDIT --- SPFDEMO.XXX.COBOL(CBLCODE1) - 01.01 ---------------- COLUMNS 007 078
SCROLL ===> HALF
COMHAND ===> REPLACE
000560
SELECT SYSPRINT
000570
ASSIGN TO UT-S-PRINT.
000600
000700 DATA DIVISION.
MM
FILE SECTION.
000900
FD SYSPRINT
001000
LABEL RECORD IS OMITTED
001100
DATA RECORD IS PRINT-LINE.
001200
01 PRINT-LINE.
001300
02 LINE-FIELD
PICTURE X(121).
001400
WORKING-STORAGE SECTION.
001500
01 PRINT-VALUE
PICTURE X(121)
VALUE I PRINT LINE PRODUCED BY SAMPL
001600
IE CBL PROGRAM. I .
HM
001800
001900 PROCEDURE DIVISION.
002000
BEGIN.
002100
OPEN OUTPUT SYSPRINT.
002200
WRITE PRINT-LINE FROM PRINT-VALUE.
CLOSE SYSPRINT.
002300
STOP RUN.
002400
Figure 35 (Part 1 of 2).

Edit - REPLACE Command Example

Chapter 6. Edit (Option 2)

121

--------------------------------------------------------------------------,.--------------------------------- EDIT - REPLACE -------------------------------COHHAND ===>
"CURRENT" DATA SET: SPFDEHO.XXX.COBOL(CBLCODE1)
TO ISPF LIBRARY:
PROJECT ===> SPFDEHO
GROUP
===> XXX
TYPE
===> COBOL
HEHBER ===>
TO OTHER SEQUENTIAL DATA SET OR PARTITIONED DATA SET AND HEr-mER:
DATA SET NAHE ===> TEHP.SAVE
VOLUHE SERIAL ===>
(If not cataloged)
DATA SET PASS\vORD

===>

(If password protected)

Press the ENTER key to replace.
Enter END command to cancel replace.

;r
i

Figure 35 (Part 2 of 2).

\

Edit - REPLACE Command Example

Deleting Lines (DELETE Command)

The DELETE command removes (deletes) one or more lines from the
being edited.

dat~

There are two forms of the DELETE- command. The first form removes a
specific line or range of lines. This form has the following format:
DELETE ALL range
DEL
range

two labels that define the first and last lines to be deleted.

The second form of the DELETE command removes either excluded or
non-excluded lines. This form has the following format:
DELETE
DEL

{ALL X}
{ALL NX}

[range]

The operands may be entered in any order.
122

ISPF/PDF for MVS Program Reference

Edit (Option 2)

ALL X

indicates that only excluded lines are to be deleted.

ALL NX

indicates that only non-excluded lines are to be deleted.

range

two labels that define the first and last lines to be examined
for excluded or non-excluded lines.

If the range is omitted, the entire file is searched for either excluded
or non-excluded lines.
Note: The DELETE command can be used to "clean up" a large file
by excluding lines that meet some criterion, or by leaving all
lines that meet the criterion non-excluded. Then, with one
command you can delete a large number of lines.

For example, to delete all blank lines in a file, execute the
following commands:
RESET X
EXCLUDE ALL
DEL ALL NX

pr~'

- reset all excluded lines
- exclude lines containing non-blank characters
- delete the non-excluded (blank) li~es

or

\

)

EXCLUDE ALL
FIND ALL p"~"
DEL ALL X

- exclude all lines
- find all lines containing a non-blank character
- delete the remaining excluded (blank) lines

The EXCLUDE primary command, used to exclude lines, is described
elsewhere in this chapter. The X (Exclude) and S (Show) line commands
are described later in this chapter, under "Line Commands."
Sorting Data (SORT Command)

The SORT command orders data within the file that you are editing.
The SORT command operates in two different modes, based on the
hexadecimal mode status. If HEX is on, the data is ordered according to
its hexadecimal representation. If HEX is off, you are a national
language user, and your installation has defined a special collating
sequence table, the data is ordered according to the sequence specified
in the collating sequence table.
Sorting is limited to data within the current boundaries. Up to five
sort fields can. be specified by giving starting and ending columns, and
each field can be identified as having data sorted in either ascending
or descending order.
Optionally, sorting can be limited to a range of lines by specifying the
labels of the first and last lines of the range. Sorting can also be
limited to excluded lines, or to non-excluded lines.
The simplest form of the SORT command requires no operands.
Chapter 6. Edit (Option 2)

123

SORT
The data within the current boundaries is compared
character-by-character and then the data is ordered, line-by-line, in
ascending EBCDIC collating sequence. Data outside the current
boundaries is ignored, both in comparing the data, and in reordering it.
This makes it important to properly set the boundaries before issuing
the SORT command. It also makes the command a powerful tool in editing
data that may be formatted in multiple columns. You can set the
boundaries, for example, to the first half of a record, and you can sort
one column of data. Then you can set the boundaries to the last half of
the record, and you can sort a second column of data.
When sorting data which contains DBCS character strings, you must ensure
that no DBCS string crosses the BNDS boundaries. Also, all records must
have the same format at the boundaries, although the format of the left
and right boundaries may differ.
If a boundary divides a DBCS character, or if all records do not have
the same format at the boundaries, the result is unpredictable.
The complete format for the SORT command, showing all optional
parameters, is:
SORT

[range]

[X] [sort-field1 ... sort-fieldS]

[NX]

(

range
Two labels that define the first and last lines to be sorted.
you do not specify a range, the entire file will be sorted.

\

If

x
Sort only lines that are excluded
NX

Sort only lines that are not excluded
sort-field
Fields to be used in comparing data.
sort-fields as follows:
[~]

[start-col

You can specify up to five

end-col]

[D]

where "A" indicates ascending order, and "D" indicates descending
order. The "A" or "D" can either precede or follow the column
specification. "A" is assumed if neithe'r "A" nor ''.D'' is specified.
Start-col and end-col define the field that is to be compared.
Both must be within the current boundaries.
If several fields are specified, both the starting and ending
columns of each field must be specified, and the fields cannot

124

ISPF/PDF for MVS Program Reference

Edit (Option 2)

overlap. If "A" or "D" is specified for one field, it must be
specified for all fields.
The following special simple formats can be used:
SORT

The single sort field is ascending, with the start-column
being the left boundary, and the end-column being the right
boundary.

SORT D

The single sort field is descending with the start-column
being the left boundary, and the end-column being the right
boundary.

SORT 5

The single sort field is ascending with the start-column being
column 5, and the end-column being the right boundary.

SORT 5 D The single sort field is descending with the start-column
being column 5, and the end-column being the right boundary.

Recursive Editing (EDIT Command)

The EDIT command allows you to edit another member of the same data set,
or edit any other data set, without leaving your current edit session.
The EDIT command has the following format:
EDIT

[member]

member
is a member of the ISPF library or another partitioned data set
that you are currently editing.

If the member name is not entered, a panel is displayed. On this panel
you can specify any data set or member that can be edited.
Note: The current edit session is resumed when the nested edit session
is terminated.
Submitting to a Job Stream (SUBMIT Command)

You can use the SUBMIT command to submit the data being edited (the
entire member or sequential data set) to the background job stream.
command has the following format:

The

SUBMIT [range]
SUB
range

The labels of the first and last lines to be submitted.

Job submission is accomplished by invoking the TSO SUBMIT command.

Chapter 6. Edit (Option 2)

125

Note: PDF does not supply a job statement when the edit SUB~nT
command is invoked. You may supply job statements as part of the
data being submitted. When a job statement is supplied, only the
job name will be logged to the ISPF log data set to ensure the
protection of sensitive data.
Saving and Cancelling

Two commands allow you to preserve (save) the changes you've made
without ending your edit session, and to end (cancel) your edit session
without saving the changes you've made.
Saving Data (SAVE Command)
The SAVE command allows you to save edited data without ending your edit
session. Generally, use of the SAVE command is not necessary if
recovery mode is on. The. command has the following format:
SAVE
This command has no operands.
The SAVE command writes the data to the same data set from which it was
fetched, except when a concatenated sequence of partitioned data sets
has been specified. In this case, the data is saved in the first
library of the concatenation sequence, regardless of which library it
came from. For a sequential data set, the entire data set is rewritten.
For a partitioned data set, the member is rewritten with the same member
name, and the library statistics for the member are automatically
updated (provided stats mode is in effect).
The data is automatically renumbered prior to saving, provided both
number and autonum modes are in effect.
If SAVE cannot successfully rewrite the data because of I/O errors or
insufficient space, a message is displayed in the upper right corner of
the screen, accompanied by an audible alarm (if installed). You can
then attempt to save the data in another data set by taking the
following steps:
1.

Enter a CREATE or REPLACE command (with no operand) on the primary
command line. (Use CREATE only if the destination is a partitioned
data set.)

2.

Enter "C99999 u or u:t-199999 u on the first data line, indicating that
all lines are to be copied or moved. Then press the ENTER key.

3.

Fill in the data set (and member) name on the CREATE or REPLACE
panel, and press the ENTER key.

See the descriptions of the CREATE and REPLACE commands for further
information.

126

ISPF/PDF for MVS Program Reference

('
I

I

\;,

Edit (Option 2)

Alternatively, you can enter split screen mode and attempt to fix the
problem by using appropriate utilities, such as compress (for a
partitioned data set) or delete and reallocate (for a sequential data
set), and then retry the save from the edit display.
You normally terminate edit by entering the END or RETURN command, which
causes the following actions:
1.

A SAVE is issued if any changes have been made since the data was
last saved. (The above discussion of I/O errors also pertains to an
automatic SAVE when you enter the END or RETURN command.)

2.

If any saves have occurred, the data is recorded in the ISPF list
file (provided autolist mode is in effect).

3.

Editing is then terminated.
Note: The SAVE command does not cause automatic recording in the
ISPF list file, regardless of the setting of autolist mode.

Cancelling Changes

~\

(CANC~L

Command)

The CANCEL command allows you to end your edit session without saving
any of the changes you've made. This command is especially useful if
you've made changes to the wrong data, or if the changes themselves are
incorrect. If you have issued the SAVE command, and then issue the
CANCEL command, the changes that you made before issuing the SAVE
command are not cancelled. The command has the following format:
CANCEL
CAN
This command has no operands.
The CANCEL command does not cause automatic recording in the ISPF list
file, regardless of the setting of the autolist mode.
LINE COMMANDS AND FUNCTIONS

Line commands, used to edit data and text material, are entered by
overtyping the 6-digit number in the line command area on one or more
lines. The commands permit you to add or delete information, move,
repeat, and copy individual lines or blocks of lines, change the
inden"tation of lines, exclude or include lines in the display, and
display a position-identification line that helps to align material in
columns. In addition, a set of line commands (TE, TS, and TF) provide
you with additional assistance in preparing text data.

)

Single-character line commands operate on individual lines (e.g., D to
delete a line, I to insert a blank line, M to move a line).
Double-character line commands operate on blocks of lines (e.g., DD on
two lines to indicate the first and last lines to be deleted). In most
Chapter 6. Edit (Option 2)

127

cases, a number may follow the line command to indicate multiple
occurrences (e.g., 13 to insert three blank lines). You can type
several line commands as well as data modifications before you press the
ENTER key.
When you enter a line command or modify data and press the ENTER key,
edit frequently repositions the cursor to another line number or to
another location within the data. Edit attempts to anticipate the most
appropriate position for the cursor, based on your previous action. To
assist you in locating the cursor, edit intensifies the line number
field on the line that contains the cursor. Use the NEW LINE key to
move the cursor to the line command area of the next line. If the
cursor is in a line command area, use the TAB FORWARD key to space over
to the data field.
Rules for Entering Line Commands

The following rules apply to all edit line commands:

•

You can enter several line commands,' and make mUltiple data
modifications, before you press the ENTER key. Error messages are
displayed if the line commands are ambiguous. Since the line
commands are processed from top to bottom in the data set, it is
possible to have one error message appear that masks a later error
conditio~.
Only the first error condition encountered is displayed.
After you have corrected that error condition, processing can
continue and the next error condition (if any) can be displayed. If
you enter an erroneous or unwanted line command, you can undo it by
simply retyping it, blanking it out, or entering the RESET command.

•

Generally, you need to overtype only the first one or two characters
of the line number to enter a line command. In some cases, however,
typing a single character may be ambiguous. In the following
example, it is unclear whether the user has typed a single "R" to
repeat line 31700, or "R3" to repeat the line three times.
031600
R31700
031800
In such cases, edit assumes that you have not entered a number
following the line command. If you want to repeat the line three
times, you can use any of the following procedures:
1.

Leave the cursor on the character immediately following the
"R3":
R31700

2.

Type one or more blanks following the "R3":
R3 700

128

ISPF/PDF for MVS Program Reference

Edit (Option 2)

3.

Type one or more blanks following the "Rtf but before the number:
R 3700

4.
•

•

Type "R3" and press the ERASE EOF key to clear the rest of the
line command field, or press ERASE EOF and then type "R3".

You can enter the following line commands on the "TOP OF DATA" line
by overtyping the asterisks that appear in its line command field:
I or In

Insert one or n lines ahead of the data

A or An

Nove or copy one or n lines ahead of the data

TE or TEn

Enter one or n text lines ahead of the data

You can enter the following line command on the "BOTTOM OF DATA"
line by overtyping the asterisks:
B or Bn

Move or copy one or n lines following the data

Basic Line Commands

The following commands are described in this section:
\
)

I (Insert)
D (Delete)
R (Repeat)

M
C
A
B

Ulove)
(Copy)
(After)
(Before)

I (Insert) Command
To insert a line, enter the single character "I" in the l-ine command
area, overtyping the line number. When you press the ENTER key, the
editor inserts a new line immediately following the line containing the
"I". A number may follow the "I" to indicate that more than one line is
to be inserted. For example, "14" would cause four new lines to be
inserted. The command has the following format:
I
In

- Insert a line
- Insert "n" lines

If you enter any information on an inserted line (even a blank
character), the line becomes part of the source data and is assigned a
line number the next time you press the ENTER key. If you enter no
information on an inserted line, the line is automatically deleted the
next time you press the ENTER key. If you enter information on the last
(or only) inserted line and if the cursor is still in the data portion
of that line when you press the ENTER key, another new line is
automatically inserted following that line. This allows line after line
of data to be generated in a "continuous insert" mode.

Chapter 6. Edit (Option 2)

129

Figure 36 shows a before-and-after example of line insertion, in which
three new lines are inserted after line 800.

(
\

130

ISPF/PDF for MVS Program Reference

Edit (Option 2)

\

D (Delete) Command

/

To delete a line, enter the single character "D" in the line command
area, overtyping the line number. A number may follow the "D" to
indicate that more than one line is to be deleted. For example,
"D99999" causes all rema1n1ng lines to be deleted, starting with the
line containing the "D99999". The command has the following format:
D
Dn
DD

- Delete a line
- Delete "n" lines
- Delete a block of lines

To delete a block of lines, enter the double character "DD" in the line
command area of the first and last lines to be deleted. The first and
last line need not be on the same page; you can use scrolling between
entering the first "DD" and the second "DD".
Figure 36 shows a before-and-after example of line deletion, with line
1400 being deleted.

)

EDIT --- SPFDEMO.MYLIB.PLI(COINS) - 01.04 ------------------- COLUMNS 001 072
CO~lNAND ===>
SCROLL ===> HALF
****** *************************** TOP OF DATA ********************************
000100 COINS:
000200
PROCEDURE OPTIONS (MAIN);
000300
DECLARE
000400
COUNT
FIXED BINARY (31) AUTOMATIC INIT (1),
000500
HALVES
FIXED BINARY (31),
000600
QUARTERS FIXED BINARY (31),
000700
DIMES
FIXED BINARY (31),
13
NICKELS FIXED BINARY (31),
000900
SYSPRINT FILE STREAN OUTPUT PRINT;
001000
DO HALVES = 100 TO 0 BY -50;
001100
DO QUARTERS = (100 - HALVES) TO 0 BY -25;
001200
DO DIMES = ((100 - HALVES - QUARTERS)/10)*10 TO 0 BY -10;
001300
NICKELS = 100 - HALVES - QUARTERS - DIMES;
PUT FILE(SYSPRINT) DATA(COUNT,HALVES,QUARTERS,DIMES,NICKELS);
D
001500
COUNT = COUNT + 1;
001600
END;
001700
END;
001800
END;
001900
END COINS;
~'( "#': -;':,;': ,,;'\'4':

Figure 36 (Part 1 of 2).

Edit - Insert and Delete Lines Example

Chapter 6. Edit (Option 2)

131

-------------------------~---------------------

EDIT --- SPFDEHO.HYLIB.PLI(COINS) - 01.04 ------------------CONHAND ===>
000100

000200
000300
000400
000500
000600
000700
000800
, , , I , I

COINS:
PROCEDURE OPTIONS (MAIN);
DECLARE
COUNT
FIXED BINARY
HALVES
FIXED BINARY
QUARTERS FIXED BINARY
DI~IES
FIXED BINARY
NICKELS ·FIXED BINARY

COLU~INS 001 072
SCROLL ===> HALF

(31) AUTOHATIC IN IT (1),
(31),
(31),
(31),
(31),

, I I , I I

1""

I

000900
001000
001100
001200
001300
001500
001600
001700
001800
001900

SYSPRINT FILE STREAM OUTPUT PRINT;
DO HALVES = 100 TO 0 BY -50;
DO QUARTERS = (100 - HALVES) TO 0 BY -25;
DO DIHES = ((100 - HALVES - QUARTERS)/10)~'qO TO 0 BY -10;
NICKELS = 100 - HALVES - QUARTERS - DINES;
COUNT = COUNT + 1;
END;
END;
END;
END COINS;

Figure 36 (Part 2 of 2).

(

Edit - Insert and Delete Lines Example

g_(Repeat) Command
To repeat a line, enter the single character "R" in the line command
area, overtyping the line number. When you press the ENTER key, the
editor inserts a duplicate copy of the line immediately following the
line containing the "RI!. A number may follow the "R" to indicate that
the line is to be repeated more than one time. For example, "RS" would
cause five identical copies of the line to be inserted.
The command has the following format:
R
Rn

- Repeat a line
- Repeat a line "n" times

To repeat a block of lines, enter the double character "RR" in the line
command area of the first and last lines to be repeated. The first and
last lines nee.d not be on the same page. A number may follow the "RR"
on either the first or last lines (or both) to indicate that the block

132

ISPFjPDF for MVS Program Reference

(
'1

Edit (Option 2)

of lines is to be repeated more than one time.
following format:
RR
RRn

The command has the

- Repeat a block of lines
- Repeat a block of lines "n" times

As an example of the use of the R command, assume that the following
code is to be generated:
DECLARE
FIXED
I
FIXED
J
K FIXED
L FIXED

BINARY(31),
BINARY(31),
BINARY(31),
BINARY(31);

I~';

I~'·
I~':

I~"

WORK
\vORK
\vORK
WORK

COUNTER ~': I
COUNTER ~'. I
COUNTER "'1
COUNTER "'I

line
line
li.ne
li.ne
line

1

2
3
4
5

The easiest way to generate this code is to type lines 1 and 2, repeat
line 2 three times, then move the cursor to each of the repeated lines
and make the necessary changes. A before-and-after illustration of the
repeat command in context is shown in Figure 37.

EDIT --- SPFDEMO.MYLIB.PLI(DCLS) - 01.00 -------------------- COLUMNS 001 072
COt-l~1AND ===>
SCROLL ===> HALF

\
/

I

000100
000200
R3
000400
000500
000600
000700
000800
000900
001000
001100
001200
001300
001400
001500
001600
001700'
001800
001900
002000

1* SEGMENT 'DCLS'

INCLUDED FROM SEGMENT 'MAIN'
*1
DECLARE
I
FIXED BINARY(31),
I'" \vORK COUNTER
"<"1
DECLARE
COUNT
FIXED BINARY (31) AUTOMATIC INIT (1),
HALVES, FIXED BINARY (31),
QUARTERS FIXED BINARY (31),
DIMES
FIXED BINARY (31),
NICKELS FIXED BINARY (31),
SYSPRINT FILE STREAM OUTPUT PRINT;
DO HALVES = 100 TO 0 BY -50;
DO QUARTERS = (100 - HALVES) TO 0 BY -25;
DO DIMES = ((100 - HALVES - QUARTERS)/10)*10 TO 0 BY -10;
NICKELS = 100 - HALVES - QUARTERS - DIMES;
PUT FILE(SYSPRINT) DATA(COUNT,HALVES,QUARTERS,DIMES,NICKELS);
COUNT = COUNT + 1;
END;
END;
END;
END COINS;

Figure 37 (Part 1 of 2).

Edit - Repeat Line Example

Chapter 6. Edit (Option 2)

133

EDIT --- SPFDE~10.MYLIB.PLI(DCLS) - 01.00 -------------------- COLUr-INS 001072
COMMAND ===>
SCROLL ===> HALF
000100
000200
000300
000310
000320
000330
000400
000500
000600
000700
000800
000900
001000
001100
001200
001300
001400
001500
001600
001700
001800

/~~

SEGMENT' DCLS '
INCLUDED FROM SEG~1ENT 'MAIN'
..~ /
DECLARE
I
FIXED BINARY(31),
/~': WORK COUNTER
. ,~/
I
FIXED BINARY(31),
/* WORK COUNTER
*/
I
FIXED BINARY(31),
/* WORK COUNTER
*/
I
FIXED BINARY(31),
/ . ,~ WORK COUNTER
~':/
DECLARE
COUNT
·FIXEDBINARY (31) AUTOMATIC INIT (1),
HALVES
FIXED BINARY (31),
QUARTERS FIXED BINARY (31),
DIMES
FIXED BINARY (31),
NICKELS FIXED BINARY (31),
SYSPRINT FILE STREAM OUTPUT PRINT;
DO HALVES = 100 TO 0 BY -50;
DO QUARTERS = (100 - HALVES) TO 0 BY -25;
DO DIMES = ((100 - HALVES - QUARTERS)/10)*10 TO 0 BY -10;
NICKELS = 100 - HALVES - QUARTERS - DIMES;
PUT FILE(SYSPRINT) DATA(COUNT,HALVES,QUARTERS,DIMES,NICKELS);
COUNT = COUNT + 1;
END;
END;
/

Figure 37 (Part 2 of 2).

Edit - Repeat Line Example

\.

M (Move), C (Copy), A (After), and B (Before) Commands
The M and C commands are used to change the location of lines, or to
duplicate lines, respectively. The A and B commands are used as
pointers to indicate where the moved or copied data is to be placed.
To move a line, enter a single "M" in the line command area of the line
to be moved, and enter an "Att (after) in the line command area of
another line, indicating the destination of the move. When you press
the ENTER key, the line with the "M" is placed immediately after the
line with the "Aft. Or, you can indicate the destination with a B
(before) line command, in which case the line with the "M" is inserted
immediately before the line with the "B".
A number may follow the "M" to indicate that more than one line is to be
moved. A block of lines to be moved is indicated by entering the double
character "MM" on the first and last lines to be moved. The first and
last lines to be moved and the destination line may all be on separate
panels.

~
~

134

ISPF/PDF for MVS Program Reference

Edit (Option 2)

The command has the following format:
M
Mn
MM

- Move a line
- }love "n" 1 ines
- Move a block of lines

A number may also follow the A or B line command to cause the moved
1ine(s) to be repeated the designated number of times at the point of
destination. The commands have the following format:
A
An
B
Bn

-

After this line
After this line and repeat "n" times
Before this line
Before this line and repeat "n" times

The procedure for copying lines is the same as for moving lines, except
that you use a C or CC line command instead of the M or MM. The copy
operation leaves the original 1ine(s) in place, and makes a duplicate at
the indicated destination. This command has the following format:
C
Cn
CC

- Copy a line
- Copy "n" lines
- Copy a block of lines

Figure 38 shows a before-and-after example of copying lines. The block
of lines from line 800 to line 1500 is copied after line 1900.

EDIT --- SPFDEMO.MYLIB.PLI(TESTDIR) - 01.03 ----------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> HALF
000700
IF ERROR-FLAG THEN
CC
DO;
000900
PUT FILE(SYSPRINT)
001000
EDIT('TEST NOTES ERROR RETURN FROM D-I-R')
001100
(COLUMN(21),A(34));
001200
PUT FILE(SYSPRINT) SKIP(2)
001300
DATA(ERROR-FLAG,CARD-IMAGE,ANSWER);
ERROR-FLAG = 'OrB;
001400
CC
END;
001600
ELSE
001700
001800
END;
A
ELSE
002000
002100
END;
002200 END TESTDIR;

Figure 38 (Part 1 of 2).

Edit - Copy Lines Example

Chapter 6. Edit (Option 2)

135

EDIT --- SPFDE~10.NYLIB.PLI(TESTDIR) - 01.03 ----------------- COLUMNS 001 072
SCROLL ===> HALF
COHHAND ===>
000700
IF ERROR-FLAG THEN
000800
DO;
PUT FILE(SYSPRINT)
000900
EDIT('TEST NOTES ERROR RETURN FROM D-I-R')
001000
(COLUMN(21),A(34»;
001100
PUT FILE(SYSPRINT) SKIP(2)
001200
DATA(ERROR-FLAG,CARD-IMAGE,ANSWER);
001300
ERROR-FLAG = 'OrB;
001400
END; .
001500
ELSE
001600
001700
001800
END;
ELSE
001900
001910
DO;
PUT FILE(SYSPRINT)
001920
EDIT('TEST NOTES ERROR RETURN FROM D-I-R')
001930
001940
(COLUHN(21),A(34»;
PUT FILE(SYSPRINT) SKIP(2)
001950
DATA(ERROR-FLAG,CARD-IMAGE,ANSWER);
001960
ERROR-FLAG = 'OrB;
001970
001980
END;
/

Figure 38 (Part 2 of 2).

Edit - Copy Lines Example

Preparing Text
You can use all of the edit primary and line commands when entering and
editing text information. Three line commands are provided specifically
for entering and formatting text:
TE - Text Entry
TS - Text Split
TF - Text Flow
Whenever text line commands are frequently used, you should assign both
the TS and TF commands to PF keys. For users of 12-key terminals,
infrequently used PF keys may be reassigned'to these functions. Use the
Parms option to reassign the keys; for example:
PFI0
PF11

===>
===>

:TS
:TF

With these key definitions, you can perform a text split by moving the
cursor to the desired split point (within a line) and pressing PF10.
136

ISPF/PDF for MVS Program Reference

\

Edit (Option 2)
After the new material has been typed, pressing PF11 restructures the
text from the line containing the cursor to the end of the paragraph.
TE (Text Entry) Command
The TE (text entry) command is intended for bulk entry of text using
power typing techniques. \vhen you enter the characters "TE" in the line
command area, blank lines are inserted starting with the line following
the "TE". Thus, the TE command allows you to enter text without
entering the line command I for each text line entered. You may follow
the "TE" with a number to indicate the number of blank lines to be
inserted. If you omit the number, sufficient blank lines are inserted
to fill the screen from the line following the "TE" to the end of the
screen. The command has the following format:
TE
TEn

- Text entry (to end of screen)
- Text entry "n " line.s

You can type information on the blank lines without regard to line end.
The line command area on the blank lines is protected, and automatic
cursor skip is provided from the end of one line to the first data
position on the next line. When you press the ENTER key, the new
information is automatically reformatted to fit within the currently
defined boundaries (see the BOUNDS line command), and any unused blank
lines at the end of the new text are deleted.

Note: All nonblank characters of the mask line that are within
the currently defined bounds will be set to a blank for each text
entry line.
If insufficient blank lines have been generated, the keyboard locks when
you try to type beyond the last character position of the last blank
line. A vertical bar (I) is displayed above the cursor at the locked
position. To generate more blank lines, press the RESET key to unlock
the keyboard and then press the ENTER key.

Note: If you enter "TEn", where "n" is greater than the number
of lines remaining on the screen, the vertical bar is not
displayed and the keyboard does not lock at the last character
position on the screen. You can scroll down to bring the
additional blank text entry lines into view.
You can enter multiple paragraphs in either of two ways:
•

Leave a blank line between paragraphs

•

Indent the start of a new paragraph with three or more blank (space)
characters

Note:

)

Tabs are not functional during text entry.

If you are using the TE line command in a formatted data set, special
considerations include:
Chapter 6. Edit (Option 2)

137

•

The current BNDS boundaries are automatically modified during
command execution, and are reset to the original values after
execution is complete. Hodifications are as follows:
If the left boundary falls on the second byte of a DBCS
character in a DBCS field, the boundary is shifted to the left
by one byte.
If the right boundary does not fallon the same field as the
left boundary, it is set to point to the last byte of the field
in which the left boundary f~lls. If it falls on the sa~e DBCS
field as the left boundary, and it also falls on the first byte
of .!. DBCS character, the right boundary is shifted to the right
by one byte.

•

The attribute of the field where the left boundary falls is used for
the text input area attribute. The new input data is reformatted to
fit within the current boundaries.

TSo(Text Split) Command
The TS (text split) command allows you to add new material to existing
text. To split a line, enter the characters "TS" in a line command
area, move the cursor to the desired split point (on the same line), and
press the ENTER key. A new line is inserted after the line with the
"TS". Text to the right of the cursor, up to and including the current
right boundary column, is moved to the next line (after the inserted
line) and positioned at the current left boundary column. See the
BOUNDS line command for the definition of boundary columns.
You c~n follow the TS command with a numb~r to cause additional lines to
be inserted. The command has the following format:
TS
TSn

- Text split and insert line
- Text split and insert "n" lines

Figure 39 shows a before-and-after example of line splitting. "TS3" was
entered on line 60 and the cursor was placed after the word "text".
The tiTS" command does not provide automatic cursor skip from the end of
one line to the next. The line command areas on the new line(s) are
unprotected and may be used to enter line commands, as usual.

138

ISPF IPDF for

~1VS

Program Reference

Edit (Option 2)

~

EDIT --- SPFDEVEL.PRM.SCRIPT(DEMO) ~ 01.01 ------------------ COLUMNS 001 072
CO~lMAND ===>
SCROLL ==> HALF
000056
000057 :h6.Text Split(TS) Command
000058 :p.
000059 The TS command is intended for insertion of new material into
TS3
existing text. _To split a line, enter the characters "TS" in a line
000061 command area and then move the cursor to the desired split point (on the
000062 same line) before pressing the ENTER key. A new line is inserted
000063 following the line containing the "TS", and all text to the right of the
000064 cursor is moved to the beginning of the next line (following the
000065 inserted line). A number may follow the "TS" to cause additional lines
000066 to be inserted.
000067
000068 .FO OFF
000069 .BX 9 72
000070
TS
- Text split and insert lines
000071
TSn - Text split and insert "n" lines
000072 .BX OFF
000073 .CO ON
000074
000075 :FIGREF REFID='EYS'. shows a before-and-after example of line
000076 splitting, where "TS3" was entered on line 60 and the cursor was
000077 positioned following the word "text".

I

Figure 39 (Part 1 of 2).

Edit - Text Split Example

Chapter 6. Edit (Option 2)

139

EDIT --- SPFDEVEL.PRM.SCRIPT(DEMO) - 01.01 ------------------ COLUMNS 001 072
CO~mAND ===>
SCROLL ===> HALF
000056
000057 :h6.Text Split
000058 :p.
000059 The text split command is intended for insertion of new material into
000060 existing text.
I I

I

I I

,

., , , , , ,

,,,,,,

000064
000065
000066
000067
000068
000069
000070
000071
000072
000073
000074
000075
000076
000077

To split a line, enter the characters "TS" in a line
command area and then move the cursor to the desired split point (on the
same line) before pressing the ENTER key. A new line is inserted
following the line containing the TITS", and all text to the right of the
cursor is moved to the beginning of the next line (following the
inserted line). A number may follow the "TS" to cause additional lines
to be inserted.
.FO OFF
.BX 9 72
TS
- Text split and insert line
TSn - Text split and insert "n" lines
.BX OFF
.CO ON

Figure 39 (Part 2 of 2).

Edit - Text Split Example

You can split a line within a DBCS string based on the following rules:

•

When splitting at a DBCS character, an SI character is added to the
end of the line and an SO character is added at the beginning of the
new line.

•

If the cursor is placed at the SO character, the SO character'
becomes the first character to be moved.

•

If the cursor is placed at the SI character, the character following
the SI character becomes the first character to be moved.

•

If the MASK contains DBCS subfields and some of the DBCS subfields
cross the left, right, or both column boundaries, the result is
unpredictable.

If you are using the TS line command in a formatted data set, special
considerations include:

•

140

The current BNDS boundaries are automatically modified during
command execution, and are reset to the original values after
execution is complete. Hodifications are as follows:

ISPF/PDF for MVS Program Reference

(

Edit (Option 2)

If the left boundary falls on the second byte of a DBCS
character in a DBCS field, the boundary is shifted to the left
by one byte.
If the right boundary does not fallon the same field as the
left boundary, it is set to point to the last byte of the field
in which the left boundary falls. If it falls on the same DBCS
field as the left boundary, and it also falls on the first byte
of a DBCS character, the right boundary is shifted to the right
by one byte.
You can also use the TS command with other line commands to help you
move or copy text. Enter "TS" at the end points of the material to be
moved or copied (i.e., to break it out so that is is wholly contained on
one or more lines). In addition, enter "TS" at the insertion point to
open up space. Then use the standard M or MM (move) C or CC (copy) line
commands together with the A (after) or B (before) line commands.
Figure 40 shows an example of a sentence to be moved from one paragraph
to another. In the first part of the figure, the sentence on lines
33-35 has already been isolated by using the TS command twice (once with
the cursor at the beginning of the sentence, and again at the end of the
sentence). Another TS command is now entered on line 44 to split the
second paragraph at the destination point for the move. The second part
of the figure shows the use of MM and A commands to accomplish the move.

Chapter 6. Edit (Option 2)

141

EDIT --- SPFDEVEL.PRM.SCRIPT(DEMO) - 01.01 ------------------ COLUMNS 001 072
COMMAND ===>
SCROLL ===> HALF
000030
000031 The user may type information on the blank lines without regard to line
000032 end.
000033 The line command area on the blank lines is protected, and
000034 automatic cursor skip is provided from the end of the line to the first
000035 data position of the next line.
I I Itt t

000037
000038
000039
000040
000041
000042
000043
TS
000045
000046
000047
000048
000049
000050
000051

When the ENTER key is pressed, the new
information is automatically reflowed to fit within the currently
defined boundaries (see BOUNDS line command), and any unused blank lines
at the end of the new text are deleted.
If insufficient blank lines have been generated, the keyboard will lock
when the user attempts to type beyond the last character position of the
last blank line. _A vertical bar (I) will be displayed above the cursor
at the locked position. To generate more blank lines, press the RESET
key to unlock the keyboard and then press the ENTER key.
Multiple paragraphs may be entered by using either of the following
techniques:
:UL

Figure 40 (Part 1 of 2).

Edit - Move Sentence Example

(f
"\

142

ISPFjPDF for MVS Program Reference

Edit (Option 2)
~

I

~\

EDIT --- SPFDEVEL.PRM.SCRIPT(DEMO) - 01.01 ------------------ COLUMNS 001 072
COMMAND ===>
'SCROLL ===> HALF
000030
000031 The user may type information on the blank lines without regard to line
000032 end.
MM
The line command area on the blank lines is protected, and
000034 automatic cursor skip is provided from the end of one line to the first
MM
data position on the next line.
000036 When the ENTER key is pressed, the new
000037 information is automatically reflowed to fit within the currently
000038 defined boundaries (see BOUNDS line command), and any unused blank lines
000039 at the end of the new text are deleted.
000040
000041 If insufficient blank lines have been generated, the keyboard will lock
000042 when the user attempts to type beyond the last character position of the
A
last blank line.
000044
000045 A vertical bar (') will be displayed above the cursor
000046 at the locked position. To generate more blank lines, press the RESET
000047 key to unlock the keyboard and then press the ENTER key.
000048
000049 Multiple paragraphs may be entered by using either of the following
000050 techniques:
000051
Figure 40 (Part 2 of 2).

Edit - Move Sentence Example

TF (Text Flow) Command
You can use the TF (text flow) command to restructure paragraphs
following deletions, insertions, splitting, etc. When you enter the
characters "TF" in a line command area, the text is reflowed from the
beginning of that line to the end of the paragraph. The end of the
paragraph is denoted by a blank line, a change in indentation, or the
special characters period (.), colon (:), or ampersand (&). These
special characters are used as Document Composition Facility (SCRIPT/VS)
control word delimiters. The command has the following format:
TF
TFn

- Text flow (between current bounds)
- Text flow from left bound to column

"n "

The restructure operation removes trailing blanks on a line by using
words from the following line. It does not, however, remove embedded
blanks within a line. Accordingly, if one or more words in a line are
to be deleted, use the 3270 DELETE key (rather than overtyping the words
with blanks).

Chapter 6. Edit (Option 2)

143

~

The text to be restructured is taken from within the currently defined
column boundaries (see the BOUNDS line command). Any text outside the
bounds does not participate in the restructuring. The restructured text
is also positioned within the current boundaries. If the original text
was indented from the left boundary, the indentation is preserved. Each
line of the restructured text normally extends to the right boundary, or
to the last column being displayed, whichever comes first. However, you
can Itsqueeze" the text to a lesser width, or "expand" the text beyond
the last column being displayed by entering a number after the TF
command. The number specifies the rightmost column position for the
restructured text. If a number greater than the right boundary is
specified, the right boundary is used.
The use of the rightmost display column as a default column is a change
from the prior version of ISPF/PDF. It prevents a paragraph from being
flowed beyond the screen width in the normal case, when default bounds
are being used, and the TF command is entered without an ending column
being specified.
You can restructure paragraphs containing lines which include DBCS
strings based on the following rules:

•

If a character in a DBCS string encroaches on the rightmost column
position for the restructured text, the string is divided preceding
that character. An SI character is added at the end of the line,
and an SO character is added at the beginning of the new line.

/
\

t

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

•

If BNDS boundaries are defined and a DBCS character is on the
boundary, the DBCS character is involved in the text flow operation.
An SO or SI character is added to both lines to ensure that DBCS
character strings remain enclosed with SO and 51 characters.

•

If the HASK contains DBCS subfie1ds, and some of the DBCS subfie1ds
cross the left, right, or both BNDS boundaries, the result is
unpredictable.

•

If a DBCS string crosses the left, right, or both BNDS boundaries,
the result is unpredictable.

•

When a text flow operation causes a subfield length of zero, the
adjacent SO/51 or SI/SO character strings are removed.

If you are using the TF line command on a line in a formatted data set,
considerations include:
•

The current BNDS boundaries are automatically modified during
command execution, and are reset to the original values after
execution is complete. Hodifications are as follows:
If the left boundary falls on the second byte of a DBCS
character in a DBCS field, the boundary is shifted to the left
by one byte.

144

ISPF/PDF for l'1VS Program Reference

"i

Edit (Option 2)
\I

If the right boundary does not fallon the same field as the
left boundary, it is set to point to the last byte of the field
in which the left boundary falls. If it falls on the same DBCS
field as the left boundary, and it also falls on the first byte
of a DBCS character, the right boundary is shifted to the right
by one byte.

/

•

If you specify the column number with the text flow command, and if
the column falls on the first byte of a DBCS character in a DBCS
field, the column number increases by one.

A before-and-after example of text restructuring is shown in Figure 41.
The bounds are set at columns 1 and 72. A "TFSO" command is entered on
line 41. All text between columns 1 and 72 participates in the flow,
but the results are contained within columns 1 and 50.

,
\
)

EDIT --- SPFDEVEL.PRM.SCRIPT(DEMO) - 01.01 ------------------ COLUMNS 001 072
COMMAND ===>
SCROLL ===> HALF
000030
000031 The user may type information on the blank lines without regard to line
000032 end.
000033 The line command area on the blank lines is protected, and
000034 automatic cursor skip is provided from the end of one line to 'the first
00003S data position on the next line.
000036 When the ENTER key is pressed, the new
000037 information is automatically reflowed to fit within the currently
000038 defined boundaries (see BOUNDS line command), and any unused blank lines
000039 at the end of the new text are deleted.
000040
TFSO
If insufficient blank lines have been generated, the keyboard will lock
000042 when the user attempts to type beyond the last character position of the
000043 last blank line. A vertical bar (I) will be displayed above the cursor
000044 at the locked position. To generate more blank lines, press the RESET
000045 key to unlock the keyboard and then press the ENTER key.
000046
000047 Multiple paragraphs may be entered by using either of the following
000048 techniques:
000049
000050 :UL
000051 :LI.Leave a blank line between paragraphs, or
Figure 41 (Part 1 of 2),

Edit - Text Restructure Example

Chapter 6. Edit (Option 2)

145

EDIT --- SPFDEVEL.PRM.SCRIPT(DEMO) - 01.01 ------------------ COLUMNS 001 072
CO~mAND ===>
SCROLL ===> HALF
000030
000031 The user may type information on the blank lines without regard to line
000032 end.
000033 The line command area on the blank lines is protected, and
000034 automatic cursor skip is provided from the end of one line to the first
000035 data position on the next line.
000036 When the ENTER key is pressed, the new
000037 information is automatically reflowed to fit within the currently
000038 defined boundaries (see BOUNDS line command), and any unused blank lines
000039 at the end of the new text are deleted.
000040
000041 If insufficient blank lines have been generated,
000042 the keyboard will lock when the user attempts to
000043 type beyond the last character position of the
000044 last blank line. A vertical bar (I) will be
000045 displayed above the cursor at the locked position.
000046 To generate more blank lines, press the RESET key
000047 to unlock the keyboard and then press the ENTER
000048 key.
000049
000050 Multiple paragraphs may be entered by using either of the following
000051 techniques:
Figure 41 (Part 2 of 2).

Edit - Text Restructure Example

Uppercase (UC) Command
The Uppercase (UC) command translates a single line or multiple lines of
text to uppercase. Enter the UC command in the line command area,
typing over the line number. A number can follow the UC command to
indicate that more than one line should be translated. For example,
UC12 translates twelve lines to uppercase, starting with the line on
which the command is entered. The format of the UC command is as
follows:
UC
UCn
UCC

Translate one line to uppercase
Translate "n" lines to uppercase
Translate a block of lines to uppercase

You can translate a block of lines to uppercase by entering the line
command uee in the line command area of the first and last lines to be
translated.
(

See Figure 42 on page 141' and Figure 43 on page 148 for examples of
using the DC command.
146

ISPFjPDF for MVS Program Reference

\

~

Edit (Option 2)

Only alphabetic characters are affected by the UC command. Use of the
UC command does not affect the caps mode of the data you are editing.
The following figure shows several examples of how the UC command is
entered. Figure 43 on page 148 shows the results of these commands.

EDIT --- POEHPROJ.HAL.LMF(NURSERY) - 01.01 ----------- COLUHNS 0001 0072
COMMAND ===>
SCROLL ===> HALF
000001
UC0002
000003
UC2004
000005
000006
UCC007
000008
000009
000010
000012
UCC013
000014
000019

This line will not be translated.
ue translates this line to uppercase.
This line will not be translated.
UC2 translates this line and the next line to uppercase.
This line is translated by the UC2 on the previous line
This line is not affected.
vec on this line and on line 13 translates lines
7 through 13 to uppercase:
including this line,
this line,
this line,
through this line.
The End.

I~

/

I

Figure 42.

Example of UC commands before processing

Chapter 6. Edit (Option 2)

147

EDIT --000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
000012
000013
000014
000019

POEHPROJ.~IAL.L~IF(NURSERY)

===>

COM~IAND

- 01.01 ----------- COLUHNS 0001 0072
SCROLL ===> HALF

This line will not be translated.
UC TRANSLATES THIS LINE TO UPPERCASE.
This line will not be translated.
UC2 TRANSLATES THIS LINE AND THE NEXT LINE TO UPPERCASE.
THIS LINE IS TRANSLATED BY THE UC2 ON THE PREVIOUS LINE
This line is not affected.
UCC ON THIS LINE AND ON LINE 13 TRANSLATES LINES
7 THROUGH 13 TO UPPERCASE:
INCLUDING THIS LINE,
THIS LINE,
THIS LINE,
THROUGH THIS LINE.
The End.

Figure 43.

Results of processing the UC commands shown in the previous figure
/

\
Lowercase (LC) Command
Use the Lowercase (LC) command to translate one or more lines of text to
lowercase. Enter the LC command in the line command area, typing over
the line number. A number can follow the LC command to indicate that
more than one line should be translated. For example, if you want to
translate 5 lines to lowercase, you would type LC5 on the command line.
This would translate 5 lines, starting with the line on which you typed
the command. The format of the LC command is as follows:
LC
LCn
LCC

Translate one line to lowercase
Translate "n" lines to lowercase
Translate a block of lines to lowercase

To trans late a block of lines to lowercase, enter "the LGC command in the
line command area of the first and last lines to be translated. The
first and the second LCC command do not need to be on the same page; you
can use scrolling between entering the first and the second LCC command.
Only alphabetic characters are affected by the LC command. Use of the
LC command does not affect the caps mode of the data you are editing.
The following figure shows several examples of how the LGcommand is
entered. Figure 45 on page 149 shows the results of these commands.

148

ISPF/PDF for HVS Program Reference

Edit (Option 2)
'It.,
,'I,

EDIT --- POEHPROJ.NAL.LNF(NURSERY) ;. 01.01 ----------- COLUNNS 0001 0072
COH~1AND ===>
SCROLL ===> HALF
LC0001
000002
000003
LC3004
000005
000006
000007
000008
LCC009
000010
000012
000013
LCC014
000019

LC TRANSLATES ONLY THIS LINE TO LOWERCASE.
THIS LINE IS NOT TRANSLATED TO LOWERCASE
NOR IS THIS LINE TRANSLATED.
LC3 TRANSLATES THIS LINE AND THE NEXT 2 LINES
INCLUDING THIS LINE. NOTE: LC DOES NOT AFFECT NUNBERS OR
SYNBOLS SUCH AS 1, 2, 3, &, % AND SO ON.
THIS LINE IS NOT TRANSLATED TO LOWERCASE
NOR IS THIS LINE
LCC TRANSLATES ALL LINES UP THROUGH THE NEXT LINE WITH LCC
IN THE COMNAND AREA
THIS INCLUDES THIS LINE
AND THIS LINE
THROUGH THIS LINE

Figure 44.

Example of LC commands before processing

EDIT --- POENPROJ.HAL.LNF(NURSERY) - 01.01 ----------- COLUMNS 0001 0072
CONMAND ===>
SCROLL ===> HALF
000001
000002
000003
000004
000005
000006
000007
000008
lcc009
000010
000012
000013
Icc014
000019

lc translates only this line to lowercase.
THIS LINE IS NOT TRANSLATED TO LO\vERCASE
NOR IS THIS LINE TRANSLATED.
Ic3 translates this line and the next 2 lines
including this line. note: lc does not affect numbers or
symbols such as 1, 2, 3, &, % and so on.
THIS LINE IS NOT TRANSLATED TO LOWERCASE
NOR IS THIS LINE
Icc translates all lines up through the next line with Icc
in the command area
this includes this line
and this line
through this line

Figure 45.

Results of processing the LC commands shown in the previous figure

Chapter 6. Edit (Option 2)

149

Overlaying Lines (0 Command)

Thea command allows you to rearrange a single-column list of items into
multicolumn (tabular) format. You can use the a command with thet-I or e
commands instead of the A command.
Enter the character "0" in the line command area to specify the line
over which data is to be moved or copied. Enter a number following the
"0" to indicate the number of lines to be overlaid. To overlay a block
of lines, enter "00" on the first and last lines of the block. The
command has the following format:

a

- Overlay a line

On
00

- Overlay "n" lines
- Overlay a block of lines

Only blank characters in the receiving line(s), specified with "a" or
"00", are overlaid with correspoIiding characters from the source
line(s), as specified by the I-l, MM, e, or ee commands. Nonblank
characters are not overlaid.
Only those characters that are within the current column boundaries
participate in the overlay operation (see the description of the BOUNDS
command) .
The number of source and receiving lines need not be the same. If there
are more receiving lines, the source lines are repeated until the
receiving lines are used up. If there are more source lines, the extra
source lines are ignored.
Only data lines participate in the overlay operation. Special lines
such as MASK, TABS, BOUNDS, and eOLS are ignored as either source or
receiving lines.
There is no special support for DBes data handling. The user is
responsible for DBCS data integrity when overlaying lines.
A before-and-after example of overlaying lines is shown in Figure 46.
Generally, a list such as that shown in the figure would be maintained
and edited as a single column (left adjusted). Prior to the overlay,
portions of the list would be right-shifted by the appropriate amounts
to overlay in the multicolumn format.

150

ISPF/PDF'for MVS Program Reference

(
'\,

Edit (Option 2)
I

V

EDIT --- SPFDEVEL.PR~1.SCRIPT(DEHO) - 01.00 ------------------ COLUHNS 001 072
COHMAND ===>
SCROLL ===> HALF
00
GENERAL CO~l~IANDS:
000037
000038
000039
000040
000041
000042
000043
000044

COLS
I, IN
D, DN, DD
R, RN, RR, RRN
t-l, t-lN, HH
C, CN, CC

00

B

A

(INSERT)
(DELETE)
(REPEAT)
(HOVE)
(COPY)
(AFTER)
(BEFORE)

000046
H~1

000048
000049
000050
000051
000052
000053
000054
000055

ADVANCED FEATURES:
HASK
<, , >N, », »N
(, (N, ((, ((N
), )N, )), ))N

(DATA LEFT)
(DATA RIGHT)
(COLU~INS LEFT)
(COLU~INS RIGHT)

BOUNDS

MM
~

I

/

Figure 46 (Part 1 of 2).

Edit - Overlay Line Example

Chapter 6. Edit (Option 2)

151

EDIT --- SPFDEVEL.PR~1.SCRIPT(DEHO) .;. 01.00 ------------------ COLUNNS 001 072
COHHAND ===>
SCROLL ===> HALF
000035
000036 GENERAL CONNANDS:
000037
000038
COLS
000039
I, IN
000040
D, DN, DD
000041
R, RN, RR, RRN
000042
M, MN, ~1~1
00'0043
C, eN, CC
000044
A
000045
B
000046

ADVANCED FEATURES:
~IASK

(INSERT)
(DELETE)
(REPEAT)
(MOVE)
(COPY)
(AFTER)
(BEFORE)

<, , >N, », »N
(, (N, ((, ((N
), )N, )), ))N

(DATA LEFT)
(DATA RIGHT)
(COLUMNS LEFT)
(COLUNNS RIGHT)

BOUNDS

(
Figure 46 (Part 2 of 2).

Edit - Overlay Line Example

Identifying Columns (COLS Command)

You can display a column identification line by entering the COLS
command in the line command area. The command has ,the following format:
COLS
COL
When you press the ENTER key, a special line is inserted at the
designated position and the remaining lines are pushed down one. An
example of the COLS line is shown in Figure 47. The characters '=COLS>'
in the line command area are displayed by edit to identify the COLS
line.

152

ISPF/PDF for MVS Program Reference

\.

Edit (Option 2)
I",
\

EDIT --- SPFDEMO.MYLIB.PLI(COINS) - 01.04 ------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> HALF
000100
000200
000300
000400
000500
000600

COINS:
PROCEDURE OPTIONS (MAIN);
DECLARE
COUNT
FIXED BINARY (31) AUTOMATIC INIT (1),
HALVES
FIXED BINARY (31),
QUARTERS FIXED BINARY (31),

=COLS>

----+----1----+----2---~+----3----+----4----+----5----+----6----+----7--

000700
000800
000900
001000
001100
001200
001300
001400
001500
001600
001700
001800
001900

DIMES
FIXED BINARY (31),
NICKELS FIXED BINARY (31),
SYSPRINT FILE STREAM OUTPUT PRINT;
DO HALVES = 100 TO 0 BY -50;
DO QUARTERS = (100 - HALVES) TO 0 BY -25;
DO DI~1ES = (( 100 - HALVES _- QUARTERS) / 10 )~"'10 TO 0 BY -10;
NICKELS = 100 - HALVES - QUARTERS - DIHES;
PUT FILl;: (SYSPRINT) DATA (COUNT ,HALVES, QUARTERS, DIt1ES, NICKELS) ;
COUNT = COUNT + 1;
END;
END;
END;
END COINS;

~

1
I

Figure 47.

Edit - Column Identification Line

You can remove the column identification line from the display by
entering a "D" in the line command area, or by entering a RESET primary
command. The column identification line is never saved as part of the
data.
Defining Masks (MASK Command)

You can use a mask with the I (insert), TE (text entry), and TS (text
split) line commands while editing an unformatted data set. Whenever a
new line is inserted, it is pre-filled with the contents of the mask.
Initially, the mask contains all blanks. You can define the mask by
entering characters when the blank mask is displayed.
To display the mask, enter the characters "NASK" in the line command
area, overtyping the line number. When you press the ENTER key, the
mask is displayed at the designated position.
MASK

- Display mask definition line

Once you have displayed the mask, you can change it to allow pre-entry
of data on inserted lines. An example is shown in Figure 48. In this
Chapter 6. Edit (Option 2)

153

example, the mask has been displayed and the characters "/,~,:" and "'i': lIt
have been entered at the desired positions on the mask line. Five new
lines are then inserted following line 1700. The second part of the
example shows that the new lines contain the contents of the mask.

,(1f

~

To remove the. mask line from the display, enter a' "D" in the line
command area, or enter a RESET primary command. The mask line is never
saved as part of the data.
The mask remains in effect (even if it is not displayed) until you
change it. The contents of the mask are retained in the current edit
profile, and automatically used the next time you edit the same type of
data.
Note: The ~lASK command is ignored in formatted edit mode. If
you have defined a MASK prior to entering formatted edit mode, the
mask is not retained in the current edit profile.

EDIT --- SPFDEMO.SAMPLE.PLI(ED@21PM) - 01.01 ---------------- COLUMNS 001'072
COMMAND ===>
SCROLL ===> HALF
001100
ELSE
001200 /'i'(
COMPUTE PARM LENGTHS
001300
DO;
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7-=MASK>
001400
LP = 8;
001500
DO WHILE (ED@MPROJ(LP) = ' ');
001600
LP = LP-1;
15
END;
001800
DO K=l TO 4;
001900
IF ED@MLIB(K,l) ~= ' , THEN
DO; ,
002000
002100
LL(K) = 8;
002200
DO WHILE
002300
(ED@MLIB(K,LL(K)) = , ');
002400
LL(K) = LL(K)-l;
002500
END;
002600
END;
002700
ELSE
002800
LL(K) = 0;
002900
END;
Figure 48 (Part 1 of 2).

154

Edit - Define Mask Example

ISPF/PDF for MVS Program Reference

(

\.

Edit (Option 2)

EDIT - - - SPFDEMO. SAMPLE. PLI (ED@21P~1) - 01.01 ---------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> HALF
001100
ELSE
001200 /~~
COMPUTE PARM LENGTHS
001300
DO;
=COLS> ----+----1----+-~--2----+----3----+----4----+----5----+----6----+----7-~
/"#~
=MASK>
001400
LP = 8;
, , );
DO WHILE (ED@MPROJ(LP) =
001500
001600
LP = LP-1;
001700
END;
, I I I "

/i~

i', /

I"

/"#~

"#': /

/"#tr
/"#':
/"#':

i'r /

, "

, " '"

..

I

, "

I "

, "

I "

001800
001900
002000
002100
002200
002300
002400
002500

DO K=l TO 4;
IF ED@MLIB(K,l) ~= I , THEN
DO;
LL(K) = 8;
DO WHILE
(ED@MLIB(K,LL(K») =
LL(K) = LL(K)-l;
END;

..': /
"#tr/

I

');

y

Figure 48 (Part 2 of 2).

Edit - Define Mask Example

Controlling Tabs (TABS Line Command)

Use the TABS line command to define tab positions for software,
hardware, and logical tabs. To display the tab definition line, enter
the characters "TABS" or "TAB" in the line command area, overtyping the
line numbers. When you press the ENTER key, the tab definition line is
inserted at the designated position.
TABS
TAB

- Display tab definition line

To define software tab positions, type an underscore (_) or hyphen (-)
at. each desired column position on the tab definition line. Type two or
more consecutive underscores or hyphens to define a software tab field,
which causes the cursor to be repositioned to the first nonblank
character within the field. If the tab field contains all blanks, the
cursor is positioned at the beginning of the field.
To define hardware and logical tab positions, type an asterisk (*) at
each desired column position on the tab definition line. The asterisks
Chapter 6. Edit (Option 2)

155

indicate the locations at which the attribute bytes will be inserted
(for hardware tabs) or the locations following which strings will be
repositioned (for logical tabs). For example, if your tab character is
$ and you enter:

C

$aaaaa$bbb$cccc
the data "aaaaa" is repositioned after the first tab column (as defined
by an "*" in the tab definition line) , the "bbb'" is repositioned after
the next tab column, etc., as follows:
TABS
aaaaa

bbb

cccc

Initially, the tab definition line contains all blanks. If you display
the tab line and enter software tab definitions, they take effect
immediately; each line contains a software tab or tab field at the
designated column positions. Hardware and logical tab definitions do
not take effect immediately. The asterisks define the column positions,
but the insertion of attribute bytes (hardware tabs) or the
repositioning of data strings (logical tabs) does not occur unless tabs
mode is on. You can enter or leave tabs mode using· the TABS primary
command.
Figure 49 shows an example of the tab definition line displayed together
with the column identification line. The tab line shows a software tab
field extending from columns 2 through 39, and a hardware/logical tab
definition at column 43.
To remove the tab definition line from the display, enter a liD" in the
line command area, or enter a RESET primary command. The tab definition
line is never saved as part of the data.
The tab definitions remain in effect (even if not displayed) until you
change them. Tab definitions are retained in the current edit profile,
and are automatically used the next time you edit the same type of data.
Refer to the discussion of the TABS primary command for information on
defining the tabs character and setting tabs mode.

156

ISPFjPDF for MVSProgram Reference

(
\

Edit (Option 2)

EDIT --- SPFDEMO.SAMPLE.PLI(BROPDS) - 01.02 ----------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> HALF
001400
IF BROSMEMB(l) -.= ' , THEN
I"': IF ME~1BER SELECTED,
-'~I
001500
DO;
I"':
-.~ I
001600
%INCLUDE SYSLIB(BROFINDM);
1*
FIND MEMBER
*1
001700
IF BRORCODE = 0 THEN
1*
IF NO ERRORS,
*1
=COLS> ---.-+----1----+----2----+----3----+----4----+----5----+----6----+----7-=TABS>
001800
DO;
1*
001900
%INCLUDE SYSLIB(BROPDSH);I*
SET UP PDS HEADER
002000
CALL CO~I~lON BRO\vSE
CALL CBRO (TLD,TDC);
1*
002100
END;
1*
002200
ELSE,
ELSE
1*
002300
DO;
1*
002400
TURN OFF LIST FLAG -.':1
BROMLIST = OFF;
1*
002500
CLEAR SEL. ME~1BER
-.': I
BROSMEMB = BLANKS;
I"~
002600
-'':1
END;
1*
002700
END;
1*
002800
ELSE
1* ELSE (NOTHING SELECTED),*I
002900
BROMLIS~ = OFF;
1*
TURN OFF LIST FLAG
*1
003000
*1
END;
1* END OF LOOP
003100
..,: I
BROSMEMB = BLANKS;
1* CLEAR SELECTED ME~1BER
-.': I
003200
END;
1*
Figure 49.

Edit - Tab Definition Line

Defining Boundary Columns (BOUNDS Command)

To display the column boundary definition line, enter the characters
"BOUNDS" (or. an acceptable abbreviation) in the line command area,
overtyping the line number. When you press the ENTER key, the boundary
definition line is inserted at the designated position.
BOUNDS
BOUND
BNDS
BND

- Display boundary definition line

The column boundaries are used to limit the scope of:
•

Left- and right-shift line commands

•

FIND and CHANGE commands when explicit columns are not specified

•

TE (text entry), TS (text split), and TF (text flow) line commands

Chapter 6. Edit (Option 2)

157

•

Overlay line command

•

Left and right scrolling

The effect on left and right scrolling is that a left scroll stops at
the left bound, and a right scroll stops at the right bound. A
subsequent left or right scroll goes beyond the ,bound (assuming the
bound is not at the leftmost or rightmost column position).
The boundaries are initialized by edit based on the data set "type" (the
lowest level qualifier in the data set name) and whether or not the data
is sequence-numbered. The default left and right column boundaries are
shown in Figure 50.
RECORD
FORMAT

DATA
TYPE

FIXED
LENGTH

NUMBERED

UNNUMBERED

ASM

1, 71

1, 71

COBOL

7, 72

(OTHER)

I
I
I
I
I

1, LRECL-8!

7, 72
/./

!

I

'\

1, LRECL

I
VARIABLE
LENGTH

Figure 50.

(ANY)

9, LRECL

!
!
!

1, LRECL

I
II

Edit - Default Column Boundary Settings

You can change the boundaries by displaying the boundary definition line
and changing its contents. The boundary definition line contains a
single "<" character indicating the position of the left column
boundary, and a single It>" character indicating the position of the
right column boundary. If you have already changed the boundaries, you
can revert to the default bounds by displaying the boundary definition
line and blanking out its contents with the ERASE EOFkey.
If the default boundaries are in effect, they are automatically adjusted
whenever number mode is turned on or off. If you have changed the
bounds from the default settings, they are not affected by the setting
of number mode.

158

ISPF/PDF for MVS Program Reference

Edit (Option 2)
Ii>.

Figure 51 shows an example of the boundary definition line displayed
together with the column identification line. In this example, the left
bound is currently set at column 42 and the right bound at column 70.

)
/

To remove the boundary definition line from the display, enter a tiD" in
the line command area, or enter a RESET primary command. The boundary
definition line is never saved as part of the data.

'"I
/

EDIT - - - SPFDEMO. SAt-IPLE. PLI (BROPDS) - 01.00 ----------------- COLU~lNS 001 072
COH~IAND ===>
SCROLL ===> HALF
IF BROS~lE}m (1) .,= t t THEN
/~':
IF NEt-mER SELECTED,
')~ /
001400
DO;
/~':
')~ /
001500
001600
%INCLUDE SYSLIB(BROFINDH);
/*
FIND MEHBER
*/
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7-=BNDS>
<
>
001700
IF BRORCODE = 0 THEN
/~':
IF NO ERRORS,
*/
001800
DO;
/*
*/
001900
%INCLUDE SYSLIB(BROPDSH);/*
SET UP PDS HEADER
*/
002000
CALL CBRO (TLD, TDC) ;
/~':
CALL COH}10N BROWSE
002100
END;
/*
002200
ELSE,
ELSE
/*
002300
BROMLIST = OFF;
/*
TURN OFF LIST FLAG */
')~/
002400
END;
/*
002500
ELSE
/*
ELSE (NOTHING SELECTED),*/
002600
BRONLIST = OFF;
/*
TURN OFF LIST FLAG
*/
END
OF
LOOP
')': /
002700
END;
/*
BROSHE}m = BLANKS;
/~': CLEAR SELECTED t-lEHBER
')': /
002800
002900
END;
*/

Figure 51.

Edit - Boundary Definition Line

Changing Indentations

Use the shift line commands to shift the contents of a line (or block of
lines) left or right. The forms of these commands are:

"<" and ">"
tI(tI

and ")"

for "data" shifting
for "column" shifting

Data shifting attempts to shift the body of a program statement without
shifting the label or comments, and prevents loss of data. Column
shifting shifts information within column boundaries without regard to
its contents, and may result in the loss of data.
Chapter 6. Edit (Option 2)

159

To shift the contents of a line left, enter .the single character "<" or
"(" in the 1 ine command area, overtyping the I ine number. When you
press ENTER, the ~ata in the line containing the command is shifted left
by two column positions (two is the default for shift operations).
<
", ")", "»" and "))".
>
>n
»
»n
)

)n

))
) )n

- Data

-

shift
Data shift
Data shift
Data shift

- Column
- Column
- Column
-

line right 2 positions
line right "n " positions
block of lines right 2 positions
block of lines right "n" positions

shift
shift
shift
Column shift

line right 2 positions
line right "n " positions
block of lines right 2 positions
block of lines right " n " positions

You can enter a number following any of the shift commands to indicate
the number of. column positions to be shifted. For example, "»5"
entered on the first or last (or both) lines to be shifted would cause a
right shift of five column positions.
Shifting occurs within column boundaries that you can change. Default
column boundaries are established by edit, based on the data set "type"
(lowest level qualifier of the data set name). The default boundaries
are normally the first and last columns where source text may be entered
for the particular programming language. See the BOUNDS command for a
discussion of default boundaries and the procedures for changing them.
If you are using the column shifting or data shifting line command while
editing a formatted data set, special considerations include:

160

ISPF/PDF for MVS Program Reference

(

Edit (Option 2)

•

f

"

The current BNDS boundaries are automatically modified during
command execution, and are reset to the original values after
execution is complete. Hodifications are as follows:
If the left boundary falls on the second byte of a DBCS
character in a DBCS field, the boundary is shifted to the left
by one byte.
If the right boundary does not fallon the same field as the
left boundary, it is set to point to the last byte of the field
in which the left boundary falls. If it falls on the same DBCS
field as the left boundary, and it also falls on the first byte
of a DBCS character, the right boundary is shifted to the right
by one byte.

•

If you use the data shift or column shift line command to shift a
DBCS field and you specify an odd-length shift amount, the shift
amount will be decreased by one to preserve DBCS data integrity.

> and < (Data Shifting) Commands

Within the column boundaries, data shifting is accomplished by squeezing
out multiple blank characters at one end of the data, and increasing the
number of blanks at the other end. The following rules apply to data
shifting:
)

I
I
I
I
I
I
I

•

Nonblank characters are never deleted or truncated.

•

A single blank is never deleted.

•

Within apostrophes, the number of multiple blanks 1S never changed.

•

Nonblank characters are never shifted into or out of the left column
boundary position (normally the label field).

•

If a shift cannot be completed, it is partially performed and the
line number is replaced with the following intensified warning
message: ==ERR>. You can remove the warning message with the
RESET primary command, or you can overtype the message or data on
that line.

•

If a request to shift an odd number of bytes causes an odd-length
DBCS string, the shift volume is decreased by one and the operation
is performed. The line number is replaced with the following
intensified warning message: ==ERR>.

•

If half of a DBCS character is involved in the shift, it is excluded
from the operation.

Figure 52 shows a before-and-after example of data shifting. The block
of lines, starting at line 1910 through line 1980, is shifted left four
column positions.

Chapter 6. Edit (Option 2)

161

EDIT --GO~l~lAND

001800
001900
«4

001920
001930
001940
001950
001960
001970
«

002000
002100
002200

SPFDE~10.NYLIB.PLI(TESTDIR)

===>

END;
ELSE
DO;
PUT FILE(SYSPRINT)
EDIT('TEST NOTES ERROR RETURN FRON D-I-R')
(COLU~lN(21) ,A(34));
PUT FILE(SYSPRINT) SKIP(2)
DATA (ERROR-FLAG ,CARD-I~lAGE ,ANSWER);
ERROR-FLAG = 'O'B;
END;
END;
END TESTDIR;

Figure 52 (Part 1 of 2).

162

- 01.03 ----------------- COLUNNS 001 072
SCROLL ===> HALF

Edit - Left Shift Data Example

ISPF/PDF for MVS Program Reference

Edit (Option 2)

EDIT --- SPFDEMO.MYLIB.PLI(TESTDIR) - 01.03 ----------------- COLUMNS 001 072
CO~1HAND ===>
SCROLL ===> HALF
001800
END;
001900
ELSE
001910
DO;
001920
PUT FILE(SYSPRINT)
001930
EDIT('TEST NOTES ERROR RETURN FROM D-I-R')
001940
(COLUMN(21),A(34»;
001950
PUT FILE(SYSPRINT) SKIP(2)
001960
DATA(ERROR-FLAG,CARD-IMAGE,ANSWER);
ERROR-FLAG = fOrB;
001970
001980
END;
002000
002100
END;
002200 END TESTDIR;

)v

Figure 52 (Part 2 of 2).

Edit - Left Shift Data Example

) and ( (Column Shifting) Commands
Column shifting is accomplished by simply moving all of the characters
(within the column boundaries) left or right by the designated number of
positions. There is no squeezing or increasing of blanks. There is no
restriction on shifting nonblank characters into or out of a column
boundary position. Characters shifted beyond a column boundary position
are lost, with no warning message.
The following rules apply to column shifting when you shift lines that
contain DBCS strings:
•

If half of a DBCS character is involved in the shift, it is excluded
from the operation; the shift count is changed automatically.

•

If a column shift causes a DBCS string and an EBCDIC string to be
connected, a shift-out or shift-in character, as appropriate, is
inserted between the strings. The shift count is changed
automatically.

Chapter 6. Edit (Option 2)

163

•

If left and/or right BNDS boundaries ar~ ~et~ a DBCS character may
cross the boundary. The DBCS character that crosses the boundary is
excluded from the operation, and the shift count is changed
automatically.

•

If a request to shift an odd number of columns causes an odd-length
DBCS string, the requested shift number i~ discarded. The shift is
executed up to the next subfield boundary within the BNDS boundary,
if any. If no subfield boundary is found, the line number is
replaced with the following intensified warning message: ==ERR>,
and the short message for an incomplete data shifting error is
displayed.
'

Excluding Lines (X, F, L, and S Commands)

When editing a program segment that exceeds the display screen size, it
is often difficult to determine whether the control structure and
indentation levels are correct. The ability to exclude lines allows you
to remove blocks of lines from the display so that you can see the
overall control structure. The lines are excluded from the display but
are not deleted from the data.
You can also use excluded lines with the X and NX options of the FIND
and CHANGE commands to limit the scope of search, or to easily identify
lines that have been found or changed, by causing them to "pop out" of a
block of excluded lines.
To exclude a line, enter the single character "X" in the line command
area, overtyping the line number. A number may follow the "X" to
indicate that more than one line is to be excluded. For example, "X5"
would cause five lines to be excluded, st~rtin~with the line containing
the "X5". When you press the ENTER key, the line(s) are replaced by a
single message line, which indicates how many lines were excluded.
X
Xn
XX

- Exclude a line
- Exclude "n" lines
- Exclude a block of lines

To exclude a block of lines, enter the characters "XX" in the line
command area of the first and last lines to be excluded. The first and
last lines need not be on the same page.
Figure 53 shows a before-and-after example of excluded lines. The block
of lines, from line 1600 through line 2600, is excluded from the display
and replaced by a single message line.
To redisplay excluded lines, enter the RESET primary command.
Alternatively, you can redisplay one or more excluded lines by entering
"s" (show), "F" (first), or "L" (last) in the line command area of the
"EXCLUDED LINES" message, overtyping the dashes that are normally in
that area. Each of these line commands may be followed by a number to
cause redisplay of more than one line.

164

ISPF/PDF for MVS Program Reference

/
~

Edit (Option

,<
;/

S
Sn
F
Fn
L
Ln

- Show

a line
lin " lines

- Show

first line
first "n " lines

- Show
- Show
- Show

-

2)

last line
Show last tI n" lines

EDIT --- SPFDENO.SANPLE.PLI(BROPDS) - 01.02 ----------------- COLUHNS 001 072
CO~1HAND ===>
SCROLL ===> HALF
i': /
000700
~aNCLUDE SYSLIB (BROLISTN) ;
Ii':
LIST NE~1BER NAHES
i': /
000800
END;
!*
i': /
000900
ELSE
1* ELSE,
i'( /
001000
DO;
1*
i'( /
TURN OFF LIST FLAG
001100
BROMLIST = OFF;
1*
MOVE MEMBER NAME TO
°k/
001200
BROSMEMB = BROMMEMB;
1*
i'( /
I SELECTED I
ME~1BER
001300
END;
1*
i': /
001400
IF BROS~1EMB (1) .,= ' , THEN
Ii':
IF NEHBER SELECTED,
i'( /
001500
DO;
/*
i'. /
FIND NE~1BER
XX
%INCLUDE SYSLIB(BROFINDN);
1*
i': /
IF NO ERRORS,
001700
IF BRORCODE = 0 THEN
1*
i'. /
001800
DO;
1*
SET UP PDS HEADER
*/
001900
%INCLUDE SYSLIB(BROPDSH);I*
CALL COM~lON BRO\vSE i': /
002000
CALL CBRO (TLD,TDC);
1*
-J: /
002100
END;
1*
i'. /
ELSE,
002200
ELSE
1*
i'( /
002300
DO;
1*
TURN OFF LIST FLAG */
002400
BROMLIST = OFF;
1*
CLEAR SEL. ME~1BER
i': /
002500
BROSMEMB = BLANKS;
1*
i'( /
XX
END;
/"l:
002700
END;
1*
002800
ELSE
1* ELSE (NOTHING SELECTED),*/
Figure 53 (Part 1 of 2).

Edit - Excluded Lines Example

Chapter 6. Edit (Option 2)

165

EDIT --- SPFDENO.SAt-IPLE.PLI(BROPDS) - 01.02 ----------------- COLU~INS 001072
COHHAND ===>
SCROLL ===> HALF
000700
~aNCLUDE SYSLIB (BROLISTH) ;
/,,~
LIST HE!'lBER NAHES
,,~/
000800
END;
/*
*/
000900
ELSE
/* ELSE,
*/
001000
DO;
/*
*/
001100
BRO!'ILIST = OFF;
/",(
TURN OFF LIST FLAG
",( /
00 1200
BROS~lE~lB = BRO~I~lE~lB;
/",(
~1OVE HE~lBER NA!'lE TO
",( /
001300
END;
/*
'SELECTED' MENBER
*/
001400
IF BROSHEMB(l) ... = ' , THEN
/",(
IF ME~1BER SELECTED,
0;'(/
001500
DO;
/*
*/
- 11 LINE(S) NOT DISPLAYED
-002700
END;
/,,~
ELSE (NOTHING SELECTED), -k /
002800
ELSE
002900
BROMLIST = OFF;
/*
TURN OFF LIST FLAG
*/
/",( END OF LOOP
o;~/
003000
END;
/",( CLEAR SELECTED ~IEMBER
,,'( /
003100
BROSHEHB = BLANKS;
003200
END;
/*
*/

(

Figure 53 (Part 2 of 2).

Edit - Excluded Lines Example

\

The S line command causes the block of excluded lines to be scanned, and
one or more lines selected for redisplay. The selected lines are those
with the leftmost indentation levels (i.e, with the fewest number of
leading blanks). If "S3" is entered, for example, the three lines with
the leftmost indentation level are redisplayed. If more than three
lines exist at this indentation level, the first three are displayed.

Note: If the S line command results would cause only one line not to
be displayed, then that line is displayed anyway. This could cause more
lines to be displayed then you actually requested. For example, if
there are only two lines excluded in the block, then an Sl command would
cause both lines to be displayed.
The F line command causes one or more lines at the beginning of the
block to be redisplayed.
The L line command causes one or more lines at the end of the block to
be redisplayed.
Figure 54 shows a before-and-after example of redisplaying excluded
lines. The command "S3" is entered in the line command area of the

166

ISPF/PDF for MVS Program Reference

~
~

Edit (Option 2)
\.,
I

)'

"EXCLUDED LINES" message.
level are redisplayed.

Three lines with the highest indentation

You can enter any line command that normally operates on a single line
in the line command area of the "EXCLUDED LINES" message. For example,
a "D" entered on that line deletes the entire block of excluded lines.
This feature is particularly useful in conjunction with the shift
commands. Suppose, for example, you want to "data" shift all lines to
the left by four column positions. Proceed as follows:
1.

On the first data line, enter "X99999".

2.

On the "EXCLUDED LINES" message, enter the shift command "<4".

3.

In the primary command area, enter the RESET command to bring the
lines back into view.

This excludes all lines.

Note: Excluded lines need not be redisplayed before saving the
data. The "EXCLUDED LINES" message line is never saved as part of
the data.

EDIT --- SPFDEMO.SAMPLE.PLI(BROPDS) - 01.02 ----------------- COLUMNS 001 072
COM~IAND ===>
SCROLL ===> HALF
i'~ I
000700
%INCLUDE SYSLIB (BROLISTM);
Ii"
LIST ME~mER NAMES
000800
END;
1*
i"l
i'~ I
000900
ELSE
1* ELSE,
i', I
001000
DO;
1*
i'~ I
001100
BROMLIST = OFF;
Ii"
TURN OFF LIST FLAG
,,'
:I
001200
BROSMEMB = BROMMEMB;
li'~
MOVE MEt-mER NAME TO
,,'
,I
, SELECTED' MEt-mER
001300
END;
1*
i':
I
001400
IF BROSMEMB(l) ~= ' , THEN
1* IF ME~fBER SELECTED,
i':
I
001500
DO;
1*
S3
- 11 LINE(S) NOT DISPLAYED
"i': I
Ii',
002700
END;
li'~
002800
ELSE
ELSE (NOTHING SELECTED) ,*1
li'~
002900
BROMLIST = OFF;
TURN OFF LIST FLAG
*1
I-J~ END OF LOOP
003000
END;
*1
Ii', CLEAR SELECTED ME~mER
003100
BROSMEMB = BLANKS;
i', I
,,', I
li'~
003200
END;
BOTTOM OF DATA *****************************

Figure 54 (Part 1 of 2).

Edit- Show Lines Example

Chapter 6. Edit (Option 2)

167

EDIT --- SPFDENO.SAHPLE.PLI(BROPDS) - 01.02 ----------------- COLUMNS 001 072
CO~1MAND ===>
SCROLL ===> HALF
000700
~~INCLUDE SYSLIB (BROLIST~1) ;
tk
LIST t-lE~1BER NAMES
..~ /
/ ..,:
..~ /
000800
END;
,,'. /
ELSE
ELSE,
000900
/""
~'( /
001000
DO;
/"':
..': /
/ ..t:
TURN OFF LIST FLAG
BRONLIST = OFF;
001100
..
/~'.
..': /
BROSMEMB = BRO~INENB;
MOVE NE~1BER NAME TO
001200
..,:/
'SELECTED' NE~1BER
001300
END;
/"':
.... /
IF BROSMEMB ( 1) ..,= ' , THEN
IF HEt-mER SELECTED,
001400
/"':
..t:/
DO;
001500
/""
..': /
/ . t:
001600
%INCLUDE SYSLIB(BROFINDM);
FIND MEMBER
"#'\ /
IF NO ERRORS,
IF BRORCODE = 0 THEN
001700
/"':
4 LINE(S) .NOT DISPLAYED
.... /
ELSE
ELSE,
002200
/"t:
4 LINE(S) NOT DISPLAYED
002700
END;
/"':
..'. /
ELSE (NOTHING SELECTED),*/
002800
ELSE
/"':
.... /
TURN OFF LIST FLAG
002900
. BROMLI ST = OFF;
/""
.... /
003000
END;
/"" END OF LOOP
.... /
/·l~
CLEAR SELECTED NEt-mER
003100
BROSMEMB = BLANKS;
/'i':
..
~/
003200
END;
/

Figure 54 (Part 2 of 2).

Edit - Show Lines Example

\.

DIALOG DEVELOPMENT MODELS
To assist you in writing dialogs, models for various parts of a dialog
are provided in the skeleton library, ISRSLIB. A model is a predefined
set of statements for a dialog element (for example, a call to an ISPF
service) that you can copy into the data set you are editing, and then
modify for your specific application.
Each model contains three parts:
1.

2.

168

Executable source statements - This is the actual information
(dialog service call, panel format, etc.) that will be used in the
: data set being edited. Fields in the source statements 'may be
updated by inserting names, parameters, etc.
Comments - Source statement comments, in the form valid for the type
of model, are included for models of dialog service calls to
document the meanings of the possible return codes from the service.
These comments allow you to develop error handling logic for your

ISPF/PDF for NVS Program Reference

(~

Edit (Option 2)
~,
!

function. They may also provide parameter descriptions for other
types of models.

,/

3.

Notes - The notes provide tutorial information about what the model
does, and what might be entered in each variable field in the source
statements. The notes are not stored with the edited data set and
so do not appear in the edited data set after it has been saved or
filed, or after the edit RESET LABEL command has been issued. You
can determine whether you want the notes displayed during the edit
session by using the NOTE command or the NOTE or NONOTE operand on
the MODEL command.

When you file or save the data, only the source statements themselves
and any comments are saved.
Models are distributed with PDF for panels, messages, skeletons, and
command and program invocation of ISPF services.
Models are organized into a hierarchy based on the type and version of
the dialog element they represent. This hierarchy is represented by a
logical name for each model, where each part of the name corresponds to
a level in the hierarchy.
The first part of the logical name is the model class.
II

I

There is a model class for each data set type qualifier in which a
dialog element might be stored. The classes that have been defined for
the models distributed by IBM are listed on the selection panel shown in
Figure 55. You are prompted by this panel when you need to set the
desired model class, if you do not name the class explicitly.
You can default this part of the logical name whenever the type
qualifier of the data set you are editing matches the class of the model
desired.
The second part of the logical name is the model name, which identifies
a particular model within the model class. Frequently, it uniquely
identifies a model and completes the logical name.
Optibnal parts of the logical name, called qualifiers, may be defined as
needed to uniquely identify a model. Qualifiers are used, for example,
to differentiate among the various kinds of panel verification (VER)
statements.
This hierarchy of models is defined by a hierarchy of selection panels.
The different parts of the logical name of a model are selections on the
panels, which you may choose either by keyword name orbption
identifier. This allows you to be prompted by selection panels if you
do not know the logical name of the model you want, or to bypass the
display of these panels, if you do know the name.
To allow the model class to default whenever possible, that selection,
if needed, is a separate interaction, as described below.

Chapter 6. Edit (Option 2)

169

--------------------------OPTION ===>

MODEL

CLASSES

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

1

CLIST

ISPF services in CLIST commands

2

COBOL

ISPF services in COBOL programs

3

EXEC

ISPF services in EXEC commands

4

FORTRAN

ISPF services in FORTRAN programs

5

MSGS

- Message format

6

PANELS

- Panel formats and statements

7

PLI

8

SKELS

- File tailoring control statements

9

PASCAL

ISPF services in PASCAL programs

ISPF services in PLI programs

Enter END command to cance 1

~lODEL

command.
!
i

\

Figure 55.

Edit - Model Class Selection Panel

Typically, you need not be concerned with the model class. Y~u must
specify it only if you wish to use a class that is different from the
'type' qualifier of the data set you're editing. The 'type' qualifier
is the PDF library type or the last qualifier in the data set name. For
example, you normally store panels in data sets ~hose type qualifier is
PANELS. The model function of edit rec'ognizes PANELS as a valid
qualifier for panel models, so you do not need to specify the class when
requesting a panel model from a data set with a type qualifier of
PANELS. Assume, however, that you call your panels "screens" and
maintain them in a data set with a type of SCREENS. When you wish to
use a model to develop a new panel, and enter the MODEL command, SCREENS
is not recognized as a model class, so you are prompted to identify the
class you desire (in this case, the PANELS class).
Once jou have set a class, whether by panel selecti6n or by use of ihe
MODEL CLASS command, that class remains in effect until changed, either
until you enter a data set name with a different type qualifier, or
until you leave the Edit entry panel.

(

170

ISPF/PDF for MVS Program Reference

Edit (Option 2)
"

MODEL Command

Models are brought into the data set being edited by the MODEL command.
The MODEL command allows you to specify either:
•

The class of models to be searched when retrieving models

•

The logical name of the model to be copied and, optionally, the
destination of the model

The first form of the command is used to specify the class of models to
be used. This form has the following format:
MODEL [CLASS [class-name]]
MOD
CLASS classname

is optional and is used to specify the class of
models to be used for the current edit session. If
you specify a class name, it must be a name
specified on the model class selection panel or an
allowable abbreviation. If you omit it or provide
an invalid class-name, the model class selection
panel is displayed from which you can select a model
class.

The second form of the MODEL command is used to copy models into the
current file. This form has the following format:
MODEL [model-name [qualifier ... ]] [AFTER label] [NOTE ]
MOD
[BEFORE label] [NONOTE]
The operands are optional. One or more qualifiers following a model
name may be required to uniquely identify a model; however, the
qualifiers may not be used without a model name. Each additional
qualifier after the model name i e lplies another level in the hierarchy of
model selection panels. If you omit the class name or model name, if
you omit required qualifiers, or if there is a validation error, you are
prompted with a selection panel from which you can select the desired
class name, model name, or qualifier. Do not create a model with the
model-name of "class" since this is a reserved word on the MODEL
command.
AFTER label

identifies the line after which the model is to be
copied.

BEFORE label

identifies the line before which the model is to be
copied.

NOTE

overrides the current profile note mode, to include
any notes which are part of the model.

NO NOTE

overrides the current profile note mode, to exclude
any notes which are part of the model.

Chapter 6. Edit (Option 2)

171

If a label is not entered, a line command "A" or "B" must be used to
specify the destination of the model.
Using Models

Models are used when you are editing a data set and want assistance in
defining a dialog element.
To use a model, first edit your data set. Then, determine where you
wish to place the model. If you are editing an existing data set,
define a label or use the A (After) or B (Before) line command to
indicate where the model will go. You need not use the label or the A
or B command when you have a new data set. Then, enter the MODEL
command in the command/option area (line 2) of the display. If you know
the logical name of the model you want, enter it with the MODEL command.
If you enter the MODEL command with no operands, you are presented with
a series of selection panels, on which you indicate the desired model
name and any desired qualifiers.
You are again presented with a display of your data, with the model in
place. Now, you can overtype or use line commands to change the source
statements in the model to meet the needs of your application.
As an example, assume that you are writing a dialog function using CLIST
commands, and you want to have the CLIST display a panel. You are
editing your CLIST member, called ISPFPROJ.FLG.CLIST(DEH01). Since your
data set type (CLIST) matches the class of models you want, you can let
the model class default. If you enter the MODEL command without a model
name, the command models selection panel is displayed (Figure 56).

(
\

,
~

172

ISPF/PDF for MVS Program Reference

Edit (Option 2)

------------------------OPTION ===>
VARIABLES
VGET
VI
V2
VPUT
DISPLAY
D1
DISPLAY
TBDISPL
D2
D3
SETMSG
D4
PQUERY

COMMAND MODELS

TABLES (General)
G1
TBCREATE
G2
TBOPEN
G3
TBQUERY
G4
TBSAVE
G5
TBCLOSE
G6
TBEND
G7
TBERASE
G8
TBSTATS
~n SCELLANEOUS

Ml
FILE
F1
F2
F3
F4'

TAILORING
FTOPEN
FTINCL
FTCLOSE
FTERASE

~12

M3
~14

M5
~16

SELECT
CONTROL
BROWSE
EDIT
LOG
GETMSG

-----------------------------------LIBRARY ACCESS
L1
LMCLOSE
L2
LMERASE
L3
LMFREE
L4
LMGET
L5
LMINIT
L6
LMMADD
L7
LMMDEL
L8
LMMFIND
L9
L~lMLIST
LI0 LMMREN
L11 LHMREP
L12 LHOPEN
L13 LMPROM
L14 LMPUT
L15 LMQUERY
L16 L~lRENAME

TABLES (Row)
TBADD
Rl
TBDELETE
R2
R3
TBGET
R4
TBPUT
TB~lOD
R5
TBEXIST
R6
R7
TBSARG
TBSCAN
R8
R9
TBTOP
RIO TBBOTTOM
Rl1 TBSKIP
R12 TBVCLEAR
R13 TBSORT

Enter END command to cancel MODEL command.
Figure 56.

Edit - Model Selection Panel for CLIST Models

If you then select option D1 (DISPLAY), the model for the display
service (Figure 57) is inserted in your CLIST at the location you've
indicated with a label or an A or B line command. Notice that any notes
are identified by the characters "=NOTE=" in the line command area.
You can then continue editing the CLIST to change the display service
call parameters for your function, using the notes as a guide for what
to put in. The error handling code shown serves as a skeleton that you
can update with your error-correction or recovery code. Finally, you
can use the RESET SPECIAL command to eliminate the notes from the
display, leaving the service call, the error-handling logic, and the
comments.

)
Chapter 6. Edit (Option 2)

173

EDIT --- ISPFPROJ.FLG.CLIST(DEM01) --------------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> HALF
000001
=NOTE=
=NOTE=
=NOTE=
=NOTE=
=NOTE=
=NOTE=
=NOTE=
=NOTE=
000010
000011
000012
000013
000014
000015
000016

ISPEXEC

DISPLAY
PANELNAH
MSG-ID
FIELDNAM

PANEL(PANELNAM) HSG(MSG-ID) CURSOR(FIELDNAM)
- OPTIONAL, NAME OF THE PANEL TO BE DISPLAYED.
- OPTIONAL, IDENTIFIER OF A MESSAGE TO BE
DISPLAYED ON THE PANEL.
- OPTIONAL,. NA~IE OF THE FIELD WHERE THE CURSOR IS
TO BE POSITIONED.

EXAMPLE: ISPEXEC
IF &LASTCC
DO
END
ELSE

~=

DISPLAY PANEL(PANEL1) MSG(MSG101) CURSOR(FLD1)

I 'i', RETURN CODES
I 'i', 8 -. END OR RETURN CHD USED
I 'i', 12 - PANEL, MESSAGE, OR
I 'i':
CURSOR FIELD NOT FOUND

0 THEN +

I": 16 - DATA TRUNCATION OR
TRANSLATION ERROR
I 'i'. 20 ~ SEVERE ERROR
BOTTOM OF
l'i~

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

Figure 57.

*1
,', I

*1
*1
'~I

*1
*1

Edit - Sample Dialog Development Model

Adding, Changing, and Deleting Models

Hodels are implemented in a very general fashion, so your installation
can apply and use the concept for other tasks beside dialog development.
You may want to create a set of DL/I call models for your IMS
applications, or a set of report format models for your sales
forecasting application. You can also create models for the "canned"
JCL statements that you use most frequently.
Similarly, you may find that the models provided for panel formats do
not correspond to the standards for your local installation or for your
particular application. You can modify the distributed panel models to
match your own requirements.
This section describes how you can add a new model to your skeleton
library, modify an existing model, or delete an existing model.

174

ISPF/PDF for MVS Program Reference

Edit (Option 2)

Adding

~lodels

To create a new model, you must:
1.

Determine the data set name and member name for the model.
actual use, the model must be in a skeleton library.

For

2.

Create the source code for the model. Consider whether you should
create all new code or whether you should modify an existing model
under a new name.

3.

Make the model accessible from a model selection panel by having its
selection call the program ISRECMBR with the actual model member
name as its parameter. This can involve:
•

Modifying an existing model selection panel to add the new
panel.

•

Creating a new model selection panel. If you do this, you must
add the new panel to the hierarchy of selection panels by
changing one of the higher level panels.

•

No change, if you are replacing an existing model with an
updated model with the same name.

As an example of adding a model, let us assume that you wish to create a
model for multi-line block letters. Since you intend to use these block
letters on panels, the model will become part of the panel model class.
To build a model block letter, use the edit function to create a new
member in your skeleton library (for example, BLKl). By manipulating
input, you might develop the letter "I" that appears in Figure 58.

1111111111
II
II
II
II
II
1111111111
)N

)N

the letter I for logo

Figure 58.

Edit - Sample Block Letter Model

Once the model for each letter is built, you must update the selection
panel in the prompting sequence that deals with panel model selection.
The displayed form of this panel (ISREMPNL in the system panel library)
is shown in Figure 59.
Chapter 6. Edit (Option 2)

175

(
------------------------OPTION ===>

PANEL

MODELS

PANEL FORMATS:
F1 ENTRY
F2 MULTIPLE
F3 SELECTION

- Data entry
- Multiple column
- tlenu selection

STATEMENTS:
S1 ASSIGN
S2 ATTR
S3 ATTRIB
S4 BODY
S5 CONTROL
S6 IF
S7 MODEL
S8 VER
S9 VPUT
SA REFRESH
SB ATTRIBA

-

------------.------------------------

F4
F5

TBDISPL
TUTORIAL

- Table Display
- Help/tutorial

Assignment statement
Attribute section header - )ATTR
New attribute character definition
Body section header - )BODY
Control variables
If statement
Model section header - )MODEL
Verify statement
Variable put statement
Refresh variables prior to redisplay
New attribute character definition for areas

Enter END command to cancel MODEL command.
(

\
Figure 59.

Edit - Panel Model Selection Panel

Copy this panel into your panel data set and modify it, as shown in
Figure 60, by adding a new format, F6. Note the addition of Format F6,
BLOCKLTR.

176

ISPF/PDF for MVS Program Reference

Edit (Option 2)

------------------------OPTION ==>

PANEL

NODELS

PANEL FORHATS:
F1 ENTRY
F2 NULTIPLE
F3 SELECTION

- Data entry
- Nultiple column
- Nenu selection

STATEMENTS:
S1 ASSIGN
S2 ATTR
S3 ATTRIB
S4 BODY
S5 CONTROL
S6 IF
S7 NODEL
S8 VER
S9 VPUT
SA REFRESH
SB ATTRIBA

-

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

F4
F5
F6

TBDISPL
TUTORIAL
BLOCKLTR

- Table Display
- Help/tutorial
- Block letter format

Assignment statement
Attribute section header - )ATTR
New attribute character definition
Body section header - )BODY
Control variables
If statement
Model section header - )MODEL
Verify statement
Variable put statement
Refresh variables prior to redisplay
New attribute character definition for areas

Enter END command to cancel MODEL command.

\,

;

Figure 60.

Edit - Nodified Visible Panel Model Selection Panel

Since we are assuming there are several new models, this panel should be
updated so that when a user selects F6, a new block letters selection
panel should be displayed~ Therefore, you should modify the )PROC
section of panel ISREMPNL to include item F6, as shown in Figure 61.
This concept could be used to allow each user to have a set of
individual models, and allow the installation to have its own set of
general models, without having multiple copies of the PDF model
selection panels. For each model class, the installation could provide
two additional entries on the selection panel: one for
installation-wide models; and one for user models. Each entry could
point to a selection panel, with each user having a copy of the user
selection panel to customize for individual use.

Chapter 6. Edit (Option 2)

177

)PROC
IF (&ZCHD = 'SELECTION')
&THP = TRUNC (&ZCHD, '. ')
&ZCtm = TRUNC (&ZCtm, 8)
&ZSEL = TRANS(TRUNC (&ZCHD,' .')
F1,'PGM(ISRECMBR) PARM(ISREMMF1),
ENTRY,'PGM(ISRECMBR) PARM(ISREMMF1),
F2,'PANEL(ISREHSEL)'
MULTIPLE, 'PANEL(ISREMSEL)'
F3, 'PGH(ISRECHBR) PARH(ISRE~lHF3)'
SELECT,'PGH(ISRECHBR) PARM(ISREMHF3),
SELECTIO, 'PGM(ISRECMBR) PARM(ISRE~lHF3)'
F4, 'PG~I(ISRECMBR) PARM(ISREMHF4)'
TBDISPL, 'PG~l(ISRECMBR) PARM(ISREMMF4)'
FS, 'PGH(ISRECHBR) PARM(ISREHMFS)'
TUTORIAL,'PGM(ISRECMBR) PARM(ISREMHFS),
F6, 'PANEL(BLKLTRS),
BLOCKLTR, 'PANEL(BLKLTRS),
S1,'PANEL(ISREMASG)'
ASSIGN, 'PANEL(ISREMASG) ,
etc. etc. etc.
Figure 61.

/~':

/*

NEED TO QUALIFY THI S 0.., /
PANEL FOR COLUHNS ID. */

.. AUTOMATIC SINGLE COLUMN~': /
FOR 8 OR LESS SELECTIONi', /

/~

/~';

/~';

LARGE BLOCK LETTERS

/* ASSIGN AND VERIFY
/*
NEED QUALIFIERS

Edit - Hodified )PROC Section of Panel

~lodel

~';

/

*/
*/

Selection Panel

(
\<:

Note that the entry for F6, BLOCKLTR, points to a new panel, BLKLTRS,
which you must now build.
You may wish to modify an existing panel model to create the new panel,
which might appear as shown in Figure 62. Note particularly the )INIT
and )PROC sections of the coding.

(
178

ISPF/PDF for MVS Program Reference

Edit (Option 2)

)ATTR
)BODY

%------------------------~~OPTION

===> ZCHD

BLOCK LETTER --------------------------------------+

01
10

%
01

/0

%
%

- Block letter I
Block letter J
- Block letter K

1 +1
2 +J
3 +K

'7~
+Enter~~END+command

to cancel HODEL command. +

01
10

)INIT
.CURSOR = ZCHD
.HELP = ISRxxxxx
IF (&ISRMDSPL = 'RETURN ')
.RESP = END
)PROC
&ZSEL = TRANS(TRUNC (&ZCHD,'. ')
1, 'PG~I(ISRECMBR) PARH(BLKI)'
I, 'PG~1 (ISRECHBR) PAR~1(BLKI)'
2, 'PGM(ISRECMBR) PARM(BLKJ),
J,'PGH(ISRECMBR) PARM(BLKJ),
3, 'PGM(ISRECMBR) PARM(BLKK),
K, 'PGM(ISRECMBR) PARM(BLKK)'
..'~ , ' ?' )

IF (&ZSEL = I?')
.MSG = ISRY~1012
&ISR~l~1END = 'N'
IF (.RESP = END)
IF (&ISRMONCL ~= 'y')
IF (&ISRMDSPL ~= 'RETURN
&ISRHMEND = 'y'
)END
Figure 62.

1* SET THE END INDICATOR TO NO ..'~ I
1* IF ENDING, WHY ... WHO CAUSED *1
I"'~

')

I"'~

1*

MAKE SURE ITS NOT A CLASS OP.
HAKE SURE ITS NOT END ON MBR.
NO - ITS BECAUSE USER HIT END

..'~

..'~

I
I

*1

Edit - Block Letter Model Selection Panel Coding

In the )PROC section of panel BLKLTRS, the target for all valid
selections is the program ISREC~lBR. The parameter passed to this
program is unique for each unique valid selection and is the name of the
model for that selection. For example, in our example, the model name
for selection 1 or I is BLKI.

)

You should follow the )INIT code and the end code in the )PROC section
shown in Figure 62 for all new panels.

Chapter 6. Edit (Option 2)

179

Finding Models
Before you change or delete a model, you must determine the physical
name of the model in the skeleton library. The names of the models of
dialog elements distributed with PDF are shown in Appendix F. You can
use the following method to find the member name for any model.
You can find the member name for any model in the )PROC section of the
final selection panel used to obtain it. The member name is the
parameter passed to ISRECMBR, the program called when that selection is
chosen by the user. In Figure 61, for example, the name of the model
for a selection panel format is ISREMMF3.
To determine the name of the model selection panel so that you can look
at it to find the model member name, use the PANELID command when that
panel is displayed on the screen. Then use browse or edit to look at
the member of the panel library with that name.
Changing Models
To modify a model that currently exists, copy the existing model from
the skeleton data set into your own data set. Then use edit to change
the model as you would change any text data set. Note that any lines
that are to contain notes must have ")N" in positions 1 and 2, as shown
below.

)N
)N
)N
)N
)N

/

\

VARIABLE = VALUE
VARIABLE - A DIALOG VARIABLE OR A CONTROL VARIABLE.
VALUE
- A LITERAL VALUE CONTAINING:
SUBSTITUTABLE
VARIABLES, A DIALOG VARIABLE, A CONTROL VARIABLE,
OR AN EXPRESSION CONTAINING A BUILT-IN FUNCTION.
EXA~lPLES:
&DEPT = 'Z59'
&A = &B
&C = ' ,

When the model is later accessed using the MODEL command, the lines with
)N indicators are flagged with '=NOTE=' in the line command area
(Figure 57).
Deleting Models
You can delete models by deleting the references to them. To delete the
references, remove the entry referencing the model in both the )BODY and
)PROC sections of the model selection panel.
Generally, you can leave the model itself in the skeleton library.
However, if you are deleting a substantial number of models, you may
wish to consider deleting those members from the library and compressing
the library.
180

ISPF/PDF for MVS Program Reference

(,

Uti I ities (Option 3)
CHAPTER 7. UTILITIES (OPTION 3)

The utilities option provides a variety of functions for library, data
set, and catalog maintenance: moving and copying data; resetting library
statistics; initiating hardcopy output; displaying or printing VTOC
entries for a DASD volume; browsing and printing held SYSOUT data;
creating and updating an application command table; converting old
format panels and messages; and defining and maintaining formats for
browsing and editing formatted data sets.
The utility selection panel is shown in Figure 63.

------------------------OPTION ===>
1

LIBRARY

2

DATASET

3
4

HOVE/COPY
DSLIST

5
6
7
8
9
10
11

RESET
HARDCOPY
VTOC
OUTLIST
COMMANDS
CONVERT
FORMAT

Figure 63.

UTILITY SELECTION MENU

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

- Library utility:
Print index listing or entire data set
Print, rename, delete, or browse members
Compress data set
- Data set utility:
Display data set information
Allocate, rename, or delete entire data set
Catalog or uncatalog data set
- Hove, copY,or promote members or data sets
- Data set list:
Print or display (to process) list of data set names
Print or display VTOC information
- Reset statistics for members of ISPF library
- Initiate hardcopy output
- Display or print VTOC entries for a DASD volume
- Display, delete, or print held job output
- Create/change an application command table
- Convert old format messages/menus to new format
- Format definition for formatted data edit/browse

Utility Selection Panel

The following describes each of the utility functions.

"
j

Chapter 7. Utilities (Option 3)

181

,

LIBRARY UTILITY (OPTION 3.1)

I
'\

When this option is selected, a panel is displayed that allows you to
specify a data set and indicate an action to be performed. Figure 64
shows a panel on which data set name SPFDE~10.XXX.COBOL has been entered.
For information about specifying the library or data set name, see
Chapter 3, "Libraries and Data Sets" on page 25. You can specify·
concatenation of up to four groups on the library utility panel.
Possible actions are:
blank
C

X
L
I
B

P
R
D
S

-

Display member list
Compress data set
Print index listing
Print entire data set
Display data set information
Browse member
Print member
Rename member
Delete member
Display data set information (short)

------------------------~---

OPTION

===>

LIBRARY UTILITY

-

blank - Display member list
C Compress data set
X Print index listing
L
Print entire data set
I - Data set information

B Browse member
Print member
P
R - Rename member
D - Delete member
S - Data set information (short)

-

ISPF LIBRARY:
PROJECT ===> SPFDENO
GROUP
===> XXX
TYPE
===> COBOL
NEt-mER ===>
NEWNAt-1E ===>

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

===>

===>

===>

(If option "P", "R", "D", or "B" selected)
(If option "R" selected)

OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAt-tE ===>
VOLU~tE SERIAL
===>
(If not cataloged)
DATA SET PASSWORD

Figure 64.

===>

(If password protected)

Library Utility Panel

((
~

182

ISPF/PDF for MVS Program Reference

Lib ra ry Util ity (Option 3. 1)

This utility is intended primarily for maintenance of partitioned data
sets, but the print index listing function (option X) and the print
entire data set function (option L) also apply to sequential data sets.
If you leave the option field blank (to display a member list), you must
specify a partitioned data set. A member list is then displayed from
which you may select members for printing, renaming, deleting, or
browsing by entering "P", "R", "D", or "B", respectively, in front of
one or more member names. For renaming, you must also enter a new
member name in the field immediately following the current member name.
You can scroll the member list up and down using the scrolling commands
or the LOCATE command. You terminate the member list by entering the
END command.
If you select option C (compress data set), any partitioned data set may
be specified. The data set is compressed by invoking the IEBCOPY
utility.
Note: Use of tha compress option requires the TSO/E Release 2
Program Product or a special installation procedure, described in
ISPF and ISPF/PDF for HVS Installation and Customization.

If you select option X (print index listing), a DASD-resident sequential
or partitioned data set may be specified. The index listing is recorded
in the ISPF list file. For a partitioned data set, the index listing
includes general information about the data set followed by a member
list. For a sequential data set, the index listing includes general
information only. See Appendix B, "PDF Listing Formats" on page 323 for
a discussion of the index listing format.
Note: If PDF was entered in TEST mode, the listing also includes TTR
data for each member of the data set.

If you select option L (print entire data set), a DASD-resident
sequential or partitioned data set may be specified. The allowable data
set characteristics are the same as for browse, except that the data is
truncated at 300 characters if the LRECL exceeds this le~gth. An index.
listing and source listing of the entire data set (including all members
of a partitioned data set) are recorded in the ISPF list file.
If you select option P ,.Jrint member), a partitioned data set and member
name must be specified. The allowable data set characteristics are the
same as for the L option. A source listing of the member is recorded in
the ISPF list file.
If you select option R (rename member) or option D (delete member), a
partitioned data set and member name must be specified. You must also
specify a new member name for the "rename member" function.
If you select option B (browse member), a partitioned data set and
member name must be specified. The specified member is displayed in
browse mode. You can use all the browse commands. When you terminate
browse by entering the END command, the library utility panel is
redisplayed.
Chapter 7. Utilities (Option 3)

183

If you select option I or S (display data set information), information
about the selected data set is displayed. The information displayed by
option I is the same information displayed by the data set utility
(option 3.2). The information displayed by option S is the same except
that it lacks the size of the directory and the number of members for
partitioned data sets. For sequential data sets, options I and S
display the same information.
Figure 65 shows a before-and-after example where members ACCT1 and ACCT2
are printed, member UPDATE is deleted, and member LISTNEW is renamed
LISTOUT. This examples shows the date the member was created and the
date the member was last modified. The date is in the national format
(yy/mm/dd). You can define this format in the national date variable.

Note: If any members are to be printed, the data set
characteristics must conform to those for the L option.

LIBRARY SPFDEMO.MYLIB.PLI
COMMAND ===>
RENAME
NANE
VV.MM
ACCOUNT
01.00
P ACCT1
01.01
P ACCT2
01.00
COINS
01.04
COMPX
01.00
COMPY
01.01
DCLS
01.00
R LISTNEW LISTOUT
01.02
MAIN
01.00
TESTDIR
01.02
D UPDATE
01.00
.,'~.,'~END.,'d..

Figure 65 (Part 1 of 2).

184

---------------------------------------------------CREATED
83/01/09
83/02/11
83/03/09
83/04/24
83/01/21
83/01/14
83/04/23
83/04/23
83/01/09
83/04/23
81/03/26

LAST MODIFIED SIZE
21
83/01/09 17:07
199
83/04/23 14:52
20
83/03/09 17:07
19
83/04/28 16:20
44
83/01/21 11:08
13
83/01/16 12:30
20
83/04/23 15:14
17
83/05/06 10:00
4
83/01/09 17:08
83/05/06 09:04'
30
13
81/04/01 13:08

SCROLL ===> PAGE
~lOD
INIT
ID
21
0 HUNTER
193
0 BECKETT
20
0 BECKETT
19
4 JOSLIN
0 JOSLIN
44
13
1 JOSLIN
20
0 LEESB
13
6 LEESB
4
0 KIRK
43
10 LAIDLAW
13
0 COONS

Library Utility - Print, Rename and Delete

ISPF/PDF for MVS Program Reference

(

Library Utility (Option 3.1)

LIBRARY
CO~lMAND

SPFDEMO.MYLIB.PLI

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

===>

NAME
ACCOUNT
ACCT1
ACCT2
COINS
COMPX
COMPY
DCLS
LISTNEW
MAIN
TESTDIR
UPDATE
·';"·';"END·h';,,

RENAME
·"PRINTED
·"PRINTED

01.00
01.01
01. 00
01.04
01.00
01.01
01.00

CREATED
83/01/09
83/02/11
83/03/09
83/04/24
83/01/21
83/01/14
83/04/23

LAST ~lODIFIED
83/01/09 17:07
83/04/23 14:52
83/03/09 17:07
83/04/28 16:20
83/01/21 11:08
83/01/16 12:30
83/04/23 15: 14

SIZE
21
199
20
19
44
13
20

01.00
01.02

83/01/09
83/04/23

83/01/09 17:08
83/05/06 09:04

4
30

VV .~1N

SCROLL ===> PAGE
IN IT
MOD
ID
21
0 HUNTER
193
0 BECKETT
20
0 BECKETT
19
4 JOSLIN
44
0 JOSLIN
13
1 JOSLIN
20
0 LEESB

·"RENAMED
4
43

0
10

KIRK
LAIDLAW

·"DELETED

Figure 65 (Part 2 of 2).

Library Utility - Print, Rename and Delete

~

J

Chapter 7. Utilities (Option 3)

185

DATA SET UTILITY (OPTION 3.2)

When you select this option, a panel is displayed that allows you to
specify a data set and indicate an action to be performed (Figure 66).
Possible actions are:
A
R
D
C

U

blank
S

-

Allocate new data set
Rename data set
Delete data set
Catalog data set
Uncatalog data set
Display data set information
Display data set information (short)

You may specify any DASD-resident sequential or partitioned data set for
option A (allocate new data set). You may specify any DASD-resident,
non-VSAH data set for the other options. For iriformation about
specifying library and data set names, see Chapter 3, "Libraries and
Data Sets" on page 25.

--------------------------OPTION ===>

DATA SET UTILITY

A - Allocate new data set
R - Rename entire data set
D - Delete entire data set
blank - Data set information

-------------------------------C - Catalog data set
U - Uncatalog data set
S - Data set information (short)

ISPF LIBRARY:
PROJECT ===> SPFDEHO
GROUP
===> HYLIB
TYPE
===> PLI
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAHE ===>
VOLU~lE SERIAL ===>
(If not cataloged, required for option "C")
DATA SET PASSWORD

Figure 66.

·186

===>

(If password protected)

Data Set Utility Panel

ISPF/PDF for HVS Program Reference

I

/

Data Set Utility (Option 3.2)

If you select option A (allocate new data set), a panel is displayed to
allow you to specify a volume serial (you may specify a real DASD volume
or an IBM 3850 virtual volume), a generic unit type (like SYSDA) for
allocation to a default volume, data set characteristics, and space
allocation parameters (Figure 67). Default values are pre-entered
(except for expiration date) based on what you last entered on this
panel, or based on the last display data set information request
(whichever occurred most recently). You may overtype the displayed
defaults. When you press ENTER, the new data set is allocated and
cataloged. Entering the END command returns you to the previous panel
without performing the allocation.
To allocate a data set to a 3850 virtual volume, you must
also have MOUNT authority (see the TSO ACCOUNT command).

Note:

For partitioned data sets, you must specify the number of directory
blocks. Each 256-byte block accommodates the following number of
directory entries:
•
•
•

~
J-II

Data sets with ISPF statistics: 6
Data sets without ISPF statistics: 21
Load module data sets: 4 to 7 (depending upon attributes)

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

ALLOCATE NEW DATA SET

CO~l~lAND ===>

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

DATA SET NAME: NEWPROJ.MASTER.ASM
VOLUME SERIAL
GENERIC UNIT
SPACE UNITS
PRIMARY QUAN
SECONDARY QUAN
DIRECTORY BLOCKS
RECORD FORMAT
RECORD LENGTH
BLOCK SIZE
EXPIRATION DATE

)

Figure 67.

===>
===>
===>
===>
===>
===>
===>
===>
===>
===>

TRKS
50
0

20
FB
80
1600
83/05/24

(Blank for authorized default volume)
(Generic group name or unit address)
(BLKS, TRKS or CYLS)
(in above units)
(in above units)
(Zero for sequential data set)

(national format or blank)

Data Set Utility - Allocate New Data Set

"

,"

Chapter 7. Utilities (Option 3)

187

If you select option R (rename data set), a panel is displayed to allow
you to enter the new data set name (Figure 68). Type the new data set
name and press ENTER to rename the data set, or enter the END command to
cancel it. Either action causes a return to the previous panel.
If you specify a volume serial for a data set to be renamed, PDF checks
to see whether the data set is cataloged on that volume. If it is, the
rename panel prompts you to specify whether to recatalog the data set.
The displayed default for that field is YES. If you specify a volume
serial and the data set is not cataloged, the new name will not be
cataloged. If a volume serial is not specified, the data set is
recataloged to the new data set name and the old data set name is
uncataloged.
If you are renaming a GDG (Generation Data Group) data set which has
been defined with scratch and limit parameters, where the limit has been
reached, you must specify a volume serial. The new data set name can
then be cataloged with option C.
If you select option D (delete data set), a confirmation panel is
displayed to ensure that you did not select this option by mistake. As
directed in the panel, press ENTER to confirm deletion or enter the END
command to cancel your request. Either action causes a return to the
previous panel.

(

188

ISPF/PDF for MVS Program Reference

Data Set Utility (Option 3.2)

---------------------------CO~IMAND

===>

DATA SET
VOLUME:
ENTER NEW

NA~IE:

SPFDE~10.

RENA~1E

DATASET

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

XXX. COBOL

010901

BELOW:

NA~lE

(The new name will also be recataloged.)

ISPF LIBRARY:
PROJECT ===>
GROUP
===>
TYPE
===>
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===> 'NEWPROJ.DEVEL.COBOL'

')"

Figure 68.

Data Set Utility - Rename Data Set

If you specify a volume serial for the data set to be deleted, PDF
checks to see whether the data set is cataloged on that volume. If so,
the confirm delete panel prompts you to specify whether· to uncatalog the
data set. The displayed default is YES. If no volume serial is
specified, the data set is scratched and uncataloged.
Note:
set.

PDF will not allow deletion of a password protected data

If you select option C (catalog data set), the specified data set is
cataloged. For this option you mus.t spe~ify .the volume serial on which
the data set resides (regardless of whether the data set is specified
via project, library, and type or "other" data set name). The data set
must reside on the specified volume.
If you select option U (uncatalog data set), the specified data set name
is uncataloged. There is no requirement for the specified data set to
be allocated or mounted.

)

If you leave the option field blank (to display data set information),
the following information is displayed (Figure 69):

Chapter 7. Utilities (Option 3)

189

•

•
•
•
•

•
•

•
•
•
•
•

•
•

Volume serial
Device type
Data set organization
Record format
Record length
Block size
Creation date
Expiration date
First extent size
Secondary allocation quantity
Space (allocated and used)
Number of extents (allocated and used)
Directory blocks (if PDS, allocated and used)
Number of members (if PDS)

To return to the previous panel, press the ENTER key or enter the END
command.
If you select option S (to display short data set information), the same
information is displayed as for the long display information option
(Figure 69) except that it does not include the size of the directory or
the number of members for partitioned data sets. For sequential data
sets, the long and short forms are identical. To return to the previous
panel, press the ENTER key or enter the END command.

(

(
190

ISPF/PDF for MVS Program Reference

Data Set Utility (Option 3.2)

------------------------COHMAND ===>
DATA SET

NA~1E:

SPFDE~lO.

GENERAL DATA:
Volume serial:
Device type:
Organization:
Record format:
Record length:
Block size:
1st extent tracks:
Secondary tracks:
Creation date:
Expiration date.:

DATA SET INFORMATION

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

MYLIB. PLI
D00163
3330
PO
FB
80
1600
20

o

82/10/14
83/05/25

CURRENT ALLOCATION:
Allocated tracks:
Allocated extents:
Maximum dir. blocks:
CURRENT UTILIZATION:
Used tracks:
Used extents:
Used dir. blocks:
Number of members:

20
1

10

5
1
2

10

\,

I

Figure 69.

Data Set Utility - Display Information

)
Chapter 7. Utilities (Option 3)

191

MOVE/COPY UTILITY (OPTION 3.3)

When you select this option, a panel is displayed that allows you to
specify the "from" data set (and member if it is partitioned), and to
indicate an action to be performed (Figure 70). Possible actions are:
C
M
P
CP
MP
PP

-

Copy data set or member(s)
Move data set or member(s)
Promote data set or member(s)
Copy and print
Move and print
Promote and print

---------------------------OPTION ===> C

MOVE/COPY UTILITY

C - Copy data set or member(s)
M - Move data set or member(s)
P - Promote data set or member(s)

-----------------------------CP - Copy and print
MP - Move and print
PP - Promote and print

SPECIFY "FROM" DATA SET BELOW, THEN PRESS ENTER KEY
FROM ISPF LIBRARY:
PROJECT ===> SPFDEMO
GROUP
===> MYLIB
TYPE
===> PLI
ME~1BER

===>

(
\

(Blank for member list,

*

for all members)

FROM OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAl'tE ===>
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PASSWORD

===>

Figure 70 (Part 1 of 2).

(If password protected)

Move/Copy Utility Panels

(
192

ISPF/PDF for MVS Program Reference

Move/Copy Utility (Option 3.3)

COpy --- FROM SPFDEMO.MYLIB.PLI ---------------------------------------------COMMAND ===>
SPECIFY "TO" DATA SET BELOW
TO ISPF LIBRARY:
PROJECT ===> SPFDE}1Q
GROUP
===> HASTER
TYPE
===> PLI
TO OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PASSWORD

===>

(If password protected)

"TO" DATA SET OPTIONS:
IF PARTITIONED, REPLACE LIKE-NAMED MEHBERS
IF SEQUENTIAL, "TO" DATA SET DISPOSITION
SPECIFY PACK OPTION FOR "TO" DATA SET

===>
===>
===>

YES (YES or NO)
OLD (OLD or MOD)
NO (YES, NO, or BLANK)

\
I

!

Figure 70 (Part 2 of 2).

Move/Copy Utility Panels

When you press ENTER, a second panel is displayed, depending on whether
you are moving or copying, or promoting. If you specify move or copy,
the second panel allows you to specify the "to" data set (Part 2 of
Figure 70). You must also specify the following options on this panel:
•

Replace like-named members (YES or NO), if the "to" data set is
partitioned.

•

"To" data set disposition (OLD or MOD), if the "to" data set is
sequential.

•

Packing option for the "to" data set (YES or NO), to specify whether
to store the moved or copied data in packed format. If you leave
the field blank, the data is stored as it exists in the "from" data
set.
The compression technique ISPF uses to pack data is unique to ISPF.
Attempts to access or execute the data outside of PDF can cause
unpredictable results. See "Packing Data (PACK Command)" on page 88
for more information.

Chapter 7. Utilities (Option 3)

193

Note:

If you have selected several members of an ISPF library or
a partitioned data set to be moved or copied to a sequential data
set, the members are written to the "to" data set one after
another. The "to" data set disposition controls only the initial
positioning of the "to" data set.
If you specify promote, the second panel allows you to specify the "to"
data set (Figure 71). This second panel appears only when you are
promoting from a private library into an entry-level controlled library
or when you are freeing a previously locked member of a controlled
library. You must also specify the following options on this panel:
ACTION

This field specifies whether a normal promotion of the
member is to occur, or the member is to be made available
for update (freed). The latter action may be specified
if you do not want to promote the member for some reason,
but want to make the member available to others. The
specified actions are:
MOVE

Promotion in which the member is moved to the
target library and deleted from the private
library. The member becomes available for
update (no longer locked by your logon id).

FREE

Make the member available, no longer locked by
your logon id. The member is not moved to the
target library, but is deleted from the private
library.

REASON CODE This is a 26-character field that you can use as you
wish. This field will be in the activity log. You can
use it for tracking, testing in a user exit, or for any
other purpose.
PACK DATA

You can use this field to override the library control.
Leaving this field blank defaults to the packed data
library control specification. If the data is packed (or
unpacked) when promoted into an entry-level library, it
will remain packed (or unpacked) throughout each
subsequent promotion.

For additional information about the promotion process, see ISPF/PDF for
MVS Library Management.
For move or copy, you may specify a DASD-resident sequential or
partitioned data set for either the "from" or "to" data set. For
promote, the "from" data set may be sequential, but the "to" data set
must be a controlled ISPF library. Use the Library Management Utilities
(option 8) to set up controls for libraries. The allowable data set
characteristics are the same as for browse. You can move, copy, or
promote load modules (stored in partitioned data sets with "undefined"
record format), but you cannot print them.

194

ISPF/PDF for MVS Program Reference

I
I

\,

Move/Copy Utility (Option 3.3)

PROMOTE --- FROM SPFDEMO.MYLIB.PLI (ABCD) -----------------------------------COMMAND ===>
SPECIFY "TARGET" CONTROLLED LIBRARY BELOW.
TO ISPF LIBRARY:
PROJECT ===> SPFDEMO
GROUP
===> MASTER
TYPE
===> PLI
ME~1BER

===>

ACTION

===>

REASON CODE

===>

PACK DATA

===>

(Blank unless member is to be renamed)
~lOVE

(MOVE to copy and delete source
FREE to only delete source)

(YES, NO, or blank to default to library controls)

'\
I

1

Figure 71.

Promotion "To" Panel

Both data sets must already exist. The utility does not automatically
allocate space for a new "to" data set.
If you select M (move) and the "from" data set is partitioned, or if you
select P (promote), the selected member(s) are deleted from the "from"
data set after they have been successfully copied to the "to" data set.
If you indicate M (move) and the "from" data set is sequential, the
entire "from" data set is deleted after its contents have been
successfully copied to the "to" data set. If you select C (copy), no
deletions occur.
If you select either MP (move and print), CP (copy and print), or PP
(promote and print), source listing(s) are recorded in the ISPF list
file. If the "to" data set is partitioned, a listing of each new or
replaced member is recorded. For move or copy, if the "to" data set is
sequential, a listing of its entire contents is recorded after the
information has been successfully copied. The allowable data set
characteristics for printing are the same as for browse.

Chapter 7. Utilities (Option 3)

195

The following rules apply for specifying member names, if the "from"
data set is partitioned:
•

Specifying a valid "from" member name causes a single member to be
moved, copied, or promoted.

•

Leaving the "from" member name blank causes a member list to be
displayed (after the second panel has been displayed).

•

Specifying a "from" member name of asterisk ("") causes all members
to be moved, copied, or promoted.

If the "to" data set is partitioned, you must specify the "to" member
name for the following conditions:

•

The "from" data set is sequential .

•

A single member is to be moved, copied, or promoted from a
partitioned data set and the member is to be renamed in the "to"
data set. (Hembers may also be renamed from a member list -- see
below. )

For all other conditions, leave the "to" member blank.
A member list is displayed when the "from" data set is partitioned and
the "from" member name is left blank. You may select members to be
moved, copied, or promoted by entering an S in front of one or more
member names. The options for move, copy, or promote and print or no
print must have been previously specified on the first move/copy panel.
If the "to" data set is partitioned, you can also rename the member(s)
by entering a new member name in the field immediately following the
current name. For promote, you must have authority to promote the
member under the new name. A member with the old name in the "to"
library is not replaced or freed.
You can scroll the member list up and down using the scrolling commands
or the LOCATE command. To terminate the member list, enter the END
command, which causes a return to the first move/copy panel.
Figure 72 shows a before-and-after example in which members ACCOUNT,
ACCTl, ACCT2, and COMPY are copied to another partitioned data set, and
member COMPY is also renamed ZCOHP.

196

ISPF/PDF for HVS Program Reference

/

r

Move/Copy Utility (Option 3.3)

COpy --- FROM SPFDEMO.MYLIB.PLI TO SPFDE~lO.MASTER.PLI ----------------------SCROLL ===> PAGE
COMMAND ===>
MOD
ID
CREATED
LAST NODIFIED SIZE IN IT
NAME
RENAME
VV.ttH
21
21
0 HUNTER
S ACCOUNT
01.00 83/01/09 83/01/09 17:07
199
193
0 BECKETT
S ACCT1
01.01 83/02/11 83/04/23 14:52
S ACCT2
20
20
0 BECKETT
01.00 83/03/09 83/03/09 17:07
19
4 JOSLIN
COINS
01.04 83/04/24 83/04/28 16:20
19
44
44
0 JOSLIN
COHPX
01.00 83/01/21 83/01/21 11:08
13
13
S COMPY
ZCOMP
01.01 83/01/14 83/01/16 12:30
1 JOSLIN
DCLS
20
20
0 LEESB
01.00 83/04/23 83/04/23 15: 14
17
13
6 LEESB
LISTOUT
01.02 83/04/23 83/05/06 15: 00
4
0 KIRK
01.00 83/01/09 83/01/09 17:08
MAIN
4
43
30
10 LAIDLAW
TESTDIR
01.02 83/04/23 83/05/06 09:04
"<~"<'~END"<'d~

Figure 72 (Part 1 of 2).

Move/Copy Utility - Copy Members from List

,;
Chapter 7. Utilities (Option 3)

197

Ir

~

COpy --- FROM SPFDEMO.MYLIB.PLI TO SPFDEMO.MASTER.PLI ----------------------SCROLL ";'':==> PAGE
CONMAND ===> ~1OD
ID
CREATED
LAST ~1ODIFIED SIZE INIT
NAME
RENAME
VV. ~1N
ACCOUNT ~';COPIED
HUNTER
01.00 83/01/09 83/01/09 17:07
21
21
0
,',COPIED
ACCTI
01.01 83/02/11 83/04/23 14:52
199
193
0 BECKETT
,',COPIED
ACCT2
01.00 83/03/09 83/03/09 17:07
20
20
0 BECKE1-r
COINS
01.04 83/04/24 83/04/28 16:20
19
19
4 JOSLIN
COMPX
01.00 83/01/21 83/01/21 11:08
44
44
0 JOSLIN
"i'·COPIED
COMPY
01.01 83/01/14 83/01/16 12:30
13
13
1 JOSLIN
20
0
DCLS
LEESB
01.00 83/04/23 83/04/23 15:14
20
1ISTOUT
13
6 1EESB
01.02 83/04/23 83/05/06 15:00
17
4
4
0 KIRK
~lAIN
01.00 83/01/09 83/01/09 17:08
TESTDIR
01.02 83/04/23 83/05/06 09:04
30
43
10 LAIDLAW
"i',~"END;b',

Figure 72 (Part 2 of 2).

Move/Copy Utility - Copy Members from List

For any move or copy operation that does not involve load modules) the
following rules apply:

198

•

If the "to" data set is sequential, its entire contents are replaced
(if disposition OLD was specified) or the new information is added
to the end (if disposition MOD was specified).

•

Multiple members of a partitioned data set may be moved or copied to
a sequential data set by using a member list or specifying all
members (,I,). The merged members appear in the "to" data set,
replacing the original contents of the data set (if disposition OLD
was specified) or added to the end (if disposition MOD was
specified).

•

If the "to" data set is partitioned, new members are added except
when the member names are alike; like-named members are replaced (if
replace Y~S was specified) or not ~opied (if replace NO was
specified).

ISPF/PDF for MVS Program Reference

Move/Copy Utility (Option 3.3)

For any move, copy, or promote operation that does not involve load
modules, the follGwing rules apply:

•

For move or copy, the record formats, block sizes, and logical
record lengths for the two data sets need not be alike. When
necessary~ data is truncated or right-padded with blanks.

•

For promote, if the record format is fixed, the LRECL must be the
same, put the blocksize can be different. For promote with a
variable record format, the target LRECL must be larger than the
source LRECL. The blocks can differ but must be logically
consistent with the LRECL.

•

The data to be moved, copied, or promoted is not renumbered or
modified in any way, except for possible truncation or padding as
noted above. Printer control characters, if present, are treated as
part of the data.

•

Library statistics or other user data in directory entries are not
modified when moving or copying between partitioned data sets.
Partitioned data set members with user TTRs may not be moved,
copied, or promoted.

,
,;

i

For a move, copy, or promote of load modules, the following rules apply:

•

Both data sets must be partitioned and must have undefined record
format (RECFH=U). New members are added to the :'to" data set
except, for move or copy, when the member names are alike;
like-named members are replaced (if replace YES was specified) or
not copied (if replace NO was specified).

:,

No reblocking occurs.

The block size of the l'to't data set must be

equal to or larger than the block size of the "from" data set.
logical record length (LRECL) is ignored.
~

Load modules which were created for "planned overlay" may not be
moved or copied.

•

The print option, if specified, is ignored.

The

Alias entries may be moved or copied from one partitioned data set to
another under the following conditions:
When all members are specified (member name "".-") and the move or
copy is completed successfully for the main member(s) to which the
aliases refer.

•

"
)

From a member list:
When the main member(s) are selected first, are not renamed, and
are successfully moved or copied; and
The alias name(s) are then selected without leaving the list.

Chapter 7. Utilities (Option 3)

199

In all other cases for move and copy, and in all cases for promote, you
may select alias names but they are not preserved as aliases in the "to"
data set (that is, the member(s) to which they refer are moved or copied
and the alias entries are stored in the "to" data set with the alias
flags turned off).

I

\

200

ISPF/PDF for MVS Program Reference

Data Set List Utility (Option 3.4)
DATA SET LIST UTILITY (OPTION 3.4)

When you select this option, a panel (Figure 73) is displayed to allow
you to specify a list of ISPF libraries or TSO data sets to be displayed
in scrollable format or to be printed. The panel also allows you to
display or print VTOC information. The allowable selections are:
blank

Display data set list

v

Display VTOC information

P

Print data set list

PV

Print VTOC information

You may specify any DASD-resident, non-VSAM data set.

---------------------------- DATA SET LIST UTILITY ------------------ .. ---------OPTION ===>
Blank - Display data set list ~'~
V
- Display VTOC information only
~\

;'

P - Print data set list
PV - Print VTOC information only

Enter one or both of the parameters below:
DSNAME LEVEL ===> z77crc
VOLUME
===>
SPECIFY THE FOLLOWING, IF DISPLAYING A LIST OF DATA SETS:
DISPLAY FORMAT OPTION ===> SHORT
(QUICK, SHORT or LONG)
CONFIRM DELETE REQUEST ===> YES
(YES or NO)
,'. The following options will be available when the list is displayed
B
E
D
R
I
S

-

Browse data set
Edit data set
Delete entire data set
Rename entire data set
Data set information
Data set information (short)

Figure 73.

)

C U P X MZ -

Catalog data set
Uncatalog data set
Print entire data set
Print index listing
Display member list
Compress data set

Data Set List Utility Panel

If you select option P (print data set list) or leave the option field
blank (display data set list), you must specify a DSNAME LEVEL with or
without a VOLUME. If you specify a VOLUME, the list is created by
searching the VTOC; if you do not specify a VOLUME, the list is created
by searching the catalog. You must also specify the list format (QUICK,
Chapter 7. Utilities (Option 3)

201

SHORT, or LONG), and whether a confirmation panel is to be displayed if
the delete option is entered from the list.
When you specify DSNAME LEVEL, you are defining the level qualifiers for
the data set names to be included in the list. You can specify these
qualifiers fully or partially, or default them. You must specify the
first-level qualifier fully. Do not enclose the DSNAME LEVEL ~alue in
quotes. If you use an asterisk (*) to partially specify a qualifier,
you must specify it as the first or last character in the qualifier.
For example:
ISPFDEVL.*.SOURCE
SYS 1. ,;',LIB
In the first example, all data sets with ISPFDEVL as the first qualifier
and SOURCE as the third qualifier will be included in the list. There
is no restriction on the second qualifier or any qualifiers beyond the
third one. In the second example, all data sets with a first qualifier
of SYS1 and with a second qualifier ending in LIB will be included.
Figure 74 shows a typical data set list display (SHORT format).
list is sorted by data set name.

DATA SETS BEGINNING WITH Z77CRC -------------------------------------------COMMAND ===>
SCROLL ===> PAGE
DATA SET NAME

VOLUME

ORG

TRKS

%USED

The

(

'\

XT

---------------------------------------------------------------------------Z77CRC.AMCBS.BASE
Z77CRC.AMCBS.ICF
Z77CRC.CBLK
Z77CRC.CLIST
Z77CRC.DATASET.UTIL
Z77CRC.DAO
Z77CRC.EMPTY
Z77CRC.INDEX
Z77CRC.ITSPFLPG.OPTIONS
Z77CRC.ITSPFLPG.SCRIPT
Z77CRC.JASR2.PANELS
Z77CRC.LOC
Z77CRC.LOG.MISC
Z77CRC.NAMES.TEXT
Z77CRC.NET.MSG
Z77CRC.OPT34
Z77CRC.PANELS
Z77CRC.PDF.DEPEND
Z77CRC.RENAME
Figure 74.

MIGRAT
TSOPK1
TSOPK2
GBS311
GBS311
MIGRAT
GBS311
TSOPK3
MIGRAT
MIGRAT
MIGRAT
MIGRAT
MIGRAT
GBS311
GBS311
MIGRAT
MIGRAT
GBS311
MIGRAT

PS
PS
PO
PS

1
4
2
4

100
100
20
100

1
1
1
1

PO
PS

1
77

a
100

1
1

PS
PS

1
1

100
100

1
1

PS

12

100

3

Data Set List Display (Short Format)

if
~
202

ISPF/PDF for MVS Program Reference

Data Set List Utility (Option 3.4)

The information shown for each data set is:
DATA SET NAME Data set name (as in the VTOC)
VOLUME

Volume serial number

ORG

Data set organization, one of the following:
PS

Sequential (PSU is unmovable)
Partitioned (POU is unmovable)
DA Direct (DAU is unmovable)
IS
Indexed sequential (ISU is unmovable)
VS VSAH
blank None of the above data set organizations

PO

TRKS

Number of tracks allocated to the data set

%USED

Percent of allocated tracks used (whole numbers, not
rounded, except that if any track is used the minimum
percentage is 1)

XT

Number of extents allocated to the data set

The LONG format list display has two lines per data set. It includes
the same information as the short form, plus the following additional
information:
RECFM

Record format

LRECL

Logical record length

BLK SIZE

Blocksize

CREATED

Creation date in the national format

EXDA TE

Expiration date in the national format

REF. DATE

Last referenced date in the national format

The QUICK format list display lists only the DATA SET NAME and the
VOLUME for each data set.
The format of the printed data set list is shown in Appendix B.
After the list has been displayed, you may select items for processing
by entering a one-character code to the left of the item:
B
E
D
R
I
S

-

Browse data set
Edit data set
Delete entire data set
Rename entire data set
Data set information
Data set information (short)

C U P X MZ -

Catalog data set
Uncatalog data set
Print entire data set
Print index listing
Display member list
Compress data set

Chapter 7. Utilities (Option 3)

203

These options are processed as follows:

•

For browse, the processing is the same as if you had selected option
1 and entered the library (or data set) name on the browse entry
panel, except that mixed mode is the assumed operation mode. If
you select a library or partitioned data set, a member list is
displayed.

•

For edit, the processing is the same as if you had selected option 2
and entered the library (or data set) name on the edit entry panel,
except that mixed mode is the assumed operation mode. If you
select a library or partitioned data set, a member list is
displayed.

•

For rename, delete, catalog, uncatalog, display data set information
(regular or short form), or compress, the processing is the same as
though you had selected the same option from the library utility
(option 3.1) or data set utility (option 3.2). For rename, a
secondary panel is displayed to allow you to specify the new name.
For delete, a confirmation panel is displayed to allow you to
continue or cancel the operation.

•

For print or print index listing, the processing is the same as
though you had selected option L (print entire data set or file) or
option X (print index) from the library utility (option 3.1).

•

For display member list, the processing is the same as though you
had displayed a member list from the library utility (option 3.1).
From the member list, you may browse, print, rename, or delete
selected members.

/

\

The commands available when you are displaying the data set list are:

SORT maj min

Allows you to sort the list using one of the following
arguments. Optionally, you can sort on a second
argument by specifying the second argument after the
first argument on the SORT command.

NAME
VOLUME
SIZE
EDATE
RDATE
CDATE
USED
LOCATE Iparm

204

alphabetic order by name
alphameric order by volume serial
order of size, largest first
order of expiration date, earliest first
order of last referenced data, last
referenced first
order of creation date, last created first
order of percent used, greatest first

Scrolls the list of data sets based on the field on
which the data set list is sorted, as described above.
If the field is not found, the list is displayed
starting with the entry before which the specified
field would have occurred. If the list is sorted by
name, the LOCATE command specifies a name; otherwise,

ISPF/PDF for MVS Program Reference

({

Data Set Li st Uti Iity (Option 3.4)

the LOCATE command specifies a creat.ion date, size, or
volume.
CONFIRM ON IOFF Controls display of the delete data set confirmation
panel.

If you choose option V (display VTOC information only) or PV (print VTOC
information only), you must specify the VOLUHE for which you want
information. The VTOC information is formatted the same, whether
displayed or printed.
The fields shown on the VTOC information display or listing are:
VOLUME DATA Describes general information about the volume:
TRACKS
%USED

Total tracks on the volume
Percent of total tracks not available for
allocation

VTOC DATA Describes general information about the VTOC on the
volume:
TRACKS
%USED
FREE DSCBS

Total tracks allocated to the VTOC
Percent of allocated tracks used by DSCBs
Number of unused DSCBs

FREE SPACE Describes free space available for data set allocation on
the volume:
TRACKS

Used for track allocation of data sets. The
total number of free tracks, the number of free
areas, and the largest number of contiguous free
tracks are shown.
CYLINDERS Used for cylinder allocation of data sets. The
total number of free cylinders, the number of
free areas with free cylinders, and the largest
number of contiguous free cylinders are shown.

)
Chapter 7. Utilities (Option 3)

205

RESET STATISTICS UTILITY (OPTION 3.5)

When you select this option, a panel is displayed that allows you to
create, update, or delete statistics and to reset sequence numbers
(Figure 75). The reset utility handles only partitioned data sets with
fixed or variable length records and logical record length of:
•

From 10 to 255, inclusive, for fixed-length records

•

From 14 to 259, inclusive, for variable-length records

Refer to the section entitled "Library Statistics" in Chapter 3 for a
discussion of the type of information maintained for each member of a
library.
There are two valid options for this utility:
R
D

- Reset (Create/update) ISPF statistics
- Delete statistics

Use the R option either to create statistics in a library that does not
currently have them, or to update statistics in a library.

-------------------------OPTION ===> R

RESET ISPF STATISTICS

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

R - Reset (create/update) ISPF statistics
D - Delete ISPF statistics
NEW USERID
NEW VERSION NUMBER
RESET MOD LEVEL
RESET SEQ NUMBERS

===>
===>
===>
===>

2
YES
YES

(If userid is to be changed)
(If version number is to be changed)
(YES or NO)
(YES or NO)

ISPF LIBRARY:
PROJECT ===> SPFDEMO
GROUP
===> XXX
TYPE
===> COBOL
MEMBER ===> -;',

(Blank for member list,

OTHER PARTITIONED DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>

(If not cataloged)

DATA SET PASSWORD

Figure' 75.

===>

*

for all members)

(If password protected)

Reset Statistics Utility Panel

(
206

ISPF/PDF for MVS Program Reference

Reset Statistics Utility (Option 3.5)

If you have requested updating of sequence numbers, the data is scanned
to determine if valid, ascending sequence numbers are present in all
records. If so, the data is renumbered. Otherwise, the data is assumed
to be unnumbered and renumbering is not done. If you have requested
updating of the modification level, the modification level flags (the
last 'two digits of each sequence number) are set to zeros. Otherwise,
they are not changed.
The modification level and sequence numbers will not be reset unless a
new version number is specified. What you specify for the RESET HOD
LEVEL and RESET SEQ NUHBERS fields controls the resetting of the
sequence numbers, the modification flags within the data, and the
statistics. The following table shows the various combinations you can
use and the results of those combinations:
RESET HOD LEVEL

YES

NO

YES

NO

RESET SEQ NUHBERS

YES

YES

NO

NO

Results:
Sequence numbers
Hodification flags

Reset
Reset

Reset
Unchanged

Unchanged
Unchanged

Unchanged
Unchanged

If the data is in packed format, there can be no sequence number
processing. HGwever, statistics for members in packed format can be
created or updated if the sequence numbers are not being reset.
If you are updating the userid but not resetting the sequence numbers,
the statistics are updated but the data is not scanned or renumbered.
Use the D option to delete statistics.
The version number field is required for option R and ignored for option
D. If you specify a version number, the statistics are created or reset
as follows:
Version number:
Modification level:
Creation date:
Date/time last modified:
Current number of lines:
Initial number lines:
Number of modified lines:

)

set to the specified value
set to zero if requested; otherwise,
unchanged
set to current date in the national format
set to current date, in the national
format, and time
set to the current number of data records
set to the current number of data records
set to zero

The user id field is optional for option R; it is ignored for option D.
If you specify a user id, it is placed in the user id field of the
statistics. If you leave the user id field blank and select a member
without statistics, the user id field of the statistics is set to the
current user ide
Chapter 7. Utilities (Option 3)

207

The rules for specifying member names are as follows:

•

Specifying a valid member name causes the statistics to be created,
updated i or deleted for a single member.

•

Leaving the member name blank causes a member listing to be
displayed.

•

Specifying a member name of asterisk C*) causes the statistics to be
created, updated, or deleted for all non-alias members in the
library. Alias members are not changed.

If you request a member list, you may select members to be reset by
entering an S in front of one or more member names. You may scroll the
member list using the scrolling commands or the LOCATE command. To
terminate the member list, enter the END command, which causes a return
to the reset utility panel.

(
\

~

«
208

ISPF/PDF for MVS Program Reference

Hardcopy Utility (Option 3.6)
HARDCOPY UTILITY (OPTION 3.6)

When you select this option, a panel is displayed that allows you to
specify a sequential data set or member of a partitioned data set to be
printed or punched, and the destination of the output (Figure 76). It
also allows you to specify whether a sequential data set is to be kept
or deleted after printing. (Partitioned data set members are always
kept.)
Possible actiorts are:
PK
PD

- Print/punch and keep data set
- Print/punch and delete data set

You can specify any DASD-resident data set except the ISPF list and log
data sets. Since these two data sets re~ain open throughout PDF
processing, you can print them only upon PDF termination.
Enter a fully qualified data set name (and member name), enclosed in
apostrophes. If you omit the apostrophes, your user prefix is
automatically left-appended to the data set name. Note, however, that
you must specify the low-level qualifier (e.g., LIST).

~

,,'

---------------------------OPTION ===> J

HARDCOPY UTILITY

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

PK - Print/punch and keep data set
PD - Print/punch and delete data set
DATA SET NAME ===> COMPA.LIST
VOLU~1E SERIAL
===>
DATA SET PASSWORD ===>

(If not cataloged)
(If p~ssword protected PDS)

SYSOUT CLASS
===> A
LOCAL PRINTER ID ===>
"-

JOB STATEMENT INFORMATION: (If not to local printer, verify before proceeding)
===> //EKHAN2
JOB (U602,B043), 'EKMAN RW' ,NOTIFY=EKHAN
===>
===>
===>

Figure 76.

Hardcopy Utility Panel

Chapter 7. Utilities (Option 3)

209

To print the data set or member using a background job, you must also
specify the SYSOUT class and job statement parameters. The SYSOUT class
may specify a printer or punch. Blank out the PRINTER ID field. When
you have entered the desired information and press ENTER, PDF generates
JCL that contains the job statement parameters and a job step that will
print or punch the specified data set, using the IBM utility IEBGENER.
The message "JCL GENERATED" is displayed in the short message area (line
1) .

Note: IEBGENER does not support packed data. If you attempt to
print packed data, the results are unpredictable. IEBGENER prints
the data set one logical record per print line. If the logical
record length is greater than the printer width, the logical
record is truncated.
Once the JCL for the first job step is generated, the job statement
parameters are shown for information only. They are no longer
intensified and you may not overtype them, since the JOB statement has
already been generated.
You may then select another data set name to cause another job step to
be generated. After you have entered all the data sets to be printed or
punched in this job, enter the END command to cause the generated JCL to
be submitted for execution, or enter CANCEL in the command/option field
to exit without submitting a job.
PDF invokes the TSO SUBMIT command to accomplish job submission. The
SUBMIT command displays a "JOB xxxxxxx SUBMITTED" message accompanied by
three asterisks. When you press ENTER or any other interrupt key, the
previous panel is redisplayed.
If you are using the same LIST data set for multiple job steps, you
should be aware that the DCB information can differ between the language
processors and the linkage editor, causing an I/O error when attempting
to read the the LIST data set. We suggest that you use a different LIST
ID for each job step.
To route a data set or member to a local printer, enter PK or PD in the
option field, then enter the data set name, volume serial (if data set
is uncataloged), and password (if· data set is password protected). Then
enter the printer id of the local printer (assigned by your installation
management) and enter blanks in the SYSOUT field. The job statement
information is ignored. ISPF invokes the "DSPRINT" TSO command
processor to print the data set on the specified local printer. A
message is displayed in the short message area (line 1) to indicate that
"DSPRINT" has accepted the request. At this point, you can specify
another option or enter the END command to return to the previous panel.

Note:

DSPRINT is an IBM Field Developed Program that your
installation must have installed if you wish to route your data
set or member to a local printer.

210

ISPF/PDF for MVS Program Reference

(

List VTOC Utility (Option 3.7)
LIST VTOC UTILITY (OPTION 3.7)

When you select this option, a panel is displayed that allows you to
specify a volume serial for a DASD volume and, optionally, a project
name or other high-level data set name qualifier (Figure 77). Possible
actions are:
P
blank

- Print VTOC entries
- Display VTOC entries

The specified volume must be mounted unless it is a virtual volume on an
IBM 3850 Mass Storage System.
If you select option P (print VTOC entries), a VTOC listing for the
designated volume is recorded in the ISPF list file.
If you leave the option field blank, the VTOC listing is displayed at
the terminal in browse mode. You can scroll the listing up and down
using the scrolling commands or the LOCATE command. You can enter all
browse commands from this display. To terminate the listing, enter the
END command, which causes a return to the VTOC utility panel.

'\

----------------------------OPTION ===>

VTOC UTILITY

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

I

;/

P - Print VTOC entries
blank - Display VTOC entries
VOLUME
PROJECT

,

Figure 77.

===>
===>

123456
(Blank for entire volume)

List VTOC Utility Panel

.. )

"
Chapter 7. Utilities (Option 3)

211

For either option, you can limit the VTOC listing to data sets that
begin with a designated high-level qualifier (specified by the project
name on the list VTOC selection panel).
This option can also provide information about indexed VTOCs, generated
by the Data Facility/Device Support for OS/VS2 MVS Program Product,
Program Number 5740-AM7.
A sample VTOC display is shown in Figure 78.

VTOC LISTING FOR VOLUME D00163 ------------------------ LINE 000000 COL 001 080
COMMAND ===>
SCROLL ===> PAGE
VOLUME: D00163
UNIT:
3330
VOLUME DATA:
TRACKS:
%USED:
DATA SETS:
TRKS/CYL:

7676
52 %
251
19

VTOC DATA:
TRACKS:
%USED:
FREE DSCBS:

DATA SET NAME

FREE SPACE:
SIZE:
LARGEST:

18
39 %
435

FREE EXTENTS:
DSORG

TRACKS

TRACKS CYLINDERS
3778
176
2372
124
105
%USED

XTENTS

-----------------------------------------------------------------------------SILVA.COMP1.LIST
SILVA.DEMO.CLIST
SPFBACK.PID1.HELP
SPFBACK.PID1.JCL
SPFBACK.PID1.LEL
SPFBACK.PID1.LOAD
SPFBACK.PID1.MACROS
SPFBACK.PID1.MENUS
SPFBACK.PID1.MSGS
SPFBACK.PID1.0BJ
SPFBACK.PID1.PLS

Figure 78.

PS
PS
PO
PO
PO
PO
PO
PO
PO
PO
PO

7
1
3
4
10
'33
2
125
17
34
342

TRKS
TRKS
TRKS
TRKS
TRKS
TRKS
TRKS
TRKS
TRKS
TRKS
TRKS

85
100
33
50
20
72
100
80
58
85
80

%
%
%
%
%
%
%
%
%
%
%

1
1
1
1
1
1
1
2
1
1
5

X
X
X
X
X
X
X
X
X
X

X

Display VTOC Example

Track values do not include the remaining alternate tracks for the
volume. The free space track values are the number of tracks for the
free cylinders plus any additional free tracks.

212

ISPF/PDF for MVS Program Reference

(

Outlist Utility (Option 3.8)
Ot.JTLIST UTILITY (OPTION 3.8)

This utility gives you the ability to browse, print, delete, or requeue
job output that is in a held SYSOUT queue. When you select this option,
a panel is displayed that allows you to select an action and enter the
appropriate parameters (Figure 79). Possible actions are:
L
D
P
R
blank

-

List job names via the TSO STATUS command
Delete job output
Print job output
Requeue job output to a new output class
Display job output

The jobname parameter specifies the held SYSOUT job. It is required for
all options except option L. The class parameter specifies the SYSOUT
hold queue. If you omit the class parameter, all SYSOUT queues are
searched for the specified job. The jobid parameter is required only if
more than one job exists with the same job name.

---------------------------OPTION ===>

OUTLIST UTILITY

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

L
List job names/id's via the TSO STATUS command
D - Delete job output from SYSOUT hold queue
P - Print job output and delete from SYSOUT hold queue
R - Requeue job output to a new output class
blank - Display job output
FOR JOB TO BE SELECTED:
JOBNANE ===> KRAHERA
CLASS
===>
JOBID
===>
FOR JOB TO BE REQUEUED:
NEW OUTPUT CLASS ===>
FOR JOB TO BE PRINTED:
PRINTER CARRIAGE CONTROL

Figure 79.

===>

(A for ANSI
)
(N for machine )
(blank for none)

Outlist Utility Panel

Chapter 7. Utilities (Option 3)

213

If you se13ct option L (list job names), a list of job tlames and job
id's is displayed. If you supply no job name, or if the job name is
your id plus one character, the status is displayed for all jobs ~hat
begin with your id. If you supply any other job name, the status for
that exact job is displayed.
The list of job names is displayed on the lower portion of the panel.
If the list is too long to fit on the screen, three asterisks are
displayed on the last line of the screen. You can display the remainder
of the list by pressing ENTER.
If you gelect option D (delete job output), the held output for a
specific job is deleted from the specified 5YSOUT queue.
If you select option P (print job output), the held output for a
specific job is removed from the SYSOUT queue and placed in an
ISPF-defined data set for printing. You can choose the record format
for this data set by putting an entry in the tlpRIN~'ER CARRIAGE CONTROL!'
field. A indicates that the data contains ANSI carriage control
characters, H indicates that the data contains machine control
characters, and a blank field indicates that the data contains no
carriage control characters. The record formats for the corresponding
data sets are FBA, FBM, and FB, respectively. After you press ENTER; a
secondary panel (Figure 80) is displayed on which you can enter
information about how and where the job output is to be printed.
(

If you select option R (requeue job output), the held output for a
specific job is requeued to another SYSOUT class from the specified
SYSOUT queue. You must enter the new SYSOUT class on the menu.
If you le~ve the option field blank (display job output), the held
output for the specified job is displayed in browse mod~. You can use
all browse commands. The data remains in the SYSOUT queue. When you
enter the END or RETURN command to terminate browse, the out list panel
is redisplayed and you may then choose to print, reqlleue, or delete the
job output.

214

ISPF/PDF for MVS Program Reference

'"

OuUist Utility (Or.tion 3.8)
----.-.----------------------------------~---------------------------------------

------------------OPTION ===> PD

OUTLIST UTILITY PRINT OPTIONS

PK - Print data set and keep
PD - Print data set and delete
If END command is
DATASET

ent~red,

____________

M

_ _ _ _ _ _ _ _ _ _ _ ~--

K - Keep data set (without printing)
D - Delete data set (without printing)

data set is kept without printing.

NA~1E:

SYSOUT CLASS
ID

PRINT~R

===> A
===>

(For system printer)
(For 328x printer)

JOB STATEMENT INFORMATION:
(Required for system printer)
===> //KRAMERA JOB (U602,B043),MHK

===>
::.:::==>
=::::=>

Figure 80.

Outlist Print Panel

'\

J

Chapter 7. Utilities (Option 3)

215

COMMAND TABLE UTILITY (OPTION 3.9)

The command table utility allows you to create or modify application
command tables. When you select this option, a panel (Figure 81) is
displayed to prompt you for an application id. The name of the command
table is then derived by appending "CNDS" to the application id. If the
table exists in the table input library, it is displayed and may be
modified. If the table does not exist in the table input library, a new
table is generated.
Notes:

1.

You cannot use this utility to modify a command table that is
currently in use. Command table ISPCMDS (the system command table)
is always in use by the dialog manager. To modify the system
command table, make a copy of the table, rename the copy, modify the
copy, and then replace the original with the copy outside the ISPF
environment. If you use the TSO COpy command, specify the NONUM
parameter. Otherwise, you will have an unusable command table.

2.

While this utility is being used to modify a command table, the
table may not be used for other purposes. For example, you may not
use split screen and select a function with NEWAPPL(XYZ), if you are
modifying command table XYZCNDS.

(

--------------------COMMAND ===>

COMNAND TABLE UTILITY

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

\.

ENTER/VERIFY APPLICATION ID BELOW:
APPLICATION ID ===>
The name of the command table to be processed is formed by prefixing
the application id to the string 'CMDS'. For example:
APPLICATION ID ===> TST
results in a command table name of 'TSTCMDS'.

Figure 81.

216

Command Table Utility Panel

ISPF/PDF for MVS Program Reference

(

Command Table Utility (Option 3.9)

COMMAND TABLE - TSTCMDS ------------------------------- LINE 000001 COL 001 080
CO~1MAND ===>
SCROLL ===> PAGE
INSERT, DELETE, AND CHANGE CO~1NAND ENTRIES. UNDERSCORES NEED NOT BE BLANKED.
ENTER END COM~IAND TO SAVE CHANGES OR CANCEL TO END WITHOUT SAVING.

,,,,
,,,,
,,,,
,,,,
,,,,

,,,,

VERB

T

SORT

a SELECT PGM(PQRSORT) PARM(&ZPARM)

PREPARE

4

QUIT
EXPLAIN
UP
DOWN

Figure 82.

ACTION
DESCRIPTION

SORT ENTRIES BY ASCENDING ORDER
SELECT CMD(XPREP &ZPARM) NEWPOOL
PREPARE FILE FOR FORMATTING
2 ALIAS END
QUIT COMMAND - SAME FUNCTION AS END
4 ALIAS HELP
EXPLAIN COMMAND - SAME FUNCTION AS HELP
a &SCRVERT
SCROLL UP COMMAND
a &SCRVERT
SCROLL DOWN COMMAND

Command Table Editing Panel

The named table is displayed on an edi~ panel (Figure 82). Each row of
the table shows the command verb, the truncation amount (T), and the
action, with the description shown on a separate line, offset under the
action.
For a new table, this panel initially contains dummy entries in which
all fields are underscores. The underscores are pad characters, and
need not be blanked out.
You can scroll the table entries, and modify one or more entries simply
by overtyping. In addition, you can enter the following line commands
at the left of any entry by overtyping the four quote marks:

\

I

I or In

Insert one or n lines. The inserted lines contain underscores
(pad characters) in all field positions.

R or Rn

Repeat one or n lines. The repeated lines contain underscores
(pad characters) in the verb and truncation fields, but the
action and description fields are copied from the line on
which the R or Rn was entered.

Chapter 7. Utilities (Option 3)

217

D or Dn

Delete one or n lines.

In addition to the two scroll commands (UP and DOWN), you can enter the
following primary commands:
END

Causes the table to be saved in the table output library, and
terminates the utility.

CANCEL

Terminates without saving the table.
abbreviated to CAN.

CANCEL may be

You may enter multiple line commands or modifications in a single
interaction. The lines are processed in the order in which they appear
on the screen. Any line commands or modifications that are entered
concurrently with the END command are processed before the table is
saved.
Any null entries (in which at least the verb contains all underscores)
are automatically deleted when the table is saved.

(
\

218

ISPF/PDF for MVS Program Reference

Convert Menus/Messages Utility (Option 3.10)
CONVERT MENUS/MESSAGES (OPTION 3.10)

~

This option is only for users who have installed the Structured
Programming Facility (SPF) Program Product.
Installations that have previously extended or custom-tailored SPF must
ensure that the primary option menu and all lower level selection panels
(menus) that were displayed by the SPFUTIL program are in the new
format. In ISPF, these menus are displayed by the SELECT service. The
SPFUTIL program no longer exists.
This option automatically converts old-format (SPF) menus and messages
to new-format ISPF panel and message definitions. When you select this
option, two panels are displayed that are similar to the move/copy
utility (option 3.3) panels. The first panel (Figure 83) allows you to
specify whether you are converting menus or messages (option 1 or 2) and
to specify the "from" library, which must be a partitioned data set.
The second panel (Figure 84) allows you to specify the "to" library,
which must also be a partitioned data set.
Note: Old-format members are limited to a maximum of 180 input
records.

Old-format members are read from the first ("from") library, converted
to the new format, and stored in the second ("to") library. The first
library is not altered by this utility.
~\

I

!

Note: Hembers in the "from" data set may be in packed or unpacked
format, but data in the "to" data set will always be in the unpacked
format.

This utility is not capable of fully converting all old-format
Structured Programming Facility (SPF) menus to ISPF panels. In general,
this utility:
•

Handles conversion of attribute characters, including those
specified with the old-format  statement, provided the
 statement is the first line encountered in the old-format
menu.

•

Generates an )ATTR section, if required, and a )BODY section. The
name of the first input field on line 2 (if any) is changed to ZCMD.
Other input and output fields retain the same names as in the
old-format menu.

•

Generates an )INIT section with .HELP set to the name specified
using the old GENHELP keyword, and with variables initialized as
specified using the old IN IT keywords.

The convert utility does not handle explicit cursor placement, the old
KEY keyword, or the old LIST/RETURN keywords except as described below.

)

The convert utility fully converts:

Chapter 7. Utilities (Option 3)

219

•

Old-format selection me~us below the primary option level, that were
designed to be processed by the SPFUTIL program in the Structured
Programming Facility.

----------------------OPTION ===>

CONVERT MENUS/MESSAGES

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

1 - Convert old format menus to new format panels
2 - Convert old format messages to new format messages
SPECIFY "OLD FORMAT" DATA SET BELOW.
THEN PRESS ENTER KEY TO SPECIFY "NEW FORMAT" .DATA SET.
FROM ISPF LIBRARY:
PROJECT ===> SPF22
GROUP
===> OURMODS
TYPE
===> MENUS
ME~1BER

===>

(Blank for member list,

*

for all members)

FROM OTHER PARTITIONED DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===>
(If not cataloged)
DATA SET PAS S\vORD

===>

(If password protected)

(
Figure 83.

"From" Panel for Converting

•

~lenu/Message

Definitions

Old-format tutorial pages, except that the utility cannot handle the
bypassing of a tutorial page that is displayed only if explicitly
selected (bypassed in the normal flow when you keep pressing the
ENTER key). The converted page is not bypassed in the normal flow.
To correct the problem, you must manually change the (new-format)
parent panel by inserting an asterisk in front of the panel name in
the TRANS statement. For more information, see "Help/Tutorial
Panels" in ISPF for ~lVS" Dialog Management Services.

For messages, the utility properly handles the text of both short and
long messages, the HELP reference (if any), and the ALARM indicator.
Variable fields in old-format messages are converted to dummy variable
names, beginning with an ampersand. You must change these manually to
the appropriate dialog variable names.
Only new-format messages may be displayed on new-format panels, and only
old-format messages may be displayed on old-format panels. The ISPF LOG
service writes only new-format messages to the ISPF log file.
220

ISPF/PDF for HVS'Program .Heference'

~

Convert Menus/Messages Utility (Option 3. 10)

COpy --- OLD FORMAT SPF22.0URMODS.MENUS --------------------------------------CO~mAND

===>

SPECIFY "NEW FORMAT" DATA SET BELOW.
TO ISPF LIBRARY:
PROJECT ===> ISP
GROUP
===> OUR~IODS
TYPE
===> ISPPLIB
TO OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NA~IE ==>
VOLU~IE SERIAL
===>
(If not cataloged)
DATA SET PASSWORD ===>
REPLACE LIKE-NAMED

Figure 84.

~IEMBERS

(If password protected)
===>

"To" Panel for Converting

(YES or NO)

Menu/~lessage

Definitions

Chapter 7. Utilities (Option 3)

221

FORMAT DEFINITION UTILITY (OPTION 3.11)

The format utility is
using the Double-Byte
formats that are used
containing predefined

provided for support of the IBM 5550 terminal
Character Set (DBCS). It is used to maintain
when editing and browsing to display data sets
format records.

The purpose of a format is to structure data from a record into fields
and to define the order in which these fields are to be physically
displayed on the screen when you are editing and browsing.
When you select this option, a panel (Figure 85) is displayed that lets
you:
A
C
D
U
L or blank

-

Add a new format
Copy formats
Delete a format
Update a format
Display the format list

---------------------- FORMAT SPECIFICATION ----------------------------------OPTION ===>
A
C

D
U

L or BLANK
FORMAT NAME

-

/

Add a new format
Copy formats
Delete a format
Update a format
Display format list

\

===>

FOR COPY OPERATIONS, SPECIFY THE FOLLOWING:
FROM FORMAT

===>

(Blank for format list,

FROM TABLE

===>

(Default is "ISRFORM")

NOTE:

for all formats)

The Format Utility is provided for support of the IBM 5550 terminal
using the Double-Byte Character Set (DBCS).

Figure 85.

222

~

Format Specification Panel

ISPF/PDF for MVS Program Reference

Format Defi n ition Uti I ity (Option 3. 11 )

If you specify option A and a format name, the format definition panel
(Figure 86) is displayed. You can then define up to 20 fields. A field
definition includes:
~

The field number

•

The starting column position in the record

•

The field length (in bytes - maximum 71 bytes)

o

The field type (EBCDIC, DBCS, or mixed data).
Note: All three of these field types may contain extended
graphics characters. CAPS ON processing is not possible due
to context dependencies; therefore, it is ignored when you are
editing with a format.

The format definition information applies to both existing records and
inserted records in a data set.
Note: It is recommended that you not use formats with numbered
data, either STD or COBOL; if you do, the results are
unpredictable. If you must use numbered data, either leave the
columns in which the sequence numbers will appear undefined, or
define an EBCDIC or mixed data field for them.
/

Chapter 7. Utilities (Option 3)

223

------------------- FORHAT DEFINITION (FOR~101) -------------------------------COHHAND ===>
START
COLUHN
0
0
0
0
0
0
0
0
0
0

FIELD
NUNBER
1
3
5
7
9
11
13
15
17
19
FIELD
START
FIELD
FIELD

NUMBER:
COLUHN:
LENGTH:
TYPE

FIELD
LENGTH
0
0
0
0
0
0
0
0
0
0

FIELD
TYPE

FIELD
NUHBER
2
4
6
8
10
12
14
16
18
20

START
COLUHN
0
0
0
0
0
0
0
0
0
0

FIELD
LENGTH
0
0
0
0
0
0
0
0
0
0

FIELD
TYPE

Identifies the field position on the screen.
Specifies the column position in the record.
From 1 to 71; fields should not overlap.
E - Single-byte code, D - Double-byte code, M - Mixed data

Enter the END command to exit and save the format.
Enter the CANCEL command to exit without saving the format.
(

Figure 86.

Format Definition Panel

If you specify option C in the format specification panel, the following
occurs:
•

If you specify both an '*' in the 'from format' field, and a table
name other than ISRFORM in the 'from table' field, all formats
cataloged in the 'from table' are copied to ISRFORM.

Note:

If you specify a table name in the 'from table' field,
and that table does not have the same format as that of
ISRFORM, a severe error occurs.

224

•

If you specify both a format name and a 'from format', the format is
copied. If you specified a 'from table' (other than ISRFORM), the
format is copied from that table. Otherwise, the format is copied
from ISRFORM. The format definition panel for the newly-created
format, containing the currently-defined fields, is displayed. You
can add, delete, and/or update field definitions. When you press
the END key, the format definition is cataloged in ISRFORM under the
format name you specified.

•

If you specify a format name but no 'from format', the copy format
selection list panel (Figure 87) is displayed.

ISPF/PDF for HVS Program Reference

Format Defi n ition Uti I ity (Option 3. 11 )

If you did not specify a 'from table', the formats listed are those
cataloged in ISRFORM, the default format table. Otherwise, the
formats listed are those cataloged in the table you specified.
You can select a format to copy by entering'S' to the left of that
format name. The format is copied, and the format definition panel
for the newly-created format, containing the currently-defined
fields, is displayed. You can add, delete, and/or update field
definitions. When you press the END key, the format definition is
cataloged in ISRFORM under the format name you specified in the
format specification panel.

----------------- COPY FORMAT SELECTION LIST (COMMON) ------------------------===>
SCROLL ===>

COM~1AND

S

NAME
COMMON1
COMMON2
COM~1ON3

S

I

,/

COMMON4

Figure 87.

RENAME

CREATED
05/02/83
05/02/83
05/02/83
05/02/83

LAST MODIFIED
05/06/83 10:13:00
05/06/83 10:14:23
05/06/83 10:14:18
05/06/83 10:16:01

ID
Z72KXK
Z72KXK
Z72KXK
Z72KXK

Copy Format Selection List Panel

•

If 'you specify neither a format name nor a 'from format', but you do
specify a 'from table' (other than ISRFORM), the copy format
selection list panel is displayed. You can select one or more
formats to copy by entering'S' to the left of the format name(s).
Each of these formats is copied under the same name from the
specified 'from table' to the ISRFORM table.
Note: If you do not specify option C but specify a name in the
'from format' field, the 'from format' field is ignored.

If you specify option D and a.format name in the format specification
panel, the format will be deleted.
If you specify option U and a format name in the format specification
panel, the format definition panel containing the currently-defined
fields is displayed. You can add, delete, and/or update field
definitions.
If you specify option L or leave the option line blank in the format
specification panel, the format selection list panel (Figure 88) is
displayed. You can update, rename, or delete formats from this panel by
entering 'u' (Update), IS' (Select -- functionally equivalent to
Update), 'R' (Rename), or 'D' (Delete) to the left of the entry.
Chapter 7. Utilities (Option 3)

225

---------------------- FORMAT SELECTION LIST ---------------------------------COI'IMAND ===>
SCROLL ==>

u

NAME
FORH01

RENA~1E

FOR~102

FORM03
FORM04

Figure 88.

CREATED
05/02/83
05/02/83
05/02/83
05/02/83

LAST MODIFIED
05/06/83 10:13:00
05/06/83 10:14:23
05/06/83 10:14:18
05/06/83 10:16:01

ID

Z72KXK
Z72KXK
Z72KXK
Z72KXK

Format Selection List Panel

If you specify 'u' or'S' for a format, the format definition panel
containing the currently-defined fields is displayed. You can add,
delete, and/or update field definitions.
The SELECT command provides you with another way to specify a format.
To do this, enter the word 'SELECT' followed by the format name on the
command line. If the format exists, the format definition panel
containing the currently-defined fields is displayed. You can add,
delete, and/or update field definitions. If no format exists for that
name, a new format is created, and the format definition panel is
displayed to allow you to define fields.

('

\..

If you specify 'R' for a format, you must also specify its new name
under the RENANE column.
If you specify 'D' for a format, the format will be deleted.
You can specify that multiple operations be performed at the same time.
However, if you specify 'u' or'S' in conjunction with other line
commands, any commands after the first 'u' or'S' are ignored.
You can sort the name list on this panel by entering the SORT command on
the command line. The format of the SORT command is:
SORT [NAMEITIHE]
where:
NAME -- Sort by name
TII'IE - - Sort by time last modified
The LOCATE command is another useful tool, especially if you have a long
format list. To use the LOCATE command, ensure that the list is sorted
226

ISPF/PDF for MVS Program Reference

(

Format Defi n ition Uti lity (Option 3. 11 )

by name. Next, enter the word 'LOCATE' followed by the format name on
the command line. If the format exists, the entry for the specified
format name appears as the second line following the header lines. If
the specified name is not found, the existing format name that
immediately precedes the specified name appears as the first line
following the header lines.

t;.
I

)
Chapter 7. Utilities (Option 3)

227

(
\

228

ISPF/PDF for MVS Program Reference

Foreground (Option 4)

CHAPTER 8. FOREGROUND (OPTION 4)

The foreground option provides an interface to standard language
processors for foreground compilation, assembly, linkage edit, and
debugging of programs stored in ISPF libraries or other partitioned or
sequential data sets. It also provides an interface to the Document
Composition Facility (SCRIPT/VS) Program Product for formatting,
browsing, and printing documents, as well as a facility for listing the
parts for a source program module. The foreground selection panel is
shown in Figure 89.
Nember expansion uses simple language scanners to locate expansion
triggers. These scanners do not have all of the sophistication of the
actual language processors. Therefore, unusual code or code that does
not compile may not be successfully processed by member expansion.
Examples are:

If

•

Trigger statements with comments that extend onto the next line

•

Trigger statements that have compiler instructions to alter the
content of the code to be included.

When the Session Manager Program Product, 5740-XE2, is installed, a line
is added to the panel that allows you to enter Session Manager mode when
you invoke any of the foreground processors.
MEMBER EXPANSION

You can control whether any of the source data to be compiled is stored
in packed format by using the pack option of move/copy (option 3.3) or
edit (option 2). If any of the members for a compilation are packed,
you must fill in the field following SOURCE DATA PACKED with YES. If
your source code contains packed data, it is unpacked before compilation
and any included members are also unpacked in line at the line where the
INCLUDE or COpy statement is found. This unpacking of included modules
is dependent on an expansion trigger for each language to be processed.
When using languages that allow mUltiple compiles, such as VS/FORTRAN,
you must put the program source terminating statement in your original,
or top-level, program. This statement cannot be in an "included"
member.
Compiler control statements and/or symbolic substitution are not
considered during member expansion. The following table shows the
languages processed by member expansion, their expansion trigger,
syntax, and the input record format and the columns processed.

ChapterS. Foreground (Option 4)

229

LANGUAGE

EXPANSION
TRIGGER

SYNTAX

INPUT COLU~INS PROCESSED
F/FB FORHAT
V/VB FORHAT

Assembler

COpy

COpy name

1-80

NA

PL/1

%INCLUDE

%INCLUDE DDNAHE(name);
~~INCLUDE name;

2-72

9-100

COBOL

COPY

COpy name.

7-72

NA

VS FORTRAN

INCLUDE

INCLUDE (name)

1-72

NA

PASCAL

~~INCLUDE

%INCLUDE name;
~~INCLUDE DDNAHE(name);

1-72

1-100

SCRIPT

.IM

.Hi name

1-reclength
or
9-reclength

.IH (name)
.IM (' name')
All languages User-trigger

1-reclength
or
l-(reclength - 8)

User-trigger name

Note that the following restrictions apply only to the member expansion
and member parts listing functions:

230

•

Expansion triggers must follow their respective language coding
conventions unless otherwise noted.

•

Multiple names and preprocessor variables on trigger s'tatements are
not permitted.

•

User triggers and their start column are specified at installation
time and must be no more than 20 characters in length and in
uppercase with no imbedded blanks. No part of the user trigger may
be in a comment or continuation field. In Assembler, the user
trigger may not start in column 1.

•

Macros may not be in packed form.

•

In FORTRAN, only the fixed form of coding is permitted by the memher
expansion function.

•

In PL/1, COBOL, and PASCAL, freeform coding is allowed except in
trigger statements.

•

The trigger statement must be the only statement in the logical
record (card image). In other words, no continuation is allowed
either into or from a trigger statement. Also, the trigger keyword
must be the first nonblank character on the trigger statement.

ISPF/PDF for MVS Program Reference

/'

(

\
'1\

Foreground (Option 4)

•

In SCRIPT, the' .im' statement must be the only statement in the
logical record and must start in the first valid column. The first
logical record is tested for line numbers, as follows:
For fixed-length records, if the last 8 characters are all
numeric, they will be skipped for the entire library.
For variable-length records, if the first 8 characters are all
numeric, processing will begin with column 9.
The statements may be in either uppercase, lowercase, or mixed case.

•

For language processors that allow names longer than eight
characters, the name will be truncated at eight. For COBOL, the
name will be truncated at eight and also at the first dash (-).

•

For language processors that allow uppercase and lowercase names,
all referenced names are converted to uppercase.

Member Expansion Return Codes
Return Code

Explanation

o

Normal completion
parm n was too long
Too many parameters
Too few parameters
Severe error in expand module

n where n = 1 through 14
10
12
20

COBOL Restrictions

The first statement in the COBOL program must be either an expansion
trigger or a valid COBOL division header. If an expansion trigger is
the first statement, it must start in FIELD B.
In the COpy statement, the text-name is the only thing processed. The
statement must end on the same line as the COpy keyword with a period
followed by a space. If any option is found, the COpy statement will
not be expanded.
In the IDENTIFICATION DIVISION, the division header or paragraph header
statements must be blank except for the division or paragraph name. The
trigger statement mu~t be on the next nonbI ank, noncomment line.
In all other divisions, the trigger statement (line) may be on any line
in the division.
If the "WITH DEBUGGING MODE" clause is not found in the SOURCE COMPUTER
paragraph, all debug lines will be passed to the compiler as is. If the
clause is found, valid trigger statements found on debug lines will be
Chapter 8. Foreground (Option 4)

231

expanded and a "D" will be inserted in column 7 of'all rioncomment
noncontinuation lines included.
Any nonblank character found in FIELD A will cause the end of the
paragraph form of the NOTE statement.

Trigger Statement Errors
If an error, such as restricted uption, stat~ment on more than one line,
or ~eferenced member name not found, the trigger statement is not
expanded and is passed on to the language processor as-is.
In SCRIPT, if the error was found in a user trigger one blank line will
be inserted before and after the statement in question.

----------------------OPTION ===>

FOREGROUND SELECTION MENU

1 - System assembler
2 - OSjVS COBOL compiler
3 - VS FORTRAN compiler
4 - PLjI checkout compiler
5 - PLjIoptimizing compiler
6 - PASCALjVS compiler

SOURCE DATA PACKED ===>

Figure 89.

232

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

7 - Linkage editor'
SCRIPTjVS
10 - COBOL interactive debug
11 - FORTRAN interactive debug
12 - Member parts list
9 -

(

\

(YES or NO)

Foreground Selection Panel

ISPFjPDFfor MVS Program Reference

Foreground (Option 4)
PROCESSING SEQUENCE

The sequence for foreground processing is:
1.

Select an option from the foreground selection panel and press
ENTER.

2.

An entry panel is displayed for the selected foreground processor.
On this display, you may enter the appropriate data set and member
names, library concatenation sequence, and processor options.
Figure 90 shows an example for the assembler. Either an ISPF
library or other partitioned or sequential data set must be
specified. The other fields on this panel are optional. See
"Assembler/Compiler Processing" for a discussion of these fields.

3.

If the input data set is partitioned and you do not specify a member
name, a member list is displayed. You may select a member from the
list by entering an S in front of the member name.

4.

For SCRIPT/VS processing, a second entry panel is displayed,
allowing you to specify formatting options for draft or final
document .processing. See "SCRIPTjVS Processing."

-------------------------COMMAND ==>
ISPF LIBRARY:
PROJECT ===>
GROUP
===>
TYPE
==>
MEMBER ===>

SPFDEMO
XXX
ASM
TOP

FOREGROUND ASSEMBLY

===>

===>

A

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

MASTER

===>

(Blank for member selection list)

OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
LIST ID ===> LISTASM

PASSWORD

===>

ASSEMBLER OPTIONS:
(Options LIB, LOAD, and PRINT generated automatically)
==> LIST,TEST,TERM,RENT
ADDITIONAL INPUT LIBRARIES:
===> 'SPFTEST.FLAG.ASM'

===>

Figure 90.

Foreground - Assembler Example

Chapter 8. Foreground (Option 4)

233

5.

Once all of the input parameters have been specified, the foreground
processor is invoked. If the Session Manager is installed and if
you specified Session Manager mode on the foreground selection
panel, execution is under control of the Session Manager. All PF
and PA keys are under Session Manager control. When foreground
processing is complete, you are prompted to enter a null line to
return to PDF control.

(

If the Session Manager is not invoked, the PA and PF keys have their
usual TSO-defined meaning (generally, the PF keys are treated the
same as the ENTER key). Communication with the foreground processor
is in line-I/O mode. When foreground processing is complete, you
will see three asterisks (***). Press ENTER.
6.

If the foreground processor generated an output listing, the listing
is displayed automatically in browse mode. The output can be
scrolled up or down using the scrolling commands. All the browse
commands are available. When you have finished browsing the
listing, enter the END command.

7.

After you browse the output listing, the foreground print panel is
displayed to allow you to print, keep, or delete the output
(Figure 91). On this panel, the data set name field shows the name
of the data set specified in the list-id field on the foreground
entry panel. This data set is processed as you specify on the print
panel. When you press the ENTER key, the processor entry panel is
redisplayed.

8.

When the entry panel is redisplayed, a message indicating normal or
abnormal completion is displayed in the upper right corner of the
screen. Enter other parameters and invoke the processor again, or
enter the END command to return to the foreground selection panel.

Note:

If a foreground option terminates abnormally, a
termination message is displayed in the upper right corner of the
screen and browse mode is not entered. The list data set is
retained, but the foreground print panel is not displayed.
ASSEMB LER/COMP I LER PROCESS I NG

The assembler entry panel shown in Figure 90 is typical of the language
processor panels. In the figure, a library concatenation sequence of
three ISPF data sets and one additional input library has been
specified. The concatenation order is:
SPFDEMO.XXX.ASM
SPFDEMO.A.ASM
SPFDEMO.MASTER.ASM
SPFTEST.FLAG.ASM

234

ISPF/PDF for MVS Program Reference

(

~\

Foreground (Option 4)

----------------------OPTION ===>

FOREGROUND PRINT OPTIONS

PK - Print data set and keep
PD - Print data set and delete

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

K - Keep dataset (without printing)
D - Delete data set (without printing)

If END command is entered, data set is kept without printing.
DATA SET NAME: KIRK.LISTASM.LIST
SYSOUT CLASS
PRINTER ID
JOB

STATE~1ENT

===>
===>

===> IIKIRKM
===> II
===>
===>

A

(For system printer)
(For 328x printer)

INFORMATION:
(Required for system printer)
JOB (AB01,B001,123456),M.KIRK

\

Figure 91.

Foreground Print Panel

Before invoking the foreground processor, PDF scans the concatenated
sequence of libraries to find the member to be assembled or compiled
(member TOP in this example). If member TOP first appears in data set
SPFDEMO.A.ASM, the following prompter command would be generated:
ASM

'SPFDEMO.A.ASM(TOP),
LIB('SYSl.MACLIB',
'SPFDEMO.XXX.ASM',
, SPFDEMO . A. AS~I' ,
'SPFDEMO.MASTER.ASM',
'SPFTEST.FLAG.ASM')
LOAD('SPFDEMO.XXX.OBJ(TOP)')
PRINT(LISTASM)
LIST, TEST , TER~I, RENT

Note the following points:
1.

The concatenation sequence serves two purposes: it is used by PDF to
locate the primary member to be assembled, and it is passed to the
prompter (via the LIB parameter) to allow inclusion of subsidiary
members referenced by COpy statements in the source code.

Chapter 8. Foreground (Option 4)

235

2.

The object module produced by the assembler is placed in a
partitioned data set with a 3-level name composed of the project
name, the first library name, and a type qualifier of OBJ. The
member name for the object module is the same as the primary member
to be assembled.
If the input is from another partitioned or sequential data set, the
object module is written to a data set with the same name as the
input data set, but the lowest level qualifier is replaced with OBJ.
The OBJ data set organization (partitioned or sequential) matches
that of the input data set. For partitioned data sets, the member
name of the object module is the same as the input member name.

3.

The list id that you specify is passed to the prompter via the PRINT
parameter. In the example, the listing produced by the assembler is
placed in a sequential data set named:
prefix.LISTASM.LIST
(The prompter automatically left-appends your TSO data set prefix
and right-appends the LIST qualifier.)
You may omit the list id if the input is from a partitioned data
set; the list id defaults to the member name. You must specify a
list id if the input is from a sequential data set.

4.

The assembler options are passed to the prompter exactly as you
specify them.

The commands generated for the other language processors are similar to
the assembler example, except that:

•

The macro library 'SYSl.MACLIB' is not included in the concatenation
sequence p~ssed via the LIB parameter.

•

For COBOL, an optional TEST parameter may be generated, as follows:
TEST ('project-name.libl-name.SYM(member-name)')
You may control the generation of this parameter from the panel.

Note:

If TEST is specified, you must pre-allocate space for
the SYM data set. You can use the PDF data set utility to
allocate the SYM data set.

236

•

For FORTRAN, there is no LIB parameter. The concatenation sequence
is still used to locate the member to be compiled.

•

For the two PL/I compilers and PASCAL/VS, an OBJECT parameter
(rather than LOAD) is generated by PDF to designate the destination
of the object module.

ISPF/PDF for MVS Program Reference

(
\

,
Foreground (Option 4)

•

For the PLII Checkout Compiler, the OBJECT parameter is optional
(controlled by a field on the selection panel). If you specify
OBJECT, the following PLIC parameter is generaied by PDF:
OBJECT('project-name.libl-name.OBJ(member-name) ,
'project-name.libl-name.ITEXT')
If you specify NOOBJECT, neither OBJ nor ITEXT data is generated.

In addition to constructing the input data set name, the PDF foreground
processing option automatically generates the following optional
parameters. Accordingly, you should not specify these parameters on the
options line of the entry panel.
For
For
For
For
For
For
For
For
For

ASM:
COBOL:
FORT:
PLIC:
PLI:
PASCAL/VS:
LINK:
TESTCOB:
TESTFORT:

LIB, LOAD, PRINT
LIB, LOAD, PRINT, TEST
LOAD, PRINT
LIB, OBJECT, PRINT
LIB, OBJECT, PRINT
LIB, OBJECT, PRINT
LIB, LOAD, PRINT
LOAD, PRINT, PARM
LIB, PRINT, SOURCE

LINKAGE EDITOR PROCESSING

\,
I

V

For the linkage editor, the entry panel allows you to specify up to two
system subroutine libraries (Figure 92). The concatenation sequence
used by PDF to locate the member for input to the linkage editor is:
project-name.libl-name.type
project-name.lib2-name.type
(etc.)
where "type" is whatever you specify on the panel: It may.be DBJ or it
may be some other type containing linkage editor control statements. If
the type is not OBJ, an "OBJECT" DDNAME is automatically allocated to
facilitate use of the following linkage editor control statements.
INCLUDE OBJECT(member-name)
Example:
PROJECT
LIBRARY
TYPE
}1EMBER

,)

===>
===>
===>
===>

XYZ
MYLIB
LEL
TOP

===> MASTER

===>

===>

In this example, PDF searches data sets 'XYZ.MYLIB.LEL' and
'XYZ.MASTER.LEL' to find member TOP, which should contain linkage editor
language (LEL) control statements. In addition, PDF allocates to DDNAt-tE
t'OBJECT" (DISP=SHR) the following concatenated sequence of object
libraries:
Chapter 8. Foreground (Option 4)

237

/
XYZ . ~IYLIB .OBJ
XYZ.HASTER.OBJ
This concatenated sequence is searched by the linkage editor if member
TOP contains INCLUDE OBJECT(member-name) statements.
The concatenation sequence passed to the linkage editor via the LIB
parameter has a type qualifier of LOAD and includes the user-specified
system libraries, as follows:
LIB('project-name.libl-name.LOAD' ,
'project-name.lib2-name.LOAD' ,
etc. ,
'syslibl-name' ,
etc.)
This concatenation sequence is used by the linkage editor to resolve
"automatic call" references.

-----------------------CO~IMAND

===>

ISPF LIBRARY:
PROJECT ===> SPFDEMO .
GROUP
===> NYLIB
TYPE
===> OBJ
ME~1BER
===> MAINPROG

FOREGROUND LINKAGE EDIT

===>

MASTER

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

===>

===>

(Blank for member selection list)

OTHER PARTITIONED DATA SET:
DATA SET NAME ===>
LIST ID

===>

LLLL

PASSWORD

===>

LINKAGE EDITOR OPTIONS:
(Options LOAD and PRINT generated automatically)
===> MAP,LET,TEST,RENT,DCBS(3072)
ADDITIONAL INPUT LIBRARIES:

===>
===>

Figure 92.

238

(LOAD LIBRARIES ONLY)

Foreground - Linkage Editor Example

ISPF/PDF for MVS Program Reference

Foreground (Option 4)
SCRIPT/VS PROCESSING

Selecting the SCRIPT/VS option displays a sequence of panels that allow
you to do the following:

•
•
•

•

Create SCRIPT/VS parameters
Create styles (for SCRIPT options and print characteristics)
Browse formatted output
Print formatted output

Use of this facility requires the installation of the Document
Composition Facility (SCRIPT/VS) program product, with the Foreground
Environment feature.
The first panel displayed allows you to specify the following:

•

•
•
•

COHNAND

===>

STYLE

===>

Formatting style (the set of SCRIPT/VS options)
ISPF library member
Other partitioned or sequential data set
Option to browse the scripted output and (optionally) the output
listing file ID

SCRIPT/VS SELECTION MENU ---------------------------DISPLAY STYLE OPTIONS

ISPF LIBRARY:
PROJECT ===> ISPFDEHO
GROUP
===> xxx
TYPE
===> TEXT
NE~1BER
===> TOP

===>

TEST

===>

MASTER

===>

NO

(Yes or No)

===>

(Blank for member selection list)

OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAHE ===>
DATA SET PASSWORD

~

(If password protected)

LIST ID

===>

(Blank defaults to member name)

BROWSE

==> YES

(Yes or No)

Figure 93.

~

===>

SCRIPT/VS Utility - Selection Panel
If you do not define any formatting styles, SCRIPT/VS creates two styles
for you. They are DRAFT and FINAL. These two styles correspond to the
formatting options available in the previous release of SCRIPT/VS
Foreground Processing. If you have not defined these options before, or
Chapter 8. Foreground (Option 4)

239

if this is your first 'release of ISPF/PDF, the default values-for the
SCRIPT/VS formatting options are set for you.
If you leave the style field blank, a panel displays a list of the
available styles. If you enter the style name of an existing style in
the style field, the existing style is used for formatting., If you
enter a new style name, the name is added to your style list., The new
style uses SCRIPT/VS formatting options that areiequalto' the formatting
optiorts of the last style.
For information on specifying the ISPF library member or other
partitioned or sequential data sets, see Chapter 3, "Libraries and Data
Sets" on page 25. You can specify concatenation of up to four groups on
the SCRIPT/VS Formatting Style Selection Panel.
The formatted listing is stored in a data set named:
prefix.list-id.LIST
where list-id can be specified on the SCRIPT/VS Selection Panel and
prefix is the TSO data set prefix.
If you leave the list-id field blank and the input is from a partitioned
data set, the list-id is the same as the member name. If the input is
from a sequential data set, you must specify the list-ide This data set
will be used again for each invocation.
I

I
SELECT SCRIPT/VS FOR~1ATTINGSTYLE -----------~----~-------- I
COM~1AND ===>
SCROLL ===> CSR
I
I
Valid Line Commands: S - Use this STYLE for formatting
I
D - Delete
I
DISPLAY FORHATTING OPTIONS ===>
I
Line
I
Cmd
Style
Description
I
I
l'
DRAFT
Draft document SCRIPT/VS formatting options
I
l'
FINAL
Final document SCRIPT/VS formatting options
I
S
IMEMO
Format options for inter-office memos
I
II
I Figure 94.

SCRIPT/VS Formatting Style Selection Panel The SCRIPT/VS Formatting Style Selection Panel is a scrollable list that
contains all the styles available 'to you. Each style is a set of
predefined formatting options. You can use two line commands on this
panel:

S

240

Select this style for formatting

ISPFIPDFforMVS Program Reference

. Foreground (Option 4)

o

Delete this style from the list of available styles

The description area indicates the purpose of each style.
modify this area.

You can

You can only select one style at a time fo'r formatting; however, one or
mor.e styles can also 'be deleted at the same time . If you chose to
display the SCRIPT/VS formatting options, the SCRIPT/VS specification
panel is displayed here. Otherwise, formatting of the SCRIPT/VS
document will start.

COMMAND

SCRIPT/VSOPTIONSFOR STYLE: IMENO.- - .. -- ----- - -:--- - - -- ----

===>

PROFILE DATA SET
FONTLIB DATA SET
SEGLIB DATA SET
MACRO DATA SET
BIND:

Odd
Even

DEVICE TYPE
CHARS (Fonts)
SYSVAR
PAGE

===>
===>
===>
===>
===>
===>
===>
===>
===>
===>

Enter Yes or No for the following:
Twopass
~==>
Spelling Check ===>
Index
===>
Line Number
===>

I Figure 95.

Uppercase only
Unformat
Condensed text (CTF)

===>
===>
===>

SCRIPT/VS Options Specification Panel
The document options specificatioll p~nelallowsyou to specify the
SCRIPT/VS options for formatting the ISPF library member of other
partitioned or sequential data sets. All parameters on this panel are
optional. For a complete' description of the SCRIPT/VS options, see the
Document Composition Facility: Us.r's Guide, SH20-9161.
The options are,as follows:

. C:litapter 8:. Foreground (Option 4)

241

PROFILE ID

Enter the data set name that contains the profile to be
imbedded before the primary file.

FONTLIB

Enter the name of a fully qualified partitioned data set
or sequential data set that contains the font library.

SEGLIB

Enter the name of a fully qualified partitioned data set
or sequential data set that contains the page segment.

MACRO

Enter the data set name or library to be searched for
MACRO and style definitions.

BIND

Enter values to shift the formatted output of each page
to the right for binding purposes. If you do not
specify an even value, the odd value is used for the
even pages. Binding values can be any valid space
units. For example, a value of 4 means 4 characters, a
value of 2i means 2 inches, and a value of 6cm means 6
centimeters.

DEVICE TYPE

Enter a logical output device type (for example, 1403W8
or 3800N12S).

CHARS (Fonts) Enter all fonts to be used in formatting the document.
The first font you specify is the'initial font.
SYSVAR

Enter values to be set in the symbols &SYSVARn in the
following form:

(
\

n value
where ~ is the single-ch~racter designation of the
system variable you are specifying, and value is the
value you are assigning to the variable.
PAGE

Enter selected pages to format and print.

To print
these pages

Enter these values

4, 5, and 6

'from 4 to 6'

9 and 10

'from 9 for 2'

Figure 96 (Part 1 of 2).

Example of specifying specific pages to print
from a document

(
242

ISPF/PDF for MVS Program Reference

Foreground (Option 4)

To print
these pages

Enter these values

14

'from 14 only'

2, 3, 4, 10,
12, 13, and 14

'from 2 to 4 from 10 only from 12 for 3'

Figure 96 (Part 2 of 2).

Example of specifying specific pages to print
from a document

For the following options you should specify YES, NO, or leave the field
blank. If you leave the field blank, it is the same as specifying NO.

'\

TWOPASS

Enter YES to process the document twice.
Formatted copy is produced on only the second
pass.

SPELLING CHECK

Enter YES to enable the .SV (Spelling
Verification) control word.

INDEX

Enter YES to enable the .PI (Put Index)
control word.

LINE NUMBER

Enter YES to print the file ID and line number
of the last line read to the right of each
formatted line.

UPPERCASE ONLY

Enter YES to change all lowercase letters to
uppercase letters before printing.

UNFORMAT

Enter YES to print all input lines without
formatting.

I

J

CONDENSED TEXT (CTF) Enter YES to prepare the document as input
for the STAIRS/VS program product. If you
specify YES for this option, the device type
must be STAIRS or blank; otherwise, it will be
ignored. The output will be placed in data
set

prefix.DSHUTCTF.TEXT
where prefix is the TSO data set prefix.
If you enter the END command from the SCRIPT/VS Formatting options
panel, changes to the formatting options will not be saved, except for
the follow exception: if the style is new, it is saved with default
formatting options. Pr~ssing the ENTER key while this panel is
displayed formats the document.
Chapter 8. Foreground (Option 4)

243

When the SCRIPT/VS processor finishes you can optionally browse the
formatted document.
After you browse the formatted document, the SCRIPT/VSprint panel is
displayed. The print panel gives you the option of printing the
formatted document and specifying its disposition. Your options are:

244

PK

Print the file and retain it.

PD

Print the file, then delete it.

K

Retain the file.

D

Delete the file and do not print it.

ISPF/PDF for MVS Program Reference

Foregrou nd (Option 4)
MEMBER PARTS LIST

The member parts list shows, for each source program module specified,
the ,following information:
•

The names of the modules it calls or includes

•

The names of the modules that call or include it

The languages permitted in the member expansion function are also
permitted in the member parts list function and the expansion triggers
have the same restrictions. In addition to the expansion triggers, the
member parts list also uses the CALL statements in Assembler, PL/I,
COBOL, and VS FORTRAN. The format of the CALL statement is "CALL name"
where the delimiter after the name can be either a left parenthesis, a
blank, or a valid statement delimiter. In COBOL, the CALL statement is
only valid in the PROCEDURE DIVISION, and the statements CALL PGMA and
CALL 'PGMA' both result in a reference to the member name PGMA.
When you select the member parts list option from the PDF foreground
option panel, the panel shown in Figure 97 is displayed.

~~

---------------------OPTION ===>

FOREGROUND MEMBER PARTS LIST

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

,/

1 - Print member parts
2 - Write member parts data set
3 - Browse member parts
ISPF LIBRARY:
PROJECT ===>
GROUP
===>
TYPE
===>
MEMBER
===>
LANGUAGE

===>

===>

,j

Figure 97.

~':

for all members)

(Defaults to type value)

===>

OUTPUT DATA SET:
DATA SET NAME

===>

(Blank for member list,

GROUPS FOR PRIMARY MEMBERS
SYSOUT CLASS

===>

===>

(1, 2, 3, or 4)

(Defaults to 'A' )

===>

(Option 2 only)

Foreground Member Parts List Panel

Chapter 8. Foreground (Option 4)

245

Note:

The SOURCE DATA PACKED field on the foreground selection panel
is not used by member parts list; both packed and unpacked data sets can
be read.
On the foreground member parts list panel, enter the appropriate ISPF
library and member names, group concatenation sequence, and listing
options.
You must specify one of the processing options, the library and member
name, the source language, and the groups for primary members.
A member name may be a unique name, or a truncated name, or an asterisk
(*). A truncated name is specified by giving a member name prefix
followed by an asterisk (for example, ISRPR*). If the member name is an
asterisk (*), all members from the primary libraries are used as primary
members. A ~amber name of blank results in a member list being
displayed; you may select only one member from this list.
The print option, option 1, prints the member parts listing 120
characters wide.

Note:

The job cards from option 5 are used to submit the print job.

The data set option, option 2, produces an intermediate sequential
member parts list in the user-named data set. This data set may be
either a sequential data set or a member of a partitioned data set. If
the data set has not been allocated, option 2 allocates it with an LRECL
of 17, a BLKSIZE of 3009, and a RECFM of FB. The format of the records
in the user-named data set is as follows:
Field Name
Member name
Called by or
calls member name
Call flag
Include flag
Not found flag
From flag

Format
CHAR(8)

Description
Subject member

CHAR(8)
BIT(l)
BIT(l)
BIT(l)
BIT(l)

Referenced member
Found on a CALL statement
Found by INCLUDE or COPY
Referenced member not found
Subject called from referenced
member
Referenced member called from
subject member
Member referenced outside
valid COBOL division

To flag

BIT(l)

COBOL flag

BIT(l)

Unused

BIT(2)

The display option, option 3, allows you to browse the member parts
list. Figure 98 shows an example of a member parts list display where:
•

Library ISPFPROJ.ABL.PLI contains members:
MEMBERA - has no calls or includes
t-lEMBERB - calls ME~1BERC
t-lEMBERC - calls MEt-IBERD and MEMBERG, and includes MEMBERE

246

ISPF/PDF for MVS Program Reference

~

Foreground (Option 4)

•

Library ISPFPROJ.STAGE.PLI contains members:
MEMBERD - includes MEMBERE
MEMBERE - has no calls or includes
MEMBERF - has no calls or includes

•

Library ISPFPROJ.STAGE.PLI is concatenated to library ISPF.ABL.PLI.

•

A parts list is requested for all members in the first data set.

BROWSE - PARTS LIST FOR ISPFPROJ.ABL.PLI(*)
COM~lAND

SCROLL ===> PAGE

===>

FROM

VIA

FROM

VIA

(NE~1BERA

(~1E~1BERB
HE~1BERB
ME~1BERC

ME~1BERC

I

HEMBERD

C
C
I

TO

MEMBER

(NEMBERC
(MEMBERD
(MEMBERE

)
)
)
)
)

VIA

MEMBERC
MEMBERD

C
C

~lE~1BERG

C~'"

NE~1BERE

I

TO

ME~1BERE

VIA

I

/

Figure 98.

Member Parts List Display

The source language must be either ASSEMBLER (ASM) , COBOL (COB), FORTRAN
(FOR), PL/l (PLI or PL1), PASCAL (PAS), or SCRIPT (SCR).

)

The GROUPS FOR PRIMARY MEMBERS field is used to identify which
concatenated libraries are to be used in locating primary members. A
primary member is a member that starts the member parts expansion chain.
The chain is broken when a member cannot be found in the set of
concatenated libraries or there are no more unique members referenced.
If a member cannot be found, it is flagged on the listing. For
instance, internally called routines are not found.

Chapter 8. Foreground (Option 4)

247

A GROUPS FOR PRINARY HEHBERS value of "1':' s,pecifies ,that only the first
library in the concatenation sequence is to be used in locating primary
members. A value of "2" specifies that the first and second libraries
are to be used and so forth. These specified libraries are known as
primary libraries.
If a member cannot be, found"the name is. flagged with an
When no ~oie"~rimary members can
be found, the listing is printed or browsed .. Ca,1ls to internal routines
or variable names will .result ~n the 'member not found' flag being set.
Note:

aste~isk (*) and processing continues.

248

ISPF/PDF for HVS Program Reference

Batch (Option 5)

CHAPTER 9. BATCH (OPTION 5)

The batch option provides an interface with standard language processors
for background compilation, assembly, or linkage edit of programs stored
in ISPF libraries or other partitioned or sequential data sets, as well
as providing a way of listing the component parts of a source program
module.
The batch selection panel is shown in Figure 99. It allows you to enter
job statement information and to select a language processor or select
the member parts listing function.
The SOURCE DATA ONLINE field allows you to specify whether the data to
be processed resides on a currently mounted volume. If you specify
"yes," PDF checks the data set information that you entered on the batch
panel, and allows you to display a member list. If you specify "no,"
PDF assumes that the data cannot be accessed except by the batch job,
and does not verify the existence or validity of the specified data set.

--------------------------OPTION ===>
1
2
3
4

-

BATCH SELECTION MENU

System assembler
OS/VS COBOL compiler
VS FORTRAN compiler
PL/I checkout compiler

5
6
7
12

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

- PL/I optimizing compiler
- PASCAL/VS compiler
- Linkage editor
- ~tember parts list

SOURCE DATA ONLINE ===> YES (YES or NO)
SOURCE DATA PACKED ===> YES (YES or NO)
JOB STATEt-IENT I NFORHATI ON : (Verify before proceeding)
===> IISILVA7
JOB (U602,B043) , 'SILVA RJ' ,CLASS=B,
===> I I
~ISGLEVEL=2 ,
===> II
NOTIFY=SILVA
===>

Figure 99.

Batch Selection Panel

)
Chapter 9. Batch (Option 5)

249

The SOURCE DATA PACKED field allows you to specify whether any of the
data to be used by the batch job is stored in packed format. If you
specify YES, the required members will be expanded onto a temporary file
which is then used as input to the batch job. For additional
information about member expansion, see Chapter 8, "Foreground (Option
4)" on page 229.

~
l

As with other secondary panels, you can bypass the batch selection panel
by entering two numbers, separated by a decimal point, on the primary
option menu. Note, however, that using this procedure does not allow
you to verify or change the job statement parameters, nor does it allow
you to generate multiple compilations or link edits within the same job.
The data entry panels for batch processing are similar to those for
foreground, except that you may enter either a list id (if the output
listing is to be stored in a data set) or SYSOUT class (if the listing
is to be printed as part of the batch job). If you specify both a list
id and SYSOUT class, the list id is used. An example for the PLII
Optimizing Compiler is shown in Figure 100.

------------------COHMAND ===>

BATCH PLII OPTIMIZING COHPILE

ISPF LIBRARY:
PROJECT ===> SPFDEMO
GROUP
===> MYLIB
TYPE
===> PLI
~1EHBER
===> TOPSEG

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

/

===>

HASTER

===>

FLAG

===>

(Blank for member selection list)

OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAHE ===>
LIST ID ===>
SYSOUT CLASS

===>

A

(Blank for hardcopy listing)
(If hardcopy requested)

COHPILER OPTIONS:
===> MACRO,XREF
ADDITIONAL INPUT LIBRARIES:
==> 'OURSYS.PLIMACS'

===>

Figure 100.

250

Batch - PLII Optimizing Compiler Example

ISPFjPDF for MVS Program Reference

~

Batch (Option 5)

After you fill in the entry panel and press the ENTER key, PDF generates
the appropriate JCL statements. The JCL that would be generated for the
PL/I example (Figure 100) is:

IISCAN
IIIN
II
II
IIOUT
II
I I~':
IIPLIO

EXEC
DD
DD
DD
DD

PGM=ISRSCAN,PARM='TOPSEG',COND=(12,LE)
DSN=SPFDEt1O.MYLIB .PLI ,DISP=SHR
DSN=SPFDEMO.MASTER.PLI,DISP=SHR
DSN=SPFDEMO.FLAG.PLI,DISP=SHR
UNIT=SYSDA,DISP=(NEW,PASS),SPACE=(CYL,(2,2)),
DSN=&TENP1

EXEC

PGM=IELOAA,REGION=100K,COND=(12,LE),
PARM='NACRO,XREF'
SYSOUT=(A)
DSN=&TENP1,DISP=(OLD,DELETE)
UNIT=SYSDA,SPACE=(CYL,(2,2))
DSN=SPFDEMO.MYLIB.PLI,DISP=SHR
DSN=SPFDEt1O . MASTER. PLI , DI SP=SHR
DSN=SPFDEMO.FLAG.PLI,DISP=SHR
DSN=OURSYS.PLIMACS,DISP=SHR
DSN=SPFDEMO.MYLIB.OBJ(TOPSEG),DISP=OLD

II
IISYSPRINT
IISYSIN
IISYSUT1
IISYSLIB

II

II

II
IISYSLIN

/

DD
DD
DD
DD
DD
DD
DD
DD

The first step executes the scan program (distributed as part of PDF),
ISRSCAN (to copy one member) or ISRLEMX (to copy the primary member and
expand any included members, unpacking any packed members), which
searches the user-specified sequence of concatenated libraries to find
the designated member. If the scan program finds the member, it copies
the member to a temporary sequential data set named &TEMP1 and exits
with a return code of zero. If any errors are encountered, the scan
program exits with one of the following return codes, which prevent
execution of the second job step:
ISRSCAN

12
16
20

24
28

Nember not found
OPEN error on DDNANE=IN
1/0 error on DDNAME=IN
OPEN error on DDNAME=OUT
1/0 error on DDNA~lE=OUT

ISRLEMX
Parameter n was too long, where n is 1-9
1 - 9 -

10
20

)

Too many parameters
Program error - an error message should be printed
in the ISRLNSG file

The second step invokes the PL/I compiler with &&TEMP1 named as the
input data set. The concatenation sequence is passed to the compiler
via SYSLIB DD statements, to allow inclusion of subsidiary members
referenced by %INCLUDE statements in the source text. The object module
is directed to a partitioned data set with a three-level name composed
of the project name, the first library name, and a type qualifier of
OBJ. The member name for the object module is the same as the primary
member to be compiled. The compiler listing is directed to SYSOUT class
A, as specified.
Chapter 9. Batch (Option 5)

251

For batch 'assembly and link edit, an optional SYSTERM DD statement is
also gen~rated (if, you specify TERI-O, as follows:
/ /SYSTERM

DD

DSN=prefix. member. TER~I,DISP=(MOD ,CATLG)

where "prefiX" is the TSO user prefix, and "member" is the same member
name as specified on the entry panel.
When PDF has generated the JCL, it returns to the batch selection panel
(unless you bypassed that selection panel by entering two numbers on the
primary option menu), with a message "JOB STEP GENERATED" displayed in
the short ~essage area (line 1). If you bypassed the batch sele~tion
panel, PDF submits the generated JCL and returns directly t~ the primary
option menu. In either case, you may exit from the entry panel without
generating anY,JCL by entering the END command rather than pressing the
ENTER key.
When the batch selection panel'is redisplayed, the job statement
parameters are shown for information only -- they are no longer
intensified and may not be overtyped, since the JOB statement has
already been generated. At this point, you may select another processor
to cause more JCL tob'e generated, cancel by entering the option CANCEL,
or enter the END or RETURN command to cause the generated JCL to be
submitted for execution.
PDF invokes the TSO SUB~IIT command to accomplish job submission. The
SUBI-IIT command displays a "JOB xxx xxx x SUBMITTED" message accompanied by
three asterisks. When you pre~s ENTER or any other interrupt key, PDF
returns to the previous panel.
MEMBER PARTS LIST

If you select the member parts list option from the batch selection
panel, the panel 'shown in Figure 101 is displayed.

252

ISPF/PDF'for MVS

Pro~ram

Reference

(
\

Batch (Option 5)

---------------------------OPTION =>

BATCH MEMBER PARTS LIST -------------------------

1 ~ Print member parts
2 - Write member parts data set
ISPF LIBRARY:
PROJECT ==>.
GROUP
==>
TYPE.
==>

===>

==>
===>

ME~fBER

LANGUAGE

=>

=>

(Blank for member list,

*

for all members)

(Defaults to type value)

GROUPS FOR PRIMARY MEMBERS - '. >
SYSOUTCLASS

==>

OUTPUT DATA SET:,
DATA .SET NAME

==>

(1, 2,3, or 4)
(Defaults to 'A' )
(Option, 2 only}

'\

Figure 101.

,I

Batch Member Parts List Panel

The difference between this panel and the foreground member parts
listing panel is that the browse option is not allowed in ,batch.
Otherwise, the function operates the same as the foreground version.
The listing is 120 characters wide and uses ANSI printer controls.

I LIST DATA SET

I
I
I
I
I

If you are using the same LIST dataset for multiple job steps, the DCB
information may differ between the language processors and the linkage
editor, causing an I/O error when attempting to read the LIST dataset.
You should use a different LIST ID for each job step.

Chapt,er9,. Batch ,(Option 5)

253

254

ISPF/PDF for MVS Program Reference

Command (Option 6)

CHAPTER 10. COMMAND (OPTION 6)

The command option allO\vs direct entry of a TSO command or command
procedure (CLIST) under PDF. When you select this option, a panel
(Figure 102) is displayed.
PDF allows you to enter TSO commands and CLISTs in the
command field of any panel. Option 6 provides two additional
capabilities:

Note:

•

You can enter a long command that continues on the following
two lines.

•

You can optionally enter Session Manager mode.

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

TSO COMMAND PROCESSOR

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

ENTER TSO COMMAND OR CLIST BELOW:
===>

Figure 102.

TSO Command Entry Panel

On the command line, enter the command or CLIST to the right of the
arrow, using standard TSO syntax. You may continue it on the next two

Chapter 10. Command (Option 6)

255

lines, if neceSsary,up toa maximum. of' 2~4 characters. You can also
enter PDF commands, such as RETURN or END, In this field.

Notes:
1.

You need not enter "TSO" before the command, as you do 'on other
panels, unless the command to be executed exists in both ISPF and
TSO and you want to execute the TSO command. If you use "TSO", your
executed command is blanked out when the command panel is
redisplayed.

2.

If you enter the HELP command, it is interpreted as the ISPF HELP
command. To obtain TSO HELP information, enter:
===> TSO HELP xxx

You can use H as an abbreviation for HELP in the TSO HELP command.
3.

If you enter the PRINT command, it is interpreted as the ISPF PRINT
command. To execute the TSO PRiNT command, enter:
===> TSO PRINT xxx

Do not enter the following commands under PDF:
•

LOGON, LOGOFF
I
i

•

ISPF, PDF, and ISPSTART

•

TEST

•

Commands that are restricted by TSO or PDF

•

Commands that require APF authorization (such as RACF commands)

\:

Note:

These commands are permissable ,if the TSO/E Release 2
Program Product is installed.

•

Commands that invoke an APF-authorized program

•

Calls to the ISPEXEC dialog service

You can enter a CLIST name on this panel, but the following restrictions
apply:
•

The CLIST cannot invoke the restricted
preceding list.

comm~nds

shown in the

Note:

This does not apply to ISPEXEC, which may be invoked
in a CLIST.

•

256

CLIST attention exits produce unpredictable results when you press
PAl.

ISPF/PDF for MVS Program Reference

Command (Option 6)

•

CLIST error exits are not entered for ABENDs .

•

TERMIN command procedure statements cause unpredictable results .

Note: A command issued via its synonym can cause unpredictable
results.

If your installation has the Session Manager Program Product installed,
the panel includes an entry line:
ENTER SE SSION MANAGER

~1ODE

==>

(YES or NO)

immediately below the line on which you enter your command or CLIST
name.
If you specify YES, and if you are set up to use the Session Manager,
any display output is displayed in the Session Manager TSOOUT stream.
The PF key definitions are not transferred to the Session Manager from
PDF. When the command terminates, the Session Manager prompts you to
enter a null line to return to PDF control and redisplays the command
panel. If you specify NO, terminal input/output occurs as though the
Session Manager were not installed.
If you do not select Session Manager control, the terminal is operated
in normal TSO fashion. Any communication with the command is in
line-I/O mode. Upon completion of the command, three asterisks (***)
are displayed. Press ENTER to redisplay the command panel in full
screen mode.
To interrupt a TSO command or CLIST, press the PAl key. The TSO command
is terminated and the command panel redisplayed. If terminal input is
inhibited, press the RESET key before pressing the PAl key. If you are
in Session Manager mode, enter a null line to return to ISPF full screen
mode.
When the command panel is redisplayed, the command which was just
executed is pre-entered to the right of the arrow. You may then enter
another command or enter the END command to return to the primary option
menu.
For terminals with primary and alternate screen sizes, the user should
be aware that ISPF does not check to make sure the same terminal
settings are in effect upon completion of a command or CLIST. If the
user invokes a CLIST or command that causes the screen settings to be
changed, then the user is responsible to make sure the screen settings
are saved and restored before control is returned to ISPF.

Chapter 10. Command (Option 6)

257

(,
~

258

ISPF/PDF for MVS Program Reference

Dialog Test (Option 7)

CHAPTER 11. DIALOG TEST (OPTION 7)

The dialog test option provides users with aids for testing ISPF dialog
parts (functions, panels, variables, messages, tables, skeletons) and
complete ISPF applications. The dialog test option allows you to:

•

Invoke selection panels, command procedures, and programs

•

Display panels

•

Add new variables and modify variable values

•

Display a table's structure and status, and display, add, modify,
and delete table rows

•

Browse the ISPF log

•

Execute dialog services

•

Add, modify, and delete function and variable trace definitions

•

Add, modify, and delete breakpoint definitions

You may use TSO TEST to complement this option if non-ISPF storage areas
must be examined and manipulated.
When testing a dialog, you usually proceed in one of two ways:
1.

Test individual dialog parts (panels, skeletons, messages, etc.)
without invoking a function or a selection panel. Eventually, you
terminate your test session by entering the END command on the
dialog test primary option menu.

2.

Test dialog functions (programs, commands, or selection panels)
using the functions option. You can define traces and breakpoints
before invoking the function.

When using the second approach, any requested traces for variable usage
and dialog service calls are written to the ISPF log. The log may be
browsed under dialog test.
If you define a breakpoint, and the function gets to the breakpoint,
dialog execution is s~spended and dialog test displays the breakpoint
primary option menu. At this point, you can access and manipulate
dialog parts (variables, tables, etc.). Then, if you select the GO
option from the breakpoint primary option menu, the dialog resumes
execution.

)

At completion, you are returned to the invoke function option. If you
s~lect the CANCEL option from the breakpoint primary option menu, the
Chapter 11. Dialog Test (Option 7)

259

dialog is cancelled and the first priQlary optioll menu th?t you were.'
shown during your terminal session is redisplayed.For example,
first screen displayed when you began your sess,ion was a mc':ls't;er,
application menu (rather than the ISPF/PDF primary option men\1:),
master application menu w6uld be redisplayed.
DIALOG TEST ENVIRONMENT

The dialog test panel (Figure 103) follows the conventions for a primary
option menu. If you use the RETURN command from one of the selected.
dialog test options, you are always shown the dialog test primary opt·ion';
menu. If you use the END command from this panel, you return to the
ISPF/PDF primary option menu.
.
When you enter dialog test, you enter a new user application with an
application ID of ISR. All options listed on the dialog test primar~
option menu operate in this context. If you invoke a new function
(using the functions option), a SELECT service call is performed, and
the rules for the SELECT service are followed.
'

- -- -- - - - -- - - - - - - - - - - - - DIALOG TEST PRIMARY OPTION MENU ---- -.,. -- -----,.,. -- - - .. - ...
OPTION ===>
FUNCTIONS
2 PANELS
3 VARIABLES
4 TABLES
5 LOG
6 DIALOG SERVICES
7 TRACES
8 BREAKPOINTS
T TUTORIAL
X EXIT
1

-

-

Invoke dialog functions/selection menus
Display panels
Display/set variable information
Display/modify table information
Browse ISPF log
Invoke dialog services
Specify trace definitions
Specify breakpoint defin{tions
Display information about Dialog Test
Terminate dialog testing

Enter END command to terminate dialog testing.

Figure 103.

260

Dialog Test - Primary QptionMenu

ISPF/PDF for MVS Program

Refer~nce

(

.~

Dialog Test (Option 7)

Dialog test is itself a dialog and, therefore, uses dialog variables.
Since it is important to allow your dialog to operate without
interf~rence (as though in a production environment), dialog test
accesses and llpdates variables independently of your diatog variables.
All breakpoints and traces that you set in dialog test exist only for as
long as you remain within the dialog test option.
You should always allocate the ISPF log; do not suppress allocation by
specifying a log primary allocation of zero in ISPF/PDF option 0.2.
"Dia~og test writes tra~e data to the log ,when you request, it. In
~ddition, if dialog test encounters an unexpected condition, problem
data is writt~n to the log.
When you enter dialog test, you are given the following ISPF facilities:
•

~ll

•

The logging of" ~11severe errors (both from user dialogs and dialog
test). This is normally done when TRACE or TRACEX is specified
on the PDF command.

•

The cancellation of the logging of all ISPEXEC dialog service
requests. Such logging normally occurs when TRACE or TRACEX is
specified on the PDF command. You should use the dialog test trace
options.

functions nor"mally obtained by specifying the TEST parameter
on the PDF command.

These facilities become active for both logical screens (when you are
using split screen mode), and remain active as long as you remain in
PDF, even after ybu leaVe dialog test.
The TEST, TESTX, TRACE, and TRACEX options are described in ISPF for HVS
Dialog ~lanagement Servic,es.
DIALOG TEST VARIABLE USAGE

When you select the dialog test option, you are given a new function
pool, a new shared variable pool, and the ISRPROF profile pool. These
pools are used if you set a variable, display a panel, call an ISPF
service, etc. When you invoke a new dialog, dialog test uses the SELECT
service, and follows the rules for the creation of new variable pools.
For example, if you invoke a new dialog using the NEWPOOL option, dialog
test creates new shared and function variables pools for you. The
profile variable pool (ISRPROF) remains as it was.
Note: If you set a dialog variable in the shared pool from a
dialog running under dialog test and then reinvoke it from the
command line, you will not be able to retrieve the value of that
variable.

Dialog variables should be initialized and set in the context of the
dialog's processing. A dialog function's pools are created when it is
Chapter 11. Dialog Test (Option 7)

261

invoked (when the SELECT is done). Therefore, to set variables in newly
created pools, you must define a breakpoint early in your dialog's
processing.
For example, if you invoke a dialog with the NEWPOOL parameter, you must
define a breakpoint in that dialog to access that dialog's function and
shared variable pools. You can modify the dialog's profile variable
pool before invoking the dialog, since a new profile variable pool is
not created.
When your dialog terminates, all variable pools created at dialog
invocation are deleted.

Note: ISPF does not support TSO global variables and you may
encounter a severe dialog test error when testing a dialog that
references a global variable.
DIALOG TEST SEVERE ERROR HANDLING

If your dialog encounters a severe error when it invokes a dialog
service, that severe error is handled as requested by the dialog. The
current CONTROL service ERRORS setting (CANCEL or RETURN; default is
CANCEL) determines what is done. If CANCEL is in effect, when the error
message panel is displayed, you may choose whether to continue dialog
testing.
/

(

If you encounter a severe error when manipulating your dialog at a
breakpoint, dialog test assumes that the CONTROL service ERRORS setting
is CANCEL. For example, if you display a panel at a breakpoint and that
panel is not found, the error message panel is displayed. This occurs
even if your current dialog has an ERRORS setting of RETURN.
Regardless of the ERRORS setting, all of your severe errors are logged.
If dialog test encounters a severe error during its processing, the
details are logged and the following message is shown to you on an error
message display:
TEST SEVERE ERROR
DETAILS PRECEDE THIS MESSAGE IN THE ISPF LOG

Dialog test errors may occur because:

•

Proper ISPF libraries are not being used.

•

A programming problem has been encountered.

•

You have

•

You have invoked a dialog test option without being in test mode or
without invoking dialog test first.

~ttempted

to execute dialog test recursively.

You should browse the ISPF log to determine the nature of the problem.
262

ISPF/PDF for MVS Program Reference

\,

Dialog Test (Option 7)

DIALOG TEST COMMANDS

PDF primary commands may be entered on dialog test panels. Five
additional primary commands have special meaning during dialog test
operations. These commands, and the dialog test options with which they
function, are shown in the following table.
I

I

IDIALOG TESTI
IPRIHARY
I
3
I CO~IHAND
I
I
CANCEL
X
I
I
, END
X

,

,I

,
,
,
,

LOCATE

X

DIALOG TEST OPTION
4.1

4.5

7.1

7.2

8

X

X

X

X

X

X

X

X

X

X

X

X

X

X

4.3

4.4

X
X
X

X

QUAL

X

RESU~1E

X

I

\

Dialog test has three line commands that have special meaning during
testing operations. These commands, and the options with which they
function, are shown in the following table.
I

I

'DIALOG TESTI
I
I LINE

DIALOG TEST OPTION

ICOHMAND

4.3

4.4

7.1

7.2

8

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

I

,
, 3

I

I
I

I
ID (Delete) I
,
I
II (Insert) , X
,
I
,
IR (Repeat)
I
I
I

I

In using the dialog test primary and line commands, you should be aware
of the following:
•

Both a primary command and line commands may be specified before you
press the ENTER key.
Chapter 11. Dialog Test (Option 7)

263

•

You can enter multiple line commands on the display.
You c~nrtotperfotm 'a deletion if bn~ of the irtcluded lines contains
another line command.

•

You can delete lines with any kind of inpui error.

•

The 'line commands are processed in row order ,when you press the
tNTER key. Any fields changed iri that row are handled before a line
command is processed.

•

A primary command is handled after processing for all line commands
has been completed.

•

A number may be specified with each line command, as in the editor,
to denote repetitive operation.

Primary Commands

The following primary commands have special meaning during dialog test
operations. They are entered in the command line of the applicable
dialog test option panels.
CANCEL (CAN)

Ends the current option.
to the data are ignored.

Any changes made
I
I

\

EN D

Ends the current opt ion. Any changes made
to the data now take effect.

LOCATE (LOC, L) argument Positions the scrollable display to the
first (next) row containing the argument.
The scan starts at the end of the first row
currently being displayed. If the LOCATE
argument ends in an asterisk (*), a scan/for
the characters preceding the asterisk is
done. A message is displayed indicating the
result of the scan.

264

QUAL

This command is entered only from the
breakpoints panel. It displays the
breakpoint qualification data to the user.

RESUME (RES)

This command is entered on the qualification
panel. It restores the format of the
breakpoints panel. Each breakpoint that has
qualification is flagged by the characters
"~':QUAL..':rt in columns 75 to 80 on that line of
the breakpoints panel.

ISPFjPDF for MVS

~rogram Refer~nce

Dialog Test (Option 7)

:The following lihe commands have special meaning during testing
operations:

).

O. or D'n

Delete one line or n lines starting with this line.

I or In

Insert one line or n lines directly after this line (with
underscores and quotes in the appropriate fields).

R Or

Repeat this line once or n times.

Rn

' .'.......
'

'"J

Chapter 11. Dialog Test (Option 7)

265

FUNCTIONS (OPTION 7.1)

The functions option allows yoti to. test a dialog function (panel,
command procedure, or program) without having to build supporting code
or panels. The name of the dialog function and the parameters that may
be passed are the same as those that can be specified (from a dialog
function) when invoking the SELECT service. When you press the ENTER
key, a SELECT is done.
If, at a breakpoint, you invoke a new function or selection panel, the
previous one is suspended and the new one executed. When the new
activity completes execution, you return to the invoke function entry
panel~
The old acti~ity resumes when you enter the END command.
When the originally invoked function completes execution, the invoke
dialog function panel is redisplayed.
When you select this option, a panel is displayed that allows you to
identify the dialog function that you want to test (Figure 104).

•

To invoke a selection panel, use the following fields, under the
heading INVOKE SELECTION MENU:
PANEL The name of the selection panel to be displayed.
OPT
An optional parameter indicating an initial selection option
that must be valid from the specified selection panel.

•

To invoke a command, use the following field, under the heading
INVOKE COMMAND:
CMD

The name of a command procedure (CLIST), or any TSO command,
to be invoked as a dialog function. You may include command
parameters.
LANG Enter APL to specify the use of the APL language. If this is
your first request during the session, the command specified
in the CMD keyword is invoked and an APL2 environment is
established. If this is not your first APL request during
this session, the string specified after the CMD keyword is
passed to the APL2 workspace and executed.
To specify any language other than APL, leave this field
blank.

•

To invoke a program, use the following fields, under the heading
INVOKE PROGRAM:
PGM
PARM

The name of a program to be invoked as a dialog function.
Optional parameters to be passed to the program.

You can also specify:
NEWAPPL Indication of whether a new application is being invoked.

yes, y
266

This function is a new application.

ISPFjPDF for MVS Program Reference

(

Dialog Test Functions (Option 7.1)
no, n

This function is not a new application.

A 1- to 4-character ID for a new application.

If you invoke a
new application and leave the ID field blank, the default ID
of ISR is used. Note that the ID determines the names of the
profile and the command table to be used for the application.

10

NEWPOOL Indication of whether a new shared variable pool is to be

created.
" yes It or

yes, y
no, n

------------------COMMAND ===>
INVOKE SELECTION
PANEL
INVOKE COMMAND:
C~1D

LANG

'\

"

INVOKE PROGRAM:
PGM
NEWAPPL
NEWPOOL

Figure 104.

This value is ignored if the value for NEWAPPL is
y.

""

Create a new shared variable pool.
Do not create a new shared variable pool.

INVOKE DIALOG FUNCTION/SELECTION MENU

~1ENU:

===>

===>

OPT

===>
==>

(APL or blank)

===>
=>
===>

PARM
NO

ID

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

===>
==>

NO

Dialog Test - Invoke Function Entry Panel

)
Chapter 11. Dialog Test (Option 7)

267

Be aware of the following items when using the functions option:
OPT and PARM

The OPT and PAR~t parameter input fields each
continue on the following line.

REQUIRED FIELDS

To invoke a function, you must specify a value for
either the PANEL, c~m, or PGM parameter; but you may
not specify more than one of them.

/

(
268

ISPF/PDF for MVS Program Reference

Dialog Test Panels (Option 7.2)
PANELS (OPTION 7.2)

The panels option allows you, during panel development, to test newly
created or modified panels and messages' without having to build
supporting code to display them. Any variables referenced and set
during panel processing are written to the current function variable
pool. When you select the panels option, you are shown a panel
(F igure 105).

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

CO~mAND

===>

DISPLAY PANEL

PANEL NANE

===>

ID

===>

(Optional)

CURSOR

==>

(Optional)

CURSOR POSITION

===>

(Optional)

~1ESSAGE

Figure 105.

Dialog Test - Display Panel Entry

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

~anel

On the panel are the following fields:

)

PANEL NAME

The name of the panel to be displayed.

MESSAGE 10

The identifier of a message to be displayed on the
panel (optional).

CURSOR

The name of the field on the panel where the cursor is
to be positioned (optional).

CURSOR POSITION An integer specifying the position in the field
where the cursor is to be placed (optional).

Chapter 11. Dialog Test (Option 7)

269

These are the same parameters that may be specified (from a dialog
function) when invoking the DISPLAY service.
If you specify a message id or cursor position without identifying a
panel name, the message is displayed on a separate panel (Figure 106).
The long message portion of the identified message is displayed when you
enter the HELP command on that panel.
When you use the END command from the panel being tested, the display
panel entry panel is redisplayed. Be aware of the following points when
using the panels option:
VARIABLES

You may set variables using the variables option
(option 3) before you display the panel. When you
display the panel, you can enter new or modified
data and then verify the variables using option 3
again.

PANEL EXECUTION

When the panel is displayed, the )INIT and )PROC
sections of the displayed panel are processed in
the same way they would be by the DISPLAY service.

DATA RETENTION

Data that you enter on the panel you display is
retained until you change it, leave dialog test,
or reset the function pool.
(
\

((
270

ISPF /PDF for l-IVS Program Reference

Dialog Test Panels (Option 7.2)

---------------------------CO~mAND

~lESSAGE

DISPLAY PANEL

---------- SHORT

~lESSAGE

===>

This panel is used to display your specifie'd message.

\
I

v'

Figure 106.

Dialog Test - Message Display Panel

)
Chapter 11. Dialog Test (Option 7)

271

VARIABLES (OPTION 7 .3)

The variables option allows you to:
•

Display all the ISPF variables defined in the dialog application you
are testing.

•

Change the value of a variable by overtyping .it.

•

Define new variables by inserting lines or by changing
po6i of a listed variable.

t~e

name or

When you select this option, a scrollable display (Figure 107) indicates
sll thecrirrent variables for the dialo~ being t~sted.

----------------------COHMAND ===>

VARIABLE DISPLAY AND SET ---------------- ROW 1 of 72
SCROLL ==> PAGE

ADD AND CHANGE VARIABLES. UNDERSCORES NEED NOT BE BLANKED.
ENTER END COMMAND TO FINALIZE CHANGES.
VARIABLE

, '" Al
,, ,'", , A2

F FUNCTION POOL VALUE FOR Al
'F
FUNCTION POOL VALUE FOR A2
F FUNCTION POOL VALUE FOR AS
F FUNCTION POOL VALUE FOR A7
F FUNCTION POOL VALUE FORA8 .
S SHARED POOL VALUE FOR Al
S T SHARED POOL VALUE FOR A2 WHERE THE VALUE HAS BEEN TRUNCATE
S SHARED POOL VALUE FOR A4
.l
S SHARED POOL VALUE FOR AID
S SHARED POOL VALUE FOR B2
S N NON-MODIFIABLE SHARED POOL VALUE FORB3
S SHARED POOL VALUE FOR B4
P PROFILE POOL VALUE FOR A5
P N NON-~lODIFIABLE PROFILE POOL ,VALUE FOR A9
P PROFILE POOL VALUE FORB1
P PROFILE POOL VALUE FOR B2

A5
, " , A7
, , " A8
, " , Al
, '" A2
, " , A4
, , " AID
, '" B2
, '" B3
'" , B4
, '" A5
, '" A9
" " B1
, '" B2

Figure 107.

P A VALUE
\

\

J't

Di~log:Test

- Variables Entry Panel

Each line of the display represents a variable and contains:

272

""

Line command area.

VARIABLE

Name of the variable: an alphameric 8-character name, with
the first character alphabetic, or the special characters
, $ " 'tJ', or '@'. The alphabetic characters are trans lated

ISPF/PDF

f~r~MV~ Ptogr~m R~feterice

'

~.
~

Dialog Test Variables (Option 7.3)

to uppercase when you press the ENTER key.
required.
p

Pool in which the variable exists, a requ{red one-character
field:

F

S

P

A

This field is·

Function variable pool
Shared variable pool
Profile variable pool

Attributes of the
field:
N

T

varia~le,

a nonmodifiable one-character

Nonmodifiable variable. Some system-reserved variable~
are not modifiable.
Truncated variable value. The actual value is longer
than the 58 characters displayable on the panel.
Note: If you change a line showing a truncated
value, only the data shown on the display is
stored as the new value.

VALUE

Value of the variable up to 58 characters.

The variables option uses the CANCEL, END, and LOCATE dialog test
primary commands, and the I dialog test line command. These commands
are described in the section entitled "Dialog Test Commands."
Normally,.the variable pools are updated with the data from the display
when you use the END command to leave the option~
Manipulating Variables

The rows of the display are ordered by the 'pool containing the
variables, then alphabetically by variable name within each pool. The
function variable pool is listed first, followed by the shared variable
pool, and then the profile variable pool. Insertions are left where
they are entered on the display.
Modifications to the display are proc~ssed when you press the ENTER key.
Updating of the variable pools occurs when you enter the END command.
You can create new dialog vari.ables, but you cannot create two variables
with the same name in the same variable pool. Also, you cannot delete a
variable, but you can set its value to nulls.

)
Chapter 11. Dialog

T~st

(Option 7)

273

To create a new variable, you may either:

•

Use the I (insert) line command to create a new row and then enter
the variable name, pool, and value on the new line. For each field,
move the cursor to the start of the field and enter new information.
The underscores are pad characters and need not be blanked out.

•

Take an existing variable and change its name, its pool, or both .
This creates a new variable with the old variable's last value and
resets the old variable's value to nulls.

By using the second method, you can interchange the values of two or
more variables by simply changing their names. For example, you can
interchange the values for variables A and B by changing the variable
name A to B and name B to A and then pressing ENTER.
Variables Usage Notes

When using the variables option, you should be aware of the following:
TEST MODE

274

Variable manipulations performed under dialog
test at a breakpoint are considered an extension
of your dialog and so are handled in user mode.
Dialog variables, table data, and service return
codes that you introduce, delete, or change are
treated as though your dialog had made those
changes.

VARIABLE LIFE

Profile variables that you create remain in your
profile pool from one dialog test session to
another. Shared and function variables exist
only for the duration of dialog test.

VARIABLE SEQUENCE

Any changes you make on the scrollable display
are left where you enter them. Sorting is
performed only when you reselect the variables
option.

SPLIT-SCREEN MODE

In split screen mode, a profile variable pool
may be shared between two logical screens.
Since the variables option takes a snapshot of
the variables, any change to a profile variable
on one screen is not immediately reflected on
the other screen. To get the latest changes,
reselect the variables option. Also, when one
profile variable is changed on two logical
screens using split screen mode, the changed
profile variable on the screen where the last
END command was entered takes precedence.

VARIABLE VALUE

Variables defined (using the VDEFINE service) as
other than character are shown in translated
form; do not modify them using the hexadecimal

ISPF/PDF for MVS Program Reference

/1

I

\

Dialog Test Variables (Option 7.3)

representation. A format or length error causes
a message to be displayed when you use the END
command. When a VDEFINE error occurs, a panel
identifies the data and its value and describes
the error. You must then correct the error and
press the ENTER key. If you create a new
variable by changing the pool indicator of an
existing variable defined as other than
character, the new variable will have character
format.
HEXADECIMAL DATA

Nondisplayable hexadecimal data is displayed or
entered using the form X'nnnnnnnn', where n is
an integer 0 through 9 or an alphabetic
character A through F. There must be an even
number of characters within the quotes.

DBCS DATA

DBCS is a variable defined by the VDEFINE
service or displayed through the field with
FORMAT(DBCS) specified in the test environment.
The DBCS value is displayed using the form
'~[DBDBDB]', where '[' and ']' represent the SO
and SI characters, respectively.
If you enter a DBCS value in this format on the
'Dialog Test - Variables Entry Panel,' only the
DBCS characters are stored.

)
Chapter 11. Dialog Test (Option 7)

275

TABLES (OPTION 7.4)
The tables option allows you to examine and'tnanipulatethe rows of.8.
table, and to display tab I'e s~ructureand status. When youselect~his '
option., a panel is displayed. (Figure, 108) on 'whic.h you indicate the
table function' you want and theparam~te'rs, nE}.eqed to id~n'tify'the table."

- - - - - - - - - - - - - - - - - - - - - - - - - - - .. - .. - TABLE S - ......... • ......:......... .; . - ............... - ...; ...... '............. .;. ..... ~
OPTION ===>
1
2
3

4

Display row
Delete row
Hodify row
Add row
===>

TABLE NAHE

ROW IDENTIFICATION:
BY ROW NUHBER ===> 'it:
BY VARIABLE

VALUE

5

Display~trgetur.

6

Di,s play stc4ttls

'oo ... -

..; ... -

.. ...

CURRENT ROW: .

C'i':=Current row)
CSearchfor row if :r:ow.nuinber blank)

(
\;

DBCS COLUHN SPECIFICATION:

Figure 108.

Dialog Test - Tables Selectio:o Panel

Use the fields on the tables entry

OPTION

pan~l

as follows::

E'nterthe· number of ,the table function:

1 Display-row
2" Delete',row

3
4

5

6

276

ISPF/PDF for HVS Program Reference

ModIfy 'tow
Add ··row
Display str;uctute,
Display status

'(

Dialog Test Tables (Option 7.4)
TABLE NAME

Enter the name of the table you are interested
in. The table must be open for all but the
display status option (tables option 6). You
can use dialog test option 6 (invoke dialog
service) to open the table if necessary.

CURRENT ROW

Displays the position number of the current row
after you have identified a table. This field
is nonmodifiable.

ROW IDENTIFICATION

Identify a row, either directly by row number
or indirectly by specifying a search argument
of table variable names and their values.

BY ROW NUMBER

Enter the position number of the table row
desired or * for the current row. If you are
adding a row, you can use:

top, t, 0
bottom, bot, b

Make the new row first in the
table.
Make the new row last in the
table.

BY VARIABLE

Overtype the underscores beneath this heading
with the names of variables in the table whose
values are to be used to search the table for a
row with matching contents.

VALUE

Enter the value to be used in the search, up to
58 characters. For an abbreviated search,
enter the beginning characters followed by an
asterisk ('i''").

'\,
,i

You can specify a DBCS value in the form
'~[DBDBDB]', where' [' and ']' represent the SO
and SI characters, respectively. For an
abbreviated search, enter a two-byte asterisk
(*) at the end of the DBCS value: for example,
'~[DBDB**]', where '**' represents the two-byte
asterisk character.
DBCS COLUMN
SPECIFICATION

Enter the variable names of the values that are
DBCS data. The value of the variable is
displayed using the form '~[DBDBDB]'.
If you enter a DBCS value in this format on the
'Dialog Test - Modify Table Row Entry Panel' or
the 'Dialog Test - Add Table Row Entry Panel',
only the DBCS characters are stored, regardless
of the DBCS column specification.

Once you have specified a table name, it is retained until you change it
or until you leave dialog test.

Chapter 1:1. Dialog Test (Option7)

277

You must specify the row number or a search argument list (using the BY
VARIABLE and VALUE fields) for options 1, 2, 3, or 4 to identify the row
of interest. Specifying neither while leaving th~ * as the row number
implies the current row. If you specify both a row number and a search
argument, the row number is used and the search argument is ignored.
The row number may be blank; numeric; an aste~isk (*) for the current
row; top, t, or 0 (numeric zero) for adding a row as first in the table;
or bottom, bo, or b for adding a new row as last in the table. When a
row is added, the new row is placed after the row identified.
The current row pointer in the table can be changed only at your request
or by your dialog.
The search argument list consists of variable names and values that let
you specify the values that specific variables have in the row of
interest. You can specify the entire value, abbreviate the value with
an asterisk (to find the row containing a variable beginning with
specified characters), or leave the row blank. The search begins with
the row following the current row. If a row matching the search
argument is not found, the current row pointer is set to the top and the
search may be repeated.
Display Row (Tables Option 1)

The display row option is used to display the contents of an existing
row in an open table. It is selected when you enter 1 on the option
line of the tables panel, after naming an open table and identifying an
existing row in the table.
You are shown a scrollable display of the table row.data (Figure 109).
In the figure, the variables constitute o'ne table row.

278

ISPF/PDF for MVS Program Reference

(
\

Dialog Test Tables (Option 7.4)

DISPLAY ROW
CON~lAND

,/

TABLE SANTB1

ROW 3

===>

VARIABLE

T A VALUE

K1
K2
K3
N1
N2
SAVEl
SAVE2
N2

K
K
K
N
N
S
S
S

Figure 109.

------------------------------ ROW 3 OF 21
SCROLL ===> PAGE

This is the value for key K1
My value for K2
This is the value to be used
The first name value is this field
Name variable N2 is also a save variable
Save variable 1 has this value
Show save variable 2 this way
Save variable N2 is also a name variable

Dialog Test - Display Table Row Entry Panel

Each line on the display indicates:
VARIABLE Variable name

T

Type of variable:
Key variable
N Name (non-key) variable
S Save (extension) variable
K

A

Attribute of each variable:

T Truncated to 58 characters for display
VALUE

,;;

The first 58 characters of the variable value

The display row option uses the END and LOCATE dialog test primary
commands. These commands are described in the section entitled "Dialog
Test Commands."

Chapter 11. Dialog Test (Option 7)

279

Delete Table Row (Tables Option 2)

The delete table row option is ,used to r~move an existing row from an
opened table. It is selected when you enter 2 on the option line of the
tables panel after naming ari open table and ideritifying an existing row
of the table.
When you select this option, you are shown a panel (Figure 110) asking
you to confirm the delete request (as in the PDF delete fun6tion).
The fields on the panel are:
TABLE NAME Name of an open table
ROW NUMBER Number of the row to be deleted

Press the ENTER key to delete the row, or enter the END or CANCEL
command to cancel the deletion.

-------------------------- CONFIRH TABLE ROW DELETE -------------------------CO~fHAND

===>

TABLE NAHE

SAHTB1

ROW NUHBER

3

Press ENTER key to confirm delete
Enter END command to cancel delete

Figure 110.

280

Dialog Test - Delete Table Row Confirmation Panel

ISPF/PDF for MVS Program Reference

Dialog Test Tables (Option 7.4)
\'

,,,Modify Row (Tables Option 3)

The modify row option is u$ed:to change the contents of an existing row
of 8n:epened table. It ~s selected when you enter 3 in the option field
.of the ta.bl.es pa1'lel after naming an open table and identifying an
existini~~ow of the table .
. When you selec;t this option, a scrollable display (Figure 111) is shown.
In this example, row 6 of table SA~lTB1 is displayed for modification.
Row 6 contains eight variables.
Each line on the pan~l represents a variable in the row of the table,
and contains: .
. LiJ;le command area

VARIABLE Variable name, moaifiable only for save variables

T

Type of:variable, nonmodifiable:

K Key variable

ROW TABLE SAHTBI
COMHAND ===>

~lODIFY

ROW 6

---.--------------------------- ROW 6 OF 21
SCROLL ===> PAGE

~lbDIFY .VARIABLE VALUES AND SAVENA~fES. 'UNDERSCORES NEED NOT BE BLANKED.
ENTER END 'GO~lNAND TO FINALIZ'E CHANGES.

VARIABLE

T A VALUE

I II I

K

I 1'1 I

K
K

K1
K2
I f I ,
K3
.. , ,
" .. Nl
I I
N2
," , SAVEl
I·'
, , , t SAVE 2
,, ,.

-.;

I

.', ,I 'f
, t

I

,,,,,

,

, , , ,.
,,,

,
," , ,

I
I

t

N4

N
N
8

S

s.,

value fo~ key Kl
value for K2
The first nc;lme value is .this field
Name variaple NZ is also a save variable
Save va~i4hle 1 has this value
Show sav~variable 2 this way
-Save va:riabie N2 is also a name variable

,8
-"8

S·
8

S
S
S

F'igure 111'. . Dialog Test -

~lodify

Table

~owEntry

Panel

)".Chapter 11. Dialog Test (Option 7)

281

N
S

A

Name (non-key) variable
Save (extension) variable

Attribute of each variable, nonmodifiable:

T Truncated to 58 characters for display
VALUE

Value of the variable up to 58 characters

Enter or change the values for the key, name, and save variables in the
VALUE column. Enter new save variables by overtyping the underscores in
the NAME column with the variable names and specifying the desired
values. (The underscores are pad characters and need not be blanked
out.)
When using the modify table row option, be aware of the following:

282

•

You cannot modify a row in a keyed table unless the keys are unique
among all the existing rows of the table. If you try to modify a
row to have a non-unique key, you are given an opportunity to
correct your error.

•

If the table was sorted using the TBSORT dialog service and a sort
field is modified, the rows position in the table may change to
preserve the search order.

•

You may not change the variable name for a key variable or name
variable; if you do, an error message is displayed and the original
name is restored.

•

You may not delete a key or name variable and its value from the
display or table row.

•

If you delete a save variable, it is assumed that the variable no
longer exists in this row.

•

If more than one variable entry has the same name, all instances of
that variable are assigned the value of the last occurrence of the
variable (closest to the bottom of the scrollable display).

•

If the table has keys, the values for the keys in the added row must
be unique among the existing rows when you leave the modify row
option. Otherwise, a message is displayed and the row is
redisplayed so that you can change the keys.

•

Blank save names are ignored and need not be deleted, even if data
is left in the value.

•

Nondisplayable hexadecimal data is displayed or entered using the
form X'nnnnnnnn', where n is an integer 0 through 9 or an alphabetic
character A through F. There must be an even number of characters
within the quotes.

ISPFjPDF for MVS Program Reference

c

(

Dialog Test Tables (Option 7.4)

•

Variables that have been defined (using the VDEFINE service) as
other than character are shown in translated form; do not modify
them using the hexadecimal representation. A format or length error
causes a message to be displayed when you use the END command.

•

When you leave the modified row option using the END command, the
row is replaced and the message "ROW HODIFIED" is issued.

The modify row option uses the CANCEL, END, and LOCATE dialog test
primary commands, and the D, I, and R dialog test line commands. These
commands are described in the section entitled "Dialog Test Commands."
Inserted and repeated lines always have a type of S since only save
variables may be added to a row of an existing table. Only save
variables may be deleted.
Add Row (Tables Option 4)

The add row option is used to add a new row after a selected row of an
opened table. It is selected when you enter 4 on the option line of the
tables panel after naming an open table and identifying the row of the
table that the new row will follow.
When you select this option, a scrollable display is shown (Figure 112),
containing all the key and name variables in the table.
J

Each row of the display contains:
""

Line command area

VARIABLE

Variable name

T

Type of variable, nonmodifiable:
K Key variable
N Name (non-key) variable
S Save (extension) variable

A

Attribute of each variable, nonmodifiable (not used for this
option)

VALUE

Space for the variable value to be added, up to 58
characters

Enter the values for the key and name variables in the VALUE column,
which is originally initialized to all nulls. You cannot change the
names of the key and name variables because they were established when
the table was created.

)
Chapter 11. Dialog Test (Option 7)

283

You-cart enter save variables, identified by TYPE S, byovertyping the
underscores with the save variable names and specifying the desired
valu~s.
(The underscores are pad characters and need not be blanked
out~)
.
You can add a row with no values to the table but you will be asked to
confirm such an action to guard against inadvertent use of the END
command.
When using the add row option, be aware of the following points:

ADD ROW
CO~INAND

•

You cannot add a row in a keyed table unless the keys are unique
among all the existing rows of the table. If you try to modify a
row to have a non-unique key, you will be given an opportunity to
correct your error.

•

The position of the new row in the table depends on whether the
table was previously sorted using the TBSORT dialog service. If the
table was sorted, the new row is placed in sort order; if it has not
been sorted, the new row is placed after the row you specified.

TABLE

SA~lTBI

===>

ROW 7

---------------~---~-------------- ROW 7 OF 18
SCROLL ==> PAGE

ADD VARIABLE VALUES AND SAVENA~tES. UNDERSCORES NEED NOT BE BLANKED.
ENTER END CO~INAND TO FINALIZE CHANGES.
VARIABLE

T A VALUE

Kl
K2

K

I I I I

K3

K

I I I I

Nl
N2

N
N
S
S
S
S
S
S
S
S
S'
S

I I I I
I I I I

I I I I
I I I I
I II I
I I I I
I I , I
I I

I I

I I I ,
I I I I
I I I I
I I I I
I I I I

Figure 112.

(

\"

K

Dialog Test·- Add Row Entry Panel

(
284

ISPF/PDF for MVS Program Reference

Dialog Test Tables (Option 7.4)

•

You may not delet,e; a key or name variable and its value from the
display or table row.

•

You may not change t'he variable name for a key or name; if you do,
an error message is displayed and the original name is restored.

•

If more than one variable entry has the same name, a~l instances of
that variable are ~ssigned the valrie of the last occu~r~nce of the
variable (closest to the bottom of the scrollable display).

•

if the table'was sorted using the TBSORT dialog service, the rows
posit,ion~n the table may change to preserve the search order.

•

if thetabl~.has keys, the values ~or th~keys in the added row must
be unique among the existing rows When you leave the add row option.
Otherwise, a message is displayed and the row is redisplayed so that
you can change. the, keys.

•

Blank, s,ave names are ignored and need npt be deleted, even if data
is le'ft 'in the valu.e.

,

,

hexadecimal data is displaye4 or entered using the
form X'nnnnnnnn', where n is an integer 0 through 9 or an alphabetic
chara,cter A, throllgh F. There rnu,st be an ,even number of characters
withill the quotes.

·Nondisplaya~le

•
/

Variables that have been defin~d (using the VDEFINEservice) as
other thail character are shown in trans lated form; do not modify
them using the hexadecimal represen~ation. A f6~mat or length error
causes an error message to be displayed when you use the END,
command.

The add row option uses the CANCEL, END, and LOCATE dialog test primary
commands, and the D, I, and R dialog test line commands. Refer ,to
"Dialog Test Commands." Inserted and repeated lines always have a type
of S since only save variable~ may be added to a row of an existing
table. Only save variables may be deleted.
Display Structure (Tables Option 5)

When you select option 5 from the tables option panel, you are shown a
scrollable display (Figure 113) with the table name (in this case,
SAMTB1) in the panel header.
The display shows the following fields:
NUMBER OF KEYS

Number of key variables in a row

NUMBER OF NAMES

Number of'name variables in a row

NUMBER OF ROWS

Number of rows currently in the table

.Chapter

11,~

Dialog Test (Option 7)

,285

CURRENT ROW POINTER

Current row pointer value
KEYS

A list of the names of all the key variables

NAMES

A list of the names of all the name variables

The KEYS and NAMES lists are scrollable, and you can use the LOCATE
command to find a specific variable name.
The display structure option uses the LOCATE dialog test primary
command. Refer to "Dialog Test Commands."

---------------- TABLE STRUCTURE TABLE
COMMAND ===>
NUMBER OF KEYS:
NUMBER OF NAMES:
KEYS:

KEY1
KEY7

NAMES: NAME 1
NAME 7
NAt-1E13

Figure 113.

286

10
14

SAMTB1 ------- LINE 000001 COL 001 080
SCROLL ===> PAGE

OF ROWS:
CURRENT ROW POINTER:

NU~1BER

60
1S

KEY2
KEY8

KEY3
KEY9

KEY4
KEY10

KEYS

KEY6

NAME 2
NAME 8
NAt-1E14

NAME 3
NAME 9

NAME 4
NAME 10

NAMES
NAME11

NAME 6
NAME 12

Dialog Test - Table Structure Display

ISPF/PDF forMVS Program Reference

/

l,

Dialog Test Tables (Option 7.4)
Display status (Tables Option 6)

If you select option 6 from the tables option panel, one of two data
information panels is displayed. The information reflects all
operations using the specified table, including those done at your
request by the table options under dialog test.
If the table is not open for your user id, you are shown a status panel
(Figure 114). The panel provides the following information:
STATUS FOR THIS SCREEN
Whether the table is OPEN or NOT OPEN for this
logical screen
TABLE AVAILABLE

YES or NO, lvhether you can open the table

DATE CREATED

Date the table was created (date is in the
national format)

TIME CREATED

Time the table was created

LAST DATE MODIFIED

Date the table was last modified (date is in
the national format)

LAST TIME MODIFIED

Time the table was last modified

LAST MODIFIED BY

User id of the user who last modified the
table

Chapter 11. Dialog Test (Option 7)

287

------------------------- STATUS FOR TABLE SAMTBI -------------------------STATUS FOR THIS SCREEN
TABLE AVAILABLE

NOT OPEN
YES

DATE CREATED
TIME CREATED
LAST DATE MODIFIED:
LAST TIME MODIFIED:
LAST MODIFIED BY
ORIGINAL ROW COQNT:
CURRENT ROW COUNT :
MODIFIED ROW COUNT:
.'. UPDATE COUNT

83/06/15
10:15
83/09/ 25
14:52
Z59SBL
50
60
15
4

(

Figure 114.

Dialog Test - Table Status Display for a Closed Table

ORIGINAL ROW COUNT

The number of rows that were added to a newly
created table before'closing the table for the
first time.

CURRENT ROW COUNT

The number of rows currently in the table.

MODIFIED ROW COUNT

The number of rows in the table that have been
modified at leastonce~ A row 'that has been
added to an existing table is also considered
a modified row.

UPDATE COUNT

Number of times the table has been modified.
One or more updates during any table
open/close sequence increments this counter by
one.

Note: Tables option 4.3 (modify row) allows you to modify a key
of a keyed'tahle by adding the new row and deleting the old row.
The row counts thus re,flect this processing when modifying a key
value .

.288

ISPF/PDF for MVSProgram

Ref~rence

\

Dialog Test Tables (Option 7.4)

If the table is open for your user id, you are shown a status panel
(Figure 115). This panel provides the following information:
STATUS FOR THIS SCREEN

Whether the table is OPEN or NOT OPEN for
this logical screen
OPEN OPTION

Option used to open the table (WRITE,
NOWRITE, SHR WRITE, or SHR NOWRITE)

TABLE ON DISK

Whether the table has been saved on disk,
YES or NO

LAST TABLE SERVICE

Name of the last table service invoked

LAST SERVICE RETURN CODE
Last table services return code

".

CURRENT ROW POINTER

Current position in the table

DA TE CREATED

Date the table was created (date is in the
national format)

TIME CREATED

Time the table was created

LAST DATE MODIFIED

Date the table was last modified (date is in
the national format)

LAST TIME MODIFIED

Time the table was last modified

LAST MODIFIED BY

User id of the user who last modified the
table

ORIGINAL ROW COUNT

The number of rows that were added to a
newly created table before closing the table
for the first time.

CURRENT ROW COUNT

The number of rows currently in the table.

MODIFIED ROW COUNT

The number of rows in the table that have
been modified at least once. A row that has
been add~d to an existing table is also
considered a modified row.

UPDATE COUNT

Number of times the table has been modified.
One or more updates during any table
open/close sequence increments this counter
by one.

Note: Tables option 4.3 (rriodify row) allows you to modify a key
of a keyed table by adding the new row and deleting the old row.
The row counts thus reflect this processing when modifying a key
value.

Chapter 11. Dialog Test (Option 7)

289

...... - - - - - - - - - - - - ... - ... - - - -.- ........ STATUS FOR TABLE
STATUS FOR THIS SCREEN
OPEN OPTION
TABLE ON DISK
LAST TABLE SERVICE
LAST SERVICE RETURN CODE:
CURRENT ROW POINTER

OPEN
WRITE
YES
TBSCAN

o

15

SA~lTB

1 ..... - - _........ - .................................. - ......... ...

DATE CREATED
TIME CREATED
LAST DATE ~iODIFIED:
LAST TIME MODIFIED:
LAST HODIFIED BY
ORIGINAL ROW COUNT:
CURRENT ROW COUNT :
HODIFIED ROW COUNT:
UPDATE COUNT

83/06/15
10:15
83/06/25
14:52
Z59SBL
50
60
15
4

/

Figure 115.

290

Dialog Test ... Table Status Display for an Open Table

ISPF/PDF for MVS Program Reference

Dialog Test Log (Option 7.5)

LOG .caPTION 7.5)

The log option allows you to display and browse data recorded in the
ISPF log. You can use all the browse commands (except BROWSE) while
looking at the ISPF log.
Sometimes the log is not available for browsing.

This can occur when:

•

The log file is empty.

•

The log file was not created for this session. (The primary page
allocation has been set to 0 using ISPF/PDF option 0.2.)

•

No data has been written to the log during this session, and
although the log file exists and is not empty, the user did not pass
through normal termination during the last ISPF session (for
example, an ABEND may have occurred). The log may be browsed if an
action is taken that causes a log entry to be written.

•

The log file was preallocated with a disposition of OLD.
file must be allocated with a disposition of MOD.

•

The log file has been preallocated to SYSOUT.

The log

The following trace output is written to the ISPF log:

•

Trace header entries

•

Function trace entries

•

Variable trace entries

Each type of entry follows the format of other log entries:
summary on the left and a detailed entry on the right.

a short

Trace Header

The first line of trace data is a trace header that identifies the trace
and shows the current application ID, the current function, and the
current screen as detailed description. For split screen mode, the
original screen is 1 and the screen generated by the SPLIT command is 2.
The summary section of the header entry identifies the entry as a dialog
trace. The trace header entry is written during the test session
whenever a function or variable trace entry is to be written for a
different (from the last) application, function, or screen.
For example, a trace of logical screen 1 of function TESTF1 in
application ISR would place the following line in the ISPF log:
DIALOG TRACE ---- - APPLICATION(ISR)

FUNCTION(TESTF1)

SCREEN(l)

Chapter 11. Dialog Test (Option 7)

291

Function Trace Entries

A pair of function trace entries, a BEGIN entry and an END entry, is
generated during a function trace for each traced dialog service that is
invoked. A service may be called from ~ user dialog that is currently
executing, or from a dialog test action on behalf of the user. The
summary portion of each of these entries shows the name of the dialog
service, whether it is the beginning or the end of its execution, and
whether- it was invoked indirectly f-rom a Dialog Test panel. (If the
word TEST does not appear, the user's dialog invoked the service
-directly.) For-END entries only, the servicereturri code is shown on asecond line. The detailed section of the log entries contains an image
of the service call and the parameters used to invoke that service,
using two lines if necessary; for example:
DISPLAY .. BEGIN ... TEST - DISPLAY PANEL(XYZ)

•
•

•

DISPLAY .. END..
TEST - DISPLAY PANEL(XYZ)
. . RETURN CODE (0)

There can be many log entries between the begin and end entries. For
example, any active variable traces may cause log entries during a
SELECT trace.
The following should be noted about the service call image:
•

The image is truncated after the second line.

•

ISPEXEC calls are shown as coded in the dialog.

•

ISPLINK and ISPLNK calls (except for the ISREDIT service) are
displayed with their parameter values separated by commas. Name
lists are shown as coded in the dialog, in string format or
structure format. (Structure format includes the count, element
length, and list of names.) For variable services parameters whose
context is defined by the "name-list" parameter on the service call,
the first four bytes of the parameter value are displayed in
hexadecimal (X'nnnnnnnn').

•

Dialog test calls are shown using the command call format without
the ISPEXEC prefix.

Variable Trace Entries

Two variable trace entry lines are generated for each variable trace log
entry. The v~riable may be referenced or set by a user dialog (directly
or indirectly through the use of a dialog service), or explicitly set by
a dialog test option on behalf of a user. The summary parts of these
entry lines identify the trace. Line one shows the name of the
variable, the pool in which it exists (F for function, S for shared, P
for profile), and an indicator (TEST) if a dialog test option set the
292

ISPF /PDF for l-lVS PrograniRe-ference

(1

~

Dialog Test Log (Option 7.5)

value. Line 2 shows the operation performed for the variable (GET; . PUT,
or CRG) and the name of the dialog service that performed the operation
(for non-TEST entries). The current value of the v~riap1e is printed in
the detail see:tion of. the log entry and can span two lines; for example:
LIB1 .... POOL(P)
. ~ .. GET by EDIT
Note:

- VALUE(FLAG)

The value is truncated after the second line.

If the variable valu,e contains nondisplayablecharacters, the value is
displayed in hexadecimal format (X'nnnnnnnn').

)
Chapter 11. Dialog Test (Option 7 )

293

DIALOG SERVICES (OPTION 7.S)

The dialog services option allows you to execute a dialog service by
entering the service command invocation with or without the ISPEXEC
characters. Figure 116 shows the invoke dialog service panel.

--------------.- .. --------- INVOKE DIALOG SERVICE .... ------- .. ----------- .. ------ ..

CO~l~IAND

===>

ENTER DIALOG SERVICE AND ITS

===>

PARA~fETERS:

/

\

Figure 116.

Dialog Test .. Invoke Dialog Service Entry Panel

For example, if you wish to display panel XYZ, enter:

===>
===>

DISPLAY PANEL(XYZ)
or
ISPEXEC DISPLAY PANEL(XYZ)

The service is invoked when you press the ENTER key.
of the service's completion and return code.

You are informed

You can call any dialog service valid in the command environment (except
CONTROL) at a,breakpoint or before invoking a function.
If you issue the DISPLAY service call with only a message parameter, or
if you issue the DISPLAY service call with no parameter, a special
display panel is shown (Figure 117).

294

ISPF/PDF for MVS Program Reference

Dialog Test Services (Option 7.6)

---------------------------- SPECIAL DISPLAY PANEL

CO~l~lAND

+==>

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

This panel is used for two special "DISPLAY" conditions:

Figure 117.

1.

When DISPLAY is invoked without a panel name.

2.

When TBDISPL is invoked without a panel name.
other parameters are ignored.

All of the

Dialog Test - Special Display Panel

.1,"

)

, ii'

Chapt~r11.

Dlalog Test (Option 7)

295

TRACES (OPTION 7.7)

The traces option alloW's' you to define, change, and delete trace
You can trace executed dialog service~)except for the
VPUT service i~sued from apanel~ and referenoed dialog variables during
dialog execution. Trace data is placed in the ,transa~tion log, where
you can brmvse it using dialog test option'S, or print it when you exit
from ISPF.

'specification~.

Since tracing may degrade ~ialog performance and create large amounts of
'outptit, care should be taken in settini ihe stope of tra6e definitions.
When you select this option, you are shown ~ selection panel
(Figure 118) on which you can indicate the type of-trace (function or
variable) you ,wish to define. The trace capabilities are described
below.

---------------------------------- TRACES ---------------------------------OPTION ===>
1 FUNCTION TRACES
Monitor dialog service calls
2 VARIABLE TRACES - Monitor dialog variable usage

Figure 118.

Dialog Test - Traces Selection Panel

(
296

ISPF/PDFforNVS Program Reference

Dialog Test Traces (Option 7.7)
Function Trace (Trace Option 1)

The function trace option is used to establish criteria for recording
the names of dialog servi~e calls; the service parameters, and return
code in the ISPF log. ,Service calls made by the dialog or during test
processing (e.g . , using dialog test option 2 to display a panel) are
recorded. Wh~never a new application and/or function has data recorded,
a header is placed in the trace.
When you select the function trace option, you are shown a scrollable
panel (Figure 119) that lists all currently defined function traces.
You may add, delete, and modify function trace definitions using this
panel before invoking a function or at a breakpoint.

----------------------------- FUNCTION TRACES -------------------- ROW 1 OF 21
COMMAND ===>
SCROLL ===> PAGE
ADD, DELETE AND CHANGE TRACES. UNDERSCORES NEED NOT BE BLANKED.
ENTER END COMM~lAND TO FINALI ZE CHANGES.

t t t t
t t t t

FUNCTION
(Required)

ACTIVE
(YES ,NO)
(No entry=YES)

ALL

NO

DIALOG SERVICES TO BE TRACED
(No entry=all)
("OR" is assumed between names)

t t t,

'"
'"
'"
'"
'"

,
,
,
,
,

I I' t

1'1 I
'1'1

'I I'
'"

I

Figure 119.

Dialog Test - Function Trace Entry Panel

Each line defines a function trace, showing:
""

Line command area.

FUNCTION The name of the user function in which the trace should

occur, or ALL to trace every dialog function. Initially,
ALL is presented on the display but is not activated.
Chapter 11. Dialog Test (Option 7)

297

Change the NO to a YES in the ACTIVE column to start such a
trace. If you want to trace a function whose name is ALL,
enclose that name in aposirophes ('ALL') to distinguish it.
ACTIVE

Whether the trace is to be active now:

yes, y
no, n
no entry

The trace is currently active
The trace is currently not active
The trace is currently active

DIALOG SERVICES TO BE TRACED
Names of dialog services to be traced. No entry in this
field indicates all calls to dialog services for the
function are to be traced.

All function traces exist until you leave dialog test, or until you
delete them from this panel. Enter new information by overtyping the
existing data. The underscores are pad characters to indicate the
starting and ending positions for each field and need not be blanked
out. You can create several function traces before you press the ENTER
key.
During dialog processing, to determine whether the criteria for a
function trace have been met, dialog test executes a logical "AND" of
the three fields (FUNCTION, ACTIVE, and DIALOG SERVICES) specified for
that function trace. Within the DIALOG SERVICES field, a logical "OR"
is performed to determine whether a particular dialog service has been
matched. Therefore, if you want more than one trace for a function, you
should create multiple rows.
The function trace option uses the CANCEL, END, and LOCATE dialog test
primary commands, and the D, I, and R dialog test line commands. These
commands are described in the section entitled "Dialog Test Commands."
Variable Trace (Trace Option 2)

The variable trace option is used to establish criteria for recording
variable usage. A variable's usage is recorded if an ISPF service is
directly asked to operate on the variable (e.g., VGET, VPUT, VCOPY), or
if an ISPF service is indirectly asked to operate on the variable (e.g.,
DISPLAY) . . Variables changed under the variables option (dialog test
option 3) are also recorded if the trace specifications are met.
When you select the variable trace option, you are shown a scrollable
display (Figure 120) 'which lists all currently defined variable traces.
You may add, delete, and modify variable trace definitions at a
breakpoint, or by using this ,panel before invoking a function.

298

ISPF/PDF for MVS Program Reference

Dialog Test Traces (Option 7. 7)

----------------------------- VARIABLE TRACES -------------------- ROW 1 OF 21
==>
SCROLL --> PAGE

COM~iAND

ADD, DELETE AND CHANGE TRACES. UNDERSCORES NEED NOT BE BLANKED.
ENTER END COM~iAND TO FINALIZE CHANGES.
VARIABLE
POOL
(Required) (No entry=all)

,'", , ,,
'" ,
'" ,
'" ,
" "
'" ,
" "

'"
'"
'"
'"
'"

OPERATION
FUNCTION
ACTIVE
(GET,PUT,CHG) (No entry=all)
(YES,NO)
(No entry=all)
(No entry=YES)

ALL

NO

,
,
,
,
,

-***************************** BOTTOM -OF DATA ******************************
Figure 120.

Dialog Test - Variable Trace Entry Panel

Each line defines a variable trace, showing:
IIII

Line command area

VARIABLE

Name of the variable to be traced, or ALL to indicate
tracing all variables. Initially, ALL is presented on
the display but is not activated. Change the NO in the
ACTIVE column to YES to start such a trace. If you wish
to trace a variable whose.name is ALL, enclose that name
in apostrophes ('ALL') to distinguish it.

POOL

Pool of interest for variable tracing:
f

s
p

no entry

Function variable pool
Shared variable pool
Profile variable pool
All pools

Chapter 11. Dialog Test (Option 7)

299

OPERATION

Type of variable reference to trace:

get, 9
put, p

chg, c
no entry

Accesses to the variable's value
Stores to the variable's value
Changes to the variable's value
All references to variable are traced

FUNCTION

The user dialog function for which the trace is defined.
If no entry, indicates this variable will be traced for
all functions.

ACTIVE

Indication of whether the trace is to be active:

yes, y
no, n

no entry

The trace is currently active
The trace is currently not active
The trace is currently active

All variable trace definitions exist until you exit from dialog test, or
until you delete them from this panel. Enter new information by
overtyping the existing data. The underscores are pad characters to
indicate the start and end of each field and need not be blanked out.
You can create several variable traces before you press the ENTER key.
During dialog processing, to determine whether the criteria for a
variable trace have been met, dialog test executes a logical "AND" of
the fields (VARIABLE NAME, POOL, OPERATION, FUNCTION, and ACTIVE)
specified for that variable trace. Therefore, if you want more than one
trace for a variable, you should create mUltiple rows.
The variable trace option uses the CANCEL, END, and LOCATE dialog test
primary commands, and the D, I, and R dialog test line commands. These
commands are described in the section entitled "Dialog Test Commands. tI

300

ISPF /PDF for

~1VS

Program Reference

(
\:.

Dialog Test Breakpoints (Option 7.8)

BREAKPOINTS (OPTION 7.8)
A breakpoint is a . location at which the exe·cution of a user dialog is
suspended So that dialog test facilities may be used. The breakpoints
option p'ermits you to' indicate where such temporary suspensions should
occur. At a breakpoint, control is given to the user, and user dialog
data (tables, variables, etc.) may be examined and manipulated. In
addition, new test cond·itions, such as traces and other breakpoints, may
be specified.
Breakpoints are located immediately before a dialog service receives
control or after it relinquishes control. Breakpoint definitions cause
special handling within the ISPLINK (ISPLNK) and ISPEXEC interfaces to
dialog services; no user dialog code is modified. When the criteria for
a breakpoint are satisfied, the user's dialog is "suspended," and he is
able to perform any of the functions pro~ided by the dialog test
breakpoint primary option menu. The VPUT service issued from a panel
cannot be used as a breakpoint.
Defining Breakpoints (Breakpoints Panel)

When you select the breakpoints option, you are shown a scrollable
display (Figure 121), showing all currently defined breakpoints for this
session~
You ~ay add~ delete, and modify breakpoint definitions using
this panel before invoking a function or at a breakpoint.
Each line defines 'a breakpoint, and shows:
1111

Line command area

SERVICE

Name of' the dialog service ~t which to' interrupt dialog
execution. This field is required.

WHEN

Indication of when the breakpoint should occur:
before, b
after, a
rnn

no entry

Before the service receives control
After the service completes execution
After the service completes execution, if the
return code is the integer nn
Before and after service execution

FUNCTION The user dialog function (program or command) that must be
executing for the breakpoint to be taken. No entry in this
field indicates that the breakpoint may occur for all
functions.
ACTIVE

Indication of whether the breakpoint is to be active at this
time:

yes, y
no, n
no entry

It is currently active
It is currently not active
It is currently active

Chapter 11. Dialog Test (Option7}

301

*QUAL*

If present at the end of'a row, indicates that qualification
data exists for the breakpoint. This field is
nonmodifiable. For additional information see "Qualifying a
Breakpoint," below.

Empty lines (all input fields contain underscores) are added to the
initial display to fill up the screen. If you delete all the lines used
for defining breakpoints, the display is automatically refreshed with
enough empty lines to fill the screen again.

------------------------------- BREAKPOINTS ---------------------- ROW 1 OF 21
COHHAND ===>
SCROLL ===> PAGE
ADD, DELETE AND CHANGE BREAKPOINTS. UNDERSCORES NEED NOT BE BLANKED.
ENTER END COHHAND TO FINALIZE CHANGES.
SERVICE
(Required)

WHEN
(BEFORE,AFTER,Rnn)
(No entry=all)

FUNCTION
(No entry=all)

ACTIVE
(YES,NO)
(No entry=YES)

," ,

,,,,
,,,,
,,,,
,,,,
, 'f

/'
i

\

t

t t t ,

,,,,
,,,,
t , "

,,,,
, ,t t

,,,,
Figure 121.

Dialog Test - Breakpoints Entry Panel

All breakpoints exist until you end or cancel your dialog test session,
or until you delete them ~~om this panel. Enter new information by
overtyping the existing data. The underscores are pad characters to
indicate the starting and ending positions for each field and need not
be blanked out. You can create several breakpoints before you press
ENTER.
From the breakpoint entry panel, you can use the CANCEL, END, LOCATE,
and QUAL dialog test primary Gommands, and the D, I, and R dialog test
line commands. These commands are described in the section entitled
"Dialog Test Commands."

302

ISPF/PDF for HVS Program Reference

~

~

Dialog Test Breakpoints (Option 7.8)
Qualifying a Breakpoint (Qualification Panel)

The qualification panel allows you to further constrain the conditions
under which a breakpoint is to occur. You may list parameter data with
which the named service must have been invoked.
The qualification panel is displayed when you enter the QUAL primary
command on the breakpoints panel. The FUNCTION and ACTIVE columns are
overlaid with a column of data, headed with QUALIFICATION PARAHETER
DATA, which was logically off the screen to the right of the breakpoints
panel display (Figure 122). The RESUHE primary command is used to
resume the format of the breakpoints panel.

------------------------------- BREAKPOINTS ---------------------- ROW 1 OF 21
===>
SCROLL ==> PAGE

COH~1AND

ADD, DELETE AND CHANGE BREAKPOINTS. UNDERSCORES NEED NOT BE BLANKED.
ENTER END COMHAND TO FINALIZE CHANGES.
SERVICE
WHEN
(Required) (BEFORE,AFTER,Rnn)
(No entry=all)
~\

"

, I

'

, , I

QUALIFICATION PARA~1ETER VALUES
(No entry=none)
("AND" is assumed between values)

", , ", I
I, , I
, I , ,

"

I ,

, , , I

,,,,
, I , ,
, I , ,

,,,,
,,,,
Figure 122.

Dialog Test - Qualification Panel

The qualification panel lines correspond to the lines on the breakpoints
panel; the SERVICE and WHEN fields are described previously. In the
QUALIFICATION PARAMETER VALUES field, you can enter, for all
services except SELECT, any combination of the following:

•

One or more parameter values (separated by blanks) that the dialog
passes to the service. No order is implied by the specification of
the parameter values.

Chapter 11. Dialog Test (Option 7)

303

For example, if you want a breakpoint td' occur when message ABC0001
is coded on a DISPLAY servlce request, you should specify ABC001.
If the breakpoint should occur only when message ABC0001 and panel
XYZ are both coded, you should specify ABC0001 XYZ.
•

One or more command call keywords (separated by blanks) that have
nonblank values when a dialog calls the service. For ISPLINK
(ISPLNK) calls, the keywords matching the calling sequence parameter
positions are used.
For example, if you want a breakpoint to occur whenever the DISPLAY
service is invoked with a message, then specify MSG.

For the SELECT service, you can enter one or more parameter strings that
would be entered on the SELECT service call. A string is defined as a
series of characters that is delimited by a blank, a comma, a quote, or
a left or right parenthesis.
For example, if a SELECT call is SELECT PGM(ABC) PARM(1 2 3 5 '6'), then
any or all of the following strings can be used: SELECT, PGM, ABC, 1,
2, 3, 5, 6.

For a breakpoint to be taken, all qualification data listed must be
matched.
All line commands and modification capabilities are still available on
the qualification panel.
During dialog processing, to determine whether the criteria for a
breakpoint have been met, dialog test executes a logical "AND" of all
fields (SERVICE, WHEN, FUNCTION, ACTIVE, and QUALIFICATION) specified
for that breakpoint. Therefore, if you want more than one breakpoint
for an ISPF service, you should create multiple rows.
When you use the breakpoints option, be aware of the following items:

304

QUALIFICATION

If you plan to qualify several breakpoints, it
may be more efficient to specify all breakpoint
data on the qualification panel.

END COMMAND

You can use the END primary command from either
the breakpoints panel or the breakpoints
qualification panel.

INPUT ERRORS

You must correct input errors before leaving any
display (using the END, QUAL, or RESUME command).
You may use the CANCEL command to terminate the
breakpoints option, even if input errors remain
on the display.

SYNTAX CHECKING

A dialog service call must pass a basic syntax
check before a breakpoint will be honored.

ISPF/PDF for MVS Program Reference

(

Dialog Test Breakpoints (Option 7.8)

CONTROL DISPLAY

If you encounter a breakpoint during execution,
any settings of CONTROL DISPLAY LINE or SM in
your dialog are lost.

)
Chapter 11. Dialog Test (Option 7)

305

TUTORIAL (OPTION 7. T)

The tutorial option allows you to display information about the dialog
test facilities.

306

ISPF/PDF for MVS Program Reference

(t'!
'~

Dialog Test Exit (Option 7.X)
EXIT (OPTION 7.X)

The exit option terminates your dialog test session.
breakpoint definitions are lost.

All trace and

Chapter 11. Dialog Test (Option 7)

307

ENCOUNTERING A BREAKPOINT

:

\

If you invoke a dialog function or selection panel and encounter a
breakpoint, the dialog test breakpoint primary option menu is displayed.
Figure 123 shows this selection panel at a breakpoint just after
invoking the ISPF DISPLAY service while executing the TEST function in
application PAY.

BREAKPOINT PRIMARY OPTION MENU - AFTER DISPLAY ----------------------.-----OPTION ===>
FUNCTIONS
PANELS
3 VARIABLES
4 TABLES
5 LOG
6 DIALOG SERVICES
7 TRACES
8 BREAKPOINTS
T TUTORIAL
G GO
C CANCEL
1

2

-

CURRENT STATUS:
APPLICATION: PAY
BREAKPOINT : ISPEXEC

Invoke dialog function/selection menus
Display panels
Display/set variable information
Display/modify table information
Browse ISPF log
Invoke dialog services
Specify trace definitions
Specify breakpoint definitions
Display information about Dialog Test
Continue execution from breakpoint
Cancel dialog test
FUNCTION: TEST
DISPLAY
PANEL(TESTP)

(
~ISG()

RETURN CODE ===> 0

Figure 123.

Dialog Test - Breakpoint Primary Option Menu

Like the dialog test primary option menu, the breakpoint primary option
menu allows you to use the RETURN command from anyone of the selected
test options to process a redisplay of the breakpoint primary option
menu. At the breakpoint primary option menu, the END and RETURN
commands have no effect. You must use the GO option to terminate
processing at this breakpoint and continue executing the dialog being
. tested, or the CANCEL option to cancel the dialog test option. This
protects against inadvertent loss of data.
The breakpoint primary option menu contains all of the options of the
dialog test primary option menu, and as such, presents all of the dialog
test functions to you. It also displays .the following information:

308

ISPF/PDF for MVS Program Reference

\

Dialog' Test - Encountering a Breakpoint
Panel Title

BREAKPOINT PRH1ARY OPTION

~1ENU

BEFORE or AFTER An indication of whether the dialog has been
suspended BEFORE or AFTER the service has executed.
Service Name

The nam~ of the service at which the dialog has been
suspended. In Figure 123, the service name is
DISPLAY.

CURRENT STATUS:
APPLICATION

The application identifier of the suspended user
dialog.

FUNCTION

The program or command name of the suspended user
dialog.

BREAKPOINT

Up to three display lines showing an image of the
dialog service call. Truncation occurs after the
second line.
ISPEXEC calls are shown as coded.
ISPLINK (ISPLNK) calls are displayed with their
parameter values separated by commas. Name lists are
shown as coded in the dialog, in string format cir in
structure format (structure format includes the
count, ele~ent length, and list of names). For
variable services parameters whose context is defined
by the "name-list" parameter on the service call (for
example, the variable value areas for a VDEFINE), the
first four bytes of the parameter value are displayed
in hexadecimal (X'nnnnnnnn').
ISPEXEC calls from a program are the same as ISPEXEC
calls from a command except that ISPEXEC is not
displayed.

RETURN CODE

The dialog service return code. This field is
displayed only if the breakpoint occurs AFTER the
dialog service has executed. The return code field
is modifiable; its value is passed back to the dialog
(as the service's) when you select the GO option.
This facilitates the testing of dialog error
handling.

GO

The GO option continues dialog execution from a
breakpoint. The user dialog resumes processin~ from
the point at which it was suspended.

CANCEL

The CANCEL option terminates dialog testing and
redisplays the first primary option menu you
displayed at the beginning of your ISPF session.

All

Chapter 11. Dialog Test (Option 7)

309

trace and breakpoint definitions are lost when dialog
test is terminated.
When a user dialog encounters a breakpoint, the current dialog
environment is saved. When you select the GO option, the environment is
restored, except for the following:

•

If you change variable, table, and file tailoring data at a
breakpoint, these actions are performed as an extension of the
suspended dialog; it is as though the dialog had taken all the
actions itself during execution.

•

If you modify the service return code (on the breakpoint primary
option menu), the new return code is passed back to the dialog (as
though the service had set the new code itself).

•

If you execute the PANELID command at the breakpoint, the
setting for displaying panel identifiers is retained.

•

If any CONTROL service settings for DISPLAY LINE or DISPLAY SM were
in effect before the breakpoint, such settings are lost.

la~t

Note that the manipulation of one dialog part may cause a change to
another dialog part. For example, if a panel is displayed, variables
may be set.
All trace and breakpOint definitions are lost if you select the CANCEL
option from the breakpoint primary option menu.

310

ISPF/PDF for MVS Program Reference

Library Management Utilities (Option 8)

CHAPTER 12. LIBRARY MANAGEMENT UTILITIES (OPTION 8)

When you select option 8 from the ISPF/PDF primary option menu, the
panel shown in Figure 124 is displayed. The options on this panel allow
you to:

•

Specify library attributes

•

Create or update lists of authorized users and distribution tables
for a project

•

Activate or deactivate the controls for a project

•

Browse or print activity and library control information

In order to use the library management utilities, you must have
pre-allocated the control file using the ddname ISRCFIL.

;'

If you create the controls for a library for a new project, you
automatically become the project administrator for that project. The
project administrator is the only person who can update the library
controls and execute options 2, 3, and 4 for that project. The project
administrator of a project can change the project administrator id of
the project. Where there are several project administrators for a given
project, only one administrator can update the project controls. The
updating of project controls is restricted to one logical screen.
For complete information on the use of the library management utilities,
see ISPF /PDF for HVS Library ~lanagement.

Chapter 12. Library Management Utilities (Optinn 8)

311

----------------------OPTION ===>
1

2
3

4
5
T

LIBRARY MANAGEMENT UTILITIES

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

CONTROLS

- Specify library attributes:
Create, update, or .delete promotion hierarcbie~~
Authorize access to controls or members 'in hierarchies,
Specify action taken when promoting mem1;>ers.
USER SET
- Create, update, or delete list of users 4uthorized to
perform library functions.
DISTRIBUTION - Create, update, or delete a distribution table to relate
different promotion hierarchies.
ACTIVATE
- Activate or deactivate promotion hierarchy, controls.
REVIEW
- Browse or print activity and library controls
information.
TUTORIAL
- General information about the library management
utility facility.

(

Figure 124.

312

Library Management Utility Panel

ISPF/PDF for MVS Program Reference

\

Tutorial (Option T)

CHAPTER 13. TUTORIAL (OPTION T)

The tutorial option provides immediate online reference and instruction
on how to use PDF. You can invoke it by selecting option T from the
primary option menu or by using the HELP command. You can scan the
tutorial sequentially from beginning to end, or you can select specific
topics from an alphabetic index or table of contents.
When you invoke the tutorial from the primary option menu, introductory
pages are displayed to explain how the tutorial is organized and how it
might be used (Figure 125). Next, a table of contents is displayed from
which you may select a topic by entering the desired section number.
When you invoke the tutorial via the HELP command, the appropriate
section of the tutorial is entered based on what you were doing when you
requested help.

------------------------------ ISPF TUTORIAL ---------------------------------===>

CO~mAND

ISPF

PROGRA~1 DEVELOP~IENT

FACILITY

TUTORIAL
This tutorial provides on-line information about the features and
operation of the ISPF program development facility (ISPF/PDF). You may
view the tutorial sequentially, or you may choose selected topics from
lists that are displayed on many of the tutorial pages.
The table of contents contains a list of major topics. Subsequent pages
contain additional lists that lead you to more specific levels of detail.
Topics may also be selected from the tutorial index.
The next two pages contain a description of how to use this tutorial.
Press ENTER key to proceed to the next page, or
Enter UP command to go directly to the table of contents, or
Enter END command to return to the primary option menu.

Figure 125 (Part 1 of 2).

Tutorial - First Two Pages

Chapter 13. Tutorial (Option T)

313

(

I~

TUTORIAL ---------------------- INTRODUCTION ------------------------- TUTORIAL
COHNAND ===>
You may view the tutorial sequentially by leaving the command field
blank and repeatedly pressing the ENTER key. Alternatively, you may
select topics from lists that are displayed on many of the tutorial
pages. For example enter:
OPTION

===> 3

to select topic 3.

You may also enter one of the following commands on any tutorial page:
BACK
SKIP
UP
TOP
INDEX

or
or
or
or
or

B
S
U
T
I

-

to
to
to
to
to

back up to the previously viewed page.
skip the current topic and go on to the next topic.
display a higher level list of topics.
display the table of contents.
display the tutorial index.
(continued on next page)

(

Figure 125 (Part 2 of 2).

Tutorial - First Two Pages

When viewing the tutorial, select topics by number, or simply press the
ENTER key to view the next topic. On any panel, you may also enter the
following commands:
BACK
SKIP
UP
TOP
INDEX

or
or
or
or
or

B
S
U
T
I

-

return to the previously viewed page
skip to the next topic
display a higher level list of topics
display the table of contents
display the index

When you use the tutorial, the scrolling commands are interpreted as
follows:
UP
DOWN (skip)
LEFT (back)
RIGHT (next)

-

display
skip to
display
display

higher level list of topics
the next topic
the previous tutorial page
the next tutorial page

The ENTER key also means "next."
While viewing the tutorial, you can enter the HELP command at any time
to display a one-page summary of how to use the tutorial.
314

ISPF/PDF for MVS Program Reference

\

To terminate the tutorial function, enter either the END or RETURN
command, which causes a return either to the primary option menu or to
the display from which you requested help.

)
Chapter 13. Tutorial (Option T)

315

(

316

ISPF/PDF for MVS Program Reference

APPENDIX A. USAGE SCENARIO

This brief scenario is an example of PDF terminal operations. It is
intended for new users as a quick introduction to PDF. It may also
serve as a demonstration that PDF has been properly installed and is
operational.
This scenario accesses data set SYS1.SAMPLIB, which should contain the
following four members. These members are distributed with PDF.
ISRASM
ISRCOBOL
ISRFORT
ISRPLI

-

Sample
Sample
Sample
Sample

Assembler Source
COBOL Source
FORTRAN Source
PL/I Source

During the scenario, member ISRASM is copied from SYS1.SAMPLIB to a user
data set. The other three members are not used during the scenario.
The scenario also assumes the existence of the TSO Assembler Prompter,
program number 5734-CP2. If the Assembler Prompter is not available at
your installation, skip steps 34 through 40.

Appendix A. Usage Scenario

317

ACTION

RESULT

1. LOGON TO TSO

1. "READY"

2. KEY "PDF"

2. ISPF/PDF PRINARY OPTION MENU

3. SELECT UTILITIES (OPTION 3)

3. UTILITY SELECTION PANEL

4. SELECT DATA SET UTILITY (OPTION 2)

4. DATA SET UTILITY PANEL

5. SELECT OPTION A (ALLOCATE) AND

5. ALLOCATE NEW DATA SET PANEL

SPECIFY ISPF LIBRARY:
PROJECT
SA~IPLE
GROUP
USERID (YOUR TSO USERID)
TYPE
ASH
6. ENTER THE FOLLO\vING:

VOLUHE
GENERIC UNIT:
UNITS
PRH1ARY
SECONDARY
DIR BLKS
FOR~IAT

LENGTH
BLK SIZE

6. DATA SET

SAMPLE.USERID.ASM
IS ALLOCATED ON SCRATCH
VOLUME. DATA SET UTILITY
PANEL IS DISPLAYED.

(BLANK)
(BLANK)
TRKS
2
1

1

FB
80
3120

(

\

7. SELECT OPTION A AGAIN AND
SPECIFY ISPF LIBRARY:
PROJECT
SANPLE
GROUP
: USERID (YOUR TSO USERID)
TYPE
: OBJ

7. ALLOCATE NEW DATA SET PANEL

8. LEAVE EVERYTHING THE
JUST PRESS ENTER.

8. DATA SET SAMPLE.USERID.OBJ
IS ALLOCATED. DATA SET
UTILITY PANEL IS DISPLAYED.

SA~lE.

9. PRESS PF3

9. UTILITY SELECTION PANEL

10. PRESS PF3

10. ISPF/PDF PRIMARY OPTION MENU

11. SELECT NOVE/COPY (OPTION 3.3)

11.

12. SELECT OPTION C (COPY) AND
SPECIFY "OTHER" DATA SET
NA~lE: t SYS1. SAHPLIB (ISRAS~1)

12. SECOND MOVE/COPY PANEL

318

t

ISPF/PDF for MVS Program Reference

~1OVE/COPY

UTILITY PANEL

ACTION

RESULT

13. SPECIFY "TO" ISPF LIBRARY:
PROJECT
SAHPLE
GROUP
USERID
TYPE
ASH
NE~1BER
(BLANK)

13. MEMBER ISRASM IS COPIED
FROM DATA SET SYS1.SAMPLIB
TO SAMPLE.USERID.ASM.
THE FIRST MOVE/COPY PANEL
IS REDISPLAYED.

14. PRESS PF3

14. ISPF/PDF PRIMARY OPTION MENU

15. SELECT BROWSE (OPTION 1)

15. BROWSE ENTRY PANEL

16. SPECIFY ISPF LIBRARY:
PROJECT
SAHPLE
GROUP
USERID
TYPE
ASH
HE~1BER
(LEAVE BLANK)

16. BRO\\'SE ME~1BER LIST OF
DATA SET SAMPLE.USERID.ASM

17. SELECT HEMBER ISRASM
(ENTER "s" AHEAD OF ME~1BER

17. BROWSE TEXT DISPLAY OF
SAMPLE.USERID.ASM(ISRASM)

NA~lE)

18. SCROLL FORWARD ONE PAGE (PF8)

18. SECOND PAGE OF ISRASM

19. SCROLL BACKWARD ONE PAGE (PF7)

19. FIRST PAGE OF ISRASM AGAIN

20. ENTER COMMAND:
===> FIND COHMENT

20. STRING "COMMENT" IS
INTENSIFIED.

21. FIND NEXT OCCURRENCE OF "COMMENT"
BY PRESSING PF5

21. SECOND OCCURRENCE OF
"COMMENT" IS INTENSIFIED.

22. PRESS PF3

22.

23. PRESS PF3

23. BROWSE ENTRY PANEL

24. PRESS PF3

24. ISPF/PDF PRIMARY OPTION MENU

25. SELECT EDIT (OPTION 2)

25. EDIT ENTRY PANEL

26. SPECIFY ISPF LIBRARY:
PROJECT
SAHPLE
GROUP
USERID
TYPE
ASM
HE~1BER
ISRASM

26. EDIT DATA DISPLAY
OF DATA SET
SA~lPLE . USERID. ASM (I SRASM)

~lE~1BER

LIST

Appendix A. Usage Scenario

319

ACTION

RESULT

27. FIND THE LINE CONTAINING THE
STRING "COMHENT" BY USING THE
COH~lAND ===> FIND COM~1ENT

27. CURSOR IS POSITIONED TO THE
STRING AND SEQUENCE NUMBER
IS INTENSIFIED.

28. DELETE THE COHHENT BY PRESSING
ERASE EOF.

28. THE RIGHT OF LINE IS ERASED

29. REPEAT THE NEXT COMNENT LINE BY
OVERTYPING THE FIRST DIGIT OF
THE LINE NUMBER WITH "R".

29. THE LINE IS REPEATED

30. ENTER THE

30. THIS SETS AUTOLIST MODE ON FOR
AUTOMATIC SOURCE LISTINGS.

CO~lMAND

===>

AUTOLIST ON

31. TRY OUT l'-1ORE EDIT COMMANDS IF
YOU LIKE, BUT REMEt<1BER THIS
PROGRAM WILL BE ASSEMBLED LATER.

31. GOOD LUCK

32. PRESS PF3

32. MEMBER ISRASM IS SAVED IN
DATA SET SAMPLE.USERID.ASM
AND A LISTING OF THE ME}1BER
IS PLACED IN THE ISPF LIST
DATA SET. THE EDIT ENTRY
PANEL IS DISPLAYED.

33. PRESS PF3

33. ISPF/PDF PRIHARY OPTION HENU

34. SELECT FOREGROUND (OPTION 4)

34. FOREGROUND SELECTION PANEL

35. SELECT SYSTEM ASSEMBLER

35. FOREGROUND ASSEHBLY PANEL

36. SPECIFY ASSEMBLER INPUT:
PROJECT
SAMPLE
GROUP
USERID
TYPE
ASH
MEMBER
ISRASM
LIST ID
ASHTEST1
ASSEMBLER
PARAMETERS: LIST,TEST,RENT

36. ASSEMBLER PROMPTER IS
INVOKED. TERMINAL OUTPUT IS
WRITTEN STARTING ON THE
LOWER PART OF THE SCREEN.
WHEN "';~,;'d~" APPEARS, PRESS
ENTER TO CONTINUE. (THIS
ASSEMBLY HAY TAKE A FEW
MINUTES.) THE ASSEMBLY LISTING
IS DISPLAYED IN BROWSE MODE.

320

ISPF /PDF for

~lVS

Program Reference

/

\

ACTION

RESULT

37. BROWSE THE LISTING, IF DESIRED,
USING THE SCROLL COMMANDS.
THEN PRESS PF3.

37. FOREGROUND PRINT PANEL IS
DISPLAYED.

38. ENTER OPTION K (KEEP).

38. FOREGROUND ASSEMBLY PANEL IS
DISPLAYED.

39. PRESS PF3

39. FOREGROUND SELECTION PANEL

40. PRESS PF3

40. ISPF/PDF PRIMARY OPTION NENU

41. SELECT BATCH (OPTION 5)

41. BATCH SELECTION PANEL

42. SELECT SYSTEM ASSEMBLER AND FILL
IN JOB CARD INFORHATION AS REQUIRED
BY YOUR INSTALLATION.

42. BATCH ASSEMBLY PANEL

43. SPECIFY ASSEMBLER INPUT:
PROJECT
SAHPLE
GROUP
USERID
TYPE
ASM
HE~1BER
I SRASM
LISTID
ASMTEST2
ASSEMBLER
PARAMETERS: OBJ,NODECK,LIST,TERM

43. JCL FOR ASSEMBLING ISRASN
IS GENERATED. THEN THE
BATCH SELECTION PANEL
IS DISPLAYED.

44. PRESS PF3

44. THE JOB IS SUBMITTED.
JOBNANE IS DISPLAYED AT
LOWER PART OF SCREEN. WHEN
"ib',i':" APPEARS PRESS ENTER.
THE ISPF/PDF PRINARY OPTION MENU
IS DISPLAYED.

45. SELECT TSO COHHAND (OPTION 6)

45. TSO COMNAND ENTRY PANEL

46. ENTER THE FOLLOWING COMMAND:
===> STATUS

46. STATUS OF YOUR JOB IS
DISPLAYED. WHEN "i',i'd,"
APPEARS PRESS ENTER.
TSO COMMAND PANEL IS REDISPLAYED WITH PREVIOUS
COMMAND PRE-ENTERED.

Appendix A. Usage Scenario

321

ACTION

RESULT

47. PRESS PF3

47. ISPF IPDF PRHIARY OPTION

48. SELECT TUTORIAL (OPTION T)

48. START OF ISPF/PDF TUTORIAL IS

~1ENU

DISPLAYED. FOLLOW THE
DIRECTIONS TO LEARN HORE
ABOUT ISPF/PDF. WHEN YOU ARE
DONE, HIT PF3 TO RETURN TO
THE ISPF/PDF PRIMARY OPTION MENU.
IF YOU HAVE FOLLOWED THIS SCENARIO, YOU SHOULD HAVE AN ASSEHBLER
LISTING IN DATA SET USERID.ASHTEST1.LIST. ALSO, \{HEN THE JOB THAT
YOU SUBMITTED HAS FINISHED, YOU \{ILL HAVE ANOTHER LISTING IN
DATA SET USERID.ASMTEST2.LIST. TRY BRO\{SE (OPTION 1) TO REVIEW
THE LISTINGS, AND TRY EXPERIMENTING WITH OTHER ISPF/PDF OPTIONS. WHEN
YOU ARE DONE, RETURN TO THE ISPF/PDF PRIMARY OPTION MENU.
49. (AT PRIMARY OPTION

~1ENU)

49. TERMINATION PANEL

PRESS PF3
50. SELECT OPTION !lPD" FOR BOTH THE
LOG AND LIST DATA SETS AND FILL IN
JOB CARD INFORMATION AS REQUIRED
BY YOUR INSTALLATION. THEN
PRESS ENTER.

50. A JOB IS SUBMITTED TO PRINT
AND DELETE THE DATA SETS.
JOBNAME IS DISPLAYED AT
LOWER PART OF SCREEN. WHEN
",,':,,':,,':" APPEARS PRESS ENTER.
SCREEN IS CLEARED AND TSO
"READY" ~1ESSAGE IS DISPLAYED.

51. YOU ARE NOW OUT OF ISPF. TO EXIT
FROM TSO, ENTER "LOGOFF".

51. END OF USAGE SCENARIO

322

ISPF/PDF for MVS Program Reference

APPENDIX B. PDF LISTING FORMATS

To assist in the maintenance of hardcopy listings, the PDF editor (under
user option) automatically provides a source listing of each segment
upon completion of editing if auto1ist mode is on. Source listings may
also be obtained via the Print option of the PDF library utility and the
move/copy utility. PDF provides index listings, upon user request, via
the Index option of the library utility, and catalog and VTOC listings
via the Print options of the catalog management and list VTOC utilities.
A sample source listing is shown in Figure 126.
Information at the top of the page includes project, group, type, and
member name, current version and modification level, user ID, date and
time that the listing was produced, and page number. The member name is
also repeated at the right for ease of filing. A column positioning
line is printed following the heading and preceding the actual data.
The "start column" is printed to the left of each line, indicating the
position of the first nonblank character in each line. Asterisks mayor
may not be printed to the right of each line, as follows:
•

If the modification flag (columns 79-80) in the line is 00, no
asterisks are printed.

•

If the modification flag is nonzero but differs from the current
modification level of the member, a single asterisk (*) is printed.

•

If the modification flag is nonzero and has the same value as the
current modification level of the member, two asterisks (**) are
printed.

The asterisks allow the listing to be scanned quickly for lines that
were added or changed since the version was created (*) and for lines
that were added or changed during the last update (**).
A sample index listing for a source library is shown in Figure 127. The
heading information includes: project, library, and type, date and time
that the listing was produced, and page number. This is followed by
general information about the data set, including current space
allocation and utilization. Following this, the member name and
statistics are printed for each member in the data set, arranged in
alphabetical order. (For sequential data sets, the index listing
contains just the general information.)

)

An index listing for an OBJ library is similar except that no statistics
are maintained. A sample index listing for a LOAD library is shown in
Figure 128. Here, the module attributes are printed to the right of
each member name.

Appendix B. PDF Listing Formats

323

A sample ISPF log listing is shown in Figure 129. The log contains a
message for each significant user action, such as saving edited data,
moving members from one data set to another, or submitting a background
job.
A sample data set list listing is shown in Figure 130. The data set
list contains the volume serial on which each data set resides and other
data set characteristics, when available.

324

ISPF/PDF for MVS Program Reference

~

'-->,-¥

PROJECT: SPFDEMO
GROU P:
MYLI B
TYPE:
PLI

>

~
~

(t)

~

p..

.....
><

tJ:I

MEMBER: COINS
LEVEL: 01.04
USER I D: JOSLI N

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8

2
4
6
8
8
8
8
8
8
6
8
10
12
12
12
10
8
6
4

COINS:
00010001
PROCEDURE OPTIONS (MAIN);
00020000
DECLARE
00030000
COUNT
FIXED BINARY (31) AUTOMATIC INIT (1),
00040000
HALVES
FIXED BINARY (31),
00050000
QUARTERS FIXED BINARY (31),
00060003
DIMES
FIXED BINARY (31),
00070000
NICKELS FIXED BINARY (31),
00080004
SYSPRINT FILE STREAM OUTPUT PRINT;
00090000
DO HALVES = 100 TO 0 BY -50;
00100000
DO QUARTERS = (100 - HALVES) TO 0 BY -25;
00110000
DO DIMES = «100 - HALVES - QUARTERS)/10)*10 TO 0 BY -10;
00120000
NICKELS = 100 - HALVES - QUARTERS - DIMES;
00130000
PUT FILE(SYSPRINT) DATA(COUNT,HALVES,QUARTERS,DIMES,NICKELS);00140000
COUNT = COUNT + 1;
00150000
END;
00160000
ENDj
00170000
END;
00180000
END COINS;
00190001

'"0

I-%j

t:-4
.....
til

M.....

~

OQ
I-%j

0
11

p)

Mtil

V>
N
V1

83/05/18
17:22
01 OF 01 START

MOD
COL

t:1

8

DATE
TIME
PAGE

Figure 126.

Sample Source Listing

FLAGS

*
*
**

*

COINS

W
N
0\
H

til

""t:I

I-rj

........
""t:I
t:::I

I-rj

H>

o

ti

!3:

<:
til

""t:I

I-i

o

OQ
I-i
jl)

8
~

CD

I-tl

CD

I-i

CD

::s

PROJECT: SPFDEMO
GROU P:
MYLI B
TYPE:
PLI
GENERAL DATA:
VOLUME SER IAL:
DEVICE TYPE:
ORGANIZATION:
CREATION DATE:
EXPI RAT I ON DATE:

DATE
TIME
PAGE
000163
3330
PO
80/11/07
**NONE**

GENERAL DATA:
RECORD FORMAT:
FB
RECORD LENGTH:
80
BLOCK SIZE:
1,600
1ST EXTENT SIZE:
20
SECONDARY QUAN:
o

CURRENT
20
1
10

ALLOCATION:
TRACKS
EXTENT
DIRECTORY BLOCKS

84/01/06
14:10
001

CURRENT UTILIZATION:
5 TRACKS
1 EXTENT
2 DIRECTORY BLOCKS
10 MEMBERS

(")

X

CD

MEMBER
NAME

VERS.MOD
LEVEL

CREATION
DATE

ACCOUNT
ACCT1
ACCT2
COINS
COMPX
COMPY
DCLS
LISTOUT
MAIN
TESTDIR

01.00
01. 01
01.00
01.04
01.00
01.01
01.00
01.02
01.00
01.02

84/01/09
84/01/09
84/01/09
84/04/24
84/01/09
84/01/14
84/04/23
84/04/23
84/01/09
84/04/23

84/01/09
84/04/23
84/01/09
84/04/28
84/01/09
84/01/16
84/04/23
84/05/06
84/01/09
84/05/06

01.04

84/04/24

84/05/06

MAXI MUMS:

DATE AND TI ME
LAST MODIFIED

CURRENT
NO. LINES

INITIAL
NO. LI NES

17:07
14:52
17:07
16:20
17:08
12:30
15:14
15:00
17:08
17:04

21
99
20
19
44
13
20
17
4
30

21
193
20
19
44
13
20
13
4
43

10

17:04

99

193

10

287

390

21

TOTALS:
END OF MEMBER LIST

Figure 127.

~

Sample Index Listing - Source Library

~-"

MODIFIED
NO. LINES

o

o
o
4

o
1

o

6

o

USER
10
HUNTER
BECKETT
BECKETT
JOSLI N
JOSLI N
JOSLI N
LEESB
LEESB
KIRK
LAIDLAW

~

DATE
TIME
PAGE

PROJECT: SPFDEMO
GROUP:
MYLI B
TYPE:
LOAD
GENERAL DATA:
VOLUME SER IAL:
D00172
DEVICE TYPE:~
3330
PO
ORGANIZATION:
CREATI ON DATE:
83/11/05
EXPI RATION DATE: **NONE**
ALIAS
OF

MEMBER
NAME
SPFEDIT
SPFMAIN
SPFPMD
SPFSUBS
SPFTBLS
SPFUDA
SPFURS
SPF3277

GENERAL DATA:
RECORD FORMAT:
RECORD LENGTH:
BLOCK SIZE:
1 ST EXTENT SIZE:
SECONDARY QUAN:
sst

00032EBO

328

20~376
5~864
149~144
9~328
18~136
4~032
1~352

208~560

END OF MEMBER LIST

~

'"C
CD

::s

P-

I-'-

><

~

t-c:t

t:l

I-%j

t-t
1-'en

MODULE ATTRIBUTE
FO
NX
OL
OV
RF
RN
RU
SC
TS

CODES:
PROCESS ONLY BY F LEVEL LINKAGE EDITOR
NOT EXECUTABLE
ONLY LOADABLE
IN OVERLAY STRUCTURE
REFRESHABLE
REENTERABLE
REUSABLE
SCATTER FORMAT
MODULE TO BE TESTED

M1-'-

::s

()Q

I-%j

o

t1

!3

III

M-

en

U>
N

........

Figure 128.

o

3~072

LOAD MODULE SIZE
(HEX)
(DEC)
000148
004F98
0016E8
024698
002470
004608
OOOFCO
000548

TOTALS:

U

Sample Index Listing - Load Library

44

CURRENT
88
12
4

CURRENT
86
12
2
8

ALLOCATION:
BLOCKS
EXTENTS
DIRECTORY BLOCKS

UTILIZATION:
BLOCKS
EXTENTS
DIRECTORY BLOCKS
MEMBERS

4

ENTRY POINT
(HEX)
000000
000000
000000
000000
000000
000000
000000
000000

TTR
(HEX)
000006
000000
000204
000211
00110B
00120A
00140A
001504

AUTH
CODE
00
00
00
00
00
00
00
00

MODULE
ATTRIBUTES
FO
FO
FO
FO
FO
FO
FO
FO

84/01/08
09:35
001

RF
RF
RF
RF

RN
RN
RN
RN

RU
RU
RU
RU

RF RN RU
RF RN RU
RF RN RU

(.»

I\.J

00
H

en

'1::1

~

........
'1::1

t:::J

~

H"I

o

Ii

~

en
'1::1
Ii

o

OQ
Ii

~

TIME

:::0
CD
H"I
CD
Ii
CD

17:11
17:12
17:13
17:13
17:13
17:13
17:13
17:13
17:13
17:13
17: 14
17: 15
17:15
17: 15
17:16
17:17
17:17
17:17
17:19

::s

n
CD

17 :19'

17:20

***SPF TRANSACTION LOG ***

DATE: 83/12/22

START OF ISPF SESSION LOG #64 -------------------------------------------------------------UTI LI TY - ALLOCATE - I SPFDEMO. NEWLI B. PLI ALLOCATED ON VOLUME WORI<97
UTILITY - MOVE/COPY- ISPFDEMO.MYLIB.PLI(ACCOUNT) COPIED
TO ISPFDEMO.NEWLIB.PLI(ACCTXX)
UTILITY - MOVE/COPY- ISPFDEMO.MYLlB.PLI(ACCT1) COPIED
TO ISPFDEMO.NEWLIB.PLI(ACCTYY)
UTILITY - MOVE/COPY- ISPFDEMO.MYLlB.PLI(ACCT2) COPIED
TO ISPFDEMO.NEWLIB.PLI(ACCTZZ)
UTILITY - MOVE/COPY- ISPFDEMO.MYLIB.PLI(COINS) COPIED
TO ISPFDEMO.NEWLIB.PLI(COINS)
EDIT
- SAVE
- ISPFDEMO.NEWLIB.PLI(COINS) - MEMBER SAVED
EDI T
- CREATE
- I SPFDEMO. NEWLI B. PLI (ACCTNEW) - MEMBER CREATED
EDIT
- SAVE
- ISPFDEMO.NEWLIB.PLI(ACCTXX) - MEMBER SAVED
EDIT
- SAVE
- ISPFDEMO.NEWLIB.PLI(ACCTYY) - MEMBER SAVED
EDIT
- SAVE
- ISPFDEMO.NEWLIB.PLI(ACCTZZ) - MEMBER SAVED
UTILITY - DELETE
- ISPFDEMO.NEWLIB.PLI(ACCTZZ) DELETED
TSO
- COMMAND - LISTC
UTILITY - ALLOCATE - ISPFDEMO.NEWLIB.OBJALLOCATED ON VOLUME WORI<98
,JOB
- WALT8
- PLI OPT COMPILE -- TO ISPFDEMO.NEWLlB.OBJ(COINS)
JOB
- WALT8
- SUBMITTED
.
END Of ISPF SESSION LOG #64 ----------------------------------------------------------------

Figure 129.

~~

USERID: WALTERS

Sample Log Listing

PAGE: 1

'c",

'-7

DATE
TIME
PAGE

LISTING Of DATA SETS BEGINNING WITH ISPfPROJ.MASTER

84/02/15
13:03
1

%USED

XT

CREATED

40

100

4

83/04/30

12960

17

100

4

83/05/15

80
80

3120
12960

4
10

75
100

4
1

84/03/29
83/03/25

FB
FB
U
FB

80
80
256
80

3120
12960
3072
3120

2
48
37
4

100
60
100
100

1
4
1
2

83/04/09
83/04/07
83/05/08
83/03/30

PO
PO
PO
PS

FB
FB
FB
FB

80
80
80
100

3120
3120
12960
4000

11
33
63
6

100
87
100
100

2
4
4
6

83/04/09
83/05/29
83/04/03
83/11/22

TSOPI<4
TSOPI<4
TSOPI<4
TSOPI<7

PS
PS
PS
PS

FB
FB
FB
FB

100
100
100
100

4000
4000
4000
4000

8
9
10
16

100
100
100
100

1
1
1
1

83/08/07
83/08/29
83/10/04
83/11/03

ISPfPROJ.MASTER.PROMLOG4
ISPFPROJ.MASTER.PROMLOG5
ISPFPROJ.MASTER.PROMLOG7
ISPFPROJ.MASTER.PROMLOG8

TSOPI<6
TSOPI<7
IS5282
MIGRAT

PS
PS
PS

FB

FB
FB

100
100
100

4000
4000
4000

17
6
15

100
100
86

1
1
1

83/12/21
84/01/18
83/06/10

ISPFPROJ.MASTER.PROMLOG9
ISPFPROJ.MASTER.PTMLOG
ISPFPROJ.MASTER.PTMLOGl
ISPFPROJ.MASTER.PTMLOG2

TSOPI<4
IS5038
HSMDMP
IS5038

PS
PS

FB
FB

100
80

4000
3120

8
48

100
10

1
10

83/07/14
83/07/28

PS

FB

80

3120

57

100

12

84/02/25

LRECL

BLI
"0
"0

(\)

t:'

P.
.....

x

Cd
~

t::I

I-1'j

t-4

.....
Ul
rt
.....
t:'

()q

I-1'j

o

11

!3
~

rt

en

v.>

N

\0

Figure 130.

Sample Data Set List Listing

330

ISPF/PDF for MVS Program Reference

APPENDIX C. CHARACTER TRANSLATIONS FOR APL AND TEXT KEYBOARDS

You can use APL keyboards for all models of 3270 terminals, and text
keyboards for 3278 and 3279 terminals with PDF. The 2-byte transmissior
codes for APL and text characters are translated by PDF into 1-byte
codes for internal storage as shown in Figure 131 and Figure 132.

0

I

1

2

3

4

5

6

7

8

A

9

C

B

0

E

F

00

OF

10

1F

20

2F

30

3F

A

~

~

Q

.s

.E

§

1:1

!

&

:I.

IS.

.b.

M

t:!

Q

f

Q

!!

-

/

~

!

Y

y.

W

A

Y

9

.1

~

40

sp

50
60
70

..

1\

V

¢

,

....

'..1l1lI

$ ...

"'I
1 ....

~
\

:
..1l1lI

<

(

*
%

# ... @...

4F

+

I

)

,

...,

-

,

>

?

6F

=

"

7F

r

l

-+

8F

+-

9F

....

....

5F

80

'V

a

b

c

d

e

f

g

h

i

t

90

0

j

k

I

m

n

0

p

q

r

:::>

c

0

s

t

u

v

w

x

y

Z

n

u

[

~

0

AF

£

I

P

w

x

\

.

~

]

BF

B

C

0

E

F

*

I

A

G

H

I

\l
,....

lSI

~

CF

J

K

L

M

N

0

P

Q

R

(!)

A

OF

\..1l1lI

-

S

T

U

V

W

X

Y

Z

e

II

<1>

'EF

0

1

2

3

4

5

6

7

8

9

•

~

-

AO

'\J
..1l1lI

BO

a.

CO

{

DO
EO

'" }
,..

FO

..1l1lI

..1l1lI

~

'"
T

,....

1\

v

I

t

-- -V

, •
...
0

~

:

-A

~

FF.

03278 only; invalid character on 3277.

D

,

Figure 131.

Nation~1 use character.

Graphics shown are for U.S. keyboards; graphics differ in other countries.

Internal Character Representations for APL Keyboards

}

Appendix C. Character Translations for APL and Text Keyboards

331

/
\

0

2

1

3

4

5'

6

7

8

9

A

B

C

0

E

F

00

OF

10

1F

20

2F

30

3F

40

sp

50

&

1

60

-

/

70

¢

AO

+

3

,

0

n

....

80
90

2

0

-

(

+

$

*

)

,

-.

I

I

,

%

-

>

?

6F

:

#

@
..01IIII

.<

+

"

7F

+

8F

)

±

•

9F

•

AF

-

BF

-+-

CF

~

OF

•

L

r

[

~

9

V

~

-,

]

it
0+-

e

f

g

h

i

j

k

I

m

n

0

p

q

r

S

t

u

v

w

x

y

z

1

2

3

4

5

6

7

8

t

BO

0

CO

{

....

A

B

C

0

E

F

G

H

I

~

.1

T

V

DO

}

....

J

K

L

M

N

0

P

Q

R

iii

~

§

~

EO

\

\

S

T

U

V

W

X

Y

Z

'"

'iJ

F

~

FO

0

1

2

3

4

5

6

7

8

9

I

L

4>

....

5F

=

Il

d

....

,

....

}

c

I . . 4F

!

~

b

....

<

{

a

'V

....

,
•
cp

~

r

"

EF
FF

DNationa, use character. Graphics shown are for U.S. keyboards; graphics differ in other countries.

Figure 132.

332

Internal Character Representations for Text Keyboards

ISPF/PDF for MVS Program Reference

(
I

\

APPENDIX D. SUMMARY OF COMMANDS

GENERAL COMMANDS

Following is a description of the general PDF commands. Additional
commands are defined for member lists, browse, edit, and dialog test.
The default PF key definitions are shown following the command name.
HELP

(PF1/13)

Displays additional information about an error
message or provides tutorial information about
PDF commands and options.

SPLIT

(PF2/14)

Causes split screen mode to be entered, or
changes the location of the split line.

END

(PF3/15)

Terminates the current operation and returns to
the previous panel. If the primary option menu
is displayed, this command terminates PDF.

RETU RN

RFIND

~\

j

(PF4/1S)

(PFS/17)

Causes an immediate return to the primary
option menu or to the panel from which a HELP
or KEYS command was entered, without displaying
intervening panels.
Repeats the action of the previous FIND command
or the FIND part of the most recent CHANGE
command (applies to browse and edit only).

RCHANGE (PFS/18)

Repeats the action of the previous CHANGE
command (applies to edit only).

UP

Causes a scroll toward the top of the data.

(PF7/19)

DOWN

(P Fa/20)

Causes a scroll toward the bottom of the data.

SWAP

(PF9/21)

Moves the cursor to wherever it was previously
positioned on the other logical screen of a
split screen pair.

LEFT

(PF10/22)

Causes a scroll toward the left margin of the
data.

RIGHT

(PF11/23)

Causes a scroll toward the right margin of the
data.

CURSOR

(PF12/24)

Moves the cursor to the first input field on
line 2 (normally the option selection or
command·field). Entering this command again
Appendix D. Summary of Commands

333

causes the cursor to be moved to the second
input field on line 2, if any (normally the
scroll amount field).

334

PRINT

Causes a "snapshot" of the screen image to be
recorded in the ISPF list file, for subsequent
printing.

PRINT-HI

Same as PRINT except that high-intensity
characters on the screen are printed with
overstrikes to simulate the dual-intensity
display. Do not use this command if the list
output is to be printed on a 328x printer or
other device that does not have a
suppress-space carriage control.

TSO

Allows you to enter a TSO command or CLIST from
any panel.

KEYS

Causes an immediate display of a panel that
allows you to view and change the current PF
key definitions (equivalent to option 0.3).

PANELID

The command PANELID or PANELID ON causes
all subsequent panels to be displayed with the
identifier of the panel shown at the beginning
of line 1 (provided the panel contains a
protected-field attribute byte in row 1 column
1, and no other attribute bytes in the next
eight character positions). The command
PANELID OFF suppresses display of the panel
identifiers. PANELID is set to OFF at the
beginning of a PDF session.

PRINTL

Causes a "snapshot" of the logical screen image
to be recorded in the ISPF list file for
subsequent printing.

PRINTLHI

Same as PRINT except that high-intensity
characters on the screen are printed with
overstrikes to simulate the dual-intensity
display. Do not use this command if the list
output is to be printed on a 328x printer or
other device that does not have a
suppress-space carriage control.

SPLITV

On 3290 terminals, causes the screen to be
split vertically.

ISPF/PDF for MVS Program Reference

MEMBER liST COMMANDS

The following commands may be entered in the command input field (line 2
of the logical screen) on member list displays.
lOCATE

Causes direct scrolling to the specified member name (may be
entered on any member list display).

SELECT

Causes the specified member name to be selected for browse,
edit, foreground, or batch (invalid on utility member list
displays). Allows selection of a member which is not in the
list.

On member list displays, the following one-character commands may be
entered at the beginning of a line, ahead of the member name.
B (browse)

Causes the member to be browsed (valid only under the
library utility).

D (delete)

Causes the member to be deleted (valid only under the
library utility).

P (print)

Causes the member to be printed (valid only under the
library utility).

R (rename)

Causes the member to be renamed (valid only under the
library utility). The new name must be entered to the
right of the member name.

S (select)

Causes the member to be selected for browse, edit,
foreground, batch, and for move/copy, reset, or convert
utility (invalid under the library utility).

BROWSE COMMANDS

The following commands may be entered in the command input field (line 2
of the logical screen) under browse.
BROWSE

Causes recursive browsing of another member of the data set,
or another data set.

COlS

Causes display of a line that identifies column positions.

DISPLAY

Allows the display of carriage control characters and
nondisplayable characters.

FIND

Causes the data to be scanned for one or all occurrences of
a character string. The cursor is repositioned to the
beginning of the first occurren~e, if it is found.

HEX

Causes data to be displayed in hexadecimal format.
restores normal display format.

HEX OFF

Appendix D. Summary of Commands

335

Sp~cified

LOCATE

Causes direct scrolling to the
number or label.

RESET

Rp,moves the column identification line from display.

.xxxxx

Establishes a label (PDF internal symbol) which is equated
to the top line on the screen. It can then be used with the
LOCATE command to cause scrolling directly t6 that line.

relative line

EDIT PRIMARY COMMANDS

Under edit, the following commands may be entered in the command input
field (line 2.of the logical screen).
AUTOLIST

Causes a source listing of the edited data to be
automatically recorded in the ISPF list file whenever edit
is terminated by entering the END command. AUTOLIST OFF
bypasses automatic source listings.

AUTONUM

If edit is in number mode,causes sequence numbers to be
automatically renumbered whenever a save is done. AUTONUM
OFF bypasses automatic renumbering at save time.

AUTOSAVE Causes data to be saved to disk when the END command is
entered. AUTOSAVEOFF PROMPT causes the user to be prompted
whether to save the data or cancel. AUTOSAVE OFF NO PROMPT
causes no saving of data when the END command is entered.

336

BOUNDS

Sets the left and right boundaries and saves them in the
edit profile.

BUILTIN

Allows execution of a PDF edit command even when an edit
macro with the same name exists.

CANCEL

Causes editing to be terminated without saving the data.

CAPS

Causes alphabetic data entered from the terminal to be
translated to uppercase, including FIND and CHANGE strings.
CAPS OFF causes alphabetic data to be left as-is.

CHANGE

Causes one or all occurrences of a character string to be
replaced with a second string. The cursor is repositioned
to the end of the first occurrence, if it is found.

COpy

Causes data to be copied from another source and inserted at
a point indicated with the A (after) or B (before) line
command, or with a line label. The other source can be a
member of any partitioned data set, or a sequential data
set.

CREATE

Causes a line or block of lines to be stored in any
partitioned data set as a new member. The line(s) to be
stored are designated with the C or CC (copy), or M or MM

ISPF/PDF for MVSProgram Reference

(move) line commands, or with a pair of line numbers or line
labels.

DEFINE

Identifies a name as an macro, either program or CLIST,
assigns an alias to the name of a built-in command or macro,
or disables the definition of a name as a macro.

DELETE

Removes one or more lines from the data being edited.

EDIT

Causes the editing of another member of the same data set,
or of another data set, without leaving the current edit
session.

EXCLUDE

Causes lines to be excluded on which a specified character
string is found. The cursor is repositioned to the
beginning of the first occurrence, if it is found.

FIND

Causes the data to be scanned for one or all occurrences of
a character string. The cursor is repositioned to the
beginning of the first occurrence, if it is found.

HEX

Causes data to be displayed in hexadecimal format.
restores normal display format.

IMACRO

Causes the name of the initial macro to be issued at the
beginning of an edit session to be saved in the edit
profile.

LEVEL

Sets the modification level of data being edited.

LOCATE

Causes direct scrolling to the specified line number or to a
particular type of line.

MODEL

Causes model data to be copied from a skeleton library and
inserted at a point indicated with the A (after) or B
(before) line command, or with a label.

MOVE

Same as COPY, except that the other source is deleted after
the copy operation.

NOTE

Causes tutorial notes to be included when the MODEL command
is used.

NULLS

Replaces trailing blanks on the screen with null characters.
NULLS OFF causes trailing blanks to be sent to the screen as
blanks.

NUMBER

Causes sequence numbers to be generated for any new lines
that are created via insert, repeat, or copy. NUMBER OFF
causes lines to be generated without numbers.

PACK

Causes data that is saved to be stored in packed format.

HEX OFF

Appendix D. Summary of Commands

337

PROFILE

Causes the display of the current setting of edit modes
(Nut-mER, AUTONUM, STATS, AUTOLIST, CAPS, NULLS, TABS, HEX,
and RECOVERY). Also displays the MASK, TABS, and BOUNDS
lines whenever they have settings other than their defaults.
Can also define a new profile, switch to a different
profile, or lock or unlock the current profile.

RECOVERY Enables the PDF edit recovery function. If there is a
subsequent system failure, the user can recover the PDF edit
session up to the point of failure. RECOVERY OFF disables
the edit recovery function.

338

RENUM

·Renumbers each line and tprns on number mode.

REPLACE

Same as CREATE, except that it allows an existing member or
an entire sequential data set to be replaced.

RESET

Terminates the display of all message lines, note lines, and
other special lines, resets line numbers to normal after
CHANGE commands or CHANGE errors, blanks out pending line
commands, and redisplays all excluded lines.

RMACRO

Causes the name of the recovery macro, issued after edit
recovery has processed a file, to be saved in the edit
profile.

SAVE

Causes the data to be stored back into the edit data set and
editing to continue.

SORT

Orders data within the file that you are editing.

STATS

Causes statistics to be generated or updated whenever a
member is saved, created, or replaced. STATS OFF causes
members to be stored without statistics.

SUBMIT

Causes the data being edited to be submitted to the job
stream for batch execution.

TABS

Enables the use of "hardware" or "logical" tabs at user
defined positions (specified via the TABS line command).
TABS OFF disables the use of "hardware" or "logical" tabs.

UNNUM

Causes sequence numbers to be set to blanks and turns off
number mode.

VERSION

Sets the version number of data being edited.

ISPF/PDF for MVS Program Reference

(
I

\

'\,

EDIT liNE COMMANDS

Under edit, line commands may be entered at the beginning of a line by
overtyping the line number.

I

A (after)

Identifies the line after which copied,
lines are to be inserted.

B (before)

Identifies the line before which copied, moved, or model
lines are to be inserted.

BOUNDS

Causes display of the column boundary line, to allow
redefinition of boundary positions.

COlS

Causes display of a line that identifies column
positions.

C (copy)

Identifies a line to be copied.

D (delete)

Causes the line to be deleted.

F (first)

Causes the first line in a block of excluded lines to be
redisplayed.

I (insert)

Causes a new line to be inserted after this line.

l (last)

Causes the last line in a block of excluded lines to be
redisplayed.

lC (lowercase)

Translates uppercase characters to lowercase characters
on specified lines.

MASK

Causes display of the insert mask, to allow pre-entry of
data on inserted lines.

M (move)

Identifies a line to be moved.

o

Causes data to be copied or moved "over" the existing
data on one or more lines. Blank characters in the
receiving line(s) are overlaid with corresponding
characters in the source line(s).

I

(overlay)

moved~

or model

R (repeat)

Causes the line to be repeated and the duplicate copy to
be inserted after this line.

S (show)

Causes an excluded line to be redisplayed.

TABS

Causes display of the tab line, to allow definition of
hardware, software, and logical tab positions.

TE

Facilitates bulk text entry by allowing the user to type
continuously without regard to the line number area.

Appendix D. Summary of Commands

339

TF

Causes ref lowing of a paragraph of text from the cursor
position to the end of the paragraph.

TS

Causes splitting of a line into two lines at the
designated cursor position to facilitate the insertion
of new material in existing text.

UC (uppercase) Translates lowercase characters to uppercase characters

on specified lines.
X (exclude)

Causes the line to be excluded from display. May also
be used to limit the scope of the FIND and CHANGE
commands.

< (left)

Causes the contents of the line to be "data" shifted
left.

> (right)

Causes the contents of the line to be "data" shifted
right.

( (left)

Causes the contents of the line to be "column" shifted
left.

) (right)

Causes the contents of the line to be "column" shifted
right.

The following line commands may be entered to indicate the beginning and
end of a block of lines.
CC
Block copy
DD - Block delete
LCC
Block conversion
to lowercase
MM - Block move
00 - Block overlay
RR - Block repeat

UCC
XX
«
»
((
))

-

Block conversion
to uppercase
Block exclude
Block "data" shift left
Block "data" shift right
Block "column" shift left
Block "column" shift right

The following line commands may incorporate a number (n) consisting of
one or more digits.
An

- Insert n copies of the moved/copied line(s)
after this line
Bn
Insert n copies of the moved/copied line(s)
before this line
Cn - Copy n lines starting at this line
Dn - Delete n lines starting at this line
Fn - Show first n lines in a block of excluded lines
In - Insert n lines following this line
Ln - Show last n lines in a block of excluded lines
LCn - Convert uppercase alphabetic characters to lowercase for
n lines, starting at this line
Mn - Move n lines starting at this line·
On -,Overlay n lines
Rn - Repeat this line n times

340

ISPF/PDF for MVS Program Reference

(
\

RRn
Sn
TEn
TFn
TSn
UCn

-

,Xn
n
»n
(n
((n
)n
))n

-

Repeat block of lines n times
Shown lines in a block of excluded lines
Insert n text entry lines following this line
Flow text from left bound to column position n
Insert n new lines between the split lines
Convert lowercase alphabetic characters to uppercase for
n lines, starting at this line
Exclude n lines starting at this line
Data-shift line left n positions
Data-shift block of lines left n positions
Data-shift line right n positions
Data-shift block of lines right n positions
Column-shift line left n positions
Column-shift block of lines left n positions
Column-shift line right n positions
Column-shift block of lines right n positions

If a number is not entered, the default is 1 except for:
•
•
•

The shift commands (which default to 2 column positions)
The TE command (defaults to the number of lines remaining on the
screen)
The TF command (defaults to the current right boundary)

DIALOG TEST PRIMARY COMMANDS

The following primary commands have special meaning during dialog test
operations. They are entered in the command line of the applicable
dialog test option panels.
CANCEL (CAN)

Ends the current option.
the data are ignored.

END

Ends the current option. Any changes made to
the data now take effect.

Any changes made to

LOCATE (LOC, L) argument Positions the scro11ab1e display to the

first (next) row containing the argument. The
scan starts at the end of the first row
currently being displayed. A message is
displayed indicating the result of the scan.

\

I,

J!

QUAL

This command is entered only from the
breakpoints panel. It displays to the user
the breakpoint qualification data.

RESUME (RES)

This command is entered on the qualification
panel. It restores the format of the
breakpoints panel. Each breakpoint that has
qualification is flagged by the characters
"""'QUAL""''' in columns 75 to 80 on that line of
~he breakpoints panel.

Appendix D. Summary of Commands

341

DIALOG TEST LINE COMMANDS

The following line commands have special meaning during testing
operations:

D or On

Delete one line or n lines starting with this line.

f or In

Insert one line or n lines directly after this line (with
underscores and quotes in the appropriate fields).

R or Rn

Repeat this line once or n times.

(
\

342

ISPF/PDF for MVSProgram Reference

APPENDIX E. SUMMARY OF COMMAND SYNTAX

MEMBER LIST COMMANDS

Primary Commands:
LOCATE

member-name

SELECT

member-name

Line Selection Commands:
S
P
R
D
B

(select)
(print)
(rename)
(delete)
(browse)

-

except
option
option
option
option

option 3.1
3.1 only
3.1 only
3.1 only
3.1 only

BROWSE COMMANDS

BROWSE

[member]

COLS
DISPLAY [char]
DISPL

[CC ]
[NOCC]

FIND
F

string

HEX

[ON] [VERT]
[OFF] [DATA]

LOCATE

[NEXT]
[ALL ]
[FIRST]
[LAST ]
[PREV ]

[CHARS] [col-1 [col-2]]
[PREFIX]
[SUFFIX]
[WORD ]

{line-number}
{label
}

.xxxxx
RESET

Appendix E. Summary of Command Syntax

343

EDIT PRIMARY COMMANDS

AUTOLIST
AUTONUH

[ON]
[OFF]
[ON]
[OFF]

AUTOSAVE

BOUNDS
BOUND
BNDS
BND

(

[ON]
[ OFF [ PROHPT] ]
[OFF [NOPROHPT]
[left-col right-col]

BUILTIN

command

CANCEL
CAN
CAPS
CHANGE
CHG
CHA

[ON]
[OFF]
string-l string-2

C

COPY
CREATE
CRE

[member-name] {BEFORE label}
{AFTER label}
[member-name] [line-range]

DEFINE name
DEF

DELETE ALL
DEL
DELETE
DEL
EDIT

344

[ range] [NEXT ]
[ALL ]
[FIRST]
[LAST ]
[PREV ]

{eMD MACRO }
{PGM HACRO }
{ALIAS name2}
{NOP
}
{RESET
}
range

{ALL
{ALL

X}
NX}

[range]

[member]

ISPF/PDF for MVS Program Reference

[CHARS ] ,[ X ] [co 1-1 [co 1-2] ]
[PREFIX] [NX]
[SUFFIX]
[WORD ]

('

\.

EXCLUDE string-l
EXCLUDED
EXC
EX
X

FIND
F

HEX

string-l

[range] [NEXT]
[ALL ]
[FIRST]
[LAST ]
[PREY ]

[range] [NEXT]
[ALL ]
[FIRST]
[LAST ]
[PREV ]

[CHARS] [X ] [col-l [col-2]]
[PREFIX] [NX]
[SUFFIX]
[WORD ]

[CHARS] [X ] [col-l [col-2]]
[PREFIX] [NX]
[SUFFIX] [EX]
[\vORD ]

[ON] [VERT]
[OFF] [DATA]

IHACRO

[name]
[NONE]

LEVEL
LEV

number

LOCATE
LaC
L

{line-number}
}
{label

LOCATE [NEXT ] [LABEL
]
LaC
[PREV ] [COHHAND ]
L
[FIRST] [ERROR
]
[LAST ] [CHANGE ]
[SPECIAL ]
[EXCLUDED]

[range]

HODEL
HOD

[CLASS [class-name] ]

HODEL
HOD

[model-name [qualifier ... ]] [BEFORE label] [NOTE ]
[AFTER label] [NONOTE]

HOVE

[member-name] [{BEFORE label}]
[{AFTER- label}]
NOTES [ON]
NOTE
[OFF]
NULLS
NULL
NUL
Nur-mER
NUHB
NUH
PACK

[ON] [ALL]
[OFF]
[ON] [STD] [COBOL] [DISPLAY]
[OFF]
[ON]
[OFF]
Appendix E. Summary of Command Syntax

345

PROFILE
PROF
PRO
PR

[name] [number]

PROFILE
PROF
PRO
PR

[LOCK ]
[UNLOCK]

RECOVERY
RECOVER
RECOVRY
RECVRY
RECOV
RECVR
REC

[ON]
[OFF]

RENUM
REN

[STD] [COBOL] [DISPLAY]

REPLACE
REPL
REP

[member-name] [line-range]
I

RESET
RES

[LABEL]
[LAB]

[COMMAND] [ERROR] [CHANGE] [SPECIAL] [EXCLUDED] [range]
[COM
] [ERR ] [CHG
] [SPE
] [EX
]
[C]

RMACRO

[name]
[NONE]

SAVE
SORT
STATS

[range] [X ] [sort-fieldl ... sort-fieldS]
[NX]
[ON]
[OFF]

SUBMIT
SUB
TABS
TAB

[range]
[ON) [tab-char] [ALL]
[OFF]

UNNUMBER
UNNUMB
UNNUM
UNN

346

ISPF/PDF for MVS Program Reference

[X]

\

number

VERSION
VERS
VER

FIND/CHANGE STRINGS (BROWSE AND EDIT)

Character String Format:
Simple string:
Delimited string:
Hex string:
Text string:
Picture string:
Character string:
Previous string:

cccccc
'ccccc'
X'hhhh'
T'cccc'
P'ssss'
C'cccc'

(no embedded blanks or commas)
or " ccccc "
or 'hhhh'X
or 'cccc'T
or 'ssss'P
or 'cccc'C
(single asterisk)-

Picture Strings - Special Characters for String-l:
p'='
p' ... '
P'. '
p'#'
P' -'

P'@'
p'<'
p'>'
P' $'

any
any
any
any
any
any
any
any
any

character (don't care)
nonblank character
non-displayable (invalid) character
numeric character (0-9)
non-numeric character
alphabetic character (uppercase or lowercase)
lowercase alphabetic character
uppercase alphabetic character
special character (not alphabetic or numeric)

If an APL or TEXT keyboard is being used, the following additional
character is defined:

p'm' -

any APL-specific or TEXT-specific character

Picture Strings - Special Characters for String-2:
p'='
p'>'
p'<'

equal to corresponding character in string-l
convert corresponding character in string-l to uppercase
convert corresponding character in string-l to lowercase

EDIT LINE COMMANDS

)

A, An
B, Bn
BOUNDS
COLS
C, Cn, CC
D, Dn, DD
F, Fn
I, In
L, Ln

(after)
(before)
(copy)
(delete)
(first)
(insert)
(last)
Appendix E. Summary of Command Syntax

347

LC, LCC, LCn
MASK
M, Mn, MM
0, On, 00
R, Rn, RR, RRn
S, Sn
TABS
TE, TEn
TF, TFn
TS, TSn
UC, UCC, UCn

X, Xn,xx
<, , >n, »,
( , (n, «,
) , )n, )) ,

«n
»n
«n
) )n

(lowercase)
(move)
(overlay)
(repeat)
(show)
(text entry)
(text flow)
(text split)
(uppercase)
(exclude)
(data left)
(data right)
(cols left)
(cols right)

The following commands and aliases are provided for compatibility with
prior releases of ISPF.
Command

Equivalent

ASIS

CAPS OFF

NONULLS
NO NULLS
NONULL
NONUL

NULLS OFF

NONUMBER
NONUMBR
NONUM

NUM OFF

NOTABS
NOTAB

TABS OFF

PRT

AUTOLIST

Note: PRT is an abbreviation for what was the EDIT PRINT command.
PRINT is now a dialog manager command which causes the screen image to
be printed.

348

ISPF/PDF for MVS Program Reference

APPENDIX F. DIALOG DEVELOPMENT MODEL LISTING

This appendix contains a
the external model name,
member name in the SKELS
~lodels" in Chapter 6 for

listing of the models shipped with PDF. The table shows
any qualifiers, a short description, and the internal
library shipped with PDF. Refer to "Dialog Development
information on adding or changing a model.

ISPF SERVICES IN CLISTS
Model Name

Qualifier

Description

Member Name

Table Functions (General)

TBCLOSE
TBCREATE
TBEND
TBERASE
TBOPEN
TBQUERY
TBSAVE
TBSTATS

Table
Table
Table
Table
Table
Table
Table
Table

close
create
end
erase
open
query
save
statistics

ISREHCG5
ISRENCGl

Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table

row add
row pointer to bottom
delete
exist
get
modify
put
search argument
scan
skip
sort
top
variable clear

ISREHCRl
ISREHCRA
ISREHCR2
ISRENCR6
ISRENCR3
ISREHCR5
ISREHCR4
ISREi'lCR7
ISREHCR8
ISREHCRA

ISRE~lCG6

ISRENCG7
ISRENCG2
ISRENCG3
ISREHCG4
ISREHCG8

Table Functions (Row)

TBADD
TBBOTTOM
TBDELETE
TBEXIST
TBGET
TBHOD
TBPUT
TBSARG
TBSCAN
TBSKIP
TBSORT
TBTOP
TBVCLEAR

ISRE~lCRD

ISREHCR9
ISRENCRC

Variables

VGET
VPUT

Variable get
Variable put

ISRENCVl
ISREHCV2

Appendix F. Dialog Development Hodel Listing

349

Model Name

Qualifier

Description

Member Name

End file tailoring
File tailor erase
File tailor include skeleton
File tailor open

ISREHCF3
ISREHCF4
ISREHCF2
IREHHCFl

Display option
Obtain panel information
Set message display
Table display information

ISREHCDl
ISREHCD4
ISREHCD3
ISREHCD2

Close a data set
Erase a data set or library
Release a data set
Read a record
Establish a data id
Add a member
Delete a member
Find a member
Create a member list
Rename a member
Replace a member
Open a data set
Promote a member
Write a record
Provide data set information
Rename a library

ISREHCLl
ISREHCL2
ISREHCL3
ISREHCL4
ISREHCL5
ISREHCL6
ISREHCL7
ISREHCL8
ISREHCL9
ISREHCLA
ISREHCLB
ISREHCLC
ISREHCLD
ISREHCLE
ISREHCLF
ISREHCLG

Browse service
Control service
Edit service
Get Nessage service
Write message or log file
Select service

ISREHCN3
ISRENCN2
ISREHCN4
ISREHCN6
ISREHCH5
ISREHCMl

File Tailoring

FTCLOSE
FTERASE
FTINCL
FTOPEN
Display

DISPLAY
PQUERY
SET~lSG

TBDISPL
Library Access

LHCLOSE
L~1ERASE
L~lFREE

LNGET
L~lINIT

L~l~lADD
LH~1DEL

L~li-lFIND
LN~lLIST
L~l~lREN

LHHREP
L~IOPEN

LMPROH
Li-lPUT
LHQUERY
L~lRENANE

Miscellaneous

BROWSE
CONTROL
EDIT
GET~lSG

LOG
SELECT

~.::

\\
350

ISPF/PDF for MVS Program Reference

Model Name

Qualifier

Description

Member Name

ISPF SERVICES IN COBOL PROGRAMS
Working Storage

WORKS TOR

Working storage definition

ISREHB\v1

Graphics error block service
Graphics initialization
Graphics termination service

ISREMBS1
ISREMBS2
ISREMBS3

Graphics

GRERROR
GRINIT
GRTERM

Table Functions (General)

TBCLOSE
TBCREATE
TBEND
TBERASE
TBOPEN
TBQUERY
TBSAVE
TBSTATS

Table
Table
Table
Table
Table
Table
Table
Table

close
create
end
erase
open
query
save
statistics

ISREMBG5
ISREMBG1
ISREMBG6
ISREMBG7
ISREMBG2
ISREHBG3
ISREMBG4
ISREMBG8

Table
'Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table

row add
row pointer to bottom
delete
exist
get
put
modify
search argument
scan
skip
sort
top
variable clear

ISREMBR1
ISREMBRA
ISREMBR2
ISREMBR6
ISREMBR3
ISREMBR4
ISREMBR5
ISREMBR7
ISREMBR8
ISREMBRB
ISREMBRD
ISREMBR9
ISREMBRC

Table Functions (Row)

TBADD
TBBOTTOM
TBDELETE
TBEXIST
TBGET
TBPUT
TBMOD
TBSARG
TBSCAN
TBSKIP
TBSORT
TBTOP
TBVCLEAR
Variables

VCOPY
VDEFINE
VDELETE
VGET
VPUT
VREPLACE
VRESET

Copy variable
Variable define
Variable delete
Variable get
Variable put
Variable replace
Variable reset

ISREMBV5
ISREHBV3
ISREMBV4
ISREMBV1
ISREMBV2
ISREHBV6
ISREMBV7

Appendix F. Dialog Development Model Listing

351

Model Name

Qualifier

Description

. Member Name

End file tailoring
File tailor erase
File tailor include skeleton
File tailor open

.. ISRE~lBF3
ISREMBF4
ISREMBF2

File Tailoring

FTC LOSE
FTERASE
FTINCL
FTOPEN

IRE~lMBFl

Display

DISPLAY
PQUERY
SET~lSG

TBDISPL

Display option
Obtain panel information
Set message display
Table display information

ISRE~1BDl

Close a data set
Erase a data set or library
Release a data set
Read a record
Establish a data id
Add a member
Delete a member
Find a member
Create a member list
Rename a member
Replace a member
Open a data set
Promote a member
Write a record
Provide data set information
Rename a library

ISREMBLl
ISREMBL2
ISREMBL3

Browse service (MVS)
Browse service (VM)
Browse service (VSE)
Control service
Edit service (MVS)
Edit service (VM)
Edit service (VSE)
Get message service
Write message or log file
Select service

ISREMCBl

ISRE~1BD4

ISREMBD3
ISREMBD2

Library Access

LMCLOSE
LMERASE
L~lFREE

LMGET
LMINIT
L~lMADD

LMMDEL
LMMFIND
LMMLIST
LMMREN
LMMREP
LMOPEN
LMPROM
LMPUT
LMQUERY
LMRENAME

ISRE~1BL4

ISREMBL5
ISREMBL6
ISRE~1BL7

ISREMBL8
ISRE~1BL9

ISREMBLA
ISREMBLB
ISREMBLC
ISREMBLD
ISREMBLE
ISREMBLF
ISRE~1BLG

Miscellaneous

BROWSE
BROWSE
BROWSE
CONTROL
EDIT
EDIT
EDIT
GETMSG
LOG
SELECT

352

~lVS
V~l

VSE
~lVS

VM
VSE

ISPF/PDF for MVSProgram Reference

ISRE~lCB2

ISREMCB3
ISREMBM2
ISREMCEl
ISREMCE2
ISREMCE3
ISREMBH6
ISREMBM5
ISREMBMl

ISPF SERVICES IN EXECS

Model Name

Qualifier

Description

Member Name

Table Functions (General)

TBCLOSE
TBCREATE
TBEND
TBERASE
TBOPEN
TBQUERY
TBSAVE
TBSTATS

Table
Table
Table
Table
Table
Table
Table
Table

close
create
end
erase
open
query
save
statistics

Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table

row add
row pointer to bottom
delete
exist
get
modify
put
search argument
scan
skip
sort
top
variable clear

ISRE~iEG5
ISRE~lEGl

ISRE~iEG6
ISRE~lEG7

ISREHEG2
ISRENEG3
ISRENEG4
ISREHEG8

Table Functions (Row)

)

TBADD
TBBOTTOH
TBDELETE
TBEXIST
TBGET
TBHOD
TBPUT
TBSARG
TBSCAN
TBSKIP
TBSORT
TBTOP
TBVCLEAR

ISRE~lERl

ISREHERA
ISRE~iER2

ISRE~iER6
ISRE~lER3

ISREt'iER5
ISREHER4
ISREMER7
ISREHER8
ISREMERA
ISREHERD
ISREHER9
ISREMERC

Variables

VGET
VPUT

Variable get
Variable put

ISREMEVl
ISREt'lEV2

End file tailoring
File tailor erase
File tailor include skeleton
File tailor open

ISREt-lEF3
ISREHEF4
ISREHEF2
IREMMEFl

Display option
Set message display
Table display information

ISREMEDl
ISREMED3
ISREMED2

File Tailoring

FTCLOSE
FTERASE
FTINCL
FTOPEN
Display

DISPLAY
SETHSG
TBDISPL

Appendix F. Dialog Development Model Listing

353

Model Name

Qualifier

Description

Member Name

Browse service
Control service
Edit service
Get message service
Write message or log file
Select service

ISREMEM3
ISREMEM2

Miscellaneous

BROWSE
CONTROL
EDIT
GETMSG
LOG
SELECT

ISRE~1EM4
ISRE~1EM6
ISRE~1EMS

ISRE~1EHI

ISPF SERVICES IN FORTRAN PROGRAMS

Graphics

GRERROR
GRINIT
GRTERM

Graphics error block service
Graphics initialization
Graphics termination service

ISREMFSI
ISREMFS2
ISREMFS3

Table Functions (General)

TBCLOSE
TBCREATE
TBEND
TBERASE
TBOPEN
TBQUERY
TBSAVE
TBSTATS

Table
Table
Table
Table
Table
Table
Table
Table

close
create
end
erase
open
query
save
statistics

Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table

row add
row pointer to bottom
delete
exist
get
modify
put
search argument
,scan
skip
sort
top
variable clear

ISREMFGS
ISREMFGl
ISREMFG6
ISREMFG7
ISREMFG2
ISREMFG3

(

ISRE~1FG4

ISREMFG8

Table Functions (Row)

TBADD
TBBOTTOM
TBDELETE
TBEXIST
TBGET
TBMOD
TBPUT
TBSARG
TBSCAN
TBSKIP
TBSORT
TBTOP
TBVCLEAR

ISRE~fFRl

ISRE~fFRA

ISREMFR2
ISREMFR6
ISREMFR3
ISREMFRS
ISREMFR4
ISREMFR7
ISREMFR8
ISREMFRB
ISRE~fFRD

ISREMFR9
ISREMFRC

(f

~

354

ISPF/PDF for MVS'Program Reference

Model Name

Qualifier

Description

Member Name

Copy variable
Variable define
Variable delete
Variable get
Variable put
Variable replace
Variable reset

ISREMFVS

End file tailoring
File tailor erase
File tailor include skeleton
File tailor open

ISREMFF3

Display option
Obtain panel information
Set message display
Table display information

I SREMFD 1

Variables

VCOPY
VDEFINE
VDELETE
VGET
VPUT
VREPLACE
VRESET

ISRE~lFV3

ISREMFV4
ISREMFVl
ISRE~lFV2

ISREMFV6
ISREMFV7

File Tailoring

FTCLOSE
FTERASE
FTINCL
FTOPEN

ISRE~lFF4

ISREMFF2
IRENMFFl

Display

DISPLAY
PQUERY
SETNSG
TBDISPL

ISRE~lFD4
ISRE~lFD3
ISRE~lFD2

1\
)

pi

Library Access

LMCLOSE
LMERASE
LMFREE
LNGET
LMINIT
LM~1ADD

LMNDEL
LMMFIND
LMMLIST
L~l~lREN

LMNREP
LMOPEN
LMPRO~l

LMPUT
LMQUERY
LMRENA~lE

Close a data set
Erase a data set or library
Release a data set
Read a record
Establish a data id
Add a member
Del~te a member
Find a member
Create a member list
Rename a member
Replace a member
Open a data set
Promote a member
Write a record
Provide data set information
Rename a library

ISREMFLl
ISREMFL2
. ISREMFL3
ISRE~1FL4
ISRE~lFLS

ISRENFL6
ISREMFL7
ISREMFL8
ISRE~lFL9

ISREMFLA
ISRE~lFLB

ISREMFLC
ISRE~lFLD

ISREMFLE
ISRE~lFLF

ISREMFLG

)
Appendix F.Dialog Development Hodel Listing

355

Model Name

Qualifier

Description

MVS
VM
VSE

Browse service (HVS)
Browse service (VM)
Browse service (VSE)
Control service
Edit service (MVS)
Edit service (VM)
Edit service (VSE)
Get message service
Write message or log file
Select service

Member Name

(

"

Miscellaneous

BROWSE
BROWSE
BROWSE
CONTROL
EDIT
EDIT
EDIT
GETHSG
LOG
SELECT

~IVS

VH
VSE

ISRE~IFBI

ISREMFB2
ISREMFB3
ISRE~IFM2
ISRE~IFEI
ISRE~IFE2

ISREMFE3
ISRE~1FM6

ISREMFM5
ISREMFHl

MESSAGE FORMAT

Message member selection

~ISGS

ISREM~ISG

PANEL FORMATS AND STATEMENTS
Panel Formats

ENTRY
HULTIPLE
MULTIPLE
~IULTIPLE

SELECT2
ENTRY2

SELECTION
TBDISPL
TUTORIAL

Data entry panel
MUltiple-column panel
Double-column selection panel
Double-column entry panel
Menu/selection panel
Table display table
Help/tutorial panel

ISREMMFI
ISREMSEL
I SREMSE 1
ISREMSE2
ISREMMF3
ISREMMF4
ISREMMF5

Assignment statement
Simple assignment statement
Trans assignment statement
Trunc assignment statement
Nested trans late truncate stateme'nt
Attribute section header
New attribute character definition
New attrib char definition for area
Body section header
Control variables
Control initial cursor placement
Establish a tutorial panel
Identify message to be displayed
Indicate user response to panel
Contain remainder from TRUNC function
JF statement
Model section header
Refetch variables prior to redisplay
Verification statements

ISREMASG
ISREMASI

Panel Statements

ASSIGN
ASSIGN
ASSIGN
ASSIGN
ASSIGN
ATTR
ATTRIB
ATTRIBA
BODY
CONTROL
CONTROL
CONTROL
CONTROL
CONTROL
CONTROL
IF
MODEL
REFRESH
VERIFY

356

SIMPLE
TRANS
TRUNC
TRANSTRU

CURSOR
HELP
MSG
RESP
TRAIL

ISPF/PDF for MVS Program Reference

ISRE~IAS2

ISREMAS3
ISREMAS4
ISREMMS2
ISREMMS3
ISREMMSB
ISREMMS4
ISREMCNL
ISREMCNI
ISREMCN2
ISREMCN3
ISREMCN4
ISREMCN5
ISREMMS6
I SREMMS 7
ISREMMSA
ISREMVER

/

'"

Model Name

Qualifier,

Description

Member Name

VERIFY
VERIFY
VERIFY
VERIFY
VERIFY
VERIFY
VERIFY
VERIFY
VERIFY
VERIFY
VERIFY
VPUT

ALPHA
BIT
DSNAHE
FILEID
HEX
LIST
NAME
NONBLANK
NUM
PICT
RANGE

Alphabetic characters
Binary characters
TSO data set name.
CHS fileid
Hexadecimal characters
List of valid valu~s
Data set member name
Verify nonblank field
Numeric characters
Mixed characters matching picture
Numeric value within specified limits
Variable put statement

ISREMVEl
ISREMVE2
ISREMVE3
ISREMVE4
ISREMVE5
ISREMVE6
ISREMVE7
ISREMVE8
ISRE~lVE9

ISREMVEA
ISREMVEB
ISREMt-lS9

ISPF SERVICES IN PASCAL PROGRAMS
PASCAL Definitions

WORKS TOR

PASCAL Definitions

ISREMQPD

Graphics error block service
Graphics initialization
Graphics termination service

ISREMQSl

Graphics

GRERROR
GRINIT
GRTERM

ISREMQS~
ISRE~lQS3

Table Functions (General)

TBCLOSE
TBCREATE
TBEND
TBERASE
TBOPEN
TBQUERY
TBSAVE
TBSTATS

Table
Table
Table
Table
Table
Table
Table
Table

close
create
end
erase
open
query
save
statistics

ISREMQG5
ISREHQGl
ISREHQG6

Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table

row add
row pointer to bottom
delete
exist
get
put
modify
search argument
scan
skip
sort

ISREMQRl
ISREMQRA
ISREMQR2
ISREHBR6

ISRE~lQG7

ISREl'lQG2
ISREHQG3
ISREMQG4
ISREHQG8

Table Functions (Row)

TBADD
TBBOTTOM
TBDELETE
TBEXIST
TBGET
TBPUT
TBMOD
TBSARG
TBSCAN
TBSKIP
TBSORT

ISRE~lBR3

ISREHBR4
ISREMBR5
ISREMBR7
ISREMQR8
ISREMQRB
ISREl'lQRD

Appendix F. Dialog Development Hodel Listing

357

Model Name

Qualifier

Description

Member Name

t

I

\

TBTOP
TBVCLEAR

Table top
Table variable clear

ISREHQR9
ISREHQRC

Copy variable
Variable define
Variable delete
Variable get
Variable put
Variable replace
Variable reset

ISREHQV5
ISREHQV3
ISREHQV4
ISREHQVl
ISREHQV2
ISREHQV6
ISREHQV7

End file tailoring
File tailor erase
File tailor include skeleton
File tailor open

ISREHQF3
ISREHQF4
ISREHQF2

Display option
Obtain panel information
Set message display
Table display information

ISREMQDl
ISREHQD4
ISREMQD3
ISREMQD2

Close a data set
Erase a data set or library
Release a data set
Read a record
Establish a data id
Add a member
Delete a member
Find a member
Create a member list
Rename a member
Replace a member
Open a data set
Promote a member
Write a record
Provide data set information
Rename a library

ISREMQLl
ISREMQL2
ISREMQL3
ISREMQL4
ISREMQL5
ISREMQL6
ISREMQL7
ISREMQL8
ISREMQL9

Variables

VCOPY
VDEFINE
VDELETE
VGET
VPUT
VREPLACE
VRESET
File Tailoring

FTC LOSE
FTERASE
FTINCL
FTOPEN

IRE~lHQFl

Display

DISPLAY
PQUERY
SETHSG
TBDISPL
Library Access
L~lCLOSE

LMERASE
L~lFREE

LHGET
LMINIT
LMHADD
LM~1DEL

LHMFIND
LMHLIST
LMHREN
LMHREP
LMOPEN
LMPROM
LHPUT
LMQUERY
LHRENAME

358

ISPF/PDF for MVS Program Reference

ISRE~1QLA

ISREMQLB
ISREMQLC
ISREMQLD
ISREMQLE
ISREMQLF
ISREMQLG

Model Name

Qualifier

Description

Member Name

HVS
VM
VSE

Browse service nlVS)
Browse service (VH)
Browse service (VSE)
Control service
Edit service (HVS)
Edit service (VM)
Edit service (VSE)
Get message service
Write message or log file
Select service

ISREHQBl
ISREHQB2
ISREHQB3
ISREHQH2
ISREHQEl
ISREHQE2
ISREHQE3
ISREHQM6
ISREHQH5

Miscellaneous

BROWSE
BROWSE
BROWSE
CONTROL
EDIT
EDIT
EDIT
GETHSG
LOG
SELECT

HVS
VH
VSE

ISRE~IQ~ll

ISPF SERVICES IN PL/I PROGRAMS

Graphics

GRERROR
GRINIT
GRTERM

Graphics error block service
Graphics initialization
Graphics termination service

ISREHPSl
ISREHPS2
ISREt-lPS3

Table Functions (General)

TBCLOSE
TBCREATE
TBEND
TBERASE
TBOPEN
TBQUERY
TBSAVE
TBSTATS

Table
Table
Table
Table
Table
Table
Table
Table

close
create
end
erase
open
query
save
statistics

ISREMPG5
ISREHPGl
ISREMPG6
ISREHPG7
ISREMPG2
ISREMPG3
ISREMPG4
ISREMPG8

File Tailoring

FTC LOSE
FTERASE
FTINCL
FTOPEN

End file tailoring
File tailor erase
File tailor include skeleton
File tailor open

ISREt-lPF3
ISREMPF4
ISREMPF2
IREMHPFl

Table
Table
'fable
Table
Table
Table
Table
Table
Table

ISREMPRl
ISREMPRA
ISREMPR2
ISREMPR6
ISREMPR3
ISREMPR5
ISREMPR4
ISREHPR7
ISREMPR8

Table Functions (Row)

TBADD
TBBOTIOM
TBDELETE
TBEXIST
TBGET
TBMOD
TBPUT
TBSARG
TBSCAN

row add
row pointer to bottom
delete
exist
get
modify
put
search argument
scan

Appendix F. Dialog Development Model Listing

359

Model Name

Qualifier

TBSKIP
TBSORT
TBTOP
TBVCLEAR

Description

Member Name

Table
Table
Table
Table

ISRENPRB

skip
sort
top
variable clear

ISRE~IPRD

ISRENPR9
..ISRENPRC

Display

DISPLAY
PQUERY
SETNSG
TBDISPL

Display option
Obtain panel information
Set message display
Table display information

ISRENPDl

Copy variable
Variable define
Variable delete
Variable get
Variable put
Variable replace
Variable reset

ISRENPV5
ISREMPV3
ISRENPV4
ISREMPVl
ISREMPV2
ISREMPV6
ISRENPV7

Close a data set
Erase a data set or library
Release a data set
Read a record
Establish a data id
Add a member
Delete a member
Find a member
Create a member list
Rename a member
Replace a member
Open a data set
Promote a member
Write a record
Provide data set information
Rename a library

ISREMPLI
ISREMPL2
ISREMPL3
ISREt>1PL4
ISREMPL5
ISREMPL6
ISREMPL7
ISREMPL8
ISREMPL9
ISREMPLA
ISREMPLB
ISREMPLC
ISREMPLD
ISREMPLE
ISRENPLF
ISREMPLG

Browse service (MVS)
Browse service (VM)
Browse service (VSE)
Control service
Edit service (MVS)
Edit service (VM)
Edit service (¥SE)

ISREMPBl
ISREt>1PB2
ISREMPB3
ISREMPM2
ISREMPEI
ISREMPE2
ISREMPE3

ISRE~IPD4

ISREMPD3
ISRENPD2

Variables

VCOPY
VDEFINE
VDELETE
VGET
VPUT
VREPLACE
VRESET
Library Access

LMCLOSE
LMERASE
LMFREE
LMGET
LMINIT
LMMADD
LMMDEL
LNt>lFIND
LMMLIST
LNMREN
LNMREP
LMOPEN
LMPROM
LMPUT
LMQUERY
LMRENANE
Miscellaneous

BROWSE
BROWSE
BROWSE
CONTROL
EDIT
EDIT
EDIT

360

NVS
VM
VSE
MVS

VM

VSE

ISPF/PDF for MVS Program Reference

r
\,

Model Name

GETMSG
LOG
SELECT

Qualifier

Description

Member Name

Get message service
Write message or log file
SELECT service

ISREMPM6
ISREMPM5
ISREMPM1

FILE TAILORING CONTROL STATEMENTS

CM
DEFAULT
DOT
1M
SEL
SET
TB

Define comment statement
Change control character defaults
Define DO group for table row
Imbed specified file skeleton
Conditional execution definition
Set dialog variable value
Set tab stop position

ISREHSK1
ISREMSK2
ISREMSK3
ISREl'ISK4
ISREMSK5
ISREl'ISK6
ISREl'ISK7

I

~

Appendix F. Dialog Development Model Listing

361

(

~

~62

ISPF/PDF for MVS Program Reference

APPENDIX G. LIST OF ABBREVIATIONS

The following list includes the command names and keywords that can be
abbreviated, followed by the allowable abbreviation(s). It is
recommended that, in order to improve readability, abbreviations not be
used in edit macros.

'\
I

AFTER
BEFORE
BOUNDS
BROWSE
CANCEL
CHANGE
CHARS
COHHAND
COBOL
COLUMNS
CREATE
CURSOR
DATA
DEFINE
DELETE
DISPLAY
ERR
EXCLUDED
FIND
HALF
LABEL
LEVEL
LOCATE
MAX
MODEL
NOCOBOL
NOCOLS
NONOTES
NONULLS
NONUM
NOPROCESS
NOTABS
NOTES
NULLS
NU~IBER

)

NX
PAGE
PROGRAM
PREFIX
PROFILE
RECOVERY
RECOVERY
RENUM

AFT
BEF
BOUND
BRO
CAN
CHA
CHAR
C~1D

COB
COLS
CRE
CUR
D
DEF
DEL
DIS
ERROR
EXCLUDE
F

BNDS

BND

CHG

C

COM
COL
CSR

DISP

DISPL

EXC

EX

X

H

LABELS
LEV
LOC
M
MOD
NOCOB
NOCOL
NONOTE
NONULL
NONUMBR
NOPROC
NOTAB
NOTE
NULL
NUMB
NONX
P
PGM
PRE
PROF
RECOVER
RECOV
REN

LAB
L

NONOT
NONUL
NONUMB

NONUMBER

NUL
NUM

PRO
RECOVRY
REC

PR
RECVRY

RECVR

Appendix G. List of Abbreviations

363

REPLACE
RESET
SPECIAL
STANDARD
SUBHIT
SUFFIX
TABS
UNNUHBER
VERSION
VERTICAL

REPL
RES
SPE
STD
SUB
SUF
TAB
UNNUHB
VERS
VERT

REP

UNNU~1

(

UNN

VER

(
\

364

ISPF/PDF for MVS Program Reference

INDEX

Special Characters

edit 87
autos ave mode
edit 87

< (shift data left) line command

edit

159

( (shift columns left) line command

edit
) (shift
edit
> (shift
edit

159
columns right) line command
159
data right) line command
159

r-I

I

A

I

L--.J

\\

))

A (after) line command 134
accessing 3850 virtual volumes 32
add row entry panel
dialog test 285
add row tables option
dialog test 283
adding dialog variables
dialog test 272
adding lines 129
adding models 174
aliases for compatibility
previous releases 348
allocating a new data set (data set
utility) 187
ampersand (&) prefix
used to redisplay commands (edit) 66
APL keyboard
internal character translation 331
application command table 216
assembler/compiler processing 234
ATTENTION (PAl) key 17, 257
AUTOLIST command 89
auto list mode 89
automatic source listing
edit 89
AUTONUM command
edit 86
autonum mode
edit 86
AUTOSAVE command

r---l

I

B

I

L-J

B (before) line command 134
background
See batch
batch (option 5) 249
batch output listing
allocation 37
browsing 37
printing- 37
bottom
scrolling to 19
boundaries, edit
controlling 96
DBCS data 124
boundary definition line
edit 98, 158
BOUNDS line command
edit 157
BOUNDS primary command (edit) 96
breakpoint primary option menu
dialog test 308
breakpoint qualification panel
dialog test 303
breakpoints entry panel
dialog test 302
breakpoints option
dialog test 301
browse (option 1) 53
BROWSE command 63
column identification line 58
COLUMNS command 58
command summary 335
commands
syntax 343
data set characteristics 53
DISPLAY command 61
FIND command 59
find/change strings 347
functions 57
HEX command 62
Index

365

label 57
LOCATE command 57
mixed data 54
program function keys 18
RESET command 58
scale line 58
setting hex mode 62
browse data set
data set list utility (option
3.4) 204
browse log option
dialog test 291
browsing a member (library utility)
built-in command
executing 104
built-in labels 80
BUILTIN command 104

183

r--l

I

C

I

L--J

C

(copy) line command
used with CREATE or REPLACE 121
C (copy) line command 135
CANCEL command
dialog test 264
edit 127
cancelling
a macro definition 103
CAPS command
DBCS data 90
edit 89
caps mode
edit 89
catalog data set
data set list utility (option
3.4) 204
cataloging a data set (data set
utility) 189
chaining commands
See stacking commands
CHANGE command
edit 106
CHANGE PF key function
See RCHANGE command
changing
indentations
edit 159
changing data
edit 106
changing dialog variables
dialog test 272

366

ISPF/PDF for MVS Program Reference

changing models 174
changing PF keys
KEYS command 16
changing program function keys 45
character strings (edit FIND or
CHANGE) 114
character translation
edit. 89
CLIST
attention exits 17, 257
ISPF services in 349
closed table status display panel
dialog test 288
COBOL
programs
ISPF services in 351
restrictions
member expansion 231
member parts list 231
column identification line
browse 58
edit 152
column limitation (edit FIND, CHANGE,
and EXCLUDE) 116
column shifting
nBCS data 163
COLUNNS
line command
edit 152
primary command
browse 58
shifting 159
command (option 6) 255
restrictions 256
command and long message areas
user specification of location of 49
command table
application 216
command table utility (option 3.9) 216
line commands 217
primary commands 218
command/option area 6
commands
browse (option 1)
summary 335
syntax 343
command table utility (option 3.9)
line 217
primary 218
description summary 333
dialog test line 263, 265
summary 342
dialog test primary 263, 264
summary 341

~\

)

edit (option 2) line
summary 339
syntax 347
edit (option 2) primary
summary 336
syntax 344
entering 13
general
description 14
PF keys assigned 14
summary 333
member list
summary 335
syntax 343
scrolling 19
stacking 13, 42
syntax
summary 343
commands for compatibility
previous releases 348
compatibility with prior releases
commands and aliases 348
compiling a program
batch 249
foreground 229
compress data set
data set list utility (option
3.4)

204

compressing a data set (library
utility) 183
concatenating libraries 25
controlling nulls
edit 90
controlling the edit boundaries 96
convert menus/messages utility (option
3.10)

219

COpy command (edit) 117
CREATE command
edit 120
creating a new member 66
creating or updating statistics (reset
statistics utility) 206
CURSOR command 15

r--l

I

D

I

L-.J

D (delete) line command
dialog test 265
edit 131
data
shifting 159

data set characteristics
browse 53
edit 65
data set information
displaying (library utility) 184
data set list
LONG format 203
QUICK format 203
SHORT format 203
specifying DSNAHE LEVEL 202
specifying list format 202
data set list listing
format 324
data set list utility (option 3.4) 201
commands
LOCATE 204
SORT 204
display data set list 201
print data set list 201
data set password specification 32
data set security 32
data set utility (option 3.2) 186
data shifting
DBCS data 161
DBCS data
CAPS command 90
column shifting 163
data shifting 161
dialog text 27~
display boundary 65
FIND command 60
FIND command (edit) 107
hardware tabs 92
RFIND 60
RFIND command (edit) 107
TF (text flow) line command 144
TS (text split) line command 140
DEFINE command 103
defining a name 103
defining boundary columns
edit 157
defining masks
edit 153
defining program function keys 45
KEYS command 45
specifying line commands 46
specifying primary commands 46
DELETE command (edit) 122
delete data set
data set list utility (option
3.4) 204
delete row tables option
dialog test 280
delete table row confirmation panel
Index

367

dialog test 280
deleting a member (library utility) 183
deleting held job output (out list
utility) 214
deleting lines 122, 131
deleting models 174
deleting statistics (reset statistics
utility) 207
delimiter
command stacking 13, 42
DFDS 212
dialog development 2
models 168, 349
dialog test 1
dialog test (option 7) 259
breakpoints option 301
browse log optio~ 291
environment 260
functions option 266
invoke service option 294
line commands 263, 265
summary 342
panels option 269
primary commands 263, 264
summary 341
primary option menu 260
severe error handling 262
tables option 276
add row 283
delete row 280
display row 278
display status 287
display structure 285
modify row 281
traces option 296
variable usage 261
variables option 272
dialog variables
manipulating 273
display boundary
DBCS data 65
DISPLAY command
browse 61
display data set information
data set list utility (option
3.4) 204
display data set list
data set list utility (option
3.4) 201
display member list
data set list utility (option
3.4) 204
display panel entry panel
dialog test 269

368

ISPF/PDF for MVS Program Reference

display row tables option
dialog test 278
display status tables option
dialog test· 287
display structure tables option
dialog test 285
display table row entry panel
dialog test 279
displaying a member list (library
utility) 183
displaying a message 270
displaying a panel 269
displaying data in hexadecimal format
browse 62
displaying data set information (data
set utility) 189, 190
displaying data set information (library
utility) 184
displaying dialog variables
,dialog test 272
displaying held job output (outlist
utility) 214
displaying model notes 98
displaying the panel identifier
PANELID command 16
displaying VTOC entries (list VTOC
utility) 211
dit option 2/LC commarid 148
dit option 2/UC command 146
documentation preparatiori 1
DOWN command 14
DSNAME LEVEL
specifying 202
DSPRINT TSO command processor 210
duplicating lines 132

r--l

I

E

I

L--.J

edit (option 2) 65
< (shift data left) line command
( (shift columns left) line
command 159
) (shift columns right) line
command 159
> (shift data right) line
command 159
A (after) line command 134
AUTOLIST command 89
autolist mode 89
AUTONUM command 86
autonum mode 86

159

(

\

AUTOSAVE command 87
autosave mode 87
B (before) line command 134
boundary definition line 98, 158
BOUNDS command 96
BOUNDS line command 157
BUILTIN 104
C (copy) line command 135
CANCEL command 127
CAPS command 89
caps mode 89
CHANGE command 106
changing indentations 159
column identification line 152
COLUMNS line command 152
COpy command 117
CREATE command 120
D (delete) line command 131
data set characteristics 65
DEFINE command ' 103
defining boundary columns 157
defining masks 153
DELETE command 122
disabling library management 67
EDIT command 125
EXCLUDE command 106
excluding lines 164
F (first) line command 166
FIND command 106
find/change strings 347
functions 72
HEX command 95
hex mode 95
hexadecimal display 95
I (insert) line command 129
identifying columns 152
I~IACRO command
101
L (last) line command 166
LEVEL command 87
line command summary 339
line commands 73, 127
syntax 347
LOCATE command 104
locating lines 104
M (move) line command 134
macros 77
MASK line command 153
merging data 117
mixed data 69
MODEL command 171
models 168
MOVE c'ommand 117
NOTE command 98
NULLS command 90

nulls m9de 90
command 84
number mode 84
o (overlay) line command 150
overlaying lines 150
PACK command 88
preparing text 136
primary command summary 336
primary commands 73
syntax 344
PROFILE command 93
profile display 93
program function keys 18
R (repeat) line command 132
RECOVERY command 100
recovery control 100
recovery mode 100
recovery panel 100
RENUM command 85
REPLACE command 120
RESET command 93, 99
RMACRO command 102
S (show) line command 166
SAVE command 126
scale line 152
segmenting data 117
sequence number display 83
sequence number format 83
sequence number generation and
control 82
SORT command 123
STATS command 86
stats mode 86
SUB~nT command
125
tab definition line 156
tabs control 91, 155
tabs definition 91
TABS line command 155
tabs mode 92
TABS primary command 92
TE (text entry) line command 137
termination 81
TF (text flow) line command 143
TS (text split) line command 138
UNNUM command 85
VERSION command 87
X (exclude) line command 164
edit data set
data set list utility (option
3.4) 204
edit profile
display and control 93
specifying 69
edit recovery panel 100
NU~1BER

Index

369

edit recovery table 100
editing a new member 66
encountering a breakpoint
dialog test 308
END command 14, 23
dialog test 264
entering commands 13
entry panel 6
example of limiting operands (edit FIND,
CHANGE, and EXCLUDE) 117
EXCLUDE command
edit 106
excluded line limitation· (edit FIND and
CHANGE) 116
excluding data
edit 106
excluding lines
edit 164
EXECs
ISPF services in 353
executing a built-in command 104
expansion trigger 229
extended return
See jump function

browsing 37
printing 37
format definition utility (Option
3.11)

222

format of panels 5
formatted data
format definition 222
MASK command 154
shifting data 160
TE (text entry) line command
formatting a document
foreground 229
FORTRAN
programs
ISPF services in 354
function trace entry panel
dialog test 297
functions option
dialog test 266

137

r--l

I

G

I

L-.-J

general commands
summary 333
generating JCL for printing or punching
(hardcopy utility) 210
getting message explanation 22
F (first) line command
edit 166
file tailoring control statements
models 361
FIND command
browse 59
edit 106
FIND PF key function
See RFIND command
find/change strings
browse (option 1) 347
edit (option 2) 347
specification 111
finding character strings
browse 59
finding data
edit 106
foreground (option 4) 229
processing sequence 233
foreground output listing
allocation 37

370

ISPF/PDF for MVS Program Reference

r--l

I

H

I

L-..J

hardcopy utility (option 3.6)
hardware tabs
DBCS data 92
hardware tabs (edit) 91
HELP command 14, 22
tutorial (option T) 313
help information 22
HEX command
browse 62
edit 95
hex mode
browse 62
edit 95
hexadecimal display
edit 95

209

r-1

r--l

I

I

I

I

I (insert) line command
dialog test 265
edit 129
identifying columns
browse 58
edit 152
I~lACRO command
101
indentations
changing
edit 159
index listing
format 323
initial macro
specifying 101
inserting lines 129
invocation of PDF 10
invoke dialog service entry panel
dialog test 294
invoke function entry panel
dialog test 267
invoke service option
dialog test 294
invoking
command procedure 266
panel 266
program 266
ISPCMDS 216
ISPF library 25
ISPF services
in CLIST 349
in COBOL programs 351
in EXECs 353
in FORTRAN programs 354
in PASCAL programs 357
in PL/I programs 359

J

~\

I

16

r-1

I

L

I

L-J

I

L..---1

JCL for printing or punching
generating (hardcopy utility)
job statement specification 33
job statements
in user profile 34
jump function 16, 23

I

KEYS command

r--l

I

K

L-J

L-J

210

L (last) line command
edit 166
label
browse 57
labels
built-in 80
edit 77
language processors 1
LC command 148
example 148
LEFT command 15
LEVEL command
edit 87
library access services 25
models 349
library and data set name
specification 31
library concatenation 25
library hierarchy 25
library management
disabling
edit 67
library statistics 27
reset statistics utility 28
library utility (option 3.1) 182
line commands
command table utility (option
3.9) 217
edit 127
rules for entering 128
line numbers
edit 82
line range
edit 77
lines
excluded 106, 164
locating 105
resetting 99
link editing a program
batch 249
foreground 229
linkage editor processing 237
list and log files

Index

371

format 323
list file
description 36
list file defaults
specifying
using parms option 39
list VTOC utility (option 3.7) 211
listing job names (outlist utility) 214
listing the parts of a program
batch 249
foreground 229
LOCATE command
data set list utility (option
3.4) 204
dialog test 264
edit 104
member list 35
under browse 57
locating lines
browse 57
edit 104
locating members 35
locating models 180
location of command and long message
areas
user specification of 49
log and list files 36
allocation 36
printing 37
setting the default allocation 44
specifying defaults 43
log file
description 36
log listing
format 324
logical screens
switching between 21
logical tabs (edit) 91
LONG format
data set list 203
long message and command areas
user specification of location of 49
long message area 6
lower case (LC) command
example 148
lowercase (LC) command 148

372

ISPF/PDF for MVS Program Reference

M (move) line command 134
used with CREATE or REPLACE 121
macro name
defining 103
macros
edit 77
manipulating dialog variables 273
MASK line command
edit 153
member expansion 229
COBOL restrictions 231
restrictions 230
trigger statement errors 232
member list 6, 34
browsing a member 36
commands 34
summary 335
syntax 343
deleting a membe~ 36
LOCATE command 35
multiple-selection 36
printing a member 36
renaming a member 36
scrolling 35
SELECT command 35
selecting a member 36
selection codes 35, 36
singl~-selection
35
member parts list
batch 252
COBOL restrictions 231
foreground 245
restrictions 230
trigger statement errors 232
menu
See selection panel
merging data (edit) 117
message
long 6
short 5
message display panel
dialog test 270
message explanation 22
message format models 356
messages
displaying 270
mixed data
browse 54
CHANGE strings 108
edit 69

(

\

FIND command 60
model class 169
~10DEL command
edit 171
model name 169
model name qualifier 169
model notes
displaying 98
model selection panel 173
models 1, 2, 168, 349
adding 174
changing 174
class 169
deleting 174
dialog development 349
file tailoring control
statements 361
hierarchy 169
locating 180
logical name 169
message format 356
name 169
name qualifier 169
panel format and sta'tement 356
types 169
using 172
modification level 87, 207
modify row tables option
dialog test 281
modify table row entry panel
dialog test 282
MOVE command (edit) 117
move/copy utility (option 3.3) 192

r--l

I

N

I

L--J

)

nondisplayable characters
edit 65
nondisplayable data
dialog test 275, 282, 285, 293
NOTE command, edit 98
NULLS command
edit 90
nulls mode
edit 90
NU~1BER command
edit 84
number mode
edit 84

r-I

I

0

I

L--J

o

(overlay) line command
edit 150
online tutorial 1
open table status display panel
dialog test 289
option X 23
outlist utility (option 3.8) 213
overlaying lines
edit 150
overtyping of parameters 20

r-I

I

I

P
L--J

PACK command 88
pack mode 88
packing data
move/copy utility (option 3.3) 194
pad character 41
panel 5
add row entry
dialog test 285
breakpoint primary option menu
dialog test 308
breakpoint qualification
dialog test 303
breakpoints entry
dialog test 302
closed table status display
dialog test 288
command/option area 6
delete table row confirmation
dialog test 280
dialog test primary option menu 260
display panel entry
dialog test 269
display table row entry
dialog test 279
edit recovery 100
format 5
3278 Model 5 5
format and statement models 356
function trace entry
dialog test 297
input field padding 41
invoke dialog service entry
dialog test 294
invoke function entry
Index

373

dialog test 267
invoking
dialog test 266
long message area 6
message display
dialog test 270
model selection 173
modify table row entry
dialog test 282
open table status display
dialog test 289
parameter selection 39
primary option menu 10
scroll area 6
short message area 5
special display
dialog test 295
table structure display
dialog test 286
tables selection
dialog test 276
terminal characteristics 40
termination 23
title area 5
traces selection
dialog test 296
TSO command entry 255
types 6
variable trace entry
dialog test 299
variables entry
dialog test 272
PANELID command 16
panels
displaying 269
panels option
dialog test 269
parameter selection panel 39
parameter specification 31
parms option
used for specifying ISPF parameter
options 39
Parms option (option 0) 39
PASCAL
programs
ISPF services in 357
password protection 32
PAl key
See ATTENTION (PAl) key
PA2 key
See RESHOW (PA2) key
PDF 1
PDF primary options 11
PF keys
°

374

ISPF/PDF for MVS Program Reference

See also progra~ funttion keys
specifying
using parms option 39
picture string (edit FIND or
CHANGE) 114
PL/I
programs
ISPF services in 359
prefixed commands
edit (option 2) 66
preparing text
edit 136
primary commands
command table utility (option
3.9) 218
primary option menu 10
PRINT command 15
print data set list
data set list utility (option
3.4) 201
print index listing
data set list utility (option
3.4) 204
print list
data set list utility (option
3.4) 204
PRINT-HI command 15
printer control characters
edit 65
printing a logical screen image 15, 334
printing a member (library utility) 183
printingoa screen image 15
printing an entire data set (library
utility) 183
printing an index listing (library
utility) 183
printing held job output
out list utility 214
printing VTOC entries (list VTOC
utility) 211
PRINTL command 15, 334
PRINTLHI command 15, 334
PROFILE command
edit 93
profile display
edit 93
program access keys 17
ATTENTION (PAl) key 17
RESHOW (PA2) key 18
program function keys 13, 18
changing 45
defining 45
specifying 41, 45
°

r--l

I

Q

I

L-J

QUAL command
dialog test 264
qualifying a breakpoint
dialog test 303
QUICK format
data set list 203

r--l

I

R

I

RESHOW (PA2) key 18
restrictions
member expansion 230
member parts list 230
RESUHE command
dialog test 264
RETURN command 14, 23
RFIND
DBCS data 60
RFIND command 14
with FIND command (browse)
RFIND PF key
edit 109
RIGHT command 15

60

L-J

R (repeat) line command
dialog test 265
edit 132
range 79
edit 77
range of lines limitation (edit FIND,
CHANGE, and EXCLUDE) 117
RCHANGE command 14
RCHANGE PF key
edit 109
RECOVERY command
edit 100
recovery control
edit 100
recovery macro
specifying 102
recovery mode
edit 100
redisplaying edit commands 66
removing lines 122
rename data set
data set list utility (option
3.4) 204
renaming a data set (data set
utility) 188
renaming a member (library utility) 183
RENUM command
edit 85
repeating lines 132
REPLACE command
edit 120
requeuing held job output (out list
utility) 214
RESET command
browse 58
edit 93, 99
reset statistics utility (option
3.5) 206

r--1

I

S

I

L-...J

S (show) line command
edit 166
SAVE command
edit 126
saving data
edit 126
scale line
See column identification line
scroll area 6
scrollable data display 6
scrolling 1, 19
commands 19
DOWN command 14
during browse 55
LEFT command 15
member list 35
RIGHT command 15
scroll amount 19
to bottom 19
to top 19
UP command 14
use of cursor 19
scrolling members 35
security
data set 32
segmenting data (edit) 117
SELECT command
member list 35
selection codes
member list 35
selection panel 6
separator
command stacking 13, 42
sequence number
Index

375

display 83
format 83
generation and control 82
Session Manager 229, 257
setting the edit boundaries 96
shifting data 159
formatted data 160
SHORT format
data set list 203
short message area 5
software tabs (edit) 91
SORT command
.data set list utility (option
3.4)

204

DBCS data 124
edit 123
sorting data
edit 123
special display panel
dialog test 295
specifying
data set passwords 32
job statement information 33
library and data set names 31
log and list data set disposition at
termination 23
pad character 41
parameters 31
PF keys 41
program function key definitions 45
screen format
3278 ~lodel 5 41
3290

42

stacking delimiter 42
terminal characteristics 40
terminal type 40
specifying a recovery macro (edit)
specifying an initial macro (edit)
specifying DSNAME LEVEL
data set list utility (option
3.4)

102
101

202

specifying ISPF parameter options
using parms option 39
specifying list format
data set list utility (option
3.4)

202

specifying log and list file
defaults 43
using parms option 39
specifying screen display
characteristics (option 0.4) 49
specifying terminal characteristics
using parms option 39
SPLIT command 14

376

ISPF/PDF for MVS Program Reference

split screen 1, 21
entering 21
for 3290 21
terminating 21
using the SPLIT command 21
using the SPLIT PF key 21
using the SWAP command 21
stacking commands 13, 42
statistics generation
edit 86
STATS command
edit 86
stats mode
edit 86
structured programming 2
SUBMIT command (edit) 125
submitting to a job stream (edit)
summary of command syntax 343
summary of commands 333
SWAP command 14
switching between logical screens

125

21

r--l

I

T

I

L-J

tab definition line
edit 156
table structure display panel
dialog test 286
tables option
dialog test 276
tables selection panel
dialog test 276
tabs control
edit 91, 155
tabs definition
edit 91
TABS line command
edit 155
tabs mode
edit 92
TABS primary command
edit 92
TE (text entry) line command
edit. 137
formatted data 137
terminal characteristics
specifying 40
using parms option 39
terminal characteristics panel
terminal keys 17
terminal type 40

\

40

termination
edit 81
options 23
END command 23
jump function 23
option X 23
RETURN command 23
panel 23
PDF 23
specifying log and list file
defaults 43
testing dialogs 259
TEXT keyboard
internal character translation 331
text preparation
edit 136
text strings (edit FIND or CHANGE) 114
TF (text flow) line command
DBCS data 144
edit 143
title area of panel 5
top
scrolling to 19
trace output 291
function trace entries 292
trace header 291
variable trace entries 292
traces option
dialog test 296
traces selection panel
dialog test 296
translate
lowercase 148
uppercase 146
trigger statement errors
member expansion 232
member parts list 232
TS (text split) line command
DBCS data 140
edit 138
TSO command 16
TSO command entry panel 255
tutorial (option T) 313
HELP command 313
types of panels 6

data set list utility (option
3.4) 204
uncataloging a data set (data set
utility) 189
UNNUM command
edit 85
UP command 14
upper case (UC) command
example 147
uppercase (UC) command 146
usage scenario 3, 317
user profile 33
scroll amount 20
user specification of the location of
the command and long message areas 49
utilities
command table utility (option
3.9) 216
utilities (option 3) I, 181

r--l

I

V

I

L--J

variable trace entry panel
dialog test 299'
variables entry panel
dialog test 272
variables option
dialog test 272
usage 274
VERSION command
edit 87
version number 87, 207
VTOC
display information (option 3.4) 205
displaying entries (list VTOC
utility) 211
print information (option 3.4) 205
printing entries (list VTOC
utility) 211

r---,

I

X

I

L--J

r--l

I

U

I

L--J

UC command 146
example 147
uncatalog data set

X (exclude) line command
edit 164
X option
used with jump function

17

Index

377

Numerics
3850 virtual volumes
accessing 32

(

378

ISPFjPDF for MVS Program Reference

READER'S
COMMENT
FORM

Interactive System Productivity Facility /
Program Development Facility
SC34-4024-1
Version 2 Release 2 for MVS
Program Reference

This manual is part of a library that serves as a reference source for systems analysts, programmers, and
operators of IBM systems. This form may be used to communicate your views about this publication. It will
be sent to the author's department for whatever review and action, if any, is deemed appropriate. Comments
may be written in your own language; use of English is not required.
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.

Note: Copies of IBM publications are not stocked at the location to which this form is addressed. Please
direct any requests for copies of publications, or for assistance in using your IBM system, to your IBM
representative or to the IBM branch office serving your locality.
Possible topics for comments are:
Clarity

Accuracy

Completeness

Organization

Coding

Retrieval

Legibility

i E
CI)

....

ES
0.1/)

'5

:c

If you wish a reply, give your name and mailing address:

cr ....
Cl)tij
O1Cl)

e:

I/)

t::.s

g~

~S

E-o

~~
.... ::J

11101

E ....
o

CI)

.... .s:;.
::J ....

::J

~~e:

f

:!::o
jI'

!

111 0
.s:;. ....

CI)
-CI)

e~
0. ....
CI)

::J

~:g

111 ~

00.

e:
o

111

!

~

a

CI)
I/)

::J

I/)

CI)

CI)

I/)

-111
Q.CI)

t3a::
jB
0

z

What is your occupation? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Number of latest Technical Newsletter (if any) concerning this publication: _ _ _ _ _ _ _ _ _ _ __
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.)

SC34-4024-1

Reader's Comment Form

Please Do Not Staple

FoleJ and tape

Fold and tape

u;

"tJ
."
"tJ

111111
BUSINESS

REPLY

NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

MAIL

0

."

......

0...,

s:

<

en

"tJ
...,
0

(Q

FIRST CLASS

PERMtT NO. 40

Cil

ARMONK. NY

3

:0
(I)

POSTAGE WILL BE PAID BY ADDRESSEE:

Cit
...,
(I)

International Business Machines Corporation
Department T45, Information Development
PO. Box 60000
Cary, North Carolina 27511

::J
(')
(I)

~

::J

~

(I)

a.
::J

C

en
~

Fold and tape

==.=
== .~
-- - ---- - -- --,-

-- --------

Please Do Not Staple

Fold and tape

/

\

READER'S
COMMENT
FORM

Interactive System Productivity Facility /
Program Development Facility
SC34-4024-1
Version 2 Release 2 for MVS
Program Reference

This manual is part of a library that serves as a reference source for systems analysts, programmers, and
operators of IBM systems. This form may be used to communicate your views about this publication. It will
be sent to the author's department for whatever review and action, if any, is deemed appropriate. Comments
may be written in your own language; use of English is not required.
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.
Note: Copies of IBM publications are not stocked at the location "to which this form is addressed. Please
direct any requests for copies of publications, or for assistance in using your IBM system, to your IBM
representative or to the IBM branch office serving your locality.
Possible topics for comments are:
Clarity

Accuracy

Completeness

Organization

Coding

Retrieval

Legibility

c0) E
'E.E

Q.Ul

"5

If you wish a reply, give your name and mailing address:

:c

cr'"

0)"Cij
0l0)
e Ul

:e£

g~

==ctI
ctI ...

E"

-g~
... ::J

ctlOl

'oE 0)

... .r;
::J ...
ctI 0

.r;'=:0
~

I

';I

~i

0) e
-0)

e~
0.'-

lJl ~
~~
(JQ.

!

:J

I
~

~

a

ectI 0)
Ul
(J ::J
Ul 0)
O)Ul
-ctl
0.0)

c7jn:
Qj

(5

z

What is your occupation? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Number of latest Technical Newsletter (if any) concerning this publication: _ _ _ _ _ _ _ _ _ _ __
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.)

· SC34-4024-1

Reader's Comment Form

Please Do Not Staple

FOld and tape

Fold and tape

en

-0
.."
-0

111111

BUSINESS
FIRST CLASS

REPLY

PERMIT NO. 40

NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

MAIL
ARMONK. NY

POSTAGE WILL BE PAID BY ADDRESSEE:

International Business Machines Corporation
Department T45, Information Development

p. O. Box 60000
Cary, North Carolina 27511

Fold and tape

==-=®
--....-- ---.........
---- - __ ....
"'1II1II'''
------,
-

-

Please Do Not Staple

Fold and tape

o

.."

0'-'

s:

<
en

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

e ee e

'-



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                     : 2012:06:06 20:35:06-08:00
Modify Date                     : 2012:06:07 10:19:11-07:00
Metadata Date                   : 2012:06:07 10:19:11-07:00
Producer                        : Adobe Acrobat 9.51 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:9fd49a93-11e9-4359-8e7a-2cb73f94d7bf
Instance ID                     : uuid:87379c89-a752-4620-aa25-0b05b969eb67
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 398
EXIF Metadata provided by EXIF.tools

Navigation menu