Sei sulla pagina 1di 120

I N T E L L I G E N T • S Y S T E M S • M A N A G E M E N T

InSync Handbook

INOH-5300-00 InSync 5.300


Publication number Trademark acknowledgements
INOH-5300-00 (January 2006) The following are trademarks of Macro 4: InSync
The following are trademarks or registered
Documentation set trademarks of IBM Corporation: DB2, IMS, MVS,
OS/390, z/OS.
The documentation relating to this product includes: Other product and company names mentioned
■ InSync Handbook herein may be the trademarks or registered
■ InSync for z/OS User Guide trademarks of their respective owners.
■ InSync for DB2 User Guide
■ InSync for IMS User Guide License information
■ InSync Batch User Guide Copyright © 2006 Macro 4. All rights reserved.
■ InSync Installation Guide This publication, as well as the software described in
it, is furnished under license and may be used or
■ InSync Messages
copied only in accordance with the terms of such
■ InSync Quick Reference license. The information in this publication is
furnished for informational use only, is subject to
change without notice, and should not be construed
Making comments as a commitment by Macro 4. Macro 4 assumes no
We welcome user feedback on our product responsibility or liability for any errors or
documentation. Please contact your local Macro 4 inaccuracies which may appear in this publication.
representative, email us at Except as permitted by such license, no part of this
tech.authors@macro4.com, or write to: publication may be reproduced, stored in a retrieval
Technical Documentation system, or transmitted, in any form or by any means,
Macro 4 electronic, mechanical, recording or otherwise,
The Orangery, Turners Hill Road, without prior written permission from Macro 4.
Crawley, West Sussex RH10 4SS
United Kingdom
www.macro4.com
3

Contents

About this manual . . . . . . . . . . . . . . . . . . . . .7

Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .11


What is InSync?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
What are its key features? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
What does it look like? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
How are the menus structured?. . . . . . . . . . . . . . . . . . . . . . . . . 13
How about the function keys? . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Is online help available? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
How do I tell what’s gone wrong?. . . . . . . . . . . . . . . . . . . . . . . 16
What programming languages are supported? . . . . . . . . . . . . . . . . 17
What file structures are supported? . . . . . . . . . . . . . . . . . . . . . . . . . 17

Chapter 2 Getting started . . . . . . . . . . . . . . . . . . . . . . .19


Where do I begin?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
How do I browse the contents of a dataset?. . . . . . . . . . . . . . . . . . . 21
How do I view the next records? . . . . . . . . . . . . . . . . . . . . . . . 22
Can I go directly to a specific record? . . . . . . . . . . . . . . . . . . . 23
How do I view the rest of a long record? . . . . . . . . . . . . . . . . . 23
Can I see more than one record at a time?. . . . . . . . . . . . . . . . 24
In full-screen mode, how do I navigate through my data?. . . . 25
How do I apply formatting to my displays? . . . . . . . . . . . . . . . . . . . 26
What do the Format codes mean? . . . . . . . . . . . . . . . . . . . . . . 27
Can I see more than one record at a time?. . . . . . . . . . . . . . . . 27
So, there are four ways of viewing my data? . . . . . . . . . . . . . . 28

INSYNC HANDBOOK
4 Contents

In formatted mode, how do I navigate through my data? . . . . 29


How exactly do I specify my record layout? . . . . . . . . . . . . . . 30
I’ve finished viewing the data: what now? . . . . . . . . . . . . . . . . . . . . 31
Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Chapter 3 Controlling what’s displayed . . . . . . . . . . . .33


What are “subset selection criteria”? . . . . . . . . . . . . . . . . . . . . . . . . 34
How do I re-use my saved subset selection criteria? . . . . . . . . 38
Can I review my current criteria if I didn’t save them? . . . . . . 39
Can I use subset selection criteria in unformatted mode? . . . . 39
Can I suppress some of the fields? . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Can I exclude fields from a multi-record display? . . . . . . . . . . 43
Can I exclude records from a multi-record display? . . . . . . . . 43
Can I keep a field always visible in a multi-record display? . . 43
Can I search for specific values?. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Can’t I just search for a string of characters? . . . . . . . . . . . . . . 45
What other parameters can I adjust? . . . . . . . . . . . . . . . . . . . . . . . . 45
Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Chapter 4 Editing records in a dataset . . . . . . . . . . . . .49


I guess I start from the Primary Options menu? . . . . . . . . . . . . . . . 50
Supposing I make a mistake...? . . . . . . . . . . . . . . . . . . . . . . . . . 51
What if the system crashes in mid-edit? . . . . . . . . . . . . . . . . . . 53
What’s the difference between a log and an audit report? . . . . 53
Why is READ-ONLY editing useful? . . . . . . . . . . . . . . . . . . . . 55
What editing operations are available? . . . . . . . . . . . . . . . . . . . . . . 56
What types of command are supported? . . . . . . . . . . . . . . . . . 56
Can I insert new records? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
How do I save my changes? . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Formatted and unformatted single-record modes . . . . . . . . . . 58
Formatted multi-record mode (TFORMAT) . . . . . . . . . . . . . . 59
Unformatted multi-record mode (FS) . . . . . . . . . . . . . . . . . . . . 60
Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Chapter 5 Other dataset capabilities . . . . . . . . . . . . . .63


Can I just key in a whole set of records? . . . . . . . . . . . . . . . . . . . . . 64
How can I create one dataset from another? . . . . . . . . . . . . . . . . . . 65
Can I select records from a dataset? . . . . . . . . . . . . . . . . . . . . . 66
Can I rearrange the order of the fields? . . . . . . . . . . . . . . . . . . 67
Are these two datasets the same? . . . . . . . . . . . . . . . . . . . . . . . 69
Hardcopy output is probably handled by the PRINT option? . . . . 73
Can I print just a single record? . . . . . . . . . . . . . . . . . . . . . . . . 74

INSYNC HANDBOOK
Contents
5

Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Chapter 6 More about formatting . . . . . . . . . . . . . . . . .77


How do I display or print my record layout? . . . . . . . . . . . . . . . . . 78
Can InSync handle complex record layouts? . . . . . . . . . . . . . . . . . 79
Multiple layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Compound layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Chapter 7 Dataset utilities . . . . . . . . . . . . . . . . . . . . . .85


Working with datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Defining VSAM datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Working with general datasets . . . . . . . . . . . . . . . . . . . . . . . . . 87
Working with PDS members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Searching for strings in PDS members . . . . . . . . . . . . . . . . . . . 87
Manipulating PDS members . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Working with VTOCs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Chapter 8 Working in batch . . . . . . . . . . . . . . . . . . . . .91


How do online and batch options match up? . . . . . . . . . . . . . . . . . 92
How do I specify a batch option? . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
What on earth does that batch stream mean? . . . . . . . . . . . . . . . . . 95
What about multiple-layout datasets?. . . . . . . . . . . . . . . . . . . . . . . . 97
Can I split my data into several streams? . . . . . . . . . . . . . . . . . . . . . 97
Can I create temporary values during a batch run?. . . . . . . . . . . . . 98
How can I tell what happened? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Chapter 9 DB2 and IMS databases . . . . . . . . . . . . . . .101


How do I work with DB2 tables? . . . . . . . . . . . . . . . . . . . . . . . . . . 102
I want to view the rows in a table . . . . . . . . . . . . . . . . . . . . . . 102
I want to modify the rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
PRINT, COPY, EXTRACT and LOAD: any surprises?. . . . 106
What’s this ‘relationship’ stuff all about?. . . . . . . . . . . . . . . . . 106
How do I work with IMS databases? . . . . . . . . . . . . . . . . . . . . . . . 108
I want to view the segments in a database . . . . . . . . . . . . . . . 108
I want to modify the segments . . . . . . . . . . . . . . . . . . . . . . . . 111
PRINT, EXTRACT and LOAD: all as expected? . . . . . . . . . 113

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115

INSYNC HANDBOOK
6 Contents

INSYNC HANDBOOK
7

About this manual

Welcome to InSync. This is the InSync Handbook, which introduces


you to InSync and helps you to get started with the product. The
Handbook’s focus is on getting to know the product and appreciating its
capabilities. It does not aim to provide you with full details of InSync;
for that you should consult the rest of the product documentation.
Additional copies of the manuals can be downloaded from the secure
customer area of the Macro 4 web site, which may also have more up-
to-date versions.
See https://support.macro4.com/Manuals/secure/index.aspx.

The topics covered in the Handbook are:


■ ‘Introduction’ on page 11 –
an outline of InSync’s capabilities.

‘Getting started’ on page 19 –
using InSync to browse a z/OS dataset.

‘Controlling what’s displayed’ on page 33 –
selection criteria, locating data, setting session parameters.
■ ‘Editing records in a dataset’ on page 49 –
exactly what it says on the tin.

‘Other dataset capabilities’ on page 63 –
printing, copying, restructuring and comparing datasets.

‘More about formatting’ on page 77 –
InSync’s support for dataset with multiple record formats.

INSYNC HANDBOOK
8 About this manual

■ ‘Dataset utilities’ on page 85 –


tools for administering VSAM files, datasets, PDS members, and
VTOCs, and for find-and-replace in PDS members.
■ ‘Working in batch’ on page 91 –
nothing if not versatile, InSync can do it both online and in batch.

‘DB2 and IMS databases’ on page 101 –
not just datasets: DB2 tables and IMS databases as well!

Release levels
Macro 4 product release levels are of the form n.nnn. Minor software
updates are reflected by a change in the last two digits, and do not
necessarily cause the documentation to be reissued.

Conventions
The following typographic conventions are used:

Key concept Text is highlighted like this to draw your attention to


a fundamental concept, or to a particularly important
piece of information.
boldface Indicates a command or keyword that you should
type, exactly as shown.
italics Indicates a variable for which you should substitute
an appropriate value.
monotype Indicates literal input and output.
Ctrl+D Indicates two or more keys pressed simultaneously.
[ ] Brackets surround an optional value.
| Vertical bars separate alternative values from which
you must make a selection.
... Ellipsis indicates that the preceding element may be
repeated.

Further information
For details of the functions and facilities of the product, including
those not covered in this Handbook, please refer to the following
InSync manuals:
■ The InSync Installation and Configuration Guide tells you how to
install the product on your system.

The InSync for z/OS User Guide, DB2 User Guide and IMS User Guide
explain InSync’s abilities to handle those types of data file.

INSYNC HANDBOOK
Further information
9

■ The InSync Batch User Guide describes InSync’s powerful batch


processing capabilities.

The InSync Quick Reference summarizes the commands associated
with InSync’s online Browse and Edit options.

The InSync Messages manual documents batch error messages.

INSYNC HANDBOOK
10 About this manual

INSYNC HANDBOOK
11

CHAPTER 1

Chapter 1 Introduction

This chapter introduces InSync. It addresses the following questions:



‘What is InSync?’ on page 12
■ ‘What are its key features?’ on page 12

‘What does it look like?’ on page 12

‘Is online help available?’ on page 16
■ ‘What programming languages are supported?’ on page 17

‘What file structures are supported?’ on page 17

INSYNC HANDBOOK
12 CHAPTER 1 ■
Introduction ■
What is InSync?

What is InSync?
InSync is a comprehensive file and data management solution
allowing developers fast, easy access to key application data, plus
comprehensive DB2 and IMS data management and testing. By
eliminating many time-consuming encumbrances of data
management, InSync enables application programmers to utilise
more efficiently their applications development and maintenance
skills. Thanks to InSync’s simple and consistent interface, users
quickly become comfortable with its capabilities.

What are its key features?


InSync offers the following additional advantages:

Provides full support for COBOL and PL/I copybooks

Manages and controls the DB2 and IMS environments
■ Displays records in a number of different formats

Makes revisions online across an entire file or selected subsets

Powerful batch support
■ Improves testing speed while shortening the testing cycle

Simplifies creating and validating test data

Creates test data without coding SQL commands or learning other
utilities

Reduces dependencies on Database Administrator resources
NEW in 5.300
■ Optional Data Privacy feature.
Data Privacy feature

What does it look like?


InSync uses ISPF-like screens to provide a familiar user environment
and accelerate the testing process. If you are comfortable with ISPF
operations and conventions, then you’ll be immediately at home with
InSync’s menus and data entry panels.

INSYNC HANDBOOK
What does it look like?
13

How are the menus structured?


All InSync components use a similar menu structure.
For the base z/OS product, the menus are arranged as follows:
NEW in 5.300 0 (PARMS) 0 (LICENSE) Display InSync license information
MVS Data Privacy
feature, and
1 (PROFILE) Specify session profile parameters
online/batch 2 (PRINT) Specify print dataset allocation
FIELDCOMPARE 3 (LOG/AUDIT) Specify EDIT log/audit dataset allocation
4 (PF KEYS) Specify PF key assignments
5 (DATA PRIVACY) Specify Data Privacy Rules for a dataset
1 (BROWSE) Dataset browse
2 (EDIT) Dataset edit
3 (PRINT) Dataset print
4 (LAYOUT) COBOL record layout processing
5 (CREATE) Formatted record create
6 (EXTRACT) Create extract dataset
7 (TABLES) 1 (SELECT) Specify multiple format selection criteria
2 (UPDATE) View/Update multiple format sel’n criteria
3 (COMPOUND) Define compound record layout structure
4 (REVIEW) Review/update compound table
8 (FIELDMAP) Map fields to new record layout
9 (FIELDCOMPARE) Dataset field compare
10 (COMPARE) Dataset record compare
11 (DATEAGE) Adjust dates within dataset
U (UTILITIES) 1 (LIBRARY) PDS directory and CSECT information
2 (SCAN) PDS scan utility
3 (VSAM) VSAM utility
4 (VTOC) VTOC utility
5 (DATASET) DATASET utility
B (BATCH) 1 (CHANGE) Specify record change criteria
2 (DELETE) Specify record delete criteria
3 (PRINT) Specify dataset print criteria
4 (EXTRACT) Specify record extract criteria
5 (FIELDMAP) Specify field mapping criteria
6 (FIELDCOMPARE) Specify field compare criteria
7 (COMPARE) Specify record compare criteria
8 (DATEAGE) Specify date age criteria
9 (SCAN) Specify PDS scan criteria
10 (VTOC) Specify Batch VTOC criteria
11 (LAYOUT) Specify Batch LAYOUT criteria
12 (LIBRARY) Specify batch LIBRARY criteria
DB2 Invoke InSync for DB2 (see below)
IMS Invoke InSync for IMS (see below)
T (TUTORIAL) Display information about InSync

INSYNC HANDBOOK
14 CHAPTER 1 ■
Introduction ■
What does it look like?

For the DB2 option, the menus are arranged as follows:


0 (PARMS) 1 (PROFILE) Specify session profile parameters
2 (PRINT) Specify print dataset allocation
3 (AUDIT) Specify audit dataset allocation
4 (PF KEYS) Specify PF key assignments
5 (ENVIRONMENT) Specify DB2 system parameters
6 (ADMIN) InSync DB2ID table administration
1 (BROWSE) Table browse
2 (EDIT) Table edit
3 (PRINT) Table print
4 (COPY) Table row copy
5 (EXTRACT) Extract table records
6 (LOAD) Load extracted table records
7 (RELATE) Relationship management
B (BATCH) 3 (PRINT) Table print
4 (EXTRACT) Extract table records
5 (LOAD) Load extracted table records
6 (R-EXTRACT) Related table extract
7 (R-LOAD) Related table load
8 (R-DELETE) Related delete
T (TUTORIAL) Display information about InSync for DB2

For the IMS option, the menus are arranged as follows:


0 (PARMS) 1 (PROFILE) Specify session profile parameters
2 (PRINT) Specify print dataset allocation
3 (AUDIT) Specify audit dataset allocation
4 (LOG) Specify log dataset allocation
5 (PF KEYS) Specify PF key assignments
6 (ENVIRONMENT) Specify IMS system parameters
7 (ADMIN) InSync IMSID database administration
1 (BROWSE) Database browse
2 (EDIT) Database edit
3 (PRINT) Database print
4 (FORMAT) Segment format tables
5 (EXTRACT) Extract database records
6 (LOAD) Load extracted database records
7 (RELATE) Extract relationships
B (BATCH) 1 (CHANGE) Specify segment change criteria
2 (DELETE) Specify segment delete criteria
3 (PRINT) Database print
4 (EXTRACT) Extract database records
5 (LOAD) Load extracted database records
6 (INIT) Initialize database
7 (INSERT) Specify segment insert criteria
8 (COMPARE) Compare database extract files
9 (R-EXTRACT) Related database extract
T (TUTORIAL) Display information about InSync for IMS

INSYNC HANDBOOK
What does it look like?
15

How about the function keys?


They’re ISPF-like as well. The standard InSync settings are:

PF Keys Command Description

PF1, PF13 HELP Displays tutorial information.


PF2, PF14 SPLIT Divides display into two logical screens.
PF3, PF15 END Terminates an option or sub-option.
PF4, PF16 RETURN Returns to the Primary Options menu.
PF5, PF17 RFIND Displays the next record which meets the
currently defined search criteria.
PF6, PF18 RCHANGE Applies the defined change to the currently
displayed record.
PF7, PF19 UP Scrolls towards top of displayed data.
PF8, PF20 DOWN Scrolls towards bottom of displayed data.
PF9, PF21 SWAP In split-screen mode, jumps to other screen.
PF10, PREVIOUS In single record display mode: displays a
PF22 or LEFT record nearer to the top of the dataset.
In multi-record display mode: displays fields
nearer to the start of the record.
PF11, NEXT or In single record display mode: displays a
PF23 RIGHT record nearer to the bottom of the dataset.
In multi-record display mode: displays fields
nearer to the end of the record.
PF12, RETRIEVE Recalls previously-entered commands to the
PF24 command line.

Type PFSHOW at the COMMAND ===> prompt, and then press Enter.
InSync displays the function key settings.

INSYNC HANDBOOK
16 CHAPTER 1 ■
Introduction ■
Is online help available?

Is online help available?


InSync provides comprehensive online assistance. The HELP
command (or PF1) displays tutorial information for the current panel,
and all of the help text can be reached from the TUTORIAL option on
InSync’s Primary Options menu.

How do I tell what’s gone wrong?


If you make a mistake, InSync displays an on-screen message:
InSync ----------------- BROWSE - Dataset Specification -------- Invalid value
COMMAND ===>

DATA FILE:
“OK” is not a valid DATASET NAME ===> 'INO.TRG.DEM.CUST.ESDS'
response, and VOLUME SERIAL ===> (If not cataloged)
generates a brief Use subset selection criteria ===> OK (YES, NO)
error message Use existing subset selection criteria ===> NO (YES, NO)
Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)

COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY


ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===>

Additional information is only a keystroke away:


InSync ----------------- BROWSE - Dataset Specification -------- Invalid value
COMMAND ===>

DATA FILE:
DATASET NAME ===> 'INO.TRG.DEM.CUST.ESDS'
VOLUME SERIAL ===> (If not cataloged)

Use subset selection criteria ===> OK (YES, NO)


Use existing subset selection criteria ==
Use COBOL or PL/1 layout to format display == Enter one of the listed O)
values.
Press PF1 to COPY LIBRARY OR STORED SUBSET SELECTION CRITE
display additional ISPF: PROJECT ===>
guidance in a GROUP ===>
TYPE ===>
popup window MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===>

INSYNC HANDBOOK
What programming languages are supported?
17

What programming languages are supported?


In unformatted mode, InSync displays data in character and
hexadecimal form, and so is language-independent.
In formatted mode, you can specify COBOL or PL/I record layouts
which describes the data; InSync uses those layouts to present each
record as a structured collection of named data types.

What file structures are supported?


InSync supports all common z/OS dataset architectures:

sequential datasets (QSAM and BSAM)

partitioned datasets (PDS and PDSE)
■ BDAM datasets

VSAM datasets (KSDS, ESDS and RRDS, also linear datasets with
4Kb records)
■ HFS files
Additionally, its optional components work with:

DB2 tables and rows
■ IMS databases and segments

INSYNC HANDBOOK
18 CHAPTER 1 ■
Introduction ■
What file structures are supported?

INSYNC HANDBOOK
19

CHAPTER 2

Chapter 2 Getting started

This chapter explains the basics of InSync, using the product to


browse the contents of a dataset. See:
■ ‘Where do I begin?’ on page 20

‘How do I browse the contents of a dataset?’ on page 21

‘How do I apply formatting to my displays?’ on page 26
■ ‘I’ve finished viewing the data: what now?’ on page 31

The material presented in the first few chapters of this handbook is


fully explained in the InSync for z/OS User Guide.

INSYNC HANDBOOK
20 CHAPTER 2 ■
Getting started ■
Where do I begin?

Where do I begin?
The InSync Primary Options menu, which provides access to the
online facilities, is usually invoked from an ISPF menu. You should
check with your System Administrator for instructions on the menu
option to select.
Alternatively, enter the following command on any ISPF command
line:
tso exec 'hlq.clist(insync00)'

where hlq is the high level qualifier of the location at which your site’s
InSync libraries have been installed.
NEW in 5.300 The Primary Options menu appears:
FIELDCOMPARE option
InSync ---------------- Data Manipulation Utility ---------------- Ver version
OPTION ===>

0 PARMS - Specify InSync parameters


1 BROWSE - Dataset browse
2 EDIT - Dataset edit
3 PRINT - Dataset print
4 LAYOUT - COBOL or PL/1 record layout processing
5 CREATE - Formatted or Unformatted record create
6 EXTRACT - Create extract dataset
7 TABLES - Define complex record layout information
8 FIELDMAP - Map fields to new record layout
9 FIELDCOMPARE - Dataset field compare
10 COMPARE - Dataset record compare
11 DATEAGE - Adjust dates within datasets
U UTILITIES - InSync utilities
B BATCH - InSync batch functions
DB2 DB2 - InSync for DB2
IMS IMS - InSync for IMS
T TUTORIAL - Display information about InSync

Software Excellence from Macro 4


(c) Copyright Macro 4 1991-2004. All rights reserved

To select an option, type its number (for example, 1 for BROWSE) at


the OPTION ===> prompt, and then press Enter.

The ‘DB2’ and ‘IMS’ lines will be present only if your installation
includes the options for InSync to work with those IBM database
products.

If they are available, you can start the DB2 and IMS options from any
ISPF command line:
tso exec 'hlq.clist(insync)' 'DB2'
tso exec 'hlq.clist(insync)' 'IMS'

For more information, see ‘DB2 and IMS databases’ on page 101.

INSYNC HANDBOOK
How do I browse the contents of a dataset?
21

How do I browse the contents of a dataset?


InSync transparently handles a wide variety of data storage formats.
We use the word ‘dataset’ to mean a sequential dataset, a PDS
member, or any other supported file format.

Select the BROWSE option from the InSync Primary Options menu;
the Dataset Specification panel appears:
InSync ----------------- BROWSE - Dataset Specification ---------------- InSync
COMMAND ===>
This is the name of DATA FILE:
the dataset to be DATASET NAME ===> 'INO.TRG.DEM.CUST.KSDS'
viewed VOLUME SERIAL ===> (If not cataloged)

Use subset selection criteria ===> NO (YES, NO)


Use existing subset selection criteria ===> NO (YES, NO)
Use COBOL or PL/1 layout to format display ===> NO (COB, PLI, YES, NO)

COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY


ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===>

Type within single quotes '...' the name of a dataset to be viewed, and
leave the other fields at their default values as shown.

If you wish InSync to automatically prefix dataset names with your


TSO userid, omit the single quotes.

Some of the fields on the panel may already contain data, because
InSync remembers most panel settings from one session to the next.

Press Enter.
InSync BROWSE - INO.TRG.DEM.CUST.KSDS ------------------------ Row 1 to 2 of 2
COMMAND ===> SCROLL ===> PAGE

KSDS RKP 0 KEYLEN 4 Data length 80 - CAPS OFF


This is record 1
of a KSDS 1 2 3 4 5
POSN 12345678901234567890123456789012345678901234567890
member with
1 CHAR 0101BER951002Andrew Cronk The Mount Fincham
80-character 51 CHAR pstead Berkshire .f.....
records ******************************* Bottom of data ********************************

The first record in the dataset is displayed.

This is InSync’s default ‘single-record’ display mode. You can easily


switch to a multi-record display mode (see ‘Can I see more than one
record at a time?’ on page 24), and you can make multi-record mode
the default (see ‘What other parameters can I adjust?’ on page 45).

INSYNC HANDBOOK
22 CHAPTER 2 ■
Getting started ■
How do I browse the contents of a dataset?

The data is shown in character representation, with “.” standing for an


unprintable character. To see what those periods represent, you can
display their hexadecimal values. Type HEX (or HEX ON) at the
COMMAND ===> prompt, and then press Enter:

InSync BROWSE - INO.TRG.DEM.CUST.KSDS ------------------------ Row 1 to 2 of 2


COMMAND ===> SCROLL ===> PAGE

KSDS RKP 0 KEYLEN 4 Data length 80 - CAPS OFF

1 2 3 4 5
POSN 12345678901234567890123456789012345678901234567890

1
CHAR 0101BER951002Andrew Cronk The Mount Fincham
ZONE FFFFCCDFFFFFFC9898A4C9999444E884D9A9A444444C898889
NUMR 01012599510021549560396520003850464530000006953814
+---------+---------+---------+---------+---------+
51 CHAR pstead Berkshire .f.....
ZONE 9AA88844C899A88984444440800007
NUMR 723514002592289950000001600F05
+---------+---------+---------+---------+---------+
******************************* Bottom of data ********************************

To revert to the character-only representation, type HEX OFF at the


COMMAND ===> prompt, and then press Enter.

From now on, we’ll shorten a phrase like “type HEX OFF at the
COMMAND ===> prompt, and then press Enter” to just “use the
HEX OFF command”.

How do I view the next records?


To scroll forward through the records in the dataset, use the NEXT
command; alternatively, press PF11. When you try to scroll past the
end of the dataset, InSync displays a message:
InSync BROWSE - INO.TRG.DEM.CUST.KSDS ------------------------ End of dataset
COMMAND ===> SCROLL ===> PAGE

Error and warning KSDS RKP 0 KEYLEN 4 Data length 80 - CAPS OFF
messages appear 1 2 3 4 5
here POSN 12345678901234567890123456789012345678901234567890

1 CHAR 0198ESS950805Neep Ipswich Road Colches


51 CHAR ter Essex .f.....
******************************* Bottom of data ********************************

To scroll backward towards the first record, use the PREVIOUS


command, or press PF10.

INSYNC HANDBOOK
How do I browse the contents of a dataset?
23

Can I go directly to a specific record?


In a sequential dataset, or a ESDS or RRDS, you can use the
RECORD number command to jump to a specific record by number.
For example, to view the first record:
RECORD 1

In a KSDS, you can use the KEY value command to jump to a record
with a specific key (or partial key). For example:
KEY ABC
KEY 'ABC'
KEY X'414243'

In an ESDS, you can use the RBA value command to jump to a record
with a specific Relative Byte Address. For example:
RBA X'4142434445464748'

Another option is to use the FIND command, described in ‘Can I


search for specific values?’ on page 44.

How do I view the rest of a long record?


If a record is too long to fit on the screen, InSync displays the start of
the data. To scroll forward through the data in the record, use the
DOWN command, or press PF8:

InSync BROWSE - ASP.OUT.SPUFI ------------------------------ Row 1 to 16 of 82


COMMAND ===> SCROLL ===> PAGE

DSORG PS RECFM VB Rec# 1 Dataln 4088 - CAPS ON RDW OFF

1 2 3 4 5
POSN 12345678901234567890123456789012345678901234567890
1 CHAR ---------+---------+---------+---------+---------+
51 CHAR ---------+---------+---------+---------+---------+
101 CHAR ---------+---------+---------+---------+---------+
151 CHAR ---------+---------+---------+---------+---------+
201 CHAR ---------+---------+---------+---------+---------+
251 CHAR ---------+---------+---------+---------+---------+
301 CHAR ---------+---------+---------+---------+---------+
351 CHAR ---------+---------+---------+---------+---------+
401 CHAR ---------+---------+---------+---------+---------+
451 CHAR ---------+---------+---------+---------+---------+
501 CHAR ---------+---------+---------+---------+---------+
551 CHAR ---------+---------+---------+---------+---------+
601 CHAR ---------+---------+---------+---------+---------+
651 CHAR ---------+---------+---------+---------+---------+
701 CHAR ---------+---------+---------+---------+---------+
751 CHAR ---------+---------+---------+---------+---------+

To scroll backward towards the start of the record, use the UP


command, or press PF7.

INSYNC HANDBOOK
24 CHAPTER 2 ■
Getting started ■
How do I browse the contents of a dataset?

Can I see more than one record at a time?


To view as many records as will fit on the screen, with each record
occupying a single line, use the FS (or FS ON) command; “FS” stands
for “full-screen”:
InSync BROWSE - INO.TRG.DEM.CUST.KSDS ---------------------------- COLS 1 - 80
COMMAND ===> SCROLL ===> PAGE
KSDS RKP 0 KEYLEN 4 LRECL 80 - CAPS OFF

0101BER951002Andrew Cronk The Mount Finchampstead Berkshire .f.....


0103SUR901212Barons BMW 21 Farnham Rd Farnborough Surrey .......
0108NOR900417Loomies Ltd. 29 Dorcester RdNorwich Norfolk .f.....
0110DOR950805Tylor's 112 Foxrun Dorcester Dorset .......
0112SUR890401Coombs Cars 34 Acacia Ave Guildford Surrey ......&
0113BER910301Coopers BMW Caversham Park Reading Berkshire .f....&
0114SUR910301Coopers RJ Riverside Thames Ditton Middlesex .......
0120MID950805Bernstein BMW 9 Turnhill Dr Wolverhampton Midlands ..e....
0123SOM900202Mitchell Motor 12 Sky Drive Yeovil Somerset .&&....
0126YOR950805S. Murhpy Fairgrounds Sheffield Yorkshire ..e...e
0132YOR950805Wheathley Willow Tree Rd Doncaster Yorkshire .......
0139CES950805J.Honeywell 72 Butterfly RdChester Cheshire ..e...&
0144MAN950805Williams 29 Oxbow Road Oxted Manchester .f.....
0150YOR950805Malton Motors 4 Wheel Drive Malton Yorkshire .f.....
0155LOT950805Dunedin Cars 19 Seafield Rd Edinburgh Lothian .......
0158LON950805Holland Park Holland Park Shepherds Bush London .......
0160TAY950805Mill Garages Ryhope Road Sunderland Tayside .......
0163STR950805Douglas Park 18 Bothwell Rd Hamilton Strathclyde .......
0164GRA950805JCL BMW House 150 Gray StreetAberdeen Grampian ..-....
0169LEI950805Autotecnic 33 Parker DriveLeicester Leicestershire ..&....

The data is shown in character representation, with “.” standing for an


unprintable character. To display the hexadecimal representation (in
which each record occupies three lines plus a separator), use the HEX
(or HEX ON) command:
InSync BROWSE - INO.TRG.DEM.CUST.KSDS ---------------------------- COLS 1 - 80
COMMAND ===> SCROLL ===> PAGE
KSDS RKP 0 KEYLEN 4 LRECL 80 - CAPS OFF
------------------------------------------------------------------------------
0101BER951002Andrew Cronk The Mount Finchampstead Berkshire .f.....
FFFFCCDFFFFFFC9898A4C9999444E884D9A9A444444C8988899AA88844C899A88984444440800007
01012599510021549560396520003850464530000006953814723514002592289950000001600F05
------------------------------------------------------------------------------
0103SUR901212Barons BMW 21 Farnham Rd Farnborough Surrey .......
FFFFEEDFFFFFFC8999A4CDE44444FF4C8998894D844C8998999A884444EA998A4444444440100009
01032499012122196520246000002106195814094006195269647800002499580000000001300F00
------------------------------------------------------------------------------
0108NOR900417Loomies Ltd. 29 Dorcester RdNorwich Norfolk .f.....
FFFFDDDFFFFFFD99988A4DA84444FF4C9988AA894D8D99A88844444444D998999444444440800002
010856990041736649520334B0002904693523590945696938000000005696632000000002600F13
------------------------------------------------------------------------------
0110DOR950805Tylor's 112 Foxrun Dorcester Dorset .......
FFFFCDDFFFFFFEA9997A44444444FFF4C9A9A944444C9988AA89444444C99A8A4444444440370007
011046995080538369D2000000001120667945000004693523590000004692530000000002500F05
------------------------------------------------------------------------------
0112SUR890401Coombs Cars 34 Acacia Ave Guildford Surrey ......&
FFFFEEDFFFFFFC9998A4C89A4444FF4C888884CA844CA8988998444444EA998A4444444440100005
01122498904013664220319200003401313910155007493466940000002499580000000002000F00

To revert to the character-only representation, use the HEX OFF


command. To return to single-record display, use the FS OFF
command.

INSYNC HANDBOOK
How do I browse the contents of a dataset?
25

In full-screen mode, how do I navigate through my data?


To scroll forward (towards the last record) and backward (towards the
first record), use the DOWN and UP commands. To scroll sideways
within the displayed records, use the RIGHT (or NEXT) and LEFT (or
PREVIOUS) commands. These commands are the same as for ISPF.
This is the opposite to the usage in single-record mode, but consistent
if you consider InSync as presenting a moveable window onto your
data.

In full-screen mode:

Start of file
UP

PREV NEXT

DOWN

End of file

In single-record mode:

Start of file End of file


UP

PREV NEXT

DOWN

Think of full-screen mode as offering a window into a dataset ‘object’,


and of single-record mode as a window into a record ‘object’.
UP and DOWN consistently move the window within the current
object; for example, UP in full-screen mode moves towards the start
of the dataset, and UP in single-record mode moves towards the start
of the record.

INSYNC HANDBOOK
26 CHAPTER 2 ■
Getting started ■
How do I apply formatting to my displays?

How do I apply formatting to my displays?


Record data displayed in character and hexadecimal representation
can be difficult to interpret, so InSync offers you another capability:
formatted display mode, in which the data is presented in the logical
structure defined by a COBOL or PL/I record layout. For example,
suppose that you have this COBOL record layout defined as a
member in a copybook library:
01 DEALER.
05 CUSTNO PIC 9(4).
05 LOCATN PIC X(3).
05 STDATE PIC 9(6).
05 NAME PIC X(15).
05 ADDRESS1 PIC X(15).
05 ADDRESS2 PIC X(15).
05 ADDRESS3 PIC X(15).

To display records which conform to that layout, select the BROWSE


option from the InSync Primary Options menu; the Dataset
Specification panel appears:
InSync ----------------- BROWSE - Dataset Specification ---------------- InSync
COMMAND ===>

DATA FILE:
DATASET NAME ===> 'INO.TRG.DEM.CUST.KSDS'
VOLUME SERIAL ===> (If not cataloged)

Use subset selection criteria ===> NO (YES, NO)


Use existing subset selection criteria ===> NO (YES, NO)
Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)

This is where you COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY
ISPF: PROJECT ===>
choose formatted GROUP ===>
display mode TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

This is the name of CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)
the copybook OTHER DATASET ===> 'INO.TRG.DEM.CPYBOOKS(ALLCUST)'

Type within single quotes '...' the name of a dataset to be viewed, type
YES for Use COBOL or PL/I layout to format display, and supply
the details of the copybook member, also within single quotes.

When you type YES, InSync inspects the copybook and attempts to
deduce whether it’s written in COBOL or PL/I. You can tell InSync
which language applies by typing C[OB] or P[LI].

Press Enter. The first record in the dataset is displayed:

INSYNC HANDBOOK
How do I apply formatting to my displays?
27

InSync BROWSE - INO.TRG.DEM.CUST.KSDS -----------------------------------------


COMMAND ===> SCROLL ===> PAGE

KSDS RKP 0 KEYLEN 4 Data length 80 - CAPS OFF


WARNING - data length (80) > COPY layout length (73)
LVL FIELD NAME FORMAT POS DATA
********************************** TOP OF DATA ********************************
01 DEALER G 1
05 CUSTNO Z 4 1 0101
05 LOCATN C 3 5 BER
05 STDATE Z 6 8 951002
05 NAME C 15 14 Andrew Cronk
05 ADDRESS1 C 15 29 The Mount
05 ADDRESS2 C 15 44 Finchampstead
05 ADDRESS3 C 15 59 Berkshire
********************************* BOTTOM OF DATA ******************************

Code letters define data storage format

Number of display characters used by field

Start position of field within record

InSync uses the information from the copybook – the name, data type
and length of each field – to apply formatting to the data, making it
much easier to read.

What do the Format codes mean?


When displaying the format of each field, InSync uses its own code
letters to tell you how the data is stored, rather than language-specific
words like BINARY, COMP, DECIMAL and DISPLAY. Commonly-
encountered codes include:

Code COBOL equivalents PL/I equivalents

B BINARY, COMP, COMP-4 BINARY, OFFSET

C DISPLAY CHARACTER, PICTURE

P COMP-3, PACKED-DECIMAL DECIMAL

Z DISPLAY (zoned decimal) —

Also, code “G” denotes a Group item.

Can I see more than one record at a time?


To view as many records as will fit on the screen, with each record
occupying a single line, use the TFORMAT (or TFORMAT ON)
command; “TFORMAT” stands for “tabular format”:

INSYNC HANDBOOK
28 CHAPTER 2 ■
Getting started ■
How do I apply formatting to my displays?

InSync BROWSE - INO.TRG.DEM.CUST.KSDS ---------------------------- COLS 1 - 80


COMMAND ===> SCROLL ===> PAGE
This is the field’s KSDS RKP 0 KEYLEN 4 LRECL 80 - CAPS OFF
CUSTNO LOCATN STDATE NAME ADDRESS1 ADDRESS2
storage location in Z(4) (1-4) C(3) (5-7) Z(6) (8-13) C(15) (14-28) C(15) (29-43) C(15) (44
the record -KEY------ ---------- ----------- --------------- --------------- ---------
********************************* TOP OF DATA *********************************
0101 BER 951002 Andrew Cronk The Mount Finchamps
0103 SUR 901212 Barons BMW 21 Farnham Rd Farnborou
0108 NOR 900417 Loomies Ltd. 29 Dorcester Rd Norwich
0110 DOR 950805 Tylor's 112 Foxrun Dorcester
0112 SUR 890401 Coombs Cars 34 Acacia Ave Guildford
0113 BER 910301 Coopers BMW Caversham Park Reading
0114 SUR 910301 Coopers RJ Riverside Thames Di
0120 MID 950805 Bernstein BMW 9 Turnhill Dr Wolverham
0123 SOM 900202 Mitchell Motor 12 Sky Drive Yeovil
0126 YOR 950805 S. Murhpy Fairgrounds Sheffield
0132 YOR 950805 Wheathley Willow Tree Rd Doncaster
0139 CES 950805 J.Honeywell 72 Butterfly Rd Chester
0144 MAN 950805 Williams 29 Oxbow Road Oxted
0150 YOR 950805 Malton Motors 4 Wheel Drive Malton
0155 LOT 950805 Dunedin Cars 19 Seafield Rd Edinburgh
0158 LON 950805 Holland Park Holland Park Shepherds
0160 TAY 950805 Mill Garages Ryhope Road Sunderlan

To return to single-record display, use the TFORMAT OFF command.

So, there are four ways of viewing my data?


That’s correct. Your two independent choices are:

unformatted (character/hexadecimal) or formatted (using the
logical structure defined by a COBOL or PL/I copybook);
■ single-record or multi-record.
Here’s a summary of how you move between the different display
modes:

BROWSE
(Note 1) Dataset (Note 1)
Specification
panel

single-record FORMAT single-record


unformatted (Note 2) formatted

FS ON FS ON TFORMAT ON
(Note 3)

multi-record multi-record
unformatted formatted
(full-screen) FS ON (tabular)
(Note 4)

INSYNC HANDBOOK
How do I apply formatting to my displays?
29

Notes
1 If on the Dataset Specification panel you type YES for Use
COBOL or PL/I layout to format display then the data is
initially displayed in single-record formatted mode; you can opt
instead to always start in multi-record formatted (tabular) mode –
see ‘What other parameters can I adjust?’ on page 45. Similarly, if
you type NO then the data is initially displayed in single-record
unformatted mode, but you can opt instead to always start in
multi-record unformatted (full-screen) mode.
2 Use FORMAT to display a panel where you can specify the name
of a COBOL or PL/I record layout defined in a copybook library.
Once you’ve specified a format member (either here or on the
Dataset Specification panel), use FORMAT OFF and FORMAT ON
to switch between unformatted and formatted display modes.
3 The arrows show the effects of using the commands with an ON
suffix; an OFF suffix works in the opposite direction.
4 The FS ON command remembers your current mode, and reverts
to that mode when you use FS OFF, except that a previous tabular
mode instead reverts to single-record formatted mode.

In formatted mode, how do I navigate through my data?


Navigation in formatted mode is exactly the same as in unformatted
mode:

In single-record In multi-record
To display this
displays, use displays, use

the previous record(s) PREVIOUS (PF10) UP (PF7)

the next record(s) NEXT (PF11) DOWN (PF8)

the start of file PREVIOUS MAX UP MAX

the end of file NEXT MAX DOWN MAX

the previous data in current UP (PF7) LEFT (PF10)


record(s)
the next data in current DOWN (PF8) RIGHT (PF11)
record(s)
the start of current record(s) UP MAX LEFT MAX

the end of current record(s) DOWN MAX RIGHT MAX

NEXT and RIGHT are synonyms, as are PREVIOUS and LEFT.

INSYNC HANDBOOK
30 CHAPTER 2 ■
Getting started ■
How do I apply formatting to my displays?

In formatted mode, you can also use the LOCATE fieldname


command to display the part of a record containing a specified field.

How exactly do I specify my record layout?


InSync can handle COBOL and PL/I layouts which are defined either
as sequential files or, much more commonly, as PDS members. You
type YES for Use COBOL or PL/I layout to format display on the
Dataset Specification panel, and then use these fields:
InSync ----------------- BROWSE - Dataset Specification ---------------- InSync
COMMAND ===>

DATA FILE:
DATASET NAME ===> 'INO.TRG.DEM.CUST.KSDS'
VOLUME SERIAL ===> (If not cataloged)

Use subset selection criteria ===> NO (YES, NO)


Use existing subset selection criteria ===> NO (YES, NO)
Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)

COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY


ISPF: PROJECT ===>
Use either OTHER GROUP ===>
DATASET, CONC. TYPE ===>
LIBRARY LIST or MEMBER ===> (Blank or pattern for member selection list)
the four ISPF fields CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)
to define the
copybook OTHER DATASET ===> 'INO.TRG.DEM.CPYBOOKS(ALLCUST)'

InSync provides two basic mechanisms.


1 In the ‘standard’ method, you specify the sequential dataset or
PDS member using either the ISPF fields or the Other Dataset
field.
For a sequential file, give its full name – for example,
MY.LAYOUT.RECTYP2 – and InSync uses that layout.
For a PDS, you can choose to
■ give the full name – for example,
MY.LAYOUT.DEFS(RECTYP2) – and InSync uses that layout

use a pattern for the member name – for example,
MY.LAYOUT.DEFS(RECTYP*) – and InSync presents a list of
PDS members matching the pattern, or

omit the member name entirely – for example,
MY.LAYOUT.DEFS – and InSync presents a list of all members
in that library.
In the second and third cases, you can select one of the members
from the list by typing an “S” alongside its name.
2 In the ‘short-cut’ method, you type just a PDS member name in
the Concatenated Library List field. InSync presents your
personal list of PDS libraries (which may be amended), then
searches those libraries and uses the first occurrence of the
specified member name that it finds.

INSYNC HANDBOOK
I’ve finished viewing the data: what now?
31

For an even faster response, type NO in the Display field. InSync


presents the first record immediately, omitting the display of your
personal list of PDS libraries.

When evaluating the various Library fields, InSync looks for an entry
first in Other Dataset, then in Concatenated Library List, then
finally in the ISPF fields.
If you type NO for Use COBOL or PL/I layout to format display
then the data is displayed in unformatted mode. To apply formatting
at this stage, without returning to the Dataset Specification panel, use
the FORMAT command to present the Copy Library panel:
InSync ---------------------- FORMAT Copy Library ---------------------- InSync
COMMAND ===>

COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.CPYBOOKS(ALLCUST)'

Formatted Display Language ===> COB (Blank, Cob or Pli)

The fields on this panel are evaluated in exactly the same way as the
equivalent fields on the Dataset Specification panel. If you leave the
Formatted Display Language field empty, InSync inspects the
copybook and attempts to deduce whether it’s written in COBOL or
PL/I. You can tell InSync which language applies by typing C[OB] or
P[LI].
Press Enter. The record you were previously viewing is redisplayed,
now in formatted mode.

I’ve finished viewing the data: what now?


Use the END or CANCEL commands (in Browse, they do the same
thing), or press PF3:
1 to return from browsing the data to the Dataset Specification
panel,
2 to return from there to the Primary Options menu, and
3 to exit completely from InSync.

INSYNC HANDBOOK
32 CHAPTER 2 ■
Getting started ■
Did you know?

Did you know?


■ BROWSE displays the records in a specified dataset.

Optionally, InSync provides a formatted display of the data if you
provide the name of a COBOL or PL/I copybook. Otherwise, the
data is presented in unformatted, character-based representation,
without any indication of individual fields.

You can specify a pattern using “%” or “*”, and then select the
required item from the list that’s presented, when selecting a
dataset or copybook.

Use FORMAT OFF to switch from a formatted to an unformatted
display, FORMAT ON to reapply the formatting. Use FORMAT on
its own if you want to specify the name of a different COBOL or
PL/I copybook.
■ Use FS or FS ON to invoke full-screen display, showing multiple
records in unformatted mode.

In a formatted display, use TFORMAT or TFORMAT ON to show
multiple records in formatted mode.

In an unformatted display, use HEX or HEX ON to show
hexadecimal values as well as characters.
■ Use PREVIOUS and NEXT in single-record displays to scroll
between records; use UP and DOWN for the same thing in multi-
record displays.
■ Use UP and DOWN in single-record displays to scroll within a
record; use PREVIOUS and NEXT for the same thing in multi-
record displays.

Use END (PF3) when you’ve finished browsing.

INSYNC HANDBOOK
33

CHAPTER 3

Chapter 3 Controlling what’s


displayed

The previous chapter talked about the four basic display modes:
formatted/unformatted and single-record/multi-record. InSync offers
you several ways of fine-tuning the amount of data that’s displayed,
and the way in which it is presented. See:

‘What are “subset selection criteria”?’ on page 34
■ ‘Can I suppress some of the fields?’ on page 41

‘Can I search for specific values?’ on page 44

‘What other parameters can I adjust?’ on page 45

INSYNC HANDBOOK
34 CHAPTER 3 ■
Controlling what’s displayed ■
What are “subset selection criteria”?

What are “subset selection criteria”?


You don’t necessarily need to display all of the records in a dataset:
you can choose to work with only a subset. One way is to sample the
data numerically – for example, viewing every tenth record – but the
more usual approach is to select records based on their contents. That
is, you select for display only those records where one or more of the
fields contain values that you specify.

BROWSE
CARS display -
dataset all cars

Subset of CARS dataset


where MANF field is 'FORD'

BROWSE
CARS display -
dataset FORD cars
only

Use of a subset causes the selected records to be copied into


temporary storage, causing a slight performance degradation
compared with browsing the complete dataset in place.

You use these fields on the Dataset Specification panel:


InSync ----------------- BROWSE - Dataset Specification ---------------- InSync
COMMAND ===>

DATA FILE:
DATASET NAME ===> 'INO.TRG.DEM.CUST.KSDS'
VOLUME SERIAL ===> (If not cataloged)

Type YES and NO Use subset selection criteria ===> YES (YES, NO)
Use existing subset selection criteria ===> NO (YES, NO)
to define new Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)
criteria
COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.CPYBOOKS(ALLCUST)'

Press Enter. The Subset Selection Criteria panel appears:

INSYNC HANDBOOK
What are “subset selection criteria”?
35

InSync SUBSET SELECTION - INO.TRG.DEM.CUST.KSDS -------------------------------


COMMAND ===> SCROLL ===> PAGE

Number of records to skip before sample ===> 0 (Default = 0)


Use these values Number of records per sample ===> 0 (Default = 0, ALL)
to create a subset Maximum number of records to be selected ===> 0 (Default = 0, ALL)
of records by Display Save Subset Selection criteria panel ===> YES (YES, NO)
numeric sampling
Enter record selection criteria - CAPS OFF

C LVL FIELD NAME FORMAT BOOL CN DATA


********************************** TOP OF DATA ********************************
01 DEALER G
Use this area to 05 CUSTNO Z 4
create a subset of 05 LOCATN C 3
records by testing 05 STDATE Z 6
05 NAME C 15
values in the 05 ADDRESS1 C 15
records 05 ADDRESS2 C 15
05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

If you don’t want to sample the data numerically, leave the first three
fields at their defaults values of zero. Type YES for Display Save
Subset Selection panel; that panel will give you an opportunity to
save your settings for later reuse. Below those fields is a representation
of the record format, only without any data values. Use the area to the
right of the field details to define the criteria by which records are to
be selected. For example, to select only those records where CUSTNO
is greater than 999:
C LVL FIELD NAME FORMAT BOOL CN DATA
********************************** TOP OF DATA ********************************
The Condition can 01 DEALER G
05 CUSTNO Z 4 GT 999
be EQ, NE, GT, LT, 05 LOCATN C 3
GE or LE. For a 05 STDATE Z 6
character field, 05 NAME C 15
05 ADDRESS1 C 15
you can also use 05 ADDRESS2 C 15
CO (contains) 05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

You can specify compound conditions applied to a field. To do so,


you first need to insert a continuation line after the field in question,
using the I line command:
C LVL FIELD NAME FORMAT BOOL CN DATA
********************************** TOP OF DATA ********************************
01 DEALER G
I 05 CUSTNO Z 4 GT 999
Use the I line 05 LOCATN C 3
command to add a 05 STDATE Z 6
05 NAME C 15
line, also D to 05 ADDRESS1 C 15
delete and R to 05 ADDRESS2 C 15
replicate (copy) 05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

Press Enter. The panel is redisplayed with the addition of an AND


keyword following the existing condition:

INSYNC HANDBOOK
36 CHAPTER 3 ■
Controlling what’s displayed ■
What are “subset selection criteria”?

C LVL FIELD NAME FORMAT BOOL CN DATA


********************************** TOP OF DATA ********************************
01 DEALER G
05 CUSTNO Z 4 GT 999
AND
05 LOCATN C 3
05 STDATE Z 6
05 NAME C 15
05 ADDRESS1 C 15
05 ADDRESS2 C 15
05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

Type the remainder of the condition after the AND keyword:


C LVL FIELD NAME FORMAT BOOL CN DATA
********************************** TOP OF DATA ********************************
01 DEALER G
05 CUSTNO Z 4 GT 999
AND LE 9999
05 LOCATN C 3
05 STDATE Z 6
05 NAME C 15
05 ADDRESS1 C 15
05 ADDRESS2 C 15
05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

If appropriate, you can overtype the AND with an OR:


C LVL FIELD NAME FORMAT BOOL CN DATA
********************************** TOP OF DATA ********************************
01 DEALER G
05 CUSTNO Z 4 GT 999
OR EQ 1
05 LOCATN C 3
05 STDATE Z 6
05 NAME C 15
05 ADDRESS1 C 15
05 ADDRESS2 C 15
05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

In addition to conditions applied to a single field, you can also specify


compound conditions linking two or more different fields. For
example:
C LVL FIELD NAME FORMAT BOOL CN DATA
********************************** TOP OF DATA ********************************
The required value 01 DEALER G
05 CUSTNO Z 4 GT 999
can be a number, AND LE 9999
an unquoted 05 LOCATN C 3
character string, 05 STDATE Z 6
05 NAME C 15 CO SMITH
or a quoted hex 05 ADDRESS1 C 15
value X'...' 05 ADDRESS2 C 15
05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

Press Enter. The panel is redisplayed with the addition of an AND


keyword linking the two conditions:

INSYNC HANDBOOK
What are “subset selection criteria”?
37

C LVL FIELD NAME FORMAT BOOL CN DATA


********************************** TOP OF DATA ********************************
AND/OR on same 01 DEALER G
05 CUSTNO Z 4 GT 999
line as a fieldname AND LE 9999
links conditions on 05 LOCATN C 3
two fields. AND/OR 05 STDATE Z 6
I 05 NAME C 15 AND CO SMITH
below a fieldname 05 ADDRESS1 C 15
links conditions on 05 ADDRESS2 C 15
that field 05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

Use the same technique to specify an OR condition on the second


field. For example, to select only those records where NAME contains
“SMITH” or “SMYTH” and CUSTNO is between 1000 and 9999:
C LVL FIELD NAME FORMAT BOOL CN DATA
********************************** TOP OF DATA ********************************
AND/OR on a field 01 DEALER G
05 CUSTNO Z 4 GT 999
binds more tightly AND LE 9999
than AND/OR 05 LOCATN C 3
between fields. 05 STDATE Z 6
05 NAME C 15 AND CO SMITH
Then, multiple OR CO SMYTH
AND/OR are 05 ADDRESS1 C 15
evaluated in order 05 ADDRESS2 C 15
05 ADDRESS3 C 15
from top to bottom ********************************* BOTTOM OF DATA ******************************

When your subset selection criteria are complete – and if you typed
YES for Display Save Subset Selection panel a couple of pages
back – you have an opportunity to save them:
InSync ----------------- Save Subset Selection criteria ---------------- InSync
COMMAND ===>

Do you wish to save subset selection criteria ===> NO (YES, NO)

Subset search description ===>


Save description in directory ===> YES (YES, NO)

ISPF SUBSET SELECTION CRITERIA LIBRARY:


PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===>

OTHER SUBSET SELECTION CRITERIA LIBRARY:


DATASET NAME ===>

LIBRARY OPTIONS:
Replace like named members ===> YES (YES, NO)

If you press Enter without changing anything, the criteria you have
defined are used to select the records for display, and then discarded.
If you think you may require to browse or edit the same subset of
records in the future, you can save the selection criteria in a dataset.

For temporary criteria, not worth saving, you could have bypassed
this panel by typing NO for Display Save Subset Selection panel.

INSYNC HANDBOOK
38 CHAPTER 3 ■
Controlling what’s displayed ■
What are “subset selection criteria”?

Type YES for Save subset selection criteria, provide a suitable


Subset search description, and type within single quotes '...' the
name of a dataset to hold the saved information:
InSync ----------------- Save Subset Selection criteria ---------------- InSync
COMMAND ===>
This is where you Do you wish to save subset selection criteria ===> YES (YES, NO)
finally choose to
save the selection Subset search description ===> DEALERS 1000-9999 NAMED SMITH
Save description in directory ===> YES (YES, NO)
criteria
ISPF SUBSET SELECTION CRITERIA LIBRARY:
Use either OTHER PROJECT ===>
GROUP ===>
DATASET or the TYPE ===>
four ISPF fields to MEMBER ===>
define the dataset
OTHER SUBSET SELECTION CRITERIA LIBRARY:
used to hold them DATASET NAME ===> 'INO.TRG.DEM.CRITLIB(SEL1)'

LIBRARY OPTIONS:
Replace like named members ===> YES (YES, NO)

When evaluating the various Library fields, InSync looks for an entry
first in Other Dataset, then in the ISPF fields.
Type YES for Replace like named members if you wish to
overwrite a previously-saved set of criteria. Type YES for Save
description in directory to replace PDS member statistics in the
library directory by the Subset search description that you’ve
specified (this will then be shown on InSync member list displays).
After the selection criteria have been saved, they are used to select the
records for display.

How do I re-use my saved subset selection criteria?


On the Dataset Specification panel, use these fields to display records
selected on the basis of saved subset selection criteria:
InSync ----------------- BROWSE - Dataset Specification ---------------- InSync
COMMAND ===>
This is the name of DATA FILE:
the dataset to be DATASET NAME ===> 'INO.TRG.DEM.CUST.KSDS'
viewed VOLUME SERIAL ===> (If not cataloged)

Type YES and YES Use subset selection criteria ===> YES (YES, NO)
Use existing subset selection criteria ===> YES (YES, NO)
to re-use existing Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)
criteria
COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY
ISPF: PROJECT ===>
Use either OTHER GROUP ===>
DATASET, CONC. TYPE ===>
LIBRARY LIST or MEMBER ===> (Blank or pattern for member selection list)
the four ISPF fields CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)
to define the saved
criteria dataset OTHER DATASET ===> 'INO.TRG.DEM.CRITLIB(SEL1)'

Formatting is controlled by the saved criteria, so this value is ignored

INSYNC HANDBOOK
What are “subset selection criteria”?
39

When evaluating the various Library fields, InSync provides the same
mechanisms as for a copy library – see ‘How exactly do I specify my
record layout?’ on page 30.
You can use the same saved criteria to view any dataset whose records
match the defined selection conditions.

Can I review my current criteria if I didn’t save them?


The SELECT command terminates the current Browse session and
redisplays the Subset Selection Criteria panel.

Can I use subset selection criteria in unformatted mode?


Yes: you use these fields on the Dataset Specification panel:
InSync ----------------- BROWSE - Dataset Specification ---------------- InSync
COMMAND ===>

DATA FILE:
DATASET NAME ===> 'INO.TRG.DEM.CUST.KSDS'
VOLUME SERIAL ===> (If not cataloged)

Type YES and NO Use subset selection criteria ===> YES (YES, NO)
Use existing subset selection criteria ===> NO (YES, NO)
to define new Use COBOL or PL/1 layout to format display ===> NO (COB, PLI, YES, NO)
criteria
COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.CRITLIB(SEL1)'

Press Enter. The Subset Selection Criteria panel appears:


InSync SUBSET SELECTION - INO.TRG.DEM.CUST.KSDS ------------ Row 1 to 10 of 15
COMMAND ===> SCROLL ===> PAGE

Number of records to skip before sample ===> 0 (Default = 0)


Use these values Number of records per sample ===> 0 (Default = 0, ALL)
to create a subset Maximum number of records to be selected ===> 0 (Default = 0, ALL)
of records by Display Save Subset Selection criteria panel ===> YES (YES, NO)
numeric sampling
Enter record selection criteria - CAPS OFF

1 2 3 4 5
C POSN LL CND 12345678901234567890123456789012345678901234567890 AND/OR
Use this area to CHAR AND
create a subset of CHAR AND
records by testing CHAR AND
CHAR AND
values in the CHAR AND
records CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND

INSYNC HANDBOOK
40 CHAPTER 3 ■
Controlling what’s displayed ■
What are “subset selection criteria”?

Because you’re working in unformatted mode, you can specify ‘fields’


only by their position and length. For example, to select only those
records where the fifteen-character field starting at position 59 equals
“Yorkshire”:
1 2 3 4 5
C POSN LL CND 12345678901234567890123456789012345678901234567890 AND/OR
Use ? here to 59 15 EQ CHAR Yorkshire AND
locate the value CHAR AND
anywhere in the CHAR AND
CHAR AND
record CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND

You can specify compound conditions, involving more than one field.
For example:
1 2 3 4 5
C POSN LL CND 12345678901234567890123456789012345678901234567890 AND/OR

59 15 EQ CHAR Yorkshire AND


1 4 GE CHAR 5000 AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND

Again, you can overtype an AND with an OR. In fact, the whole
process is similar to that already described in formatted mode, except
that you need to have the data’s position and hexadecimal storage
representation at your fingertips.
Hexadecimal display is available for dealing with unprintable
characters – use the HEX ON command:
C POSN LL CND 12345678901234567890123456789012345678901234567890 AND/OR

59 15 EQ CHAR Yorkshire AND


ZONE E999A8898444444
NUMR 869228995000000
+--------+---------+---------+---------+---------+
CHAR AND
ZONE
NUMR
+--------+---------+---------+---------+---------+

If you prefer, you can alternatively display the hexadecimal values as


a continuous sequence, flowing over two lines, by using the
HEX DATA command:

INSYNC HANDBOOK
Can I suppress some of the fields?
41

1 2 3 4 5
C POSN LL CND 12345678901234567890123456789012345678901234567890 AND/OR

59 15 EQ CHAR Yorkshire AND


HEX E8969992A288899985404040404040
HEX
+--------+---------+---------+---------+---------+
CHAR AND
HEX
HEX
+--------+---------+---------+---------+---------+

As before, use HEX OFF to revert to the character-only representation.


ENHANCED in 5.300 In character mode, the default format is CHAR but you can overtype
Can now specify
packed/binary numbers it with PACK (or P), BIN (or B) or HEX (or H). Enter the data as
in unformatted Search
and subset selection
decimal numbers in the case of P or B, or hex digits (an even number
panels of them) in the case of H. In the case of P and B, a sign may also be
keyed but any decimal points are ignored.

Can I suppress some of the fields?


Just as you don’t necessarily need to display all of the records in a
dataset, you can also choose not to display all of the fields in those
records. In formatted mode, use the EXCLUDE command to display
the Field Exclusion panel:
InSync EXCLUDE - INO.TRG.DEM.CUST.KSDS ----------------------------------------
COMMAND ===> SCROLL ===> PAGE

Indicate "X" or "XX" fields to be excluded from BROWSE option

SEQ LVL FIELD NAME FORMAT START LENGTH


********************************** TOP OF DATA ********************************
Use this area to 1 01 DEALER G 1 73
2 05 CUSTNO Z 4 1 4
mark excluded 3 05 LOCATN C 3 5 3
fields 4 05 STDATE Z 6 8 6
5 05 NAME C 15 14 15
6 05 ADDRESS1 C 15 29 15
7 05 ADDRESS2 C 15 44 15
8 05 ADDRESS3 C 15 59 15
********************************* BOTTOM OF DATA ******************************

You can mark fields which you wish to exclude from display:

individually, using the X line command alongside each field to
exclude, or
■ in a block, using the XX line command alongside the first and the
last fields in a block.

If you wish to view only a few of the fields, it might be quicker to


mark those fields which you wish to include; the I and II line
commands do this. Use either the X method or the I method, not both
together.

For example:

INSYNC HANDBOOK
42 CHAPTER 3 ■
Controlling what’s displayed ■
Can I suppress some of the fields?

InSync EXCLUDE - INO.TRG.DEM.CUST.KSDS ----------------------------------------


COMMAND ===> SCROLL ===> PAGE

Indicate "X" or "XX" fields to be excluded from BROWSE option

SEQ LVL FIELD NAME FORMAT START LENGTH


********************************** TOP OF DATA ********************************
Exclude an 1 01 DEALER G 1 73
2 05 CUSTNO Z 4 1 4
individual field x 3 05 LOCATN C 3 5 3
4 05 STDATE Z 6 8 6
5 05 NAME C 15 14 15
xx 6 05 ADDRESS1 C 15 29 15
Exclude a block of 7 05 ADDRESS2 C 15 44 15
three fields xx 8 05 ADDRESS3 C 15 59 15
********************************* BOTTOM OF DATA ******************************

Press Enter. The record you were previously viewing is redisplayed,


without the selected fields:
InSync BROWSE - INO.TRG.DEM.CUST.KSDS -----------------------------------------
COMMAND ===> SCROLL ===> PAGE

KSDS RKP 0 KEYLEN 4 Data length 80 - CAPS OFF

LVL FIELD NAME FORMAT POS DATA


********************************** TOP OF DATA ********************************
01 DEALER G 1
05 CUSTNO Z 4 1 0101
. . . . . . . . . . . FIELDS 3 - 3 NOT DISPLAYED . . . . . . . . . . .
Warning messages 05 STDATE Z 6 8 951002
05 NAME C 15 14 Andrew Cronk
about excluded . . . . . . . . . . . FIELDS 6 - 8 NOT DISPLAYED . . . . . . . . . . .
fields ********************************* BOTTOM OF DATA ******************************

InSync provides a warning message to show where fields have been


excluded from display. You can suppress those warning by using the
SHADOW OFF command:

InSync BROWSE - INO.TRG.DEM.CUST.KSDS ----------------------------- SHADOW OFF


COMMAND ===> SCROLL ===> PAGE

KSDS RKP 0 KEYLEN 4 Data length 80 - CAPS OFF

LVL FIELD NAME FORMAT POS DATA


********************************** TOP OF DATA ********************************
01 DEALER G 1
05 CUSTNO Z 4 1 0101
05 STDATE Z 6 8 951002
05 NAME C 15 14 Andrew Cronk
********************************* BOTTOM OF DATA ******************************

Use SHADOW ON to reinstate the warning messages. Use


EXCLUDE OFF to restore full field display, and EXCLUDE ON to return
to the partial display.

INSYNC HANDBOOK
Can I suppress some of the fields?
43

Can I exclude fields from a multi-record display?


Yes, the EXCLUDE command works in tabular format displays:
InSync BROWSE - INO.TRG.DEM.CUST.KSDS ---------------------------- COLS 1 - 80
COMMAND ===> SCROLL ===> PAGE
KSDS RKP 0 KEYLEN 4 LRECL 80 - CAPS OFF
CUSTNO STDATE NAME
Z(4) (1-4) Z(6) (8-13) C(15) (14-28)
-KEY------ ----------- ---------------
********************************* TOP OF DATA *********************************
0101 951002 Andrew Cronk
0103 901212 Barons BMW
0108 900417 Loomies Ltd.
0110 950805 Tylor's
0112 890401 Coombs Cars
0113 910301 Coopers BMW
0114 910301 Coopers RJ
0120 950805 Bernstein BMW
0123 900202 Mitchell Motor
0126 950805 S. Murhpy
0132 950805 Wheathley
0139 950805 J.Honeywell
0144 950805 Williams
0150 950805 Malton Motors
0155 950805 Dunedin Cars
0158 950805 Holland Park
0160 950805 Mill Garages

In this mode, there are no messages to warn about excluded fields;


you can spot them by the gaps in the displayed storage positions (for
example, the LOCATN field occupying positions 5-7 in the display
above).

Can I exclude records from a multi-record display?


Selection criteria enable you to display a subset of records, based on
testing of their field values. Having done that, you might wish to mark
additional records for exclusion from display (typically so that you
can focus more easily on those remaining). The bad news is: you can’t
do that in a Browse session. And the good news: you can do it by
starting an Edit session and specifying Edit in READ-ONLY mode –
see ‘I guess I start from the Primary Options menu?’ on page 50.

Can I keep a field always visible in a multi-record display?


Use the FREEZE ON fieldname command in a tabular format
displays; that column remains on-screen as you scroll LEFT or RIGHT
across the data in the records.

INSYNC HANDBOOK
44 CHAPTER 3 ■
Controlling what’s displayed ■
Can I search for specific values?

Can I search for specific values?


To locate records in the current dataset based on the contents of one
or more fields, use the FIND (or FIND NEXT) command; one of the
Search Criteria panels appears. In single- or multi record formatted
mode:
InSync FIND - INO.TRG.DEM.CUST.KSDS -------------------------------------------
COMMAND ===> SCROLL ===> PAGE

Enter search criteria for FIND option - CAPS OFF

C LVL FIELD NAME FORMAT BOOL CN DATA


********************************** TOP OF DATA ********************************
01 DEALER G
05 CUSTNO Z 4
05 LOCATN C 3
05 STDATE Z 6
05 NAME C 15
05 ADDRESS1 C 15
05 ADDRESS2 C 15
05 ADDRESS3 C 15
********************************* BOTTOM OF DATA ******************************

or in single-record unformatted mode:


InSync FIND - INO.TRG.DEM.CUST.KSDS ------------------------ Row 1 to 15 of 15
COMMAND ===> SCROLL ===> PAGE

Enter search criteria for FIND option - CAPS OFF

1 2 3 4 5
C POSN LL CND 12345678901234567890123456789012345678901234567890 AND/OR

CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
CHAR AND
******************************* Bottom of data *******************************

You use these panels in exactly the same way as the Subset Selection
Criteria panels – see ‘What are “subset selection criteria”?’ on
page 34. When you press Enter, InSync displays the next record
which matches your specified search criteria. Use the RFIND (Repeat
FIND) command to step through the dataset, finding each matching
record in turn.
To search backwards from your current position, use FIND PREV. To
search forwards from the start of the dataset, or backwards from the
end, use FIND FIRST or FIND LAST respectively.

INSYNC HANDBOOK
What other parameters can I adjust?
45

Can’t I just search for a string of characters?


Yes, of course.
ENHANCED in 5.300
Can use FINDSTR for In full-screen In all other
To display this
number searches mode, use modes, use

the next occurrence of FIND string FINDSTR string


string

the previous FIND string PREV FINDSTR string


occurrence of string PREV

the next occurrence of — FINDSTR string field


string in a specified
field

the previous — FINDSTR string field


occurrence of string in PREV
a specified field
the first occurrence of FIND string FIRST —
string

the last occurrence of FIND string LAST —


string

a packed number — FINDSTR P’n’


FINDSTR P’+n’
FINDSTR P’-n’

a binary number — FINDSTR B’n’


FINDSTR B’+n’
FINDSTR B’-n’

The string can be an unquoted character string, a quoted character


string, or a quoted hex value X'...'
ENHANCED in 5.300
U’...’ format of FINDSTR FIND searches are case-sensitive unless you’ve used CAPS ON.
for case-insensitive
search
FINDSTR searches are case-sensitive unless you’ve used the U’...’
format of the command.

What other parameters can I adjust?


Select the PARMS option from the InSync Primary Options menu, and
then the PROFILE option; the User Profile panel appears:

INSYNC HANDBOOK
46 CHAPTER 3 ■
Controlling what’s displayed ■
What other parameters can I adjust?

NEW in 5.300 InSync -------------------------- User Profile ------------------------- InSync


Profile option to COMMAND ===>
suppress positive signs
Y/N Y/N
Prefix dataset names ===> YES Always log EDIT changes ===> NO
Indent formatted displays ===> YES Always write audit report ===> NO
Display record descriptor word ===> NO Sound terminal alarm ===> YES
Display 88 level values ===> NO EDIT statistics on ===> NO
Hold vertical scroll position ===> NO EDIT exit confirmation ===> NO
Hold horizontal scroll position ===> NO Force TFMT (formatted) ===> NO
Force upper case on data input ===> NO Force FS (unformatted) ===> NO
Display leading zeros ===> NO Return to PDS member list ===> NO
Assume positive signed numerics ===> YES

VSAM data component node ===> DATA


VSAM index component node ===> INDEX
Work dataset node 1 ===> (default TSO prefix)
Work dataset node 2 ===> (default TSO userid)
Maximum Dataspace size ===> 0100 (Megabytes)
Maximum Dataset mask list ===> 0100

These are your personal parameter settings, preserved from one


InSync session to the next.

You can also use the PROFILE command to display this panel while in
the middle of a Browse or Edit session, but you can’t then change any
of the settings. However, you can alter some settings using
equivalent ON|OFF commands.

The following settings apply to those parts of InSync which you’ve


encountered so far.

Equivalent
Parameter Effect when YES
command
Prefix dataset Dataset names are automatically —
names
prefixed with your TSO prefix,
unless enclosed in single quotes '...'
Indent
formatted
Fieldnames in formatted displays are INDENT ON
displays indented for each increase in level
number
Display record
descriptor
The four-byte RDW value is included RDW ON
word when displaying variable-length
sequential records
Display 88
level values
COBOL 88 levels and their SHOW88 ON
associated data are included in
formatted displays
Hold vertical
scroll
The display is held at the same field VERTHOLD ON
position position when scrolling between
records
Hold
horizontal
The display is held at the same field HORIHOLD ON
scroll position when switching between
position
single- and multi-record displays

INSYNC HANDBOOK
What other parameters can I adjust?
47

Equivalent
Parameter Effect when YES
command
Force upper
case on data
Alphabetic text input is automatically CAPS ON
input folded to upper-case
Display Binary and packed decimal numbers —
leading zeros
are displayed with leading zeros
Assume The sign is only displayed for signed —
positive
signed numbers when it is negative
numerics

Sound terminal Error message display is —


alarm
accompanied by an audible alarm
Force TFMT A formatted Browse (or Edit) session —
(formatted)
automatically starts in multi-record
mode
Force FS An unformatted Browse (or Edit) —
(unformatted)
session automatically starts in multi-
record mode
Return to PDS After a Browse (or Edit) session of a —
member list
PDS member selected from a list, that
list is redisplayed

Some other commands which control the way data is displayed are:

EXPAND to display COBOL OCCURS groups (or PL/I arrays); use
COMPRESS to revert to the previous display.

COLWIDTH to fine-tune the column widths in a tabular display.
NEW in 5.300

SCROLL RIGHT to transfer the scrolling action of the LEFT/RIGHT
SCROLL RIGHT
command
keys (PF10/PF11) from the left-hand table to the right-hand table
in, for example, the DB2 Browse Table/View Selection panel.
You can use LAYOUT to display the currently-active COBOL or PL/I
record layout; use END to revert to the previous display. The layout
display is a convenient way of discovering field sequence numbers
and field lengths (including group fields). See also ‘How do I display
or print my record layout?’ on page 78.

INSYNC HANDBOOK
48 CHAPTER 3 ■
Controlling what’s displayed ■
Did you know?

Did you know?


■ Subset selection criteria enable you to work with a selected subset
of the records in a dataset, rather than with all records. You can
make the selection criteria as simple or as complex as you like.
■ You can use the criteria once only, or you can save them in a
dataset for reuse whenever necessary.

During a Browse (or Edit) session, you can use SELECT to revisit
and refine your current selection criteria.

In formatted mode, you can use EXCLUDE to mark fields for
exclusion from display.
■ Use FIND and FINDSTR to locate records for display based on
their contents.

From the Primary Options menu, select PARMS and then PROFILE
to view a range of personal parameter settings, which are
preserved from one InSync session to the next.

INSYNC HANDBOOK
49

CHAPTER 4

Chapter 4 Editing records in a


dataset

In this chapter, we explain how you can edit dataset records, using
panels very similar to those of the BROWSE option. See:
■ ‘I guess I start from the Primary Options menu?’ on page 50

‘What editing operations are available?’ on page 56

INSYNC HANDBOOK
50 CHAPTER 4 ■
Editing records in a dataset ■
I guess I start from the Primary Options menu?

I guess I start from the Primary Options menu?


That’s right. Select the EDIT option from the InSync Primary Options
menu; the Dataset Specification panel appears:
InSync ------------------ EDIT - Dataset Specification ----------------- InSync
COMMAND ===>

DATASET NAME ===> 'INO.TRG.DEM.CUST.KSDS'


VOLUME SERIAL ===> (If not cataloged)

Use subset selection criteria ===> NO (YES, NO)


Use existing subset selection criteria ===> NO (YES, NO)
Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)
The panel is Log dataset changes ===> NO (YES, NO)
Write audit report ===> NO (YES, NO)
identical to that for Edit in storage VSAM files ===> YES (YES, NO)
BROWSE apart Edit in storage Sequential (allow I and D) ===> NO (YES, NO)
from these fields Edit in READ-ONLY mode ===> NO (YES, NO)

COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY


ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.CPYBOOKS(ALLCUST)'

Most of the fields on the panel should be familiar from the BROWSE
option; these are the additional controls (see ‘Supposing I make a
mistake...?’ on page 51 and ‘Why is READ-ONLY editing useful?’ on
page 55 for more information on their use):

Control Selected Otherwise


Log dataset
changes
YES: InSync maintains an NO: A log is not generated.
internal log of your edits,
to support UNDO and
failed session recovery.
Write audit
report
YES: InSync writes before- NO: An audit report is not
and-after images of each generated. See ‘What’s the
edited record, to form a difference between a log
human-readable record of and an audit report?’ on
your changes. page 53.
Edit in
storage VSAM
YES: InSync copies NO: These file types are
files VSAM files (KSDS, edited in place. In ESDS
RRDS, ESDS and linear clusters, you can insert
datasets) into temporary records only at the end,
storage. You can insert and you cannot delete
and delete records in records.
ESDS clusters only if
REUSE=YES.

INSYNC HANDBOOK
I guess I start from the Primary Options menu?
51

Control Selected Otherwise


Edit in
storage
YES: InSync copies NO: These file types are
Sequential sequential files, PDS and edited in place. You
(allow I and
D) PDSE members into cannot insert or delete
temporary storage. records, nor change
record lengths.
Edit in READ-
ONLY mode
YES: You won’t be able to NO: This is a normal Edit
save your changes – session – SAVE is
similar to ISPF VIEW and supported.
useful if you wish to
experiment on a dataset
without risk of updating it.

Type the name of a dataset to be edited, YES for Use COBOL or


PL/I layout to format display, and supply the details of the
copybook member, just as you did for Browse.
Press Enter. The first record in the dataset is displayed:
InSync EDIT - INO.TRG.DEM.CUST.KSDS ------------------------- Start of dataset
COMMAND ===> SCROLL ===> PAGE

KSDS RKP 0 KEYLEN 4 Data length 80 - CAPS OFF


WARNING - data length (80) > COPY layout length (73)
C LVL FIELD NAME FORMAT POS DATA
********************************** TOP OF DATA ********************************
You can enter line 01 DEALER G 1
05 CUSTNO Z 4 1 0101
commands in this 05 LOCATN C 3 5 BER
area 05 STDATE Z 6 8 951002
05 NAME C 15 14 Andrew Cronk
05 ADDRESS1 C 15 29 The Mount
05 ADDRESS2 C 15 44 Finchampstead
05 ADDRESS3 C 15 59 Berkshire
********************************* BOTTOM OF DATA ******************************

The data is presented in exactly the same manner as during a Browse


session (except that a line command area is provided), and you have
the same choices of formatted/unformatted and single-record/multi-
record displays.

Supposing I make a mistake...?


Before describing the various editing commands, we’ll set the scene
with some reassurance: InSync tries hard to protect you from
corrupting your own data. It does this in two ways:
■ by maintaining an internal modification log. This happens when
you type YES for Log dataset changes.
■ by creating an in-storage copy of your dataset. This always
happens when you’re using subset selection criteria, and otherwise
happens when you type YES for the appropriate Edit in storage
question.

INSYNC HANDBOOK
52 CHAPTER 4 ■
Editing records in a dataset ■
I guess I start from the Primary Options menu?

Edit directly
EDIT -
CARS all cars
dataset

Edit in-storage

EDIT -
CARS all cars
dataset

Edit subset in-storage

EDIT -
CARS FORD cars
dataset only

Subset of CARS dataset


where MANF field is 'FORD'

When you edit in-storage, InSync updates your original dataset on


disk only when you use SAVE (writing out your changes up to that
point without ending the Edit session), or END to terminate the
session. This enables you to UNDO your changes, back to the last
SAVE checkpoint, at any time.
Even if you’re editing a dataset directly, you can still UNDO your
changes, back to the last SAVE checkpoint, if you’ve asked for a log
file.

The ability to UNDO a set of changes, back to the last SAVE, is


available unless you type NO for Log dataset changes and NO for
Edit in storage and you’re not using subset selection criteria.

If UNDO isn’t available, InSync displays a warning message at the


start of the session.

If you’re editing directly without a log file, UNDO can reverse only
your changes to the currently displayed record.

The CANCEL command has the same effect as UNDO – reversing


changes back to the last SAVE checkpoint, or to the currently
displayed record – and then in addition ends the Edit session.

INSYNC HANDBOOK
I guess I start from the Primary Options menu?
53

What if the system crashes in mid-edit?


Even the best-run installations sometimes let you down. After an
abend:

If you were editing directly, the dataset will be as it was
immediately prior to the abend.
■ If you were editing in-storage using a log file, the dataset will be as
it was at the last SAVE, and InSync offers you the chance to re-
apply any changes since that point.
■ If you were editing in-storage without a log file, the dataset will be
as it was at the last SAVE, and any changes since that point will
have been lost.

Therefore, for maximum safety plus flexibility:


We recommend that you always work with logging enabled.
We recommend that you edit in-storage unless your datasets are
large.

What’s the difference between a log and an audit report?


Both are datasets containing details of your edit changes. A log
dataset:

is created when you type YES for Log dataset changes on the
Dataset Specification panel, or is mandatory if you type YES for
Always log Edit changes on the Session Profile panel – see
‘What other parameters can I adjust?’ on page 45.

has a default name of userid.userid.Dyymmdd.Thhmmss.LOG,
and is allocated by this panel:

InSync ------------------- Log Dataset Allocation ----------------- InSync


COMMAND ===>

LOG DATASET ALLOCATION:


Primary number of records ===> 100
Secondary number of records ===> 200

Data class ===>


Management class ===>
Storage class ===>

You can change the work dataset node names on the User Profile
panel – see ‘What other parameters can I adjust?’ on page 45.

is read by InSync when you use UNDO to reverse all changes since
your last SAVE command (or the start of the Edit session), and is
deleted at the end of the session.

If you specify that you always want logging, the Log File Allocation
panel is bypassed.

INSYNC HANDBOOK
54 CHAPTER 4 ■
Editing records in a dataset ■
I guess I start from the Primary Options menu?

In contrast, an audit dataset:



is created when you type YES for Write audit report on the
Dataset Specification panel, or is mandatory if you type YES for
Always write audit report on the Session Profile panel – see
‘What other parameters can I adjust?’ on page 45.

has a default name of userid.userid.Dyymmdd.Thhmmss.LIST,
and is allocated by this panel:

InSync ------------------ Audit Dataset Allocation ---------------- InSync


COMMAND ===>

Lines per page ===> 65 Data class ===>


Primary pages ===> 100 Management class ===>
Secondary pages ===> 200 Storage class ===>

SYSOUT class ===> *


DEST node ===>
DEST userid ===>

DSNAME or blank ===>


DSNAME disposition ===> OLD (Mod or Old)

Print disposition ===> 1 (Prompt OR


1 - Print and Delete 2 Delete without printing
3 - Print and Keep 4 Keep without printing)
AUDIT PRINT JOB STATEMENTS:
===> //M4JOBN JOB (000),'PROGRAMMER',CLASS=A,MSGCLASS=T
===>
===>
===>

You can specify the DSNAME of a permanent dataset if you wish


to preserve the audit report.
■ is never read by InSync, and at the end of the session can be
automatically printed, retained or deleted.

If you specify that you always want auditing, the Audit File Allocation
panel is bypassed.

You can set default allocation values for the Log and Audit datasets by
selecting PARMS on the Primary Options menu, and then selecting
LOG/AUDIT.

INSYNC HANDBOOK
I guess I start from the Primary Options menu?
55

Why is READ-ONLY editing useful?


This operation is more useful than it might at first appear; the trick is
to think of it as a Browse operation in which you can manipulate the
data you’re viewing. For example, you could use the SORT command
to view the records in a different order; the line command area
enables you to EXCLUDE records from display, and so on.

To reinforce the similarity to ISPF’s VIEW option, the panel’s “EDIT”


title becomes “VIEW” during a READ-ONLY session.

If you try to Edit a dataset to which you don’t have Update


permission, InSync automatically starts a READ-ONLY session.

INSYNC HANDBOOK
56 CHAPTER 4 ■
Editing records in a dataset ■
What editing operations are available?

What editing operations are available?


All of the expected operations are provided, though the commands
sometimes vary depending on your current display mode.

What types of command are supported?


InSync supports primary commands and line commands.
A primary command is typed at the COMMAND ===> prompt, and
may:

require one or more parameters typed after the command, or

display a separate panel for the entry of values, or
■ both of these, or

neither of these.
A line command is typed in the left-hand area alongside a line of data,
and may specify an action:

affecting just that line, or

affecting a block of lines. Usually, blocks can be marked in three
ways:
InSync EDIT - INO.TRG.DEM.CUST.KSDS ------------------------------ COLS 1 - 72
COMMAND ===> SCROLL ===> PAGE
KSDS RKP 0 KEYLEN 4 LRECL 80 - CAPS OFF
CUSTNO LOCATN STDATE NAME ADDRESS1 A
Z(4) (1-4) C(3) (5-7) Z(6) (8-13) C(15) (14-28) C(15) (29-43) C
-KEY------ ---------- ----------- --------------- --------------- -
****** ************************** TOP OF DATA *********************************
000001 0101 BER 951002 Andrew Cronk The Mount F
Mark each line D 0002 0103 SUR 901212 Barons BMW 21 Farnham Rd F
D 0003 0108 NOR 900417 Loomies Ltd. 29 Dorcester Rd N
individually D 0004 0110 DOR 950805 Tylor's 112 Foxrun D
000005 0112 SUR 890401 Coombs Cars 34 Acacia Ave G
000006 0113 BER 910301 Coopers BMW Caversham Park R
000007 0114 SUR 910301 Coopers RJ Riverside T
DD 008 0120 MID 950805 Bernstein BMW 9 Turnhill Dr W
Mark first and last 000009 0123 SOM 900202 Mitchell Motor 12 Sky Drive Y
lines in block DD 010 0126 YOR 950805 S. Murhpy Fairgrounds S
000011 0132 YOR 950805 Wheathley Willow Tree Rd D
000012 0139 CES 950805 J.Honeywell 72 Butterfly Rd C
000013 0144 MAN 950805 Williams 29 Oxbow Road O
D3 014 0150 YOR 950805 Malton Motors 4 Wheel Drive M
Mark first line with 000015 0155 LOT 950805 Dunedin Cars 19 Seafield Rd E
total number of 000016 0158 LON 950805 Holland Park Holland Park S
lines 000017 0160 TAY 950805 Mill Garages Ryhope Road S

Can I insert new records?


Yes, you can – you can type in new records from scratch, and you can
copy and modify existing records.
When working with a VSAM keyed file, InSync helps you to maintain
file integrity:

in full-screen display mode, by highlighting the key fields,

in tabular display mode, by annotating the column headers.

INSYNC HANDBOOK
What editing operations are available?
57

In both modes, InSync copies only as many records as can be


displayed at one time, and marks (with “==DUP>” alongside) those
records as being duplicates. You should overtype the keys of duplicate
records to make them unique before you press Enter; InSync discards
records marked as duplicates when scrolling or exiting.

How do I save my changes?


The same commands generally work in all display modes.

To do this use Notes

commit your changes and end the END or


session SELECT

commit the changes and continue SAVE


reverse all changes (since last CANCEL ➊
commit) and end the session
reverse all changes (since last UNDO ➊
commit) and continue
reverse changes to current record REFRESH ➋
only

Notes
1 Unless Log dataset changes is NO and Edit in storage is NO,
when changes to the current record only are reversed.
2 Available only in single-record modes.
3 The entry panel has the same appearance as the panels for
Browsing and Editing records. Press Enter twice to initiate the
action.
4 The select panel has the same appearance as the panels for Subset
Selection Criteria and Record Find. Leave the panel blank to
process all records in the dataset.
5 The dataset panel enables you the specify the dataset to be copied
from, the start record, and the number of records to copy.
6 Use FLIP to toggle the display of excluded/included records. Use
RESET to cancel any exclusions.
7 In a KSDS, you insert records by overtyping copies of existing
records.

INSYNC HANDBOOK
58 CHAPTER 4 ■
Editing records in a dataset ■
What editing operations are available?

Formatted and unformatted single-record modes


Commonly-used primary commands include:

To do this use Notes

change values in a overtype the existing values, or


displayed record CHANGE → entrypanel → RCHANGE ➌
change values in CHANGE ALL → selectpanel → entrypanel ➍
selected records ➌
insert a new record CREATE → entrypanel ➌
insert a copy of the INSERT
current record
insert a specified COPY → datasetpanel ➎
number of records
from another
dataset
delete the current DELETE
record
delete selected DELETE ALL → selectpanel ➍
records
exclude fields from EXCLUDE → selectpanel ➍
formatted display

The numbered notes are explained in ‘Notes’ on page 57.

INSYNC HANDBOOK
What editing operations are available?
59

Formatted multi-record mode (TFORMAT)


Commonly-used primary commands include:

To do this use Notes

change values in overtype the existing values


displayed records
change values in CHANGE → selectpanel → entrypanel ➍
selected records ➌

Commonly-used line commands include:

To do this use Notes

insert a copy of the R or RR...RR


marked record
copy marked C or CC...CC, together with
records to a new A (after) or B (before) this record
location
move marked M or MM...MM, together with
records to a new A (after) or B (before) this record
location
delete marked D, DD...DD or Dnumber
records
exclude marked X, XX...XX or Xnumber ➏
records from
display

The numbered notes are explained in ‘Notes’ on page 57.

INSYNC HANDBOOK
60 CHAPTER 4 ■
Editing records in a dataset ■
What editing operations are available?

Unformatted multi-record mode (FS)


Commonly-used primary commands include:

To do this use Notes

change values in overtype the existing values, or


displayed records CHANGE string1 string2 → RCHANGE
CHANGE string1 string2 PREV
CHANGE string1 string2 ALL

insert a specified A (after) or B (before) this record,


number of records together with
from another COPY → datasetpanel
dataset
save records to C, CC...CC or Cnumber , together with
another dataset CREATE → datasetpanel

Commonly-used line commands include:

To do this use Notes

insert a new record I ❼


(non-KSDS)
insert a copy of the R or RR...RR
marked record
copy marked C, CC...CC or Cnumber , together with
records to a new A (after) or B (before) this record
location
move marked M, MM...MM or Mnumber, together with
records to a new A (after) or B (before) this record
location
delete marked D, DD...DD or Dnumber
records
exclude marked X, XX...XX or Xnumber ➏
records from
display

The numbered notes are explained in ‘Notes’ on page 57.

INSYNC HANDBOOK
Did you know?
61

Did you know?


■ Use EDIT to modify the records in a specified dataset. The
interface is very similar to that of BROWSE.

It’s a good idea to work with an in-storage copy of your data – it
gives you control over how often your changes are committed to
disk, and thus makes UNDO easily available. Also, it’s the only
way you can insert and delete records in sequential datasets.
■ If you elect to use subset selection criteria, you’ll automatically be
working with an in-storage copy.

It’s a good idea to have InSync maintain a log file, since that also
provides protection against user error (and against the edit process
terminating abnormally).

Optionally, InSync can maintain an audit trail – a before-and-after
image of every changed record.

You can combine commands on the InSync command line by
separating them with semi-colons: for example, FS ON;HEX ON.
■ Within InSync, you can jump directly to a specific option: for
example =1 on the command line takes you to the Browse
Dataset Specification panel; =0.4 is the Function Key
Specification panel.

From ISPF’s 3.4 Dataset List, you can use #B to jump into
InSync’s Browse Dataset Specification panel; #E is for Edit, and
#P is for Print.

INSYNC HANDBOOK
62 CHAPTER 4 ■
Editing records in a dataset ■
Did you know?

INSYNC HANDBOOK
63

CHAPTER 5

Chapter 5 Other dataset


capabilities

InSync’s fundamental Browse and Edit options are supplemented by a


variety of other capabilities for manipulating the contents of your
datasets. See:

‘Can I just key in a whole set of records?’ on page 64

‘How can I create one dataset from another?’ on page 65
■ ‘Hardcopy output is probably handled by the PRINT option?’ on
page 73

INSYNC HANDBOOK
64 CHAPTER 5 ■
Other dataset capabilities ■
Can I just key in a whole set of records?

Can I just key in a whole set of records?


The EDIT option enables you to insert records into a dataset, but for
straightforward data entry you may wish to use a more specialized
facility. Select the CREATE option from the InSync Primary Options
menu; the Dataset Specification panel appears:
InSync ----------------- CREATE - Dataset Specification ---------------- InSync
This is the dataset COMMAND ===>
to be created or OUTPUT DATA FILE: ===> 'INO.TRG.DEM.POLICY3.SEQ'
extended
Add to existing records in dataset ===> YES (YES, NO)
If it already exists, (not for existing PDS members)
its contents can be Number of records to be created ===> 1
Use COBOL or PL/1 layout ===> YES (COB, PLI, YES, NO)
retained (YES) or
deleted (NO) COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(POLREC)'

Type the name of a dataset to be edited, and supply the details of the
copybook member, just as you did for Browse and Edit. Other
optional controls are:

Control Selected Otherwise


Add to
existing
YES: InSync retains any NO: InSync deletes any
records in existing records in the existing records.
dataset
output dataset.
Number of
records to be
number: InSync creates One record is created.
created number identical records.

You can:
■ create a new dataset and add records to it,

select an existing dataset and add to its current records, or

select an existing dataset and replace its current records.
In formatted display mode, InSync validates the new records against
the record layout definition.
Press Enter. If you are adding records to an existing dataset, a data
entry panel is presented; this has the same appearance as the panels
for Browsing and Editing records.
Otherwise, if you are replacing existing records, you are asked for
confirmation before they are deleted, and if you are creating a new
dataset, you are asked to specify its characteristics:

INSYNC HANDBOOK
How can I create one dataset from another?
65

InSync ------------------ Output Dataset Specificatio Dataset not cataloged


COMMAND ===>

DATASET NAME: 'INO.TRG.DEM.POLICY3.SEQ'

VOLUME SERIAL ===> (Blank for system default volume)


GENERIC UNIT ===> SYSDA (Generic group name)
SPACE UNITS ===> (BLKS, TRKS, or CYLS)
PRIMARY QUANTITY ===> 0 (In above units)
SECONDARY QUANTITY ===> 0 (In above units)
RECORD FORMAT ===> F
RECORD LENGTH ===> 0
BLOCK SIZE ===> 0

Data class ===>


Management class ===>
Storage class ===>

Supply the necessary information, and press Enter to continue.


When you have typed the data values for the first record (or batch of
identical records), press Enter to update the dataset; a “What next?”
panel is presented.
InSync -------------------------- File Create -------------- 1 records created
COMMAND ===>

To retain current model record values as base for more records


enter number of records required and press ENTER.

Press END to return to selection screen.

Number of records to be created ===> 1

You can then:



create further batches of records, using the current data entry
panel fields as a starting point (reset Number of records if
necessary, and then press Enter), or

terminate the data entry process (by using the END command).

How can I create one dataset from another?


In addition to the EDIT and CREATE options, which modify dataset
contents under your interactive control, InSync also offers several
methods for creating one dataset from the contents of another,
according to a pre-defined set of rules. See:

‘Can I select records from a dataset?’ on page 66
■ ‘Can I rearrange the order of the fields?’ on page 67
See also ‘Are these two datasets the same?’ on page 69

The DATEAGE option, which copies a dataset while adjusting date


fields forward or backward in time, also falls into this category. Due to
its specialized nature, it is not covered in this introduction to InSync.

INSYNC HANDBOOK
66 CHAPTER 5 ■
Other dataset capabilities ■
How can I create one dataset from another?

Can I select records from a dataset?


The EXTRACT option reads records from an input dataset, writing
those which meet defined selection criteria to an output dataset. Select
the option from the InSync Primary Options menu; the Dataset
Specification panel appears:
InSync ---------------- EXTRACT - Dataset Specification ---------------- InSync
COMMAND ===>

INPUT DATA FILE ===> 'INO.TRG.DEM.POLICY1.SEQ'


OUTPUT DATA FILE ===> 'INO.TRG.DEM.POLICY4.SEQ'

Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)
These fields are Add to existing records in output dataset ===> NO (YES, NO)
If keyed, replace equal keyed records ===> NO (YES, NO)
specific to the Number of records to skip before sample ===> (Default = 0)
EXTRACT option Number of records per sample ===> (Default = 1)
Maximum number of records to be extracted ===> (Blank = ALL)
Output File if new (KSDS/ESDS/RRDS/SEQ) ===> SEQ (Default = SEQ)

COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(POLREC)'

Type the names of a dataset to be copied and a dataset to receive the


extracted records, YES for Use COBOL or PL/I layout to format
display, and supply the details of the copybook member in the usual
way. Other optional controls are:

Control Selected Otherwise


Add to
existing
YES: InSync retains any NO: InSync deletes any
records in existing records in the existing records.
dataset
output dataset.
If keyed,
replace equal
YES: An extracted record NO: The existing record is
keyed records replaces an existing record preserved, the extracted
having the same key value. record is discarded.
Number of
records to
Use these three numbers Your selection criteria are
skip before to create a subset of applied to all records.
sample
records by numeric
Number of
records to sampling
sample

Maximum number
of records to
be extracted

Output file if
new
KSDS/ESDS/RRDS: SEQ: InSync presents the
(KSDS/ESDS/ InSync presents the Sequential Dataset
RRDS/SEQ)
VSAM Dataset Allocation Allocation panel.
panel.

INSYNC HANDBOOK
How can I create one dataset from another?
67

Press Enter. The familiar Selection Criteria panel is presented. Select


the records to be copied, or leave the panel blank to copy all records
in the dataset. Press Enter to initiate the processing.

Can I rearrange the order of the fields?


The FIELDMAP option is similar to EXTRACT, in that it reads records
from an input dataset, writing those which meet defined selection
criteria to an output dataset. However, with FIELDMAP the format of
the output dataset is different from the input dataset, and you can
specify the mapping between input fields and output fields.
These fields omitted from
the output record

Input
Name Sex JobTitle Status Locn Phone
record

Output
Name JobTitle Phone Login Locn
record

This field initialized to zero


or spaces as appropriate

Select the option from the InSync Primary Options menu; the Dataset
Specification panel appears:
InSync ---------------- FIELDMAP - Dataset Specification --------------- InSync
COMMAND ===>

INPUT DATA FILE: ===> 'INO.TRG.DEM.POLICY1.SEQ'


OUTPUT DATA FILE: ===> 'INO.TRG.DEM.POLICY5.SEQ'

These fields are Add to existing records in output dataset ===> NO (YES, NO)
Copy all records to output dataset ===> YES (YES, NO)
specific to the
FIELDMAP option INPUT COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(POLREC)'

Type the names of a dataset to be copied and a dataset to receive the


restructured records, and supply the details of the input copybook
member in the usual way. Other optional controls are:

Control Selected Otherwise


Add to
existing
YES: InSync retains any NO: InSync deletes any
records in existing records in the existing records.
output dataset
output dataset.

INSYNC HANDBOOK
68 CHAPTER 5 ■
Other dataset capabilities ■
How can I create one dataset from another?

Control Selected Otherwise


Copy all
records to
YES: Records which don’t NO: Non-selected records
output dataset meet any selection criteria are omitted from the
which you define are still output dataset.
copied to the output
dataset (albeit in their
original format).

Press Enter. If you are creating a new dataset, you are asked to specify
its characteristics; supply the necessary information, and press Enter
to continue.
The Output Dataset Copybook Library panel appears:
InSync ---------- FIELDMAP - Output Copy Library Specification --------- InSync
COMMAND ===>

OUTPUT COPY LIBRARY:


ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(POLREC2)'

Supply the details of the output copybook member. Press Enter.


The familiar Selection Criteria panel is presented. Select the records
to be copied, or leave the panel blank to copy all records in the
dataset. Press Enter to define the field mapping between the input
dataset (on the left) and the output dataset (on the right):
InSync FIELDMAP - INO.TRG.DEM.POLICY1.SEQ -------------------------------------
COMMAND ===> SCROLL ===> PAGE LEFT

Enter FIELDMAP mapping data RDW OFF

SEQ LVL FIELD NAME MAP# SEQ LVL FIELD NAME


*********** TOP OF DATA ************ ************** TOP OF DATA ***************
1 01 POLICY-REC 1 01 POLICY-REC2
2 03 POL-NO 2 03 POL-NO
3 03 CUST-ID 3 03 CUST-ID
4 03 POL-TYPE 4 03 POL-TYPE
5 03 RENEWAL-DATE 5 03 RENEWAL-DATE
6 03 YEARS-NCD 6 03 PREMIUM
7 03 PREMIUM 7 03 POST-CODE
8 03 NOTES 8 03 PAYMENTS
********* BOTTOM OF DATA *********** 9 05 PAYMENT(1)
10 05 PAYMENT(2)
11 05 PAYMENT(3)
12 05 PAYMENT(4)
13 05 PAYMENT(5)
14 05 PAYMENT(6)
15 05 PAYMENT(7)
16 05 PAYMENT(8)
17 05 PAYMENT(9)

INSYNC HANDBOOK
How can I create one dataset from another?
69

Use the MATCH command to establish an initial mapping from input


fields to output fields of the same name. Alternatively, or in addition,
use the MAP area alongside each output field to specify the sequence
number of an input field whose contents are to be placed in this field.
This technique means that:

if an input field’s sequence number is not used in the MAP area,
that field’s data does not appear in the output dataset. Conversely,
if an input field’s sequence number is used more than once, that
field’s data is repeated in the output dataset.
■ if an output field’s MAP area is not used, that field is initialized
according to its format.

Within reason, the format of a field in the input dataset can be


transformed to a different format in the output dataset.

Press Enter to validate the mappings you have defined, then press
Enter again to initiate the processing.

Are these two datasets the same?


InSync can compare two datasets and report on their differences. The
option used depends on whether the datasets use a single copybook
(and therefore have the same format) or are mapped by different
copybooks (have different formats).

Same format To compare datasets that have the same format you use the COMPARE
option (for datasets that have different formats you use the
FIELDCOMPARE option – see ‘Different formats’ on page 72).
Select the COMPARE option from the InSync Primary Options menu;
the Dataset Specification panel appears:
InSync ---------------- COMPARE - Dataset Specification ---------------- InSync
COMMAND ===>

INPUT FILE1 (OLD) ===> 'INO.TRG.DEM.POLICY1.SEQ'


INPUT FILE2 (NEW) ===> 'INO.TRG.DEM.POLICY4.SEQ'

Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)
These fields are Display search criteria panels ===> NO (YES, NO)
Display exclude field name panels ===> NO (YES, NO)
specific to the Display additional fields (formatted) ===> NO (YES, NO)
COMPARE option Max number of differences to be processed ===> (Blank = ALL)
Max number of differences to be reported ===> (Blank = ALL)
Read ahead count (non-keyed only) ===> 0 (0 - 9999

COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(POLREC)'

INSYNC HANDBOOK
70 CHAPTER 5 ■
Other dataset capabilities ■
How can I create one dataset from another?

Type the names of two datasets to be compared, YES for Use


COBOL or PL/I layout to format display, and supply the details of
the copybook member in the usual way. Other optional controls are:
CHANGED in 5.300
Fields removed, added, Control Selected Otherwise
and changed on
COMPARE panel Display search
criteria
YES: InSync presents the NO: InSync compares all
panels Selection Criteria panel, records.
then compares only
records (from both
datasets) which meet
criteria.
Display
exclude field
YES: InSync presents the NO: InSync compares all
name panels Field Exclusion panel, fields.
then omits comparison of
excluded fields.
Display
additional
YES: InSync presents the NO: For a mismatch,
fields Additional Fields panel, InSync reports only fields
(formatted)
then outputs those fields in having differing values.
addition when reporting a
record mismatch.
Max number of
differences to
number: InSync gives up InSync processes all
be processed after number record mismatches.
mismatches.
Max number of
differences to
number: InSync stops InSync reports all
be reported reporting differences after mismatches.
number record
mismatches.
Read ahead
count (non-
number: InSync reads Insertion/deletion causes
keyed only) number records when mismatch on all following
trying to resynchronize records.
after insertion/deletion.

Press Enter. For unkeyed datasets, you are asked to specify the field(s)
used to synchronize the comparison; supply the necessary
information, and press Enter to continue.
CHANGED in 5.300 If you chose an unformatted display in the above panel, you are asked
Output options for
COMPARE now on
to specify the output options:
separate panel

INSYNC HANDBOOK
How can I create one dataset from another?
71

Control Selected Otherwise


Record print
mode
CHAR: InSync outputs the HEX: InSync outputs both
character representation character and hex
when reporting a record representations.
mismatch.
Horizontal
interspersed
YES: InSync shows two NO: InSync shows two
lines records one above the records side by side.
other when reporting a
record mismatch.
Print full
record
YES: InSync shows the NO: InSync shows only the
complete records when differing fields in
reporting a record mismatched records (but
mismatch. all fields for inserted and
deleted records).
Print Key YES: Specifies a print of NO: Defined keys not
defined keys. printed.

CHANGED in 5.300 You also have the opportunity to specify output file names so that (for
Can choose to write
records that show as
compares that synch on a key) InSync will write the actual records out
different to separate
files
to separate files:

records that match
■ records that have changed in file 2 compared to file 1

records that have changed in file 1 compared to file 2
■ records that are in file 1 but not in file 2

records that are in file 2 but not in file 1.
Next, you are asked to allocate a temporary dataset for the report of
mismatches; just press Enter to continue.
InSync now compares the two datasets, writes a mismatch report to
that dataset, and then invokes ISPF Browse to display the report
online. When you use END to terminate the browse, you are given
the opportunity to output the report to a printer:

INSYNC HANDBOOK
72 CHAPTER 5 ■
Other dataset capabilities ■
How can I create one dataset from another?

InSync ------------------- Print Dataset Disposition ------------------- InSync


COMMAND ===>

Print comparison report ===> YES (YES, NO)

SYSOUT class ===> *


OUTPUT destination node ===>
OUTPUT destination user ===>

JOB STATEMENTS:
===> //M4PINO JOB (000),'PROGRAMMER',CLASS=A,MSGCLASS=T
===>
===>
===>

Check the displayed values, then press Enter to initiate the batch print
job.

Different To compare two datasets with different formats – comparing selected


formats fields common to both files – you use the FIELDCOMPARE option.
NEW in 5.300 Select the FIELDCOMPARE option from the InSync Primary Options
FIELDCOMPARE option
menu. This option is very similar to the COMPARE option except that
it also allows you to map fields from the two copybooks for
comparison purposes, as shown below:
Enter FIELD COMPARE comparison data RDW OFF

SEQ LVL FIELD NAME MAP# SEQ LVL FIELD NAME


*********** TOP OF DATA ************ ************** TOP OF DATA ********
1 01 DSN8610-EMP 1 01 DSN8710-EMP-TIAUL
2 10 Empno 2 2 10 EMPNO
3 10 FIRSTNME 3 10 FIRSTNME
4 15 FIRSTNME-LENGTH 4 4 15 FIRSTNME-LENGTH
5 15 FIRSTNME-DATA 5 5 15 FIRSTNME-DATA
6 10 miDinit 6 6 10 miDinit
7 10 LASTNAME 7 10 LASTNAME
8 15 LASTNAME-LENGTH 8 8 15 LASTNAME-LENGTH
9 15 LASTNAME-DATA 9 9 15 LASTNAME-DATA
10 10 WORKDEPT 10 10 10 WORKDEPT
11 10 PHONENO 11 10 WORKDEPT-NULL
12 10 HIREDATE 11 12 10 PHONENO
13 10 JOB-YYYYYYYYYYYYYYYYYYYYYY 13 10 PHONENO-NULL
14 10 EDLEVEL-NNNNNNNNNNNNNNNNNN 12 14 10 HIREDATE
15 10 SEX 15 10 HIREDATE-NULL
16 10 BIRTHDATE 13 16 10 JOB
17 10 SALARY 17 10 JOB-NULL
18 10 BONUS 18 10 EDLEVEL
19 10 COMM 19 10 EDLEVEL-NULL
20 10 WORKDEPT-NULLIND 15 20 10 SEX
21 10 PHONENO-NULLIND 21 10 SEX-NULL
22 10 HIREDATE-NULLIND 16 22 10 BIRTHDATE
23 10 JOB-NULLIND 23 10 BIRTHDATE-NULL
24 10 EDLEVEL-NULLIND 17 24 10 SALARY
25 10 SEX-NULLIND 25 10 SALARY-NULL
26 10 BIRTHDATE-NULLIND 18 26 10 BONUS
27 10 SALARY-NULLIND 27 10 BONUS-NULL
28 10 BONUS-NULLIND 19 28 10 COMM
29 10 COMM-NULLIND 29 10 COMM-NULL
********* BOTTOM OF DATA *********** ********** BOTTOM OF DATA *********

INSYNC HANDBOOK
Hardcopy output is probably handled by the PRINT option?
73

Hardcopy output is probably handled by the PRINT


option?
That’s right. Select the PRINT option from the InSync Primary
Options menu; the Dataset Specification panel appears:
InSync ----------------- PRINT - Dataset Specification ----------------- InSync
COMMAND ===>

INPUT DATASET ===> 'INO.TRG.DEM.POLICY1.SEQ'


VOLUME SERIAL ===> (If not cataloged)

Use COBOL or PL/1 layout to format print ===> YES (COB, PLI, YES, NO)
Record print mode (unformatted) ===> HEX (CHAR, HEX)
These fields are New page for each record (unformatted) ===> NO (YES, NO)
specific to the Display search criteria panels ===> NO (YES, NO)
Display exclude field name (formatted) ===> NO (YES, NO)
PRINT option Print lower case characters ===> NO (YES, NO)
Start record number ===> (Default = 1)
Maximum number of records to be printed ===> (Blank = ALL)

COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(POLREC)'

The basic layout of the panel is similar to that for the BROWSE option;
these are the print-specific control fields:

Control Selected Otherwise


Record print
mode
CHAR: InSync outputs the HEX: InSync outputs both
(unformatted) character representation. character and hex
representations.
New page for
each record
YES: InSync starts each NO: InSync fills each page.
(unformatted) record on a new page.
Display search
criteria
YES: InSync presents the NO: InSync prints all
panels Selection Criteria panel, records.
then prints only records
which meet criteria.
Display
exclude field
YES: InSync presents the NO: InSync prints all
name Field Exclusion panel, fields.
(formatted)
then omits excluded fields.
Print lower
case
YES: InSync prints lower NO: InSync prints lower
characters case characters literally. case characters as dots (in
unformatted mode) or in
hexadecimal (otherwise).

INSYNC HANDBOOK
74 CHAPTER 5 ■
Other dataset capabilities ■
Hardcopy output is probably handled by the PRINT option?

Control Selected Otherwise


Start record
number
Use these two numbers to Your selection criteria are
create a subset of records applied to all records.
Maximum number
of records to by numeric sampling
be printed

Type the name of a dataset to be printed, YES for Use COBOL or


PL/I layout to format display, and supply the details of the
copybook member, just as you did for Browse.
Press Enter. The generated sysout and JCL statements are displayed
on the Print Dataset Allocation panel:
InSync -------------------- Print Dataset Allocation ------------------- InSync
COMMAND ===>

PRINT DATASET ALLOCATION:


Lines per page ===>
Primary pages ===> 100
Secondary pages ===> 200

Data class ===>


Management class ===>
Storage class ===>

SYSOUT class ===> *


DEST node ===>
DEST userid ===>

JOB STATEMENTS:
===> //M4PINO JOB (000),'PROGRAMMER',CLASS=A,MSGCLASS=T
===>
===>
===>

Check the displayed values, then press Enter to initiate the print job.

You can set default allocation values for the Print dataset by selecting
PARMS on the Primary Options menu, and then selecting PRINT.

Can I print just a single record?


Use the IPRINT command (from a single-record display) or the P line
command (from a multi-record display) during a Browse or Edit
session. The record is printed when you exit that session.

INSYNC HANDBOOK
Did you know?
75

Did you know?


■ Use CREATE to key data directly into a dataset.

Use EXTRACT to copy selected records from one dataset to
another.
■ Use FIELDMAP to copy selected records from one dataset to
another, restructing the data as it’s copied.

Use COMPARE to determine the differences between two datasets.
■ Using PRINT for hardcopy output.

INSYNC HANDBOOK
76 CHAPTER 5 ■
Other dataset capabilities ■
Did you know?

INSYNC HANDBOOK
77

CHAPTER 6

Chapter 6 More about formatting

You’ve probably already realised that one of InSync’s strengths is its


ability to marry the records in a dataset with the COBOL or PL/I
copybook defined the layout of those records, so that you can work
with your files using familiar field names and meaningful data
representations. Earlier on – see ‘How do I apply formatting to my
displays?’ on page 26 – we explained how to specify the copybook to
be used when browsing, editing or otherwise manipulating a dataset.
In this chapter we describe some additional features in this area. See:
■ ‘How do I display or print my record layout?’ on page 78

‘Can InSync handle complex record layouts?’ on page 79

INSYNC HANDBOOK
78 CHAPTER 6 ■
More about formatting ■
How do I display or print my record layout?

How do I display or print my record layout?


Select the LAYOUT option from the InSync Primary Options menu;
the Layout Specification panel appears:
InSync ---------------------- COBOL or PL/1 Layout --------------------- InSync
OPTION ===>

P - Print COBOL or PL/1 Layout


EF - Create Easytrieve Plus File Layout Macro
EW - Create Easytrieve Plus Working Storage Macro
D - Create DYL280 File Layout Macro
blank - Display COBOL or PL/1 Layout

COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(POLREC)'

Layout Lang. ===> (Optional, COB or PLI)

Supply the name of the copybook member. If you leave Layout lang
blank, InSync inspects the copybook and attempts to deduce whether
it’s written in COBOL or PL/I. You can tell InSync which language
applies by typing C[OB] or P[LI].
If you press Enter with the Option field blank, InSync displays the
record layout:
InSync LAYOUT - INO.TRG.DEM.PRODCOPY(POLREC) ----------------------------------
COMMAND ===> SCROLL ===> PAGE

Record layout fixed length - 115

SEQ LVL FIELD NAME FORMAT START LENGTH


********************************** TOP OF DATA ********************************
1 01 POLICY-REC G 1 115
2 03 POL-NO C 9 1 9
3 03 CUST-ID C 9 10 9
4 03 POL-TYPE C 2 19 2
5 03 RENEWAL-DATE Z 8 21 8
6 03 YEARS-NCD Z 3 29 3
7 03 PREMIUM PS 7 2 32 5
8 03 NOTES C 79 37 79
********************************* BOTTOM OF DATA ******************************

If you type “P” in the Option field, InSync asks you to allocate the
print dataset, just as you did when printing a dataset (see page 73), and
then initiates a batch print job.

Due to the specialized nature of the other options, they are not
covered in this introduction to InSync.

INSYNC HANDBOOK
Can InSync handle complex record layouts?
79

Can InSync handle complex record layouts?


Sure it can. In addition to the standard case – where all of the records
in a dataset have the same layout, defined by a single copybook –
InSync also supports:
■ ‘Multiple layouts’ below

‘Compound layouts’ (see page 82)

‘Segmented layouts’, a hybrid of multiple and compound layouts,
in which the dataset contains records of several formats; a record
can contain any mix of segments, each defined by a separate
copybook. Due to their specialized nature, these are not covered
in this introduction to InSync.
We’ll only sketch the process of defining these layouts rather than go
through a full step-by-step procedure.

Multiple layouts
In a multiple layout, the dataset contains records of several formats,
each defined by a single separate layout:

A
C
A
A
C
A
B
C

Select the TABLES option from the InSync Primary Options menu;
the Table Options menu appears:
InSync ------------------------- TABLE Options ------------------------- InSync
OPTION ===>

1 SELECT - Specify multiple format selection criteria

2 UPDATE - View/Update multiple format selection criteria

3 COMPOUND - Define compound record layout structure

R REVIEW - Review/update compound table

Select the SELECT option from this menu; the Library panel appears:

INSYNC HANDBOOK
80 CHAPTER 6 ■
More about formatting ■
Can InSync handle complex record layouts?

InSync --------------------- SELECT TABLE - Library -------------------- InSync


COMMAND ===>

ISPF SELECT TABLE LIBRARY:


PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===>

OTHER SELECT TABLE LIBRARY:


DATASET NAME ===> 'INO.TRG.DEM.TABLES(CARTAB)'

OPTIONS:
Replace like named members ===> YES (YES, NO)
Format Language ===> (Optional, COB, PLI)

Supply the name of a member of an appropriate copybook library


which is to contain the definition of this multiple layout, and if
necessary type YES for Replace like named members. If you
supply a Format language, InSync takes this as the default for all of
the copybooks in the multiple layout.
Press Enter; InSync repeatedly presents pairs of panels for you to
define the multiple layout. The Copybook Library panel specifies the
name of an individual copybook:
InSync ---------------- SELECT TABLE - Copybook Library ---------------- InSync
COMMAND ===>

Record description ===> CAR MODEL RECORD


Use multiple FORMATDSN list ===> NO (Yes, No)
Format language ===> (Blank, COB or PLI)

COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY OR MULTIPLE FORMATDSN LIST:


MEMBER ===> DISPLAY LIST ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(CARMOD)'

Supply a description for this layout. Type NO for Use Multiple


FORMATDSN list (we’ll explain what that means shortly).
Following that, the Selection Criteria panel specifies the criteria which
will determine whether this copybook should be used to display a
given record. That is, when working with a multiple layout dataset,
InSync tests each record against the various criteria which you’ve
defined and uses the layout of the first entry which matches. (If you
leave the selection criteria blank when defining the last copybook,
InSync takes that layout as a default to be used when no match is
found):

INSYNC HANDBOOK
Can InSync handle complex record layouts?
81

InSync FIND - INO.TRG.DEM.PRODCOPY(CARMOD) ------------------------------------


COMMAND ===> SCROLL ===> PAGE
Description: CAR MODEL RECORD
Enter search criteria for FORMAT option - CAPS OFF RDW OFF
Use "EXCLUDE" command to exclude field(s) from processing
C LVL FIELD NAME FORMAT BOOL CN DATA
********************************** TOP OF DATA ********************************
01 MODEL G
05 MODLNO C 3
05 MODOPT C 2 EQ X'4040'
05 DESC C 27
********************************* BOTTOM OF DATA ******************************

This panel also enables you to choose a subset from a copybook by


using the S and E line commands to nominate a STARTFIELD and an
ENDFIELD, useful if your copybook holds several different record
formats.

Use END to terminate the definitions. The member which you have
created here can now be treated as a copybook anywhere within
InSync when you are working with a dataset having this multiple
layout.

Because the definition of a multiple layout enables InSync to select


which copybook to apply to each record, it’s generally known as a
select table.

You can view the new member if you wish; its contents are something
like this:
FUNCTION=FORMAT
RDW=OFF
*
CASE
DESCRIPTION=CAR MODEL RECORD
FORMATDSN=(INO.TRG.DEM.PRODCOPY)
FORMATMBR=(CARMOD)
SEARCHDATA=(MODOPT,EQ,X'4040')
*
CASE
DESCRIPTION=CAR MODEL STATS REC
FORMATDSN=(INO.TRG.DEM.PRODCOPY)
FORMATMBR=(CARMODST)
SEARCHDATA=(OPTIND,NE,X'4040')
ENDCASE

The table contains a series of CASE keywords; each CASE specifies a


logical method for detecting a record type (SEARCHDATA= ) and
associates that record with a copybook library (FORMATDSN= ) and
member (FORMATMBR= ). Using this table, InSync can navigate
through the records in the dataset and, for each, identify the copybook
which defines the layout of that record’s data.

INSYNC HANDBOOK
82 CHAPTER 6 ■
More about formatting ■
Can InSync handle complex record layouts?

Optionally, a final CASE without a SEARCHDATA= keyword can be


defined to handle the default record layout; this is applied if none of
the preceding SEARCHDATA conditions matched the record:
...
CASE
DESCRIPTION=CAR MODEL SUMMARY
FORMATDSN=(INO.TRG.DEM.PRODCOPY)
FORMATMBR=(CARMODSU)
ENDCASE

You may remember that, when introducing InSync’s ability to display


formatted records, we explained that your ‘concatenated library list’ is
a personal list of PDS libraries; InSync searches those libraries and
uses the first occurrence of the specified member name that it finds
when creating the FORMATDSN and FORMATMBR keywords.
If you type YES for Use Multiple FORMATDSN list, InSync
accesses an alternative personal library list, but that’s not the only
difference. Instead of searching those libraries now for the specified
member (and naming the appropriate library in the FORMATDSN
keyword), it simply includes the entire contents of the list of libraries
in the FORMATDSN keyword, and defers searching for the specified
member until the select table is actually used. A typical CASE
from the previous example might now look like this:
CASE
DESCRIPTION=CAR MODEL STATS REC
FORMATDSN=(INO.TRG.DEM.PRODCOPY,
INO.TRG.DEM.TESTCOPY,
INO.TRG.USR.MYCOPY)
FORMATMBR=(CARMODST)
SEARCHDATA=(OPTIND,NE,X'4040')

For small changes to a select table definition, you may find it easier to
edit the table member directly rather than manipulating it using the
TABLES option.

Compound layouts
In a compound layout, all of the records in the dataset have the same
format, specified by concatenating several copybooks one after the
other:

INSYNC HANDBOOK
Can InSync handle complex record layouts?
83

Select the TABLES option from the InSync Primary Options menu;
the Table Options menu appears:
InSync ------------------------- TABLE Options ------------------------- InSync
OPTION ===>

1 SELECT - Specify multiple format selection criteria

2 COMPOUND - Define compound record layout structure

R REVIEW - Review/update compound table

Select the COMPOUND option from this menu; the Library


Specification panel appears:
InSync ------------- COMPOUND TABLE - Library Specification ------------ InSync
COMMAND ===>

ISPF COMPOUND LAYOUT LIBRARY:


PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===>

OTHER COMPOUND LAYOUT LIBRARY:


DATASET NAME ===> 'INO.TRG.DEM.TABLES(COMPTAB)'

LIBRARY OPTIONS:
Replace like named members ===> YES (YES, NO)

Supply the name of a member of an appropriate copybook library


which is to contain the definition of this compound layout, and if
necessary type YES for Replace like named members.
Press Enter; InSync repeatedly presents the Copy Library panel for
you to specify the names of individual copybooks which together
define the compound layout:

INSYNC HANDBOOK
84 CHAPTER 6 ■
More about formatting ■
Can InSync handle complex record layouts?

InSync ----------------- COMPOUND TABLE - Copy Library ----------------- InSync


COMMAND ===>

RECORD DESCRIPTION ===> CAR REC

COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY LIST: MEMBER ===> DISPLAY ===> YES (YES, NO)

OTHER DATASET ===> 'INO.TRG.DEM.PRODCOPY(CARMOD)'

Use END to terminate the definitions. The member which you have
created here can now be treated as a copybook anywhere within
InSync when you are working with a dataset having this compound
layout.

The member is generally known as a compound table. Its storage


format is different from that used for select tables, and it isn’t
intended to be user-editable. The TABLES option followed by the
REVIEW option should be used to update a compound table.

INSYNC HANDBOOK
85

CHAPTER 7

Chapter 7 Dataset utilities

In addition to its capabilities for working with the contents of datasets,


InSync also provides a powerful range of housekeeping tools for the
datasets themselves. Although many of the features provided are also
available as z/OS facilities, their ready accessibility within the InSync
environment adds to convenience and productivity. See:
■ ‘Working with datasets’ on page 86

‘Working with PDS members’ on page 87

‘Working with VTOCs’ on page 88

INSYNC HANDBOOK
86 CHAPTER 7 ■
Dataset utilities ■
Working with datasets

Working with datasets


Select the UTILITIES option from the InSync Primary Options menu;
the Utility Options menu appears:
InSync ------------------- Data Manipulation Utility ------------------- InSync
OPTION ===>

1 LIBRARY - PDS directory and CSECT utility

2 SCAN - PDS scan utility

3 VSAM - VSAM utility

4 VTOC - VTOC utility

5 DATASET - DATASET utility

Defining VSAM datasets


Select the VSAM option from the InSync Utility Options menu; the
VSAM Utility menu appears:
InSync -------------------------- VSAM Utility ------------------------- InSync
OPTION ===>

1 - Define catalog entry 4 - Alter catalog entry


2 - Delete catalog entry 5 - Verify VSAM dataset
3 - Rename catalog entry 6 - Initialize VSAM dataset
blank - Display catalog information 7 - Build alternate index
8 - Redefine catalog entry

ENTRY NAME ===> 'INO.TRG.DEM.CARS.ESDS'


USER CATALOG ===>

ENTRY TYPE ===> 2 (Required for option "1")


1 - KSDS Cluster 5 - Alternate Index
2 - ESDS Cluster 6 - Path
3 - RRDS Cluster 7 - Generation Data Group
4 - LINEAR Cluster

MODEL NAME ===>

RUN TYPE ===> EXEC (EXEC, PARM, BOTH)

From this menu you can:



create, delete, rename, redefine and modify a VSAM catalog
entry

model a new catalog entry on one that already exists

initialize and verify a VSAM dataset.
You can choose to execute the IDCAMS task immediately, save the
parameters for later execution, or both. InSync makes the definition
of VSAM files much easier and more natural than using normal z/OS
procedures.

INSYNC HANDBOOK
Working with PDS members
87

Working with general datasets


Select the DATASET option; the Dataset Utility menu appears:
InSync ------------------------ DATASET UTILITY ------------------------ InSync
OPTION ===>

Options:
A - Allocate
D - Delete
Blank - Information

DATASET NAME ===> 'INO.TRG.DEM.POLICY1'


VOLUME SERIAL ===>

Max # of DSNs ===> 99 (to show in a dataset list)

Model Dataset ===>

From this menu you can display a catalog list of datasets matching a
name pattern, from which you can:

allocate, delete and rename a dataset

view information about a dataset
■ modify a VSAM dataset’s characteristics

catalog and uncatalog a non-VSAM dataset

compress a PDS dataset
■ use InSync’s BROWSE and EDIT options.

Working with PDS members


Searching for strings in PDS members
Select the SCAN option from the InSync Utility Options menu; the
PDS Scan menu appears:
InSync ---------------------------- PDS Scan --------------------------- InSync
OPTION ===>

1 - Display list of members containing scan string(s)

2 - Display records containing scan string(s)

3 - Print list of members containing scan string(s)

4 - Print records containing scan string(s)

5 - Update records containing scan string(s)

6 - Extract members containing scan string(s)

7 - Extract and update members containing scan string(s)

The SCAN option enables you to define up to five character strings;


InSync can search for those strings in a wide range of partitioned
datasets, specified by:

an explicit dataset name (for example, TEST.USER.MYPDS)

INSYNC HANDBOOK
88 CHAPTER 7 ■
Dataset utilities ■
Working with VTOCs

■ a dataset pattern (for example, DSN='TEST.USER.MY*')



a DDname currently allocated to the TSO session (for example,
DD=SYSPROC).
You can generate output at the level either of the individual matching
record(s), or of the member(s) containing the matching record(s).
Replacement of one string by another is also supported.

Manipulating PDS members


Select the LIBRARY option from the InSync Utility Options menu; the
Library Utility menu appears:
InSync ------------------------ Library Utility ------------------------ InSync
OPTION ===>

S - Display directory entry for member


U - Update directory entry for member
A - Map load module in address sequence
N - Map load module in name sequence
R - Rename member
D - Delete member
B - Browse member
L - Create an alias
Z - Compress library
Blank - Display member list

ISPF: PROJECT ===>


GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

NEW NAME ===> (If "R" or "L" selected)

OTHER LIBRARY ===>


VOLUME SERIAL ===> (If not cataloged)

From this menu you can:


■ display a list of PDS members

allocate, delete and rename a member

view and edit a member’s directory entry
■ view a load member’s CSECT map

compress a PDS dataset

use InSync’s BROWSE option.

Working with VTOCs


Select the VTOC option from the InSync Utility Options menu; the
VTOC Utility menu appears:

INSYNC HANDBOOK
Working with VTOCs
89

InSync -------------------------- VTOC Utility ------------------------- InSync


OPTION ===>

C - List Volume cache status


L - List VTOC entries in pack location sequence
N - List VTOC entries in dataset name sequence
blank or V - List Volume information

Volume Information:
Volume serial ===>
Unit addr(s)/name ===> (dddd, dddd-dddd or esoteric)
Volume status ===> (blank, PRV, PUB or STG)
SMS Storage Group ===>

Dataset Search Information:


Max # of names ===> 99 (Options L and N only)
Search mask ===>

From this menu you can:



display volume cache status

list volumes and their space utilization
■ list datasets in order of name or location.

INSYNC HANDBOOK
90 CHAPTER 7 ■
Dataset utilities ■
Working with VTOCs

INSYNC HANDBOOK
91

CHAPTER 8

Chapter 8 Working in batch

In addition to its comprehensive online capabilities, InSync also


includes a powerful batch processing language. Most online
operations can also be performed in batch; the difference is that an
online operation (for example, an EXTRACT option) is processed
immediately; afterwards, there is no record of how you specified that
option. A batch EXTRACT option, on the other hand, generates a job
stream which can perform the same operation, copying from the same
source with the same selection criteria, as and when required. See:
■ ‘How do online and batch options match up?’ on page 92

‘How do I specify a batch option?’ on page 93

‘What on earth does that batch stream mean?’ on page 95
■ ‘What about multiple-layout datasets?’ on page 97

‘Can I create temporary values during a batch run?’ on page 98

‘How can I tell what happened?’ on page 98

The InSync Batch User Guide gives full details of InSync’s batch
processing, and the Quick Reference Guide is a convenient summary
of batch options and their keywords.

INSYNC HANDBOOK
92 CHAPTER 8 ■
Working in batch ■
How do online and batch options match up?

How do online and batch options match up?


InSync’s online and batch options are pretty comparable. Here’s a
rough comparison of options available in the two environments.
NEW in 5.300
FIELDCOMPARE function Online option Equivalent batch option

PARMS None – these options handle


TABLES configuration tasks.

BROWSE None – this is inherently an


online process.
EDIT CHANGE
DELETE
CREATE LOAD (DB2 and IMS)

PRINT PRINT

LAYOUT LAYOUT

EXTRACT EXTRACT

FIELDMAP FIELDMAP

COMPARE COMPARE

FIELDCOMPARE FIELDCOMPARE

DATEAGE DATEAGE

UTILITIES/LIBRARY LIBRARY
UTILITIES/SCAN SCAN
UTILITIES/VTOC VTOC

In general, anything of a rule-based or repetitive nature that’s


available online can also be done in a batch job stream. The batch
CHANGE and DELETE options are effectively just the CHANGE and
DELETE commands available within an online EDIT session: find all
records meeting some selection criteria, and either update one or
more of their field values, or simply delete them. The batch LOAD
option copies records from a dataset into a database; it’s available
only with InSync for DB2 and InSync for IMS – see ‘DB2 and IMS
databases’ on page 101.

INSYNC HANDBOOK
How do I specify a batch option?
93

How do I specify a batch option?


Select the BATCH option from the InSync Primary Options menu; the
Batch Options menu appears:
NEW in 5.300 InSync ------------------------- Batch Options ------------------------- InSync
FIELDCOMPARE function OPTION ===>

1 CHANGE - Specify record change criteria


2 DELETE - Specify record delete criteria
3 PRINT - Specify dataset print criteria
4 EXTRACT - Specify record extract criteria
5 FIELDMAP - Specify field mapping criteria
6 FIELDCOMPARE - Specify field compare criteria
7 COMPARE - Specify record compare criteria
8 DATEAGE - Specify date age criteria
9 SCAN - Specify PDS scan criteria
10 VTOC - Specify Batch VTOC criteria
11 LAYOUT - Specify Batch LAYOUT criteria
12 LIBRARY - Specify Batch LIBRARY criteria
R REVIEW - Review / update old format batch parms
S SUBMIT - Submit old format batch job

The menu shown is from the InSync for z/OS base product. Similar,
shorter, Batch Options menus are also available in InSync for DB2
and InSync for IMS.

In most cases, the panel which you’ll see next after selecting one of the
menu options is essentially identical to the panel for the equivalent
online option. For example, if you select batch EXTRACT, you’ll see
this panel:
InSync ------------------------- BATCH EXTRACT ------------------------- InSync
COMMAND ===>

INPUT DATA FILE ===> 'INO.TRG.DEM.POLICY1'


OUTPUT DATA FILE ===> 'INO.TRG.DEM.POLICY4.SEQ'

Use COBOL or PL/1 layout to format display ===> YES (COB, PLI, YES, NO)
Use multiple FORMATDSN list for batch job ===> NO (YES, NO)
Add to existing records in output dataset ===> NO (YES, NO)
If keyed, replace equal keyed records ===> NO (YES, NO)
Number of records to skip before sample ===> (Default = 0)
Number of records per sample ===> (Default = 1)
Maximum number of records to be extracted ===> (Blank = ALL)
Output File if new (KSDS/ESDS/RRDS/SEQ) ===> SEQ (Default = SEQ)
Comma-delimited Output file ===> (YES, NO)
More: +
COPY LIBRARY:
ISPF: PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===> (Blank or pattern for member selection list)

CONCATENATED LIBRARY OR MULTIPLE FORMATDSN LIST:


MEMBER ===> DISPLAY LIST ===> YES (YES, NO)

That’s no different from the Dataset Specification panel you’ve


already met when we introduced online EXTRACT – see ‘Can I select
records from a dataset?’ on page 66 – nor do the following panels
(where you allocate the output dataset and specify the record selection

INSYNC HANDBOOK
94 CHAPTER 8 ■
Working in batch ■
How do I specify a batch option?

criteria) differ. What is different is what happens next. Online, the


records are extracted there and then, and you’re returned to the
EXTRACT Dataset Specification panel. In batch, the next thing that
you see is the JCL Specification panel:
InSync ----------------------- JCL Specification ----------------------- InSync
COMMAND ===>

Lines per page ===> 65

SYSOUT class ===> *


DEST node ===>
DEST userid ===>

JOB STATEMENTS:
===> //M4PINO JOB (000),'PROGRAMMER',CLASS=A,MSGCLASS=T
===>
===>
===>

Check that the job statements are correct, and then press Enter.

You can set default job parameters by selecting PARMS on the


Primary Options menu, and then selecting PRINT.

The generated batch stream is displayed in ISPF Edit mode:


File Edit Edit_Settings Menu Utilities Compilers Test Help

EDIT ASP.SPF.D040219.T143731.CNTL Columns 00001 00072


Command ===> Scroll ===> PAGE
000001 //M4PINO JOB (000),'PROGRAMMER',CLASS=A,MSGCLASS=T
000002 //*
000003 //STEP1 EXEC PGM=INSYNC,PARM=MVS
000004 //*
000005 //STEPLIB DD DISP=SHR,DSN=IN.ALPHA.LOADLIB
000006 //*
000007 //#ELIBDD DD DISP=SHR,DSN=IN.ALPHA.ELIB
000008 //SYSTSPRT DD SYSOUT=*
000009 //#LOG DD SYSOUT=*
000010 //#PRINT DD SYSOUT=*
000011 //#INDD DD DSN=INO.TRG.DEM.POLICY1.SEQ,DISP=SHR
000012 //#OUTDD DD DSN=INO.TRG.DEM.POLICY4.SEQ,DISP=SHR
000013 //#PARM DD *
000014 FUNCTION=EXTRACT
000015 INDD=#INDD
000016 OUTDD=#OUTDD
000017 RDW=OFF
000018 LANGUAGE=COB
000019 REPLACEDUPS=NO
000020 ADDTOOUTPUT=NO
000021 LINESPERPAGE=065
000022 FORMATDSN=(INO.TRG.DEM.PRODCOPY)
000023 FORMATMBR=(POLREC)
000024 SEARCHDATA=(YEARS-NCD,GT,Z'05')

At this point you can:


■ make any required changes to the batch stream, and then

optionally, use the SUBMIT command to run it immediately.
In all cases, you next issue the END command. InSync presents the
JCL Library panel:

INSYNC HANDBOOK
What on earth does that batch stream mean?
95

InSync ---------------------- BATCH - JCL Library ---------------------- InSync


COMMAND ===>

Save generated job stream ===> YES (YES, NO)

ISPF BATCH JCL LIBRARY:


PROJECT ===>
GROUP ===>
TYPE ===>
MEMBER ===>

OTHER BATCH JCL LIBRARY:


DATASET NAME ===> 'INO.TRG.DEM.JCL(BATEXT)'

LIBRARY OPTIONS:
Replace like named members ===> YES (YES, NO)

Here you can either discard the batch stream, or save it in a specified
member for future submission. Press Enter to return to the Batch
Options menu.

What on earth does that batch stream mean?


It’s really quite straightforward. We’ll break the stream down into
three parts. The first part is the job parameters that you set (or simply
accepted) on the JCL Specification panel:
//M4PINO JOB (000),'PROGRAMMER',CLASS=A,MSGCLASS=T

The second part defines the job step.

Streams generated by InSync have a single step, though there’s


nothing to prevent you from manually constructing more complex
jobs having several steps, or several functions within a step.

The statements here are more or less constant. The only values liable
to change are the input and output datasets, specified by the DD
names #INDD and #OUTDD respectively:
//STEP1 EXEC PGM=INSYNC,PARM=MVS
//*
//STEPLIB DD DISP=SHR,DSN=IN.ALPHA.LOADLIB
//*
//#ELIBDD DD DISP=SHR,DSN=IN.ALPHA.ELIB
//SYSTSPRT DD SYSOUT=*
//#LOG DD SYSOUT=*
//#PRINT DD SYSOUT=*
Your input and //#INDD DD DSN=INO.TRG.DEM.POLICY1.SEQ,DISP=SHR
//#OUTDD DD DSN=INO.TRG.DEM.POLICY4.SEQ,DISP=SHR
output datasets //#PARM DD *

The final part is InSync’s batch processing language. The first line is
always FUNCTION= to specify which batch option is to be performed.
Following that are any number of keyword=value lines, each
specifying some detail of that function’s behaviour:

INSYNC HANDBOOK
96 CHAPTER 8 ■
Working in batch ■
What on earth does that batch stream mean?

FUNCTION=EXTRACT
There’s always a INDD=#INDD
single FUNCTION OUTDD=#OUTDD
statement RDW=OFF
LANGUAGE=COB
REPLACEDUPS=NO
These KEYWORDS ADDTOOUTPUT=NO
LINESPERPAGE=065
are the parameter FORMATDSN=(INO.TRG.DEM.PRODCOPY)
values for the FORMATMBR=(POLREC)
function SEARCHDATA=(YEARS-NCD,GT,Z'05')

We’ll go through the lines one by one.

Statement Meaning
FUNCTION=EXTRACT In this step, InSync will copy selected
records from one dataset to another.
INDD=#INDD Supply the function with the input and
OUTDD=#OUTDD
output datasets, whose names you typed
on the Dataset Specification panel.
RDW=OFF A variable-length Record Descriptor
Word is not treated as a field in the record.
This value is based on the current
RDW ON|OFF setting in your user profile.
LANGUAGE=COB You specified that the copybook is written
in COBOL, or InSync found it to be so.
REPLACEDUPS=NO You typed NO for If keyed, replace
equal keyed records.
ADDTOOUTPUT=NO You typed NO for Add to existing
records in dataset.
LINESPERPAGE=065 From the JCL Specification panel.
FORMATDSN= The copybook member whose name you
(INO.TRG.DEM.PRODCOPY)
FORMATMBR=(POLREC) typed on the Dataset Specification panel.
SEARCHDATA= The condition you typed on the Selection
(YEARS-NCD,GT,Z'05')
Criteria panel.

Note the non-procedural nature of the language. InSync takes care of


opening and closing the input and output datasets, reading and
writing records, handling error conditions and so on. All you have to
supply is a few basic controls over precisely how the EXTRACT is to
behave. It’s really very simple... and yet extremely powerful.

INSYNC HANDBOOK
What about multiple-layout datasets?
97

What about multiple-layout datasets?


InSync batch takes these in its stride. We’ll show how it’s done by
extending our previous EXTRACT example to work with a multiple
layout dataset – one whose ‘copybook’ is in fact a select table which
we’ve defined. The first and second parts of the generated job stream
will be exactly the same as before; the third part will now look
something like this:
FUNCTION=EXTRACT
INDD=#INDD
OUTDD=#OUTDD
RDW=OFF
LANGUAGE=COB
REPLACEDUPS=NO
ADDTOOUTPUT=NO
LINESPERPAGE=065
CASE
FORMATDSN=(INO.TRG.DEM.PRODCOPY)
FORMATMBR=(POLREC)
SEARCHDATA=(POLNO NE C' '),AND,
(YEARS-NCD,GT,Z'05')
CASE
FORMATDSN=(INO.TRG.DEM.PRODCOPY)
FORMATMBR=(POLTOTAL)
ENDCASE

You can see the same FUNCTION= line and all of the same keywords.
There are also a couple of additional ones brought into play: the CASE
and ENDCASE keywords which we previously encountered in ‘Can
InSync handle complex record layouts?’ on page 79.

Can I split my data into several streams?


The CASE..ENDCASE isn’t just for multiple-layout datasets; you can
also use it to perform conditional processing on data whose layout is
the same for all records:
FUNCTION=EXTRACT
INDD=#INDD
OUTDD=#OUTDD
RDW=OFF
LANGUAGE=COB
REPLACEDUPS=NO
ADDTOOUTPUT=NO
LINESPERPAGE=065
CASE
FORMATDSN=(M4.TRGINO.DEM.CPYBOOKS)
FORMATMBR=(SALESREC)
WRITE=SALES03
SEARCHDATA=(STDATE,LT,Z'040000'),AND,
(STDATE,GE,Z'030000')
CASE
FORMATDSN=(M4.TRGINO.DEM.CPYBOOKS)
FORMATMBR=(SALESREC)
WRITE=SALESXX
ENDCASE

INSYNC HANDBOOK
98 CHAPTER 8 ■
Working in batch ■
Can I create temporary values during a batch run?

Here you can see two CASEs, both having the same FORMATDSN=
and FORMATMBR= values. The first CASE has a SELECTDATA=
keyword to identify a subset of records; the second one doesn’t, and
thus acts as a default handler for records which weren’t selected by the
first CASE.
You can also see a new WRITE= keyword, specifying a DDname
which you’ve defined for this job step. When it encounters one of
these, InSync ignores the ‘standard’ output dataset defined by
#OUTDD and instead writes to the dataset which this DDname
specifies.
You might wonder how that WRITE keyword was created, since there
doesn’t appear to be a way of selecting this capability from the Batch
EXTRACT Specification panels. You’re right: there isn’t; we’ve added
it manually, by editing the generated batch stream. This is a common
InSync technique; use the panels to generate a job stream that does
roughly what you want, and then edit the stream to refine and extend
the job as required.

Can I create temporary values during a batch run?


A simple option is to add a line like
ACCUM=(SALESVAL,'Sales total') to a batch stream; this builds a
running total of the specified field, and then outputs the accumulated
value with the explanatory text label at the end of the job.
InSync also provides a couple of special binary variables: # is a
general-purpose number, and L refers to the length of the current
input record. For example, the keyword ADD=(#,4,B,SALEVAL)
accumulates a data value into the four-byte binary field
In addition, the workarea – a block of temporary storage – is available
to you, and can be used to hold working values while an output record
is created or manipulated, to accumulate counts and checksums, and
for any other purposes. For example, the keyword
ADD=(W+8,4,Z,SALEVAL) accumulates a data value into a four-byte
zoned numeric field starting at the eighth byte of the workarea. You
could output the accumulated value using WRITE=(SYSOUT,W+8,4).

How can I tell what happened?


InSync creates various reports when running a batch job. The
#STATS Batch Action Summary report lists all of the keywords and
provides counts of how many times each keyword was actioned. The
briefer #LOG Batch Control Totals report provides counts of the
numbers of records read and processed. By default, both reports are
printed on SYSOUT.

INSYNC HANDBOOK
Did you know?
99

Did you know?


■ If you want to create a batch job for some specific purpose, your
best approach is to set up a job that’s roughly correct using
InSync’s menu panels, and then customize it by editing the batch
stream manually.

When InSync builds a batch stream, it places each function within
a separate batch step. However, you can manually combine
several functions within a single step if you wish.

INSYNC HANDBOOK
100 CHAPTER 8 ■
Working in batch ■
Did you know?

INSYNC HANDBOOK
101

CHAPTER 9

Chapter 9 DB2 and IMS databases

Most of InSync’s basic support for viewing and updating datasets is


also available for DB2 and IMS data. That is, you can work with rows
in a DB2 table, and with segments in an IMS database, using exactly
the same interface as when working with a z/OS dataset. In this
chapter we briefly introduce InSync’s database features: See:
■ ‘How do I work with DB2 tables?’ on page 102

‘How do I work with IMS databases?’ on page 108

The InSync for DB2 User Guide and InSync for IMS User Guide give
full details of the material introduced in this chapter.

INSYNC HANDBOOK
102 CHAPTER 9 ■
DB2 and IMS databases ■
How do I work with DB2 tables?

How do I work with DB2 tables?


InSync for DB2 is a separate product, but you start it from the InSync
Primary Options menu. Select the DB2 option; the DB2 Primary
Options menu appears:
InSync ------------ Data Manipulation Utility for DB2 ------------ Ver version
OPTION ===>

0 PARMS - Specify InSync parameters


1 BROWSE - Table browse
2 EDIT - Table edit
3 PRINT - Table print
4 COPY - Table row copy
5 EXTRACT - Extract table records
6 LOAD - Load extracted table records
7 RELATE - Relationship Management
8 RESERVED
B BATCH - InSync for DB2 batch functions
T TUTORIAL - Display information about InSync for DB2

Software Excellence from Macro 4


(c) Copyright Macro 4 1991-2004. All rights reserved

I want to view the rows in a table


Select the BROWSE option from the Primary Options menu; the
Table/View Specification panel appears:
InSync --------------- BROWSE - Table/View Specification --------------- InSync
COMMAND ===>
These fields define DB2ID ==> DSN1
your environment SQLID ==>
LOCATION ==>
This is the DB2 Creator ===> DSN8710
table or view to be
browsed Table/View name ===> EMP

First row to retrieve ===> (Optional - default = 1)


Maximum # of rows to retrieve ===> (Optional - default is maximum)
Uncommitted read ===> NO (YES, NO)

Use selection criteria ===> YES (YES, NO)


Use existing selection criteria ===> NO (YES, NO)

Relationship DSN ===>

Part of the installation process for InSync for DB2 is to define the
various DB2 systems running at your site. Each system is identified by
its DB2 Subsystem ID, and you can switch between systems by
changing the value of the DB2ID field.

You can modify your personal DB2 definitions by selecting PARMS on


the Primary Options menu, and then selecting ENVIRONMENT.

Optionally, you can enter your SQLID value, and you can specify a
remote DB2 Location.
The basic layout of the panel is similar to that for the dataset BROWSE
option; these are the additional control fields:

INSYNC HANDBOOK
How do I work with DB2 tables?
103

Control Selected Otherwise


First row to
retrieve
Use these two numbers to Your selection criteria are
create a subset of records applied to all records.
Maximum # of
rows to by numeric sampling
retrieve

Uncommitted
read
YES: InSync opens the NO: InSync won’t open
table even if another user the table if it’s locked.
has an Exclusive lock.
Relationship
DSN
This field is used only by the RELATE command – see
‘What’s this ‘relationship’ stuff all about?’ on page 106.

ENHANCED in 5.300 Type the name of a table to be viewed (this can be the full, 128-
Entry of long Creator
and Table/View names
character, long name) and type YES for Use selection criteria.
allowed
The Selection Criteria panel is displayed:
InSync SELECT - TABLE DSN8710.EMP ---------------------------------------------
COMMAND ===> SCROLL ===> PAGE
Select/order columns "S"/"n", Order rows "A(n)", "D(n)", enter WHERE clause

Display/Edit generated SQL ===> NO (YES, NO)


Display Save SQL panel ===> NO (YES, NO)
COLS 1-29
C COL COLUMN NAME FORMAT K SEL O WHERE MORE->
********************************** TOP OF DATA ********************************
1 EMPNO CHAR(6) P1
2 FIRSTNME VARCHAR(12)
3 MIDINIT CHAR(1)
4 LASTNAME VARCHAR(15)
5 WORKDEPT CHAR(3) F
6 PHONENO CHAR(4)
7 HIREDATE DATE
8 JOB CHAR(8)
9 EDLEVEL SMALLINT
10 SEX CHAR(1)
11 BIRTHDATE DATE
12 SALARY DECIMAL(7,2)
13 BONUS DECIMAL(7,2)
14 COMM DECIMAL(7,2)
********************************* BOTTOM OF DATA ******************************

This is similar to the facility that you met much earlier – see ‘What are
“subset selection criteria”?’ on page 34 – but with some changes and
extensions:

you are shown the primary keys marked as “P1”, “P2”, etc., and (if
selected in your user profile) any foreignkey columns marked as
“F”;

you can specify that you want the rows sorted according to the
values of one or more columns, in ascending or descending
sequence;
ENHANCED in 5.300

you can specify that you wish to display only selected columns, or
Can now exclude
columns – as well as
to exclude selected columns, and you can define the sequence in
select columns
which columns are presented;

INSYNC HANDBOOK
104 CHAPTER 9 ■
DB2 and IMS databases ■
How do I work with DB2 tables?

■ you specify which rows to display using terms such as “='SALES'”


or “BETWEEN 1 AND 99”, just as you would when writing SQL to
retrieve information from a database.
For example:
InSync SELECT - TABLE DSN8710.EMP ---------------------------------------------
Second sort COMMAND ===> SCROLL ===> PAGE
column, ascending Select/order columns "S"/"n", Order rows "A(n)", "D(n)", enter WHERE clause

Display/Edit generated SQL ===> NO (YES, NO)


Display this Display Save SQL panel ===> NO (YES, NO)
column COLS 1-29
C COL COLUMN NAME FORMAT K SEL O WHERE MORE->
LHS of WHERE ********************************** TOP OF DATA ********************************
1 EMPNO CHAR(6) P1 S a2 > 100
clause 2 FIRSTNME VARCHAR(12) 1 d1

Display this
column first

First sort column,


descending

RHS of WHERE
clause

Press Enter. The first row in the table is displayed:


InSync BROWSE - TABLE DSN8710.EMP ---------------------------------------------
COMMAND ===> SCROLL ===> PAGE

Row 1 of 43 selected rows

COL COLUMN NAME FORMAT/LENGTH K N DATA


********************************** TOP OF DATA ********************************
1 EMPNO CHAR(6) P1 000010
2 FIRSTNME VARCHAR(12) 9
CHRISTINE
3 MIDINIT CHAR(1) I
4 LASTNAME VARCHAR(15) 4
HAAS
5 WORKDEPT CHAR(3) F N A00
6 PHONENO CHAR(4) N 3978
7 HIREDATE DATE(10) N 1965-01-01
8 JOB CHAR(8) N PRES
9 EDLEVEL SMALLINT(2) N 18
10 SEX CHAR(1) N F
11 BIRTHDATE DATE(10) N 1933-08-14
12 SALARY DECIMAL(7,2) N +52750.00
13 BONUS DECIMAL(7,2) N +1000.00
14 COMM DECIMAL(7,2) N +99.00
********************************* BOTTOM OF DATA ******************************

The navigation commands are the same as before. You can also use
the TFORMAT command to display several rows at the same time:

INSYNC HANDBOOK
How do I work with DB2 tables?
105

InSync BROWSE DSN8710.EMP ROW 1 OF 43 COLS 1 - 80


COMMAND ===> SCROLL ===> PAGE

EMPNO FIRSTNME MIDINIT LASTNAME WORKDEPT PHONENO HIREDATE


CHAR(6) VARCHAR(12) CHAR(1) VARCHAR(15) CHAR(3) CHAR(4) DATE(10)
-PKEY1- -------------- ------- ----------------- -F-NULLA ---NULL ---NULLA
********************************* TOP OF DATA *********************************
000010 CHRISTINE I HAAS N A00 N 3978 N 1965-0
000020 MICHAEL B THOMPSON N B01 N 3476 N 1973-1
000030 SALLY A KWAN N C01 N 4738 N 1975-0
000050 JOHN B GEYER N E01 N 6789 N 1949-0
000060 IRVING F STERN N D11 N 6423 N 1973-0
000070 EVA D PULASKI N D21 N 7831 N 1980-0
000090 EILEEN W HENDERSON N E11 N 5498 N 1970-0
000100 THEODORE Q SPENSER N E21 N 0972 N 1980-0
000110 VINCENZO G LUCCHESI N A00 N 3490 N 1958-0
000120 SEAN O'CONNELL N A00 N 2167 N 1963-1
000130 DOLORES M QUINTANA N C01 N 4578 N 1971-0
000140 HEATHER A NICHOLLS N C01 N 1793 N 1976-1
000150 BRUCE ADAMSON N D11 N 4510 N 1972-0
000160 ELIZABETH R PIANKA N D11 N 3782 N 1977-1
000170 MASATOSHI J YOSHIMURA N D11 N 2890 N 1978-0
000180 MARILYN S SCOUTTEN N D11 N 1682 N 1973-0
000190 JAMES H WALKER N D11 N 2986 N 1974-0

There is no ‘unformatted display mode’ in InSync for DB2 – rows and


columns are displayed using their DB2 data definitions. However, you
can use the ZOOM command to provide an unformatted display of the
values in a single column.

I want to modify the rows


Select the EDIT option from the Primary Options menu; the
Table/View Specification panel appears:
InSync ---------------- EDIT - Table/View Specification ---------------- InSync
COMMAND ===>
DB2ID ==> DSN1
SQLID ==>
LOCATION ==>

Creator ===> DSN8710

Table/View name ===> PROJ

Lock table during edit ===> NO (YES, NO)


First row to retrieve ===> (Optional - default = 1)
Maximum # of rows to retrieve ===> (Optional - default is maximum)
Write audit report ===> NO (YES, NO)
Uncommitted read ===> NO (YES, NO)

Use selection criteria ===> YES (YES, NO)


Use existing selection criteria ===> NO (YES, NO)

Relationship DSN ===>

The basic layout of the panel is similar to that for the BROWSE option;
these are the additional control fields:

Control Selected Otherwise


Lock table
during edit
YES: InSync locks the NO: You can update the
table; this disables the table normally.
SAVE command and the
auto-commit of changes.

INSYNC HANDBOOK
106 CHAPTER 9 ■
DB2 and IMS databases ■
How do I work with DB2 tables?

Control Selected Otherwise


Write audit
report
YES: InSync writes before- NO: An audit report is not
and-after images of each generated.
edited row, to form a
human-readable record of
your changes.

ENHANCED in 5.300 Type the name of a table to be modified (this can be the full, 128-
Entry of long Creator
and Table/View names
character, long name) and press Enter. The first row in the table is
allowed
displayed.

PRINT, COPY, EXTRACT and LOAD: any surprises?


No. The PRINT option prints selected rows from a table, the COPY
option copies selected rows to another table, the EXTRACT option
copies selected rows to a dataset, and the LOAD option reverses that
flow. You have the usual controls over how the options behave, but
there’s nothing significant you haven’t met before.

What’s this ‘relationship’ stuff all about?


InSync enables you to define relationships between data in different
tables. You do this either using native DB2 Referential Integrity (RI)
information, or explicitly by mapping columns between tables.

Relationships In the online options BROWSE and EDIT, you can employ
online relationships (using RI information or defining a relationship dataset)
to work with rows from up to three related tables simultaneously.
For example, if you use RELATE RI while browsing a table, InSync
lists the relevant RI definitions in the DB2 catalog:
InSync ------------------ RELATED TABLE SELECTION ------------------ InSync
COMMAND ===> SCROLL ===> PAGE

C Related table Relname D/P Index


DSN8710.PROJ RPP D
DSN8710.PROJACT RPAP D
DSN8710.DEPT DEPTNO P
DSN8710.EMP RESPEMP P
DSN8710.PROJ RPP P
********************************* BOTTOM OF DATA **************************

The panel provides a list of tables which are dependent on the table
currently being displayed, together with the names of the
relationships. Select the appropriate item, and then press Enter. A
two-way split screen is used to display one row from the original table,
together with any dependent rows from the related table which you
selected. For example:

INSYNC HANDBOOK
How do I work with DB2 tables?
107

The upper pane InSync BROWSE DSN8710.PROJ ROW 3 OF 22 COLS 1 - 80


COMMAND ===> SCROLL ===> PAGE
displays a single
row PROJNO PROJNAME DEPTNO RESPEMP PRSTAFF PRSTDATE

AD3111 PAYROLL PROGRAMMING D21 000230 N +2.00 N 1982-01-0


------------------------------------------------------------------------------
The lower pane InSync BROWSE DSN8710.PROJACT ROW 1 OF 7 COLS 1 - 80
COMMAND ===> SCROLL ===> PAGE
displays rows PROJNO ACTNO ACSTAFF ACSTDATE ACENDATE
which are ********************************* TOP OF DATA *********************************
dependent on that AD3111 60 N +0.80 1982-01-01 N 1982-04-15
AD3111 60 N +0.50 1982-03-15 N 1982-04-15
row AD3111 70 N +1.50 1982-02-15 N 1982-10-15
AD3111 70 N +0.50 1982-03-15 N 1982-10-15
AD3111 80 N +1.25 1982-04-15 N 1983-01-15
AD3111 80 N +1.00 1982-09-15 N 1983-01-01
AD3111 180 N +1.00 1982-10-15 N 1983-01-15
******************************** BOTTOM OF DATA *******************************

You can use RELATE twice, so that related rows from three tables are
simultaneously display. At any time only one of the tables is ‘active’
and scrollable; the JUMP command moves focus between them.

Relationships In the batch options R-EXTRACT, R-DELETE and R-LOAD, you must
in batch always define a relationship dataset. You can unload and reload data
from up to 100 related tables: these options provide a convenient way
of copying information from one database to another.

INSYNC HANDBOOK
108 CHAPTER 9 ■
DB2 and IMS databases ■
How do I work with IMS databases?

How do I work with IMS databases?


Like InSync for DB2, InSync for IMS is a separate product, started
from the InSync Primary Options menu. Select the IMS option; the
IMS Primary Options menu appears:
InSync ------------ Data Manipulation Utility for IMS ------------ Ver version
OPTION ===>

0 PARMS - Specify InSync parameters


1 BROWSE - Database browse
2 EDIT - Database edit
3 PRINT - Database print
4 FORMAT - Segment format tables
5 EXTRACT - Extract database records
6 LOAD - Load extracted database records
7 RELATE - Extract Relationships
B BATCH - InSync for IMS batch functions
T TUTORIAL - Display information about InSync for IMS

Software Excellence from Macro 4


(c) Copyright Macro 4 1991-2004. All rights reserved

I want to view the segments in a database


Select the BROWSE option from the Primary Options menu; one of
two Database Specification panels appears. If you’re using dynamic
PSBs you see this:
InSync ---------------- BROWSE - Database Specification ---------------- InSync
COMMAND ===> IMSID => IMS7

Region type ===> DLI (DLI, BMP)

DBDLIB Dsname1 ===> 'IMS7.DBDLIB'


These fields define Dsname2 ===>
your environment Member name ===> DI21PART (Blank or pattern for selection list)

Exclude segments ===> YES (YES, NO)


This is the IMS Use dynamic allocation dataset names ===> YES (YES, NO)
database to be Use record layout to format display ===> NO (COB, PLI, YES, NO)
browsed Initial segment is: FIRST, or found
using OLD or NEW selection criteria ===> FIRST (FIRST, OLD, NEW)
Use secondary indexes ===> NO (YES, NO)

FORMAT LIBRARY: (to use concatenated library list, specify Member name only)
Dataset name ===>
Member name ===> (Blank or pattern for selection list)
Display Library List ===> YES (YES, NO)

Alternatively, if you’re using static PSBs you see this panel:

INSYNC HANDBOOK
How do I work with IMS databases?
109

InSync ---------------- BROWSE - Database Specification ---------------- InSync


COMMAND ===> IMSID => IMS7

Region type ===> DLI (DLI, BMP)

PSBLIB Dsname1 ===>


When using static Dsname2 ===>
PSBs, these fields Member name ===> (Blank or pattern for selection list)
are additionally
DBDLIB Dsname1 ===> 'IMS7.DBDLIB'
present. Dsname2 ===>
The Exclude Member name ===> DI21PART (Blank or pattern for selection list)
Segments and Use Use dynamic allocation dataset names ===> YES (YES, NO)
Secondary Indexes Use record layout to format display ===> NO (COB, PLI, YES, NO)
fields are omitted. Initial segment is: FIRST, or found
using OLD or NEW selection criteria ===> FIRST (FIRST, OLD, NEW)

FORMAT LIBRARY: (to use concatenated library list, specify Member name only)
Dataset name ===>
Member name ===> (Blank or pattern for selection list)
Display Library List ===> YES (YES, NO)

Part of the installation process for InSync for IMS is to define the
various IMS systems running at your site. Each system is identified by
its IMS Subsystem ID, and you can switch between systems by
changing the value of the IMSID field. One of the properties of an
IMS system definition is whether to use dynamic PSBs.

You can modify your personal IMS definitions by selecting PARMS on


the Primary Options menu, and then selecting ENVIRONMENT.

The basic layout of the panel is similar to that for the dataset BROWSE
option; these are the additional control fields:

Control Selected Otherwise


Exclude
segments
YES: InSync presents the NO: InSync presents all
Segment Exclusion panel, segments.
(Dynamic PSBs
only) then omits excluded
segments.
Use dynamic
allocation
YES: InSync automatically NO: You must supply
dataset names allocates the dataset names matching dataset names
for this DLI region. for each of the DD names
Always YES for a BMP associated with the
region. database.
Initial
segment is:
FIRST: InSync initially OLD: InSync uses saved
FIRST, or displays the first segment selection criteria to select
found using
OLD or NEW in the database. the initial segment for
selection
criteria display.
NEW: InSync uses the
criteria specifed next.

INSYNC HANDBOOK
110 CHAPTER 9 ■
DB2 and IMS databases ■
How do I work with IMS databases?

Control Selected Otherwise


Use secondary
indexes
YES: InSync presents list NO: No secondary index is
of secondary indexes, uses used.
(Dynamic PSBs
only) that specified.

Before you can select a formatted display of your data, you must
have defined a format table – a mapping from segment types to
copybook members. A format table is very similar to the select tables
described in ‘Multiple layouts’ on page 79.

Type the name of a database to be viewed, YES for Use COBOL or


PL/I layout to format display, and supply the details of the format
member. Press Enter. The first segment in the database is displayed:
InSync BROWSE - DI21PART ------------------------------------------------------
COMMAND ===> SCROLL ===> PAGE
Segment - PARTROOT - ROOT SEGMENT

Key: 02AN960C10
LVL FIELD NAME FORMAT POS K DATA
********************************** TOP OF DATA ********************************
01 PART-INFO-REC G 1
02 PART-NO-ID C 2 1 K 02
02 PART-NO C 15 3 K AN960C10
02 FILLER1 C 9 18
02 ROOT-DESC C 20 27 WASHER
02 FILLER2 C 4 47 MAC4
********************************* BOTTOM OF DATA ******************************

ENHANCED in 5.300
Prompt message for If you successfully enter a Browse or Edit session by using new FIND
STORFIND command in
IMS Browse/Edit
criteria, you are prompted “Use STORFIND command to save FIND
criteria”. This enables you to save the FIND criteria in a PDS member
for re-use.

The navigation commands are the same as before. You can view in
single-segment formatted mode, single-segment unformatted mode,
and multiple-segment (full screen) unformatted mode.

INSYNC HANDBOOK
How do I work with IMS databases?
111

InSync BROWSE - DI21PART ----------------------------------------- COLS 1 - 60


COMMAND ===> SCROLL ===> PAGE

LEVEL SEGMENT

__ 1 PARTROOT 02AN960C10 WASHER MAC4


__ 2 STANINFO 02 742 1200 14
__ 2 STOKSTAT 00 AA16511 000000000 EACH000000000000000000
__ 2 STOKSTAT 00 AK2877F M000000000 EACH000000000000270000
__ 2 STOKSTAT 0028009126 000000000 EACH 0000000000
__ 1 PARTROOT 02CK05CW181K CAPACITOR
__ 2 STANINFO 02 742 1200 82
__ 2 STOKSTAT 00 VF52906 000001000 EACH000000000000400000
__ 2 STOKSTAT 0025900326 000000340 000000
__ 2 STOKSTAT 0025910926 000000340 000000
__ 1 PARTROOT 02CSR13G104KL KR1J50KS
__ 2 STANINFO 02 742 1200 82
__ 2 STOKSTAT 00 DB7455R M000002710 EACH000000000000000000
__ 2 STOKSTAT 00 SK21713 M000002710 EACH000000000000000000
__ 2 STOKSTAT 0025502526 000000000 008000
__ 1 PARTROOT 02JAN1N976B DIODE CODE-A
__ 2 STANINFO 02 742 1200 72
__ 2 STOKSTAT 0025509126 000000000 004000
__ 3 BACKORDR 30PR237942

Tabular format displays aren’t available in InSync for IMS.

I want to modify the segments


Select the EDIT option from the Primary Options menu; the Database
Specification panel appears – here we show the variant for dynamic
PSBs:
InSync ----------------- EDIT - Database Specification ----------------- InSync
COMMAND ===> IMSID => IMS7

Region type ===> DLI (DLI, BMP)

DBDLIB Dsname1 ===> 'IMS7.DBDLIB'


Dsname2 ===>
Member name ===> DI21PART (Blank or pattern for selection list)

Exclude segments ===> YES (YES, NO)


Use dynamic allocation dataset names ===> YES (YES, NO)
Use record layout to format display ===> NO (COB, PLI, YES, NO)
Write audit report ===> NO (YES, NO)
DLI log dataset disposition ===> KEEP (KEEP, DELETE)
Initial segment is: FIRST, or found
using OLD or NEW selection criteria ===> FIRST (FIRST, OLD, NEW)
Use secondary indexes ===> NO (YES, NO)

FORMAT LIBRARY: (to use concatenated library list, specify Member name only)
Dataset name ===>
Member name ===> (Blank or pattern for selection list)
Display Library List ===> YES (YES, NO)

The basic layout of the panel is similar to that for the BROWSE option;
these are the additional control fields:

INSYNC HANDBOOK
112 CHAPTER 9 ■
DB2 and IMS databases ■
How do I work with IMS databases?

Control Selected Otherwise


Print audit
report
YES: InSync writes before- NO: An audit report is not
and-after images of each generated.
edited segment, to form a
human-readable record of
your changes.
DLI log
dataset
KEEP: InSync retains the DELETE: The dataset is
disposition log dataset at the end of deleted.
the session.

Type the name of a database to be modified, and press Enter. The first
segment is displayed.
In full-screen mode, commonly-used line commands include:

To do this use Notes

insert a new I
segment
insert a new N → overtype_key
segment based on
the marked
segment
insert a new NA → overtype_key(s)
segment structure
based on the
marked segment
and its dependents
insert a copy of the R → specify_parent_key
marked segment
insert a copy of the RA → specify_parent_key
marked segment
and its dependents
delete marked D
segments
print marked P
segments

INSYNC HANDBOOK
How do I work with IMS databases?
113

PRINT, EXTRACT and LOAD: all as expected?


Yes. The PRINT option prints selected segments from a table, the
EXTRACT option copies selected segments to a dataset, and the LOAD
option reverses that flow. You have the usual controls over how the
options behave, but there’s nothing significant you haven’t met
before.

INSYNC HANDBOOK
114 CHAPTER 9 ■
DB2 and IMS databases ■
How do I work with IMS databases?

INSYNC HANDBOOK
115

Index

A END 15, 31, 32, 52, 57


administering EXCLUDE 41, 43, 48
datasets 87 EXPAND 47
PDS members 88 FIND 23, 44, 45, 48
VSAM datasets 86 FINDSTR 45, 48
VTOCs 89 FLIP 57
audit trails 50, 54, 61 FORMAT 29, 32
FREEZE 43
FS 24, 29, 32
B HELP 15, 16
batch processing 91–99
HEX 22, 32, 40
batch workarea 98
HORIHOLD 46
BDAM datasets 17 INDENT 46
browsing
INSERT 58
datasets 19–32
IPRINT 74
DB2 tables 102 JUMP 107
IMS databases 108
KEY 23
record layouts 78
LAYOUT 47
LEFT 15, 25
C LOCATE 30
COBOL copybooks 17, 26, 30, 78 MATCH 69
commands NEXT 15, 22, 25, 32
CANCEL 31, 52, 57 PFSHOW 15
CAPS 47 PREVIOUS 15, 22, 25, 32
CHANGE 58, 59, 60 RBA 23
COLWIDTH 47 RCHANGE 15, 58, 60
COPY 58, 60 RDW 46
CREATE 58, 60 RECORD 23
DELETE 58 REFRESH 57
DOWN 15, 23, 25, 32 RELATE 106

INSYNC HANDBOOK
116 Index

RESET 57 single-record 21, 27, 28, 58


RETRIEVE 15 unformatted 21, 24, 28, 58, 60
RETURN 15
RFIND 15 E
RIGHT 15, 25 editing
SAVE 52, 57
datasets 49–61
SELECT 39, 48, 57
DB2 tables 105
SHADOW 42 IMS databases 111
SHOW88 46
error messages 16
SORT 55
exiting from InSync 31
SPLIT 15 extracting
SUBMIT 94
dataset records 66
SWAP 15
DB2 tables 106
TFORMAT 27, 32 IMS databases 113
UNDO 52, 57, 61
UP 15, 23, 25, 32
VERTHOLD 46 F
ZOOM 105 format tables 110
comparing formatted display mode 27, 28, 58,
datasets 69 59
compound tables 84 function keys 15
concatenated library lists 30, 82
copybooks 17, 26, 30, 78 H
copying help 16
DB2 tables 106 HFS files 17

D I
datasets 17, 21 IMS databases 14, 17, 108–113
administration 87 browsing 108
browsing 19–32 editing 111
comparing 69 extracting 113
editing 49–61 loading 113
extracting records 66 printing 113
inserting records 56, 64 inserting
navigating through 22, 25, 29 dataset records 56, 64
printing 73 InSync
rearranging fields 67 exiting 31
VSAM administration 86 starting 20
DB2 tables 14, 17, 102–107
browsing 102
copying 106
L
editing 105 loading
DB2 tables 106
extracting 106
IMS databases 113
loading 106
printing 106 log dataset 50, 51, 53, 61
relationships 106
display modes M
formatted 27, 28, 58, 59 menu options
multi-record 24, 27, 28, 59, 60 BATCH 93

INSYNC HANDBOOK
Index
117

batch CHANGE 92 UTILITIES 86, 92


batch COMPARE 92 VSAM 86
batch DATEAGE 92 VTOC 88, 92
batch DELETE 92 menus 13, 14
batch EXTRACT 92 messages 16
batch FIELDCOMPARE 92 multiple FORMATDSN lists 82
batch FIELDMAP 92 multi-record display mode 24, 27,
batch LAYOUT 92 28, 59, 60
batch LIBRARY 92
batch PRINT 92 O
batch SCAN 92 online help 16
batch VTOC 92
BROWSE 21, 26, 32, 49, 61, 92
COMPARE 69, 72, 75, 92 P
COMPOUND 83 partitioned datasets 17
CREATE 64, 65, 75, 92 searching 87
DATASET 87 PDS members
DATEAGE 65, 92 administration 88
DB2 14, 20, 102 PF keys 15
DB2 batch LOAD 92 PL/I copybooks 17, 26, 30, 78
DB2 batch R-DELETE 107 prefixing name with TSO userid 21
DB2 batch R-EXTRACT 107 Primary Options menu 13, 14, 16,
DB2 batch R-LOAD 107 20, 102, 108
DB2 BROWSE 102 printing
DB2 COPY 106 datasets 73
DB2 EDIT 105 DB2 tables 106
DB2 EXTRACT 106 IMS databases 113
DB2 LOAD 106 record layouts 78
DB2 PRINT 106
EDIT 50, 61, 64, 65, 92 R
EXTRACT 66, 67, 75, 91, 92 READ-ONLY mode 43, 51, 55
FIELDCOMPARE 92 record layouts
FIELDMAP 67, 75, 92 browsing 78
IMS 14, 20, 108 compound 82
IMS batch LOAD 92 multiple 79
IMS BROWSE 108 printing 78
IMS EDIT 111 segmented 79
IMS EXTRACT 113 relationships between DB2 tables
IMS LOAD 113 106
IMS PRINT 113
LAYOUT 78, 92
LIBRARY 88, 92
S
LOG/AUDIT 54 searching
partitioned datasets 87
PARMS 45, 48, 54, 92
select tables 81, 97
PRINT 73, 75, 92
PROFILE 45, 48 sequential datasets 17
single-record display mode 21, 27,
SCAN 87, 92
28, 58
SELECT 79
TABLES 79, 83, 92 starting InSync 20
subset selection criteria 34–41, 48,
TUTORIAL 16

INSYNC HANDBOOK
118 Index

51, 61

U
unformatted display mode 21, 24,
28, 58, 60

V
VSAM datasets 17, 86
VTOC administration 89

W
workarea 98

INSYNC HANDBOOK
INSYNC HANDBOOK
I N T E L L I G E N T • S Y S T E M S • M A N A G E M E N T

www.macro4.com

Potrebbero piacerti anche