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 INOH-5300-00 (January 2006) Trademark acknowledgements The following are trademarks of Macro 4: InSync The following are trademarks or registered trademarks of IBM Corporation: DB2, IMS, MVS, OS/390, z/OS. Other product and company names mentioned herein may be the trademarks or registered trademarks of their respective owners. Documentation set The documentation relating to this product includes: ■ ■ ■ ■ ■ ■ ■ ■ InSync Handbook InSync for z/OS User Guide InSync for DB2 User Guide InSync for IMS User Guide InSync Batch User Guide InSync Installation Guide InSync Messages InSync Quick Reference License information Copyright © 2006 Macro 4. All rights reserved. This publication, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. The information in this publication is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Macro 4. Macro 4 assumes no responsibility or liability for any errors or inaccuracies which may appear in this publication. Except as permitted by such license, no part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording or otherwise, without prior written permission from Macro 4. Making comments We welcome user feedback on our product documentation. Please contact your local Macro 4 representative, email us at
[email protected], or write to: Technical Documentation Macro 4 The Orangery, Turners Hill Road, Crawley, West Sussex RH10 4SS United Kingdom www.macro4.com 3 Contents About this manual . . . . . . . . . . . . . . . . . . . . .7 Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .11 What is InSync?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What are its key features? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What does it look like? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How are the menus structured?. . . . . . . . . . . . . . . . . . . . . . . . . How about the function keys? . . . . . . . . . . . . . . . . . . . . . . . . . . Is online help available? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How do I tell what’s gone wrong?. . . . . . . . . . . . . . . . . . . . . . . What programming languages are supported? . . . . . . . . . . . . . . . . What file structures are supported? . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 13 15 16 16 17 17 Chapter 2 Getting started . . . . . . . . . . . . . . . . . . . . . . .19 Where do I begin?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How do I browse the contents of a dataset?. . . . . . . . . . . . . . . . . . . How do I view the next records? . . . . . . . . . . . . . . . . . . . . . . . Can I go directly to a specific record? . . . . . . . . . . . . . . . . . . . How do I view the rest of a long record? . . . . . . . . . . . . . . . . . Can I see more than one record at a time?. . . . . . . . . . . . . . . . In full-screen mode, how do I navigate through my data?. . . . How do I apply formatting to my displays? . . . . . . . . . . . . . . . . . . . What do the Format codes mean? . . . . . . . . . . . . . . . . . . . . . . Can I see more than one record at a time?. . . . . . . . . . . . . . . . So, there are four ways of viewing my data? . . . . . . . . . . . . . . 20 21 22 23 23 24 25 26 27 27 28 INSYNC HANDBOOK 4 Contents In formatted mode, how do I navigate through my data? . . . . How exactly do I specify my record layout? . . . . . . . . . . . . . . I’ve finished viewing the data: what now? . . . . . . . . . . . . . . . . . . . . Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 30 31 32 Chapter 3 Controlling what’s displayed . . . . . . . . . . . .33 What are “subset selection criteria”? . . . . . . . . . . . . . . . . . . . . . . . . How do I re-use my saved subset selection criteria? . . . . . . . . Can I review my current criteria if I didn’t save them? . . . . . . Can I use subset selection criteria in unformatted mode? . . . . Can I suppress some of the fields? . . . . . . . . . . . . . . . . . . . . . . . . . . Can I exclude fields from a multi-record display? . . . . . . . . . . Can I exclude records from a multi-record display? . . . . . . . . Can I keep a field always visible in a multi-record display? . . Can I search for specific values?. . . . . . . . . . . . . . . . . . . . . . . . . . . . Can’t I just search for a string of characters? . . . . . . . . . . . . . . What other parameters can I adjust? . . . . . . . . . . . . . . . . . . . . . . . . Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 38 39 39 41 43 43 43 44 45 45 48 Chapter 4 Editing records in a dataset . . . . . . . . . . . . .49 I guess I start from the Primary Options menu? . . . . . . . . . . . . . . . Supposing I make a mistake...? . . . . . . . . . . . . . . . . . . . . . . . . . What if the system crashes in mid-edit? . . . . . . . . . . . . . . . . . . What’s the difference between a log and an audit report? . . . . Why is READ-ONLY editing useful? . . . . . . . . . . . . . . . . . . . . What editing operations are available? . . . . . . . . . . . . . . . . . . . . . . What types of command are supported? . . . . . . . . . . . . . . . . . Can I insert new records? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How do I save my changes? . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatted and unformatted single-record modes . . . . . . . . . . Formatted multi-record mode (TFORMAT) . . . . . . . . . . . . . . Unformatted multi-record mode (FS) . . . . . . . . . . . . . . . . . . . . Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 51 53 53 55 56 56 56 57 58 59 60 61 Chapter 5 Other dataset capabilities . . . . . . . . . . . . . .63 Can I just key in a whole set of records? . . . . . . . . . . . . . . . . . . . . . How can I create one dataset from another? . . . . . . . . . . . . . . . . . . Can I select records from a dataset? . . . . . . . . . . . . . . . . . . . . . Can I rearrange the order of the fields? . . . . . . . . . . . . . . . . . . Are these two datasets the same? . . . . . . . . . . . . . . . . . . . . . . . Hardcopy output is probably handled by the PRINT option? . . . . Can I print just a single record? . . . . . . . . . . . . . . . . . . . . . . . . 64 65 66 67 69 73 74 INSYNC HANDBOOK Contents 5 Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Chapter 6 More about formatting . . . . . . . . . . . . . . . . .77 How do I display or print my record layout? . . . . . . . . . . . . . . . . . Can InSync handle complex record layouts? . . . . . . . . . . . . . . . . . Multiple layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compound layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 79 79 82 Chapter 7 Dataset utilities . . . . . . . . . . . . . . . . . . . . . .85 Working with datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining VSAM datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with general datasets . . . . . . . . . . . . . . . . . . . . . . . . . Working with PDS members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching for strings in PDS members . . . . . . . . . . . . . . . . . . . Manipulating PDS members . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with VTOCs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 86 87 87 87 88 88 Chapter 8 Working in batch . . . . . . . . . . . . . . . . . . . . .91 How do online and batch options match up? . . . . . . . . . . . . . . . . . How do I specify a batch option? . . . . . . . . . . . . . . . . . . . . . . . . . . . What on earth does that batch stream mean? . . . . . . . . . . . . . . . . . What about multiple-layout datasets?. . . . . . . . . . . . . . . . . . . . . . . . Can I split my data into several streams? . . . . . . . . . . . . . . . . . . . . . Can I create temporary values during a batch run?. . . . . . . . . . . . . How can I tell what happened? . . . . . . . . . . . . . . . . . . . . . . . . . . . . Did you know? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 93 95 97 97 98 98 99 Chapter 9 DB2 and IMS databases . . . . . . . . . . . . . . .101 How do I work with DB2 tables? . . . . . . . . . . . . . . . . . . . . . . . . . . I want to view the rows in a table . . . . . . . . . . . . . . . . . . . . . . I want to modify the rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . PRINT, COPY, EXTRACT and LOAD: any surprises?. . . . What’s this ‘relationship’ stuff all about?. . . . . . . . . . . . . . . . . How do I work with IMS databases? . . . . . . . . . . . . . . . . . . . . . . . I want to view the segments in a database . . . . . . . . . . . . . . . I want to modify the segments . . . . . . . . . . . . . . . . . . . . . . . . PRINT, EXTRACT and LOAD: all as expected? . . . . . . . . . 102 102 105 106 106 108 108 111 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 upto-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. Indicates a command or keyword that you should type, exactly as shown. Indicates a variable for which you should substitute an appropriate value. Indicates literal input and output. 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. boldface italics monotype Ctrl+D [ | ... ] 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 Optional Data Privacy feature. ■ ■ NEW in 5.300 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 MVS Data Privacy feature, and online/batch FIELDCOMPARE 0 (PARMS) 0 (LICENSE) 1 (PROFILE) 2 (PRINT) 3 (LOG/AUDIT) 4 (PF KEYS) 5 (DATA PRIVACY) Display InSync license information Specify session profile parameters Specify print dataset allocation Specify EDIT log/audit dataset allocation Specify PF key assignments Specify Data Privacy Rules for a dataset Dataset browse Dataset edit Dataset print COBOL record layout processing Formatted record create Create extract dataset 1 (BROWSE) 2 (EDIT) 3 (PRINT) 4 (LAYOUT) 5 (CREATE) 6 (EXTRACT) 7 (TABLES) 1 (SELECT) 2 (UPDATE) 3 (COMPOUND) 4 (REVIEW) 8 (FIELDMAP) 9 (FIELDCOMPARE) 10 (COMPARE) 11 (DATEAGE) U (UTILITIES) 1 (LIBRARY) 2 (SCAN) 3 (VSAM) 4 (VTOC) 5 (DATASET) B (BATCH) 1 (CHANGE) 2 (DELETE) 3 (PRINT) 4 (EXTRACT) 5 (FIELDMAP) 6 (FIELDCOMPARE) 7 (COMPARE) 8 (DATEAGE) 9 (SCAN) 10 (VTOC) 11 (LAYOUT) 12 (LIBRARY) DB2 IMS T (TUTORIAL) Specify multiple format selection criteria View/Update multiple format sel’n criteria Define compound record layout structure Review/update compound table Map fields to new record layout Dataset field compare Dataset record compare Adjust dates within dataset PDS directory and CSECT information PDS scan utility VSAM utility VTOC utility DATASET utility Specify record change criteria Specify record delete criteria Specify dataset print criteria Specify record extract criteria Specify field mapping criteria Specify field compare criteria Specify record compare criteria Specify date age criteria Specify PDS scan criteria Specify Batch VTOC criteria Specify Batch LAYOUT criteria Specify batch LIBRARY criteria Invoke InSync for DB2 (see below) Invoke InSync for IMS (see below) 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) 2 (PRINT) 3 (AUDIT) 4 (PF KEYS) 5 (ENVIRONMENT) 6 (ADMIN) 1 (BROWSE) 2 (EDIT) 3 (PRINT) 4 (COPY) 5 (EXTRACT) 6 (LOAD) 7 (RELATE) B (BATCH) 3 (PRINT) 4 (EXTRACT) 5 (LOAD) 6 (R-EXTRACT) 7 (R-LOAD) 8 (R-DELETE) T (TUTORIAL) Specify session profile parameters Specify print dataset allocation Specify audit dataset allocation Specify PF key assignments Specify DB2 system parameters InSync DB2ID table administration Table browse Table edit Table print Table row copy Extract table records Load extracted table records Relationship management Table print Extract table records Load extracted table records Related table extract Related table load Related delete Display information about InSync for DB2 For the IMS option, the menus are arranged as follows: 0 (PARMS) 1 (PROFILE) 2 (PRINT) 3 (AUDIT) 4 (LOG) 5 (PF KEYS) 6 (ENVIRONMENT) 7 (ADMIN) 1 (BROWSE) 2 (EDIT) 3 (PRINT) 4 (FORMAT) 5 (EXTRACT) 6 (LOAD) 7 (RELATE) B (BATCH) 1 (CHANGE) 2 (DELETE) 3 (PRINT) 4 (EXTRACT) 5 (LOAD) 6 (INIT) 7 (INSERT) 8 (COMPARE) 9 (R-EXTRACT) T (TUTORIAL) Specify session profile parameters Specify print dataset allocation Specify audit dataset allocation Specify log dataset allocation Specify PF key assignments Specify IMS system parameters InSync IMSID database administration Database browse Database edit Database print Segment format tables Extract database records Load extracted database records Extract relationships Specify segment change criteria Specify segment delete criteria Database print Extract database records Load extracted database records Initialize database Specify segment insert criteria Compare database extract files Related database extract 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 PF2, PF14 SPLIT PF3, PF15 END PF4, PF16 RETURN PF5, PF17 RFIND PF6, PF18 RCHANGE PF7, PF19 UP PF8, PF20 DOWN PF9, PF21 SWAP PF10, PF22 PREVIOUS or LEFT Displays tutorial information. Divides display into two logical screens. Terminates an option or sub-option. Returns to the Primary Options menu. Displays the next record which meets the currently defined search criteria. Applies the defined change to the currently displayed record. Scrolls towards top of displayed data. Scrolls towards bottom of displayed data. In split-screen mode, jumps to other screen. In single record display mode: displays a record nearer to the top of the dataset. In multi-record display mode: displays fields nearer to the start of the record. In single record display mode: displays a record nearer to the bottom of the dataset. In multi-record display mode: displays fields nearer to the end of the record. Recalls previously-entered commands to the command line. PF11, PF23 NEXT or RIGHT PF12, PF24 RETRIEVE 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 ===> “OK” is not a valid response, and generates a brief error message DATA FILE: DATASET NAME VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.ESDS' ===> (If not cataloged) (YES, NO) (YES, NO) (COB, PLI, YES, NO) Use subset selection criteria ===> OK Use existing subset selection criteria ===> NO Use COBOL or PL/1 layout to format display ===> YES COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for member selection list) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET ===> DISPLAY ===> YES (YES, NO) Additional information is only a keystroke away: InSync ----------------- BROWSE - Dataset Specification -------- Invalid value COMMAND ===> DATA FILE: DATASET NAME VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.ESDS' ===> (If not cataloged) Press PF1 to display additional guidance in a popup window 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. COPY LIBRARY OR STORED SUBSET SELECTION CRITE ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for member selection list) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET ===> DISPLAY ===> YES (YES, NO) 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 DB2 tables and rows IMS databases and segments ■ Additionally, its optional components work with: ■ ■ 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 FIELDCOMPARE option The Primary Options menu appears: InSync ---------------- Data Manipulation Utility ---------------- Ver version OPTION ===> 0 1 2 3 4 5 6 7 8 9 10 11 U B DB2 IMS T PARMS BROWSE EDIT PRINT LAYOUT CREATE EXTRACT TABLES FIELDMAP FIELDCOMPARE COMPARE DATEAGE UTILITIES BATCH DB2 IMS TUTORIAL Specify InSync parameters Dataset browse Dataset edit Dataset print COBOL or PL/1 record layout processing Formatted or Unformatted record create Create extract dataset Define complex record layout information Map fields to new record layout Dataset field compare Dataset record compare Adjust dates within datasets InSync utilities InSync batch functions InSync for DB2 InSync for IMS 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 the dataset to be viewed DATA FILE: DATASET NAME VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.KSDS' ===> (If not cataloged) (YES, NO) (YES, NO) (COB, PLI, YES, NO) Use subset selection criteria ===> NO Use existing subset selection criteria ===> NO Use COBOL or PL/1 layout to format display ===> 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 ===> OTHER DATASET ===> DISPLAY ===> YES (YES, NO) 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 This is record 1 of a KSDS member with 80-character records KSDS POSN RKP 0 KEYLEN 4 Data length 80 - CAPS OFF 1 2 3 4 5 12345678901234567890123456789012345678901234567890 1 CHAR 0101BER951002Andrew Cronk The Mount Fincham 51 CHAR pstead Berkshire .f..... ******************************* 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 POSN 1 RKP 0 KEYLEN 4 Data length 80 - CAPS OFF 1 2 3 4 5 12345678901234567890123456789012345678901234567890 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 messages appear here KSDS POSN RKP 0 KEYLEN 4 Data length 80 - CAPS OFF 1 2 3 4 5 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 POSN RECFM VB Rec# 1 Dataln 4088 - CAPS ON RDW OFF 1 51 101 151 201 251 301 351 401 451 501 551 601 651 701 751 1 2 3 4 5 12345678901234567890123456789012345678901234567890 CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ CHAR ---------+---------+---------+---------+---------+ 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 0103SUR901212Barons BMW 0108NOR900417Loomies Ltd. 0110DOR950805Tylor's 0112SUR890401Coombs Cars 0113BER910301Coopers BMW 0114SUR910301Coopers RJ 0120MID950805Bernstein BMW 0123SOM900202Mitchell Motor 0126YOR950805S. Murhpy 0132YOR950805Wheathley 0139CES950805J.Honeywell 0144MAN950805Williams 0150YOR950805Malton Motors 0155LOT950805Dunedin Cars 0158LON950805Holland Park 0160TAY950805Mill Garages 0163STR950805Douglas Park 0164GRA950805JCL BMW House 0169LEI950805Autotecnic The Mount Finchampstead 21 Farnham Rd Farnborough 29 Dorcester RdNorwich 112 Foxrun Dorcester 34 Acacia Ave Guildford Caversham Park Reading Riverside Thames Ditton 9 Turnhill Dr Wolverhampton 12 Sky Drive Yeovil Fairgrounds Sheffield Willow Tree Rd Doncaster 72 Butterfly RdChester 29 Oxbow Road Oxted 4 Wheel Drive Malton 19 Seafield Rd Edinburgh Holland Park Shepherds Bush Ryhope Road Sunderland 18 Bothwell Rd Hamilton 150 Gray StreetAberdeen 33 Parker DriveLeicester Berkshire Surrey Norfolk Dorset Surrey Berkshire Middlesex Midlands Somerset Yorkshire Yorkshire Cheshire Manchester Yorkshire Lothian London Tayside Strathclyde Grampian Leicestershire .f..... ....... .f..... ....... ......& .f....& ....... ..e.... .&&.... ..e...e ....... ..e...& .f..... .f..... ....... ....... ....... ....... ..-.... ..&.... 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 UP End of file 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 05 LOCATN 05 STDATE 05 NAME 05 ADDRESS1 05 ADDRESS2 05 ADDRESS3 PIC PIC PIC PIC PIC PIC PIC 9(4). X(3). 9(6). X(15). X(15). X(15). 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 VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.KSDS' ===> (If not cataloged) (YES, NO) (YES, NO) (COB, PLI, YES, NO) Use subset selection criteria ===> NO Use existing subset selection criteria ===> NO Use COBOL or PL/1 layout to format display ===> YES This is where you choose formatted display mode This is the name of the copybook COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for member selection list) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET DISPLAY ===> YES (YES, NO) ===> '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. Commonlyencountered codes include: Code COBOL equivalents PL/I equivalents B C P Z BINARY, COMP, COMP-4 DISPLAY BINARY, OFFSET CHARACTER, PICTURE COMP-3, PACKED-DECIMAL DECIMAL 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? This is the field’s storage location in the record InSync BROWSE - INO.TRG.DEM.CUST.KSDS ---------------------------- COLS 1 - 80 COMMAND ===> SCROLL ===> PAGE KSDS RKP 0 KEYLEN 4 LRECL 80 - CAPS OFF CUSTNO LOCATN STDATE NAME ADDRESS1 ADDRESS2 Z(4) (1-4) C(3) (5-7) Z(6) (8-13) C(15) (14-28) C(15) (29-43) C(15) (44 -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 Dataset Specification panel (Note 1) (Note 1) single-record unformatted FORMAT (Note 2) single-record formatted FS ON FS ON TFORMAT ON (Note 3) multi-record formatted (tabular) multi-record unformatted (full-screen) FS ON (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. 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. The arrows show the effects of using the commands with an ON suffix; an OFF suffix works in the opposite direction. 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. 2 3 4 In formatted mode, how do I navigate through my data? Navigation in formatted mode is exactly the same as in unformatted mode: To display this In single-record In multi-record displays, use displays, use the previous record(s) the next record(s) the start of file the end of file the previous data in current record(s) the next data in current record(s) the start of current record(s) the end of current record(s) PREVIOUS (PF10) UP (PF7) NEXT (PF11) PREVIOUS MAX NEXT MAX UP (PF7) DOWN (PF8) UP MAX DOWN MAX DOWN (PF8) UP MAX DOWN MAX LEFT (PF10) RIGHT (PF11) LEFT 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 VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.KSDS' ===> (If not cataloged) (YES, NO) (YES, NO) (COB, PLI, YES, NO) Use subset selection criteria ===> NO Use existing subset selection criteria ===> NO Use COBOL or PL/1 layout to format display ===> YES Use either OTHER DATASET, CONC. LIBRARY LIST or the four ISPF fields to define the copybook COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for member selection list) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET DISPLAY ===> YES (YES, NO) ===> '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) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET ===> 'INO.TRG.DEM.CPYBOOKS(ALLCUST)' ===> COB (Blank, Cob or Pli) Formatted Display Language 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 2 3 to return from browsing the data to the Dataset Specification panel, to return from there to the Primary Options menu, and 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 multirecord displays. Use UP and DOWN in single-record displays to scroll within a record; use PREVIOUS and NEXT for the same thing in multirecord 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. CARS dataset BROWSE display all cars Subset of CARS dataset where MANF field is 'FORD' BROWSE display FORD cars only CARS dataset 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 VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.KSDS' ===> (If not cataloged) (YES, NO) (YES, NO) (COB, PLI, YES, NO) Type YES and NO to define new criteria Use subset selection criteria ===> YES Use existing subset selection criteria ===> NO Use COBOL or PL/1 layout to format display ===> YES COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for member selection list) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET DISPLAY ===> YES (YES, NO) ===> '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 Use these values to create a subset of records by numeric sampling Number of records to skip before sample Number of records per sample Maximum number of records to be selected Display Save Subset Selection criteria panel ===> ===> ===> ===> 0 0 0 YES (Default = 0) (Default = 0, ALL) (Default = 0, ALL) (YES, NO) Enter record selection criteria - 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 ****************************** Use this area to create a subset of records by testing values in the records 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: The Condition can be EQ, NE, GT, LT, GE or LE. For a character field, you can also use CO (contains) C LVL FIELD NAME FORMAT BOOL CN DATA ********************************** TOP OF DATA ******************************** 01 DEALER G 05 CUSTNO Z 4 GT 999 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 ****************************** 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 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 ****************************** Use the I line command to add a line, also D to delete and R to replicate (copy) 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: The required value can be a number, an unquoted character string, or a quoted hex value X'...' 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 CO SMITH 05 ADDRESS1 C 15 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 AND/OR on same line as a fieldname links conditions on two fields. AND/OR below a fieldname links conditions on that field 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 I 05 NAME C 15 AND CO SMITH 05 ADDRESS1 C 15 05 ADDRESS2 C 15 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: AND/OR on a field binds more tightly than AND/OR between fields. Then, multiple AND/OR are evaluated in order from top to bottom 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 AND CO SMITH OR CO SMYTH 05 ADDRESS1 C 15 05 ADDRESS2 C 15 05 ADDRESS3 C 15 ********************************* 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 Subset search description ===> Save description in directory ===> YES 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) ===> NO (YES, NO) (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 finally choose to save the selection criteria Use either OTHER DATASET or the four ISPF fields to define the dataset used to hold them Do you wish to save subset selection criteria ===> YES (YES, NO) Subset search description ===> DEALERS 1000-9999 NAMED SMITH Save description in directory ===> YES (YES, NO) ISPF SUBSET SELECTION CRITERIA LIBRARY: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> OTHER SUBSET SELECTION CRITERIA LIBRARY: 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 the dataset to be viewed Type YES and YES to re-use existing criteria Use either OTHER DATASET, CONC. LIBRARY LIST or the four ISPF fields to define the saved criteria dataset DATA FILE: DATASET NAME VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.KSDS' ===> (If not cataloged) (YES, NO) (YES, NO) (COB, PLI, YES, NO) Use subset selection criteria ===> YES Use existing subset selection criteria ===> YES Use COBOL or PL/1 layout to format display ===> YES COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for member selection list) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET ===> 'INO.TRG.DEM.CRITLIB(SEL1)' DISPLAY ===> YES (YES, NO) 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 VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.KSDS' ===> (If not cataloged) (YES, NO) (YES, NO) (COB, PLI, YES, NO) Type YES and NO to define new criteria Use subset selection criteria ===> YES Use existing subset selection criteria ===> NO Use COBOL or PL/1 layout to format display ===> 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 ===> OTHER DATASET ===> 'INO.TRG.DEM.CRITLIB(SEL1)' DISPLAY ===> YES (YES, NO) 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 Use these values to create a subset of records by numeric sampling Number of records to skip before sample Number of records per sample Maximum number of records to be selected Display Save Subset Selection criteria panel Enter record selection criteria - CAPS OFF C POSN LL CND CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR ===> ===> ===> ===> 0 0 0 YES (Default = 0) (Default = 0, ALL) (Default = 0, ALL) (YES, NO) 1 2 3 4 5 12345678901234567890123456789012345678901234567890 AND/OR AND AND AND AND AND AND AND AND AND AND Use this area to create a subset of records by testing values in the records 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”: C POSN 59 LL CND 1 2 3 4 5 12345678901234567890123456789012345678901234567890 AND/OR AND AND AND AND AND AND AND AND AND AND Use ? here to locate the value anywhere in the record 15 EQ CHAR Yorkshire CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR You can specify compound conditions, involving more than one field. For example: C POSN 59 1 LL CND 1 2 3 4 5 12345678901234567890123456789012345678901234567890 AND/OR AND AND AND AND AND AND AND AND AND AND 15 EQ CHAR Yorkshire 4 GE CHAR 5000 CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR 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 59 LL CND 12345678901234567890123456789012345678901234567890 AND/OR AND 15 EQ CHAR Yorkshire ZONE E999A8898444444 NUMR 869228995000000 +--------+---------+---------+---------+---------+ CHAR ZONE NUMR +--------+---------+---------+---------+---------+ AND 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 C POSN 59 LL CND 1 2 3 4 5 12345678901234567890123456789012345678901234567890 AND/OR AND 15 EQ CHAR Yorkshire HEX E8969992A288899985404040404040 HEX +--------+---------+---------+---------+---------+ CHAR HEX HEX +--------+---------+---------+---------+---------+ AND As before, use HEX OFF to revert to the character-only representation. ENHANCED in 5.300 Can now specify packed/binary numbers in unformatted Search and subset selection panels In character mode, the default format is CHAR but you can overtype it with PACK (or P), BIN (or B) or HEX (or H). Enter the data as decimal numbers in the case of P or B, or hex digits (an even number 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 ******************************** 1 01 DEALER G 1 73 2 05 CUSTNO Z 4 1 4 3 05 LOCATN C 3 5 3 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 ****************************** Use this area to mark excluded fields 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 ******************************** 1 01 DEALER G 1 73 2 05 CUSTNO Z 4 1 4 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 7 05 ADDRESS2 C 15 44 15 xx 8 05 ADDRESS3 C 15 59 15 ********************************* BOTTOM OF DATA ****************************** Exclude an individual field Exclude a block of three fields 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 Warning messages about excluded fields LVL FIELD NAME FORMAT POS DATA ********************************** TOP OF DATA ******************************** 01 DEALER G 1 05 CUSTNO Z 4 1 0101 . . . . . . . . . . . FIELDS 3 3 NOT DISPLAYED . . . . . . . . . . . 05 STDATE Z 6 8 951002 05 NAME C 15 14 Andrew Cronk . . . . . . . . . . . FIELDS 6 8 NOT DISPLAYED . . . . . . . . . . . ********************************* 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 C POSN LL CND 1 2 3 4 5 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 number searches To display this In full-screen mode, use In all other modes, use the next occurrence of FIND string string FINDSTR string FINDSTR string PREV FINDSTR string field the previous occurrence of string string in a specified field FIND string PREV the next occurrence of — the previous — occurrence of string in a specified field the first occurrence of string FIND string FIRST FIND string LAST FINDSTR string field PREV — — FINDSTR P’n’ FINDSTR P’+n’ FINDSTR P’-n’ FINDSTR B’n’ FINDSTR B’+n’ FINDSTR B’-n’ the last occurrence of string a packed number — a binary number — 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 for case-insensitive search FIND searches are case-sensitive unless you’ve used CAPS ON. 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 Profile option to suppress positive signs InSync -------------------------- User Profile ------------------------- InSync COMMAND ===> Prefix dataset names Indent formatted displays Display record descriptor word Display 88 level values Hold vertical scroll position Hold horizontal scroll position Force upper case on data input Display leading zeros Assume positive signed numerics VSAM data component node VSAM index component node Work dataset node 1 Work dataset node 2 Maximum Dataspace size Maximum Dataset mask list ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> Y/N YES YES NO NO NO NO NO NO YES Always log EDIT changes Always write audit report Sound terminal alarm EDIT statistics on EDIT exit confirmation Force TFMT (formatted) Force FS (unformatted) Return to PDS member list ===> ===> ===> ===> ===> ===> ===> ===> Y/N NO NO YES NO NO NO NO NO DATA INDEX 0100 0100 (default TSO prefix) (default TSO userid) (Megabytes) 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. Parameter Effect when YES Prefix dataset names Equivalent command Dataset names are automatically prefixed with your TSO prefix, unless enclosed in single quotes '...' — Indent formatted displays Fieldnames in formatted displays are INDENT ON indented for each increase in level number The four-byte RDW value is included RDW ON when displaying variable-length sequential records COBOL 88 levels and their associated data are included in formatted displays The display is held at the same field position when scrolling between records The display is held at the same field position when switching between single- and multi-record displays SHOW88 ON Display record descriptor word Display 88 level values Hold vertical scroll position VERTHOLD ON Hold horizontal scroll position HORIHOLD ON INSYNC HANDBOOK What other parameters can I adjust? 47 Parameter Effect when YES Force upper case on data input Display leading zeros Equivalent command Alphabetic text input is automatically CAPS ON folded to upper-case Binary and packed decimal numbers — are displayed with leading zeros The sign is only displayed for signed — numbers when it is negative Error message display is accompanied by an audible alarm — Assume positive signed numerics Sound terminal alarm Force TFMT (formatted) A formatted Browse (or Edit) session — automatically starts in multi-record mode An unformatted Browse (or Edit) session automatically starts in multirecord mode — Force FS (unformatted) Return to PDS member list After a Browse (or Edit) session of a — 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. SCROLL RIGHT to transfer the scrolling action of the LEFT/RIGHT keys (PF10/PF11) from the left-hand table to the right-hand table in, for example, the DB2 Browse Table/View Selection panel. ■ ■ NEW in 5.300 SCROLL RIGHT command 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 VOLUME SERIAL ===> 'INO.TRG.DEM.CUST.KSDS' ===> (If not cataloged) ===> ===> ===> ===> ===> ===> ===> ===> NO NO YES NO NO YES NO NO (YES, (YES, (COB, (YES, (YES, (YES, (YES, (YES, NO) NO) PLI, YES, NO) NO) NO) NO) NO) NO) The panel is identical to that for BROWSE apart from these fields Use subset selection criteria Use existing subset selection criteria Use COBOL or PL/1 layout to format display Log dataset changes Write audit report Edit in storage VSAM files Edit in storage Sequential (allow I and D) Edit in READ-ONLY mode COPY LIBRARY OR STORED SUBSET SELECTION CRITERIA LIBRARY ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for member selection list) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET DISPLAY ===> YES (YES, NO) ===> '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 Log dataset changes Selected Otherwise YES: InSync maintains an NO: A log is not generated. internal log of your edits, to support UNDO and failed session recovery. YES: InSync writes before- NO: An audit report is not Write audit report and-after images of each edited record, to form a human-readable record of your changes. YES: InSync copies generated. See ‘What’s the difference between a log and an audit report?’ on page 53. NO: These file types are Edit in storage VSAM files VSAM files (KSDS, RRDS, ESDS and linear datasets) into temporary storage. You can insert and delete records in ESDS clusters only if REUSE=YES. edited in place. In ESDS clusters, you can insert records only at the end, and you cannot delete records. INSYNC HANDBOOK I guess I start from the Primary Options menu? 51 Control Edit in storage Sequential (allow I and D) Selected Otherwise YES: InSync copies NO: These file types are sequential files, PDS and PDSE members into temporary storage. YES: You won’t be able to edited in place. You cannot insert or delete records, nor change record lengths. Edit in READONLY mode 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 ******************************** 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 ****************************** You can enter line commands in this area 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/multirecord 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 CARS dataset EDIT all cars Edit in-storage CARS dataset EDIT all cars Edit subset in-storage CARS dataset EDIT FORD cars 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 reapply 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 Secondary number of records Data class Management class Storage class ===> ===> ===> ■ ===> 100 ===> 200 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 Primary pages Secondary pages SYSOUT class DEST node DEST userid ===> 65 ===> 100 ===> 200 ===> * ===> ===> (Mod or Old) Data class Management class Storage class ===> ===> ===> ■ DSNAME or blank ===> DSNAME disposition ===> 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: Mark each line individually Mark first and last lines in block Mark first line with total number of lines 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 D 0002 0103 SUR 901212 Barons BMW 21 Farnham Rd F D 0003 0108 NOR 900417 Loomies Ltd. 29 Dorcester Rd N 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 000009 0123 SOM 900202 Mitchell Motor 12 Sky Drive Y 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 000015 0155 LOT 950805 Dunedin Cars 19 Seafield Rd E 000016 0158 LON 950805 Holland Park Holland Park S 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 commit) and end the session reverse all changes (since last commit) and continue CANCEL UNDO ➊ ➊ ➋ reverse changes to current record REFRESH only Notes 1 2 3 Unless Log dataset changes is NO and Edit in storage is NO, when changes to the current record only are reversed. Available only in single-record modes. The entry panel has the same appearance as the panels for Browsing and Editing records. Press Enter twice to initiate the action. 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. The dataset panel enables you the specify the dataset to be copied from, the start record, and the number of records to copy. Use FLIP to toggle the display of excluded/included records. Use RESET to cancel any exclusions. In a KSDS, you insert records by overtyping copies of existing records. 4 5 6 7 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 selected records CHANGE ALL → selectpanel → entrypanel 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 record delete selected records DELETE DELETE ALL → selectpanel ➌ ➍ ➌ ➌ ➎ ➍ ➍ 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 displayed records change values in selected records overtype the existing values CHANGE → selectpanel → entrypanel ➍ ➌ Commonly-used line commands include: To do this use Notes insert a copy of the R or RR...RR marked record copy marked records to a new location move marked records to a new location delete marked records exclude marked records from display C or CC...CC, together with A (after) or B (before) this record M or MM...MM, together with A (after) or B (before) this record D, DD...DD or Dnumber X, XX...XX or Xnumber ➏ 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 displayed records overtype the existing values, or CHANGE string1 string2 → RCHANGE CHANGE string1 string2 PREV CHANGE string1 string2 ALL A (after) or B (before) this record, insert a specified number of records together with from another COPY → datasetpanel dataset save records to another dataset C, CC...CC or Cnumber , together with 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 records to a new location move marked records to a new location delete marked records exclude marked records from display C, CC...CC or Cnumber , together with A (after) or B (before) this record M, MM...MM or Mnumber, together with A (after) or B (before) this record D, DD...DD or Dnumber X, XX...XX or Xnumber ❼ ➏ 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: This is the dataset to be created or extended If it already exists, its contents can be retained (YES) or deleted (NO) InSync ----------------- CREATE - Dataset Specification ---------------- InSync COMMAND ===> OUTPUT DATA FILE: ===> 'INO.TRG.DEM.POLICY3.SEQ' Add to existing records in dataset (not for existing PDS members) Number of records to be created Use COBOL or PL/1 layout COPY LIBRARY: ISPF: PROJECT GROUP TYPE MEMBER ===> ===> ===> ===> ===> YES ===> 1 ===> YES (YES, NO) (COB, PLI, YES, NO) (Blank or pattern for member selection list) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> 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 Add to existing records in dataset Selected Otherwise YES: InSync retains any NO: InSync deletes any existing records in the output dataset. number: InSync creates number identical records. existing records. One record is created. Number of records to be created 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 COMMAND ===> DATASET NAME: 'INO.TRG.DEM.POLICY3.SEQ' VOLUME SERIAL GENERIC UNIT SPACE UNITS PRIMARY QUANTITY SECONDARY QUANTITY RECORD FORMAT RECORD LENGTH BLOCK SIZE Data class Management class Storage class ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> SYSDA 0 0 F 0 0 Dataset not cataloged (Blank for system default volume) (Generic group name) (BLKS, TRKS, or CYLS) (In above units) (In above units) 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 OUTPUT DATA FILE ===> 'INO.TRG.DEM.POLICY1.SEQ' ===> 'INO.TRG.DEM.POLICY4.SEQ' ===> ===> ===> ===> ===> ===> ===> YES NO NO (COB, PLI, YES, NO) (YES, NO) (YES, NO) (Default = 0) (Default = 1) (Blank = ALL) (Default = SEQ) These fields are specific to the EXTRACT option Use COBOL or PL/1 layout to format display Add to existing records in output dataset If keyed, replace equal keyed records Number of records to skip before sample Number of records per sample Maximum number of records to be extracted Output File if new (KSDS/ESDS/RRDS/SEQ) COPY LIBRARY: ISPF: PROJECT GROUP TYPE MEMBER ===> ===> ===> ===> SEQ (Blank or pattern for member selection list) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> 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 Add to existing records in dataset Selected Otherwise YES: InSync retains any NO: InSync deletes any existing records in the output dataset. YES: An extracted record existing records. If keyed, replace equal keyed records NO: The existing record is replaces an existing record preserved, the extracted having the same key value. record is discarded. Number of records to skip before sample Number of records to sample Maximum number of records to be extracted Output file if new (KSDS/ESDS/ RRDS/SEQ) Use these three numbers to create a subset of records by numeric sampling Your selection criteria are applied to all records. KSDS/ESDS/RRDS: SEQ: InSync presents the InSync presents the Sequential Dataset 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 record Name Sex JobTitle Status Locn Phone Output Name JobTitle Phone record Login Locn 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 specific to the FIELDMAP option Add to existing records in output dataset Copy all records to output dataset INPUT COPY LIBRARY: ISPF: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> ===> NO ===> YES (YES, NO) (YES, NO) (Blank or pattern for member selection list) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> 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 Add to existing records in output dataset Selected Otherwise YES: InSync retains any NO: InSync deletes any existing records in the output dataset. existing records. INSYNC HANDBOOK 68 CHAPTER 5 ■ Other dataset capabilities ■ How can I create one dataset from another? Control Copy all records to output dataset Selected Otherwise YES: Records which don’t NO: Non-selected records 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) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> 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' These fields are specific to the COMPARE option Use COBOL or PL/1 layout to format display Display search criteria panels Display exclude field name panels Display additional fields (formatted) Max number of differences to be processed Max number of differences to be reported Read ahead count (non-keyed only) COPY LIBRARY: ISPF: PROJECT GROUP TYPE MEMBER ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> ===> YES NO NO NO 0 (COB, PLI, YES, NO) (YES, NO) (YES, NO) (YES, NO) (Blank = ALL) (Blank = ALL) (0 - 9999 (Blank or pattern for member selection list) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> 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, and changed on COMPARE panel Control Display search criteria panels Selected Otherwise YES: InSync presents the NO: InSync compares all Selection Criteria panel, then compares only records (from both datasets) which meet criteria. YES: InSync presents the records. Display exclude field name panels NO: InSync compares all Field Exclusion panel, then omits comparison of excluded fields. YES: InSync presents the fields. Display additional fields (formatted) NO: For a mismatch, Additional Fields panel, InSync reports only fields then outputs those fields in having differing values. addition when reporting a record mismatch. Max number of differences to be processed number: InSync gives up after number record mismatches. InSync processes all mismatches. Max number of differences to be reported number: InSync stops InSync reports all reporting differences after mismatches. number record mismatches. number: InSync reads number records when Read ahead count (nonkeyed only) trying to resynchronize after insertion/deletion. Insertion/deletion causes mismatch on all following records. 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 Output options for COMPARE now on separate panel If you chose an unformatted display in the above panel, you are asked to specify the output options: INSYNC HANDBOOK How can I create one dataset from another? 71 Control Record print mode Selected Otherwise CHAR: InSync outputs the character representation when reporting a record mismatch. YES: InSync shows two HEX: InSync outputs both character and hex representations. NO: InSync shows two Horizontal interspersed lines records one above the other when reporting a record mismatch. YES: InSync shows the records side by side. Print full record NO: InSync shows only the complete records when reporting a record mismatch. YES: Specifies a print of differing fields in mismatched records (but all fields for inserted and deleted records). NO: Defined keys not Print Key defined keys. CHANGED in 5.300 Can choose to write records that show as different to separate files printed. You also have the opportunity to specify output file names so that (for compares that synch on a key) InSync will write the actual records out 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 SYSOUT class OUTPUT destination node OUTPUT destination user ===> YES ===> * ===> ===> (YES, NO) JOB STATEMENTS: ===> //M4PINO JOB (000),'PROGRAMMER',CLASS=A,MSGCLASS=T ===> ===> ===> Check the displayed values, then press Enter to initiate the batch print job. Different formats NEW in 5.300 FIELDCOMPARE option To compare two datasets with different formats – comparing selected fields common to both files – you use the FIELDCOMPARE option. Select the FIELDCOMPARE option from the InSync Primary Options 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 VOLUME SERIAL ===> 'INO.TRG.DEM.POLICY1.SEQ' ===> (If not cataloged) ===> ===> ===> ===> ===> ===> ===> ===> YES HEX NO NO NO NO (COB, PLI, YES, NO) (CHAR, HEX) (YES, NO) (YES, NO) (YES, NO) (YES, NO) (Default = 1) (Blank = ALL) These fields are specific to the PRINT option Use COBOL or PL/1 layout to format print Record print mode (unformatted) New page for each record (unformatted) Display search criteria panels Display exclude field name (formatted) Print lower case characters Start record number Maximum number of records to be printed COPY LIBRARY: ISPF: PROJECT GROUP TYPE MEMBER ===> ===> ===> ===> (Blank or pattern for member selection list) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> 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 Record print mode (unformatted) Selected Otherwise CHAR: InSync outputs the character representation. YES: InSync starts each HEX: InSync outputs both character and hex representations. NO: InSync fills each page. NO: InSync prints all New page for each record (unformatted) Display search criteria panels record on a new page. YES: InSync presents the Selection Criteria panel, then prints only records which meet criteria. YES: InSync presents the records. Display exclude field name (formatted) NO: InSync prints all Field Exclusion panel, fields. then omits excluded fields. NO: InSync prints lower Print lower case characters YES: InSync prints lower 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 Start record number Maximum number of records to be printed Selected Otherwise Use these two numbers to Your selection criteria are create a subset of records applied to all records. by numeric sampling 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 EF EW D blank COPY LIBRARY: ISPF: PROJECT GROUP TYPE MEMBER Print COBOL or PL/1 Layout Create Easytrieve Plus File Layout Macro Create Easytrieve Plus Working Storage Macro Create DYL280 File Layout Macro Display COBOL or PL/1 Layout ===> ===> ===> ===> (Blank or pattern for member selection list) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> OTHER DATASET Layout Lang. ===> 'INO.TRG.DEM.PRODCOPY(POLREC)' ===> (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 2 3 R SELECT UPDATE Specify multiple format selection criteria View/Update multiple format selection criteria Define compound record layout structure Review/update compound table COMPOUND REVIEW - 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 Format Language ===> YES ===> (YES, NO) (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 Use multiple FORMATDSN list Format language COPY LIBRARY: ISPF: PROJECT GROUP TYPE MEMBER ===> ===> ===> ===> ===> CAR MODEL RECORD ===> NO (Yes, No) ===> (Blank, COB or PLI) (Blank or pattern for member selection list) (YES, NO) CONCATENATED LIBRARY OR MULTIPLE FORMATDSN LIST: MEMBER ===> DISPLAY LIST ===> YES 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 2 R SELECT Specify multiple format selection criteria Define compound record layout structure Review/update compound table COMPOUND REVIEW - 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) DISPLAY ===> YES (YES, NO) CONCATENATED LIBRARY LIST: MEMBER ===> 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 2 3 4 5 LIBRARY SCAN VSAM VTOC DATASET PDS directory and CSECT utility PDS scan utility VSAM utility VTOC utility 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 2 3 blank - Define catalog entry Delete catalog entry Rename catalog entry Display catalog information ===> 'INO.TRG.DEM.CARS.ESDS' ===> ===> 2 1 2 3 4 4 5 6 7 8 - Alter catalog entry Verify VSAM dataset Initialize VSAM dataset Build alternate index Redefine catalog entry ENTRY NAME USER CATALOG ENTRY TYPE (Required for option "1") - KSDS Cluster 5 - ESDS Cluster 6 - RRDS Cluster 7 - LINEAR Cluster - Alternate Index Path Generation Data Group 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 VOLUME SERIAL Max # of DSNs Model Dataset ===> 'INO.TRG.DEM.POLICY1' ===> ===> 99 ===> (to show in a dataset list) 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 2 3 4 5 6 7 - Display list of members containing scan string(s) - Display records containing scan string(s) - Print list of members containing scan string(s) - Print records containing scan string(s) - Update records containing scan string(s) - Extract members containing scan string(s) - 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 U A N R D B L Z Blank ISPF: PROJECT GROUP TYPE MEMBER Display directory entry for member Update directory entry for member Map load module in address sequence Map load module in name sequence Rename member Delete member Browse member Create an alias Compress library Display member list ===> ===> ===> ===> ===> ===> ===> (Blank or pattern for member selection list) (If "R" or "L" selected) (If not cataloged) NEW NAME OTHER LIBRARY VOLUME SERIAL 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 Volume status SMS Storage Group ===> ===> ===> ===> (dddd, dddd-dddd or esoteric) (blank, PRV, PUB or STG) Dataset Search Information: Max # of names ===> 99 Search mask ===> (Options L and N only) 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 TABLES BROWSE EDIT CREATE PRINT LAYOUT EXTRACT FIELDMAP COMPARE FIELDCOMPARE DATEAGE UTILITIES/LIBRARY UTILITIES/SCAN UTILITIES/VTOC None – these options handle configuration tasks. None – this is inherently an online process. CHANGE DELETE LOAD (DB2 and IMS) PRINT LAYOUT EXTRACT FIELDMAP COMPARE FIELDCOMPARE DATEAGE LIBRARY SCAN 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 FIELDCOMPARE function InSync ------------------------- Batch Options ------------------------- InSync OPTION ===> 1 2 3 4 5 6 7 8 9 10 11 12 R S CHANGE DELETE PRINT EXTRACT FIELDMAP FIELDCOMPARE COMPARE DATEAGE SCAN VTOC LAYOUT LIBRARY REVIEW SUBMIT Specify record change criteria Specify record delete criteria Specify dataset print criteria Specify record extract criteria Specify field mapping criteria Specify field compare criteria Specify record compare criteria Specify date age criteria Specify PDS scan criteria Specify Batch VTOC criteria Specify Batch LAYOUT criteria Specify Batch LIBRARY criteria Review / update old format batch parms 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 OUTPUT DATA FILE ===> 'INO.TRG.DEM.POLICY1' ===> 'INO.TRG.DEM.POLICY4.SEQ' ===> ===> ===> ===> ===> ===> ===> ===> ===> YES NO NO NO (COB, PLI, YES, NO) (YES, NO) (YES, NO) (YES, NO) (Default = 0) (Default = 1) (Blank = ALL) (Default = SEQ) (YES, NO) More: + Use COBOL or PL/1 layout to format display Use multiple FORMATDSN list for batch job Add to existing records in output dataset If keyed, replace equal keyed records Number of records to skip before sample Number of records per sample Maximum number of records to be extracted Output File if new (KSDS/ESDS/RRDS/SEQ) Comma-delimited Output file COPY LIBRARY: ISPF: PROJECT GROUP TYPE MEMBER ===> ===> ===> ===> SEQ (Blank or pattern for member selection list) (YES, NO) CONCATENATED LIBRARY OR MULTIPLE FORMATDSN LIST: MEMBER ===> DISPLAY LIST ===> YES 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 SYSOUT class DEST node DEST userid ===> 65 ===> * ===> ===> 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 ISPF BATCH PROJECT GROUP TYPE MEMBER JCL LIBRARY: ===> ===> ===> ===> ===> YES (YES, NO) 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 //* //STEPLIB //* //#ELIBDD //SYSTSPRT //#LOG //#PRINT //#INDD //#OUTDD //#PARM EXEC PGM=INSYNC,PARM=MVS DD DISP=SHR,DSN=IN.ALPHA.LOADLIB DD DD DD DD DD DD DD DISP=SHR,DSN=IN.ALPHA.ELIB SYSOUT=* SYSOUT=* SYSOUT=* DSN=INO.TRG.DEM.POLICY1.SEQ,DISP=SHR DSN=INO.TRG.DEM.POLICY4.SEQ,DISP=SHR * Your input and output datasets 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? There’s always a single FUNCTION statement These KEYWORDS are the parameter values for the function FUNCTION=EXTRACT INDD=#INDD OUTDD=#OUTDD RDW=OFF LANGUAGE=COB REPLACEDUPS=NO ADDTOOUTPUT=NO LINESPERPAGE=065 FORMATDSN=(INO.TRG.DEM.PRODCOPY) FORMATMBR=(POLREC) SEARCHDATA=(YEARS-NCD,GT,Z'05') We’ll go through the lines one by one. Statement FUNCTION=EXTRACT Meaning In this step, InSync will copy selected records from one dataset to another. Supply the function with the input and output datasets, whose names you typed on the Dataset Specification panel. 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. You specified that the copybook is written in COBOL, or InSync found it to be so. You typed NO for If keyed, replace equal keyed records. You typed NO for Add to existing records in dataset. From the JCL Specification panel. The copybook member whose name you typed on the Dataset Specification panel. The condition you typed on the Selection Criteria panel. INDD=#INDD OUTDD=#OUTDD RDW=OFF LANGUAGE=COB REPLACEDUPS=NO ADDTOOUTPUT=NO LINESPERPAGE=065 FORMATDSN= (INO.TRG.DEM.PRODCOPY) FORMATMBR=(POLREC) SEARCHDATA= (YEARS-NCD,GT,Z'05') 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 1 2 3 4 5 6 7 8 B T PARMS BROWSE EDIT PRINT COPY EXTRACT LOAD RELATE RESERVED BATCH TUTORIAL Specify InSync parameters Table browse Table edit Table print Table row copy Extract table records Load extracted table records Relationship Management InSync for DB2 batch functions 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: These fields define your environment This is the DB2 table or view to be browsed InSync --------------- BROWSE - Table/View Specification --------------- InSync COMMAND ===> DB2ID ==> DSN1 SQLID ==> LOCATION ==> Creator Table/View name ===> DSN8710 ===> EMP ===> ===> ===> NO ===> YES ===> NO (Optional - default = 1) (Optional - default is maximum) (YES, NO) (YES, NO) (YES, NO) First row to retrieve Maximum # of rows to retrieve Uncommitted read Use selection criteria Use existing selection criteria 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 First row to retrieve Maximum # of rows to retrieve Uncommitted read Selected Otherwise Use these two numbers to Your selection criteria are create a subset of records applied to all records. by numeric sampling YES: InSync opens the NO: InSync won’t open table even if another user has an Exclusive lock. the table if it’s locked. 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 Entry of long Creator and Table/View names allowed Type the name of a table to be viewed (this can be the full, 128character, long name) and type YES for Use selection criteria. 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 Display Save SQL panel ===> NO ===> NO (YES, 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; you can specify that you wish to display only selected columns, or to exclude selected columns, and you can define the sequence in which columns are presented; ■ ENHANCED in 5.300 Can now exclude columns – as well as select columns ■ 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: Second sort column, ascending Display this column LHS of WHERE clause Display this column first First sort column, descending RHS of WHERE clause 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 Display Save SQL panel ===> NO ===> NO (YES, NO) (YES, NO) C COL COLUMN NAME FORMAT K SEL ********************************** TOP OF DATA 1 EMPNO CHAR(6) P1 S 2 FIRSTNME VARCHAR(12) 1 COLS 1-29 O WHERE MORE-> ******************************** a2 > 100 d1 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 COMMAND ===> ROW 1 OF 43 COLS 1 - 80 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 Table/View name ===> DSN8710 ===> PROJ ===> NO ===> ===> ===> NO ===> NO ===> YES ===> NO (YES, NO) (Optional - default = 1) (Optional - default is maximum) (YES, NO) (YES, NO) (YES, NO) (YES, NO) Lock table during edit First row to retrieve Maximum # of rows to retrieve Write audit report Uncommitted read Use selection criteria Use existing selection criteria Relationship DSN ===> The basic layout of the panel is similar to that for the BROWSE option; these are the additional control fields: Control Lock table during edit Selected Otherwise YES: InSync locks the NO: You can update the table; this disables the SAVE command and the auto-commit of changes. table normally. INSYNC HANDBOOK 106 CHAPTER 9 ■ DB2 and IMS databases ■ How do I work with DB2 tables? Control Write audit report Selected Otherwise 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 Entry of long Creator and Table/View names allowed Type the name of a table to be modified (this can be the full, 128character, long name) and press Enter. The first row in the table is 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 online In the online options BROWSE and EDIT, you can employ 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 displays a single row InSync BROWSE DSN8710.PROJ COMMAND ===> PROJNO PROJNAME DEPTNO RESPEMP ROW 3 OF 22 COLS 1 - 80 SCROLL ===> PAGE PRSTAFF PRSTDATE The lower pane displays rows which are dependent on that row AD3111 PAYROLL PROGRAMMING D21 000230 N +2.00 N 1982-01-0 -----------------------------------------------------------------------------InSync BROWSE DSN8710.PROJACT ROW 1 OF 7 COLS 1 - 80 COMMAND ===> SCROLL ===> PAGE PROJNO ACTNO ACSTAFF ACSTDATE ACENDATE ********************************* TOP OF DATA ********************************* AD3111 60 N +0.80 1982-01-01 N 1982-04-15 AD3111 60 N +0.50 1982-03-15 N 1982-04-15 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 batch In the batch options R-EXTRACT, R-DELETE and R-LOAD, you must 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 1 2 3 4 5 6 7 B T PARMS BROWSE EDIT PRINT FORMAT EXTRACT LOAD RELATE BATCH TUTORIAL Specify InSync parameters Database browse Database edit Database print Segment format tables Extract database records Load extracted database records Extract Relationships InSync for IMS batch functions 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) These fields define your environment This is the IMS database to be browsed DBDLIB Dsname1 ===> 'IMS7.DBDLIB' Dsname2 ===> Member name ===> DI21PART Exclude segments Use dynamic allocation dataset names Use record layout to format display Initial segment is: FIRST, or found using OLD or NEW selection criteria Use secondary indexes (Blank or pattern for selection list) ===> YES ===> YES ===> NO ===> FIRST ===> NO (YES, NO) (YES, NO) (COB, PLI, YES, NO) (FIRST, OLD, NEW) (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) When using static PSBs, these fields are additionally present. The Exclude Segments and Use Secondary Indexes fields are omitted. PSBLIB Dsname1 ===> Dsname2 ===> Member name ===> DBDLIB Dsname1 ===> 'IMS7.DBDLIB' Dsname2 ===> Member name ===> DI21PART Use dynamic allocation dataset names Use record layout to format display Initial segment is: FIRST, or found using OLD or NEW selection criteria (Blank or pattern for selection list) (Blank or pattern for selection list) ===> YES ===> NO ===> FIRST (YES, NO) (COB, PLI, YES, NO) (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 Exclude segments (Dynamic PSBs only) Selected Otherwise YES: InSync presents the NO: InSync presents all Segment Exclusion panel, segments. then omits excluded segments. Use dynamic allocation dataset names YES: InSync automatically NO: You must supply allocates the dataset names for this DLI region. Always YES for a BMP region. FIRST: InSync initially displays the first segment in the database. matching dataset names for each of the DD names associated with the database. OLD: InSync uses saved selection criteria to select the initial segment for display. NEW: InSync uses the Initial segment is: FIRST, or found using OLD or NEW selection criteria criteria specifed next. INSYNC HANDBOOK 110 CHAPTER 9 ■ DB2 and IMS databases ■ How do I work with IMS databases? Control Use secondary indexes (Dynamic PSBs only) Selected Otherwise YES: InSync presents list NO: No secondary index is of secondary indexes, uses used. 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 STORFIND command in IMS Browse/Edit If you successfully enter a Browse or Edit session by using new FIND 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 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 SEGMENT PARTROOT STANINFO STOKSTAT STOKSTAT STOKSTAT PARTROOT STANINFO STOKSTAT STOKSTAT STOKSTAT PARTROOT STANINFO STOKSTAT STOKSTAT STOKSTAT PARTROOT STANINFO STOKSTAT BACKORDR 02AN960C10 02 00 AA16511 00 AK2877F 0028009126 02CK05CW181K 02 00 VF52906 0025900326 0025910926 02CSR13G104KL 02 00 DB7455R 00 SK21713 0025502526 02JAN1N976B 02 0025509126 30PR237942 WASHER MAC4 742 1200 14 000000000 EACH000000000000000000 M000000000 EACH000000000000270000 000000000 EACH 0000000000 CAPACITOR 742 1200 82 000001000 EACH000000000000400000 000000340 000000 000000340 000000 KR1J50KS 742 1200 82 M000002710 EACH000000000000000000 M000002710 EACH000000000000000000 000000000 008000 DIODE CODE-A 742 1200 72 000000000 004000 1 1 1 3 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 Exclude segments Use dynamic allocation dataset names Use record layout to format display Write audit report DLI log dataset disposition Initial segment is: FIRST, or found using OLD or NEW selection criteria Use secondary indexes (Blank or pattern for selection list) ===> ===> ===> ===> ===> YES YES NO NO KEEP (YES, NO) (YES, NO) (COB, PLI, YES, NO) (YES, NO) (KEEP, DELETE) (FIRST, OLD, NEW) (YES, NO) ===> FIRST ===> 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 Print audit report Selected Otherwise 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. KEEP: InSync retains the log dataset at the end of the session. DELETE: The dataset is DLI log dataset disposition deleted. 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 segment insert a new segment based on the marked segment I N → overtype_key NA → overtype_key(s) insert a new 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 segments print marked segments D P 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 administering datasets 87 PDS members 88 VSAM datasets 86 VTOCs 89 audit trails 50, 54, 61 B batch processing 91–99 batch workarea 98 BDAM datasets 17 browsing datasets 19–32 DB2 tables 102 IMS databases 108 record layouts 78 C COBOL copybooks 17, 26, 30, 78 commands CANCEL 31, 52, 57 CAPS 47 CHANGE 58, 59, 60 COLWIDTH 47 COPY 58, 60 CREATE 58, 60 DELETE 58 DOWN 15, 23, 25, 32 INSYNC HANDBOOK END 15, 31, 32, 52, 57 EXCLUDE 41, 43, 48 EXPAND 47 FIND 23, 44, 45, 48 FINDSTR 45, 48 FLIP 57 FORMAT 29, 32 FREEZE 43 FS 24, 29, 32 HELP 15, 16 HEX 22, 32, 40 HORIHOLD 46 INDENT 46 INSERT 58 IPRINT 74 JUMP 107 KEY 23 LAYOUT 47 LEFT 15, 25 LOCATE 30 MATCH 69 NEXT 15, 22, 25, 32 PFSHOW 15 PREVIOUS 15, 22, 25, 32 RBA 23 RCHANGE 15, 58, 60 RDW 46 RECORD 23 REFRESH 57 RELATE 106 116 Index RESET 57 RETRIEVE 15 RETURN 15 RFIND 15 RIGHT 15, 25 SAVE 52, 57 SELECT 39, 48, 57 SHADOW 42 SHOW88 46 SORT 55 SPLIT 15 SUBMIT 94 SWAP 15 TFORMAT 27, 32 UNDO 52, 57, 61 UP 15, 23, 25, 32 VERTHOLD 46 ZOOM 105 comparing datasets 69 compound tables 84 concatenated library lists 30, 82 copybooks 17, 26, 30, 78 copying DB2 tables 106 single-record 21, 27, 28, 58 unformatted 21, 24, 28, 58, 60 E editing datasets 49–61 DB2 tables 105 IMS databases 111 error messages 16 exiting from InSync 31 extracting dataset records 66 DB2 tables 106 IMS databases 113 F format tables 110 formatted display mode 27, 28, 58, 59 function keys 15 H help 16 HFS files 17 D datasets 17, 21 administration 87 browsing 19–32 comparing 69 editing 49–61 extracting records 66 inserting records 56, 64 navigating through 22, 25, 29 printing 73 rearranging fields 67 VSAM administration 86 DB2 tables 14, 17, 102–107 browsing 102 copying 106 editing 105 extracting 106 loading 106 printing 106 relationships 106 display modes formatted 27, 28, 58, 59 multi-record 24, 27, 28, 59, 60 I IMS databases 14, 17, 108–113 browsing 108 editing 111 extracting 113 loading 113 printing 113 inserting dataset records 56, 64 InSync exiting 31 starting 20 L loading DB2 tables 106 IMS databases 113 log dataset 50, 51, 53, 61 M menu options BATCH 93 INSYNC HANDBOOK Index 117 batch CHANGE 92 batch COMPARE 92 batch DATEAGE 92 batch DELETE 92 batch EXTRACT 92 batch FIELDCOMPARE 92 batch FIELDMAP 92 batch LAYOUT 92 batch LIBRARY 92 batch PRINT 92 batch SCAN 92 batch VTOC 92 BROWSE 21, 26, 32, 49, 61, 92 COMPARE 69, 72, 75, 92 COMPOUND 83 CREATE 64, 65, 75, 92 DATASET 87 DATEAGE 65, 92 DB2 14, 20, 102 DB2 batch LOAD 92 DB2 batch R-DELETE 107 DB2 batch R-EXTRACT 107 DB2 batch R-LOAD 107 DB2 BROWSE 102 DB2 COPY 106 DB2 EDIT 105 DB2 EXTRACT 106 DB2 LOAD 106 DB2 PRINT 106 EDIT 50, 61, 64, 65, 92 EXTRACT 66, 67, 75, 91, 92 FIELDCOMPARE 92 FIELDMAP 67, 75, 92 IMS 14, 20, 108 IMS batch LOAD 92 IMS BROWSE 108 IMS EDIT 111 IMS EXTRACT 113 IMS LOAD 113 IMS PRINT 113 LAYOUT 78, 92 LIBRARY 88, 92 LOG/AUDIT 54 PARMS 45, 48, 54, 92 PRINT 73, 75, 92 PROFILE 45, 48 SCAN 87, 92 SELECT 79 TABLES 79, 83, 92 TUTORIAL 16 INSYNC HANDBOOK UTILITIES 86, 92 VSAM 86 VTOC 88, 92 menus 13, 14 messages 16 multiple FORMATDSN lists 82 multi-record display mode 24, 27, 28, 59, 60 O online help 16 P partitioned datasets 17 searching 87 PDS members administration 88 PF keys 15 PL/I copybooks 17, 26, 30, 78 prefixing name with TSO userid 21 Primary Options menu 13, 14, 16, 20, 102, 108 printing datasets 73 DB2 tables 106 IMS databases 113 record layouts 78 R READ-ONLY mode 43, 51, 55 record layouts browsing 78 compound 82 multiple 79 printing 78 segmented 79 relationships between DB2 tables 106 S searching partitioned datasets 87 select tables 81, 97 sequential datasets 17 single-record display mode 21, 27, 28, 58 starting InSync 20 subset selection criteria 34–41, 48, 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