Software Products

CBL software products, SELCOPY and CBLVCAT, are packaged with SELCOPYi, the CBL Interactive environment, which includes additional productivity tools and is a vehicle for interactive execution of both products on MVS, VSE and CMS systems.

Use of SELCOPYi is included, at no additional cost, within the SELCOPY and CBLVCAT Licence Agreements.

SELCOPYi was first made GA as CBLi release 1.10 on 2004/12/06, and made available to all SELCOPY and CBLVCAT users to download as a separately installable product bundle.

SELCOPYi is now integral to the SELCOPY and CBLVCAT products and is installed automatically as part of the latest SELCOPY and CBLVCAT install procedures.

SELCOPYi is a productivity aid designed to provide users with a powerful, intuitive, multi-windowed environment within the 3270 terminal display, in which to launch projects and manage files.

Detailed information on SELCOPYi window operation and supported command reference is available in the SELCOPYi Reference and User Guide and accompanying SELCOPYi Text Editor (CBLe) and SELCOPYi Structured Data Edit (SDE).

SELCOPYi Environment Windows click image to enlarge

Windowed Environment within the 3270 Display

This gives the user the ability to display information (edited views, lists, etc.) in any number of easily navigable windows concurrently.

The windowed environment supports:

  • Resizable and moveable windows that may be tiled, cascaded, minimised, maximised, restored and customised.
  • Drop-down and pop-up menus.
  • Drop-down Window List.
  • Hot key in and out of ISPF split screens.

Disaster Recovery Aid

Not only does SELCOPYi execute natively as an ISPF application, in CMS and TSO/E, but also as a VTAM application in MVS or VSE.

SELCOPY and SELCOPYi VTAM installed on a DR volume would provide users with a working environment that includes system information windows, a text editor (CBLe) and job submission capabilities without the need for a MVS TSO or VSE ICCF.

SELCOPY IDE 43x80 click image to enlarge

Interactive SELCOPY execution

SELCOPY Interactive debug is a major new feature for SELCOPY developers that executes within the CBL interactive environment (SELCOPYi).

SELCOPYi allows the user to debug SELCOPY job streams by stepping through control statements, setting break points and displaying changes to workarea storage, @ pointers, etc.

SELCOPY Interactive is a Multiple Document Interface (MDI) application supporting CBLe edit, List and storage type child windows. By default, the following child windows are displayed when SELCOPY is started:

  1. SYSIN - SELCOPY Control Statements.
  2. Work Area - (or Input Record if WORKLEN is not specifed.)
  3. SYSPRINT - SELCOPY Output Listing.
  4. TRACE - Executed SELCOPY statements.

Other SELCOPY Interactive windows include:

  1. WTO Log - SELCOPY Console output.
  2. SQL Log - SELCOPY DB2 SQL Log.
  3. @ Pointers - List of @ Pointer values.
  4. EQUates - List of User assigned EQUated values.
  5. POS Windows - Storage display of User fields and SELCOPY special positions.

On startup, SELCOPY is loaded and executed so that processing stops prior to execution of the first control statement. Users can then execute SELCOPY to completion, step through the SELCOPY statements one at a time or set break points to stop execution at a selected control statement.

SELCOPY storage fields, work area, @pointer and LRECL values can be easily monitored and even updated over the course of the job execution.

SELCOPY POSitional expressions (represented by an arithmetic combination of @ pointers, EQUate names and integer values) may also be TRACKed in storage windows. As the value of the expression changes, the target storage position is highlighted in a user assigned colour.

SELCOPY SYSIN/SYSIPT Control Statements Window

SYSIN Control Satements click image to enlarge

The SYSIN/SYSIPT window is a CBLe edit view that contains the control statement source file as required for execution of SELCOPY. This window highlights the current operation and allows the user to set and unset break points.

If possible, the control statements file is edited read/write. If the file contents are altered during the SELCOPY execution, then the alterations can be saved and the job rerun using the RR command or the ReRun menu item.

The contents of the window scroll automatically in order to display the current statement in the SELCOPY execution. As for any edit view, CBLe commands and macros may be used to manipulate, highlight and locate data in the view (e.g. FIND, CHANGE, TAG, ALL, SET ZONE, etc.)

In addition to any highlighting of user TRACKed variables, during the course of execution, control statements are highlighted as follows:

  1. Next executable SELCOPY statement. Default highlight - pink reverse video.
  2. Break Point. Default highlight - red reverse video.

Closing the SYSIN window also exits SELCOPY Interactive.

Point-and-Shoot Options Popup Menu

Point-and-Shoot Options Popup Menu click image to enlarge

All CBLe type SELCOPY Interactive windows, including the SYSIN/SYSIPT and SYSPRINT/SYSLST windows, support the point-and-shoot options popup menu, invoked by hitting PF4. The menu enables the user to quickly and easily perform commonly used tasks which include opening a POS storage window and tracking pointer variables.

The cursor position within the edited data identifies the focus text to be referenced in items of the point-and-shoot menu.


SYSPRINT Window click image to enlarge

SELCOPY Interactive intercepts output to SYSPRINT/SYSLST and displays it in the SYSPRINT window instead. For this reason, SYSPRINT or SYSLST does not need to be allocated and no output is written to the system spool. The SYSPRINT window is an edit view which supports execution of CBLe commands and macros. The contents of the window scroll automatically to display any new output to SYSPRINT/SYSLST. Data written to the SYSPRINT window is maintained until the SELCOPY Interactive session is closed. So long as the SELCOPYi session is not closed, the job may be re-run any number of times without losing the output from a previous run.

Work Area and POS Storage Windows

Work Area/Current Input Record Window click image to enlarge

The current status of the user work area (or input record buffer if no work area is allocated) is displayed in the Work Area and POS storage display windows. Note, if WORKLEN is not supplied, the Work Area window has the title, Current Input Record. The contents of the storage window may be scrolled to display different positions in the work area. Alternatively, storage starting at a specific position in the work area may be displayed simply by entering the position in the first work area position, in the first row of the storage window (highlighted in red by default.)

Data in the work area may be altered manually at any point during the run by overtyping text in either the character or hexadecimal display. A change to text in the one display will automatically be reflected in the other. This allows users to test conditions based on alternative input data without having to re-start the SELCOPY run.

If a TRACKed pointer position is within the storage window display, then that position is highlighted with a user nominated colour in reverse video.

Any number of storage display windows may be opened pointing to the start of the work area (command: Window WORKLEN) or pointing at any position that may be resolved by a valid SELCOPY POS expression. POS expressions may contain any combination of SELCOPY reserved POS names (e.g. DATE), @ pointers, EQUate names and numeric integers. e.g. WINDOW POS @ARR+MARRE-10

POS Expression Window click image to enlarge

At each break in the SELCOPY execution, the POS expression is re-evaluated and the contents of the POS window redisplayed starting at the new position in storage.

Storage Window Popup Menu click image to enlarge

Furthermore, the appearance of any individual storage window may be updated using the storage window display options popup menu defined on PF5 by default.

TRACE Window

Trace Window Log click image to enlarge

The TRACE window is a CBLe edit view that contains all the SELCOPY control statements at which processing has been stopped. i.e the point at which a break point was encountered. Each logged statement begins with the statement's selection id.

Note that the STEPINTO and STEPOVER commands dynamically set and unset break points to stop execution after the next control statements to be executed. Therefore, when stepping through the control statements, the TRACE window displays a log of the statements executed so far.

SQL Log Window

SQL Window Log click image to enlarge

The SQL Log window is an edit view which supports execution of CBLe commands and macros.

A SELCOPY job that submits SQL statements to a DB2 data base, also writes detailed information about the SELCOPY SQL processing to a data set allocated to ddname CBLSQLOG.

SELCOPY Interactive intercepts output to CBLSQLOG and displays it in the SQL Log window instead. Because of this, CBLSQLOG does not need to be allocated to display this information.

WTO Log Window

WTO Window Log click image to enlarge

The WTO Log window is an edit view which supports execution of CBLe commands and macros. SYSLOG output to the Operator's Console, TSO, CMS or ICCF user terminals is intercepted by SELCOPY Interactive and is displayed in the WTOLOG window instead.

The WTO Log window is opened automatically when SYSLOG output is received. This may be warning/error messages returned by SELCOPY, or output generated by a SELCOPY LOG operation.

EQUates and @ Pointer Windows

The Equates window and @ Pointers window are list type windows supporting select, sort and filter.

Equates List Window click image to enlarge
@ Pointers List Window click image to enlarge

All equated names and their values, set by the user via an EQU statement and subsequently allocated by SELCOPY during control statement analysis, are displayed in the Equates window.

The current status of the @ pointer, LRECL and of all the user @ pointers used in the current execution of SELCOPY, is displayed in the @ Pointer window.

Non-standard 3270 Terminal Displays

The CBL Interactive Environment and SELCOPY Interactive take full advantage of large 3270 terminal sizes and colour display that may be achieved using IBM-Dynamic TN3270E VTAM logmodes.

CBL recommends that system administrators configure the TN3270 servers and 3270 emulation software to allow users to start emulated terminals with non-standard 3270 terminal sizes.

See the SELCOPYi 3270 Emulators page and the video tutorial SELCOPYi Windowed Display system.

CBLVCAT Interactive File TUNE click image to enlarge

Interactive CBLVCAT execution

CBLVCAT Interactive is a major feature that executes within SELCOPYi, allowing the user to generate dynamic reports of VTOC/Catalog contents and IDCAMS tuning recommendations for VSAM data sets.

CBLVCAT Interactive allows the user to execute on-the-fly CBLVCAT control statements or a control statement source fileid, capture the resultant SYSPRINT/SYSLST report output and display it with coloured highlighting in a List type format display area window. The display area window contents may subsequently be edited using the CBLe text editor and saved to disk.

In addition to the standard report output, raw values obtained by CBLVCAT for all available report fields may be displayed in a List window with column names equal to the CBLVCAT REPORT field names.

IDCAMS DEFINE deck output to SYSPUNCH, generated by CBLVCAT's LISTVCAT DEFINE parameter, is also captured and displayed in a CBLe text edit window.

Execute CBLVCAT Window

The Execute CBLVCAT window is a List type window with additional input fields, VCAT Command and VCAT Program.

  • The CBLVCAT command syntax to be executed is entered at the VCAT Command prompt. Alternatively, a fileid may be entered at the prompt prefixed by "<" (x'4C' - less than) to identify the input source file containing the CBLVCAT control statements.

    Where the Execute CBLVCAT window is opened with no parameters, then, unless otherwise specified in the CBLiINI configuration file, CBLVCAT control syntax that would generate a list of all user catalogs referenced in the master catalog, is placed on the VCAT Command line ready for execution.

    Note that placing the cursor on a user catalog entry in a LISTVCAT report and hitting <Enter> will generate a new CBLVCAT LISTVCAT report for the contents of the selected user catalog.

  • The VCAT Program prompt identifies the program module/phase to execute. Unless otherwise specified in the CBLiINI configuration file, the default program name is CBLV.

CBLVCAT Display Area click image to enlarge

The remaining area is the CBLVCAT SYSPRINT/SYSLST output display area.

Since the display area is a list of data having only a single column, namely SysPrint, standard list window command syntax may be entered from the command prompt to filter the output.

     e.g. WHERE SYSPRINT << 'KSDS(R)'

The following prefix commands may also be entered against report lines:

Command Description
B Open the CBLe text editor to edit the entry in read only mode.
C Copy the entry.
D Delete the entry. User will be prompted to verify the deletion.
E Open the CBLe text editor to edit the entry.
F Open the File Search window to search the contents of the entry.
Supported for MVS PDS/PDSE, CMS fileid, VSE LIBR sub-library and member entries only.
I Open an IDCAMS Command window and issue an IDCAMS LISTCAT for the entry.
K Delete (Kill) the entry without prompting for verification.
L Open a Dataset List window for the entry.
M Open a Library List window for the entry.
Supported for MVS PDS/PDSE, VSE LIBR library and sub-library entries only.
Q List dataset enqueues (major name SYSDSN) for the entry.
Supported for MVS only.
R Rename the entry.
T Execute CBLVCAT TUNE against the entry.
V Open another Execute CBLVCAT window and issue a LISTVCAT and/or LISTVTOC operation (as appropriate) for the entry.
? Open the DASD Volume Statistics window for the volume in the list entry.

CBLVCAT Display Area Filter and Prefix Commands click image to enlarge

CBLV RAW fields window

The CBLV Raw data list window may be opened by selecting Raw from the Execute CBLVCAT menu bar.

Whereas CBLVCAT arranges data in a printable report format, the CBLV Raw data list window, contains all report field data accumulated by CBLVCAT during the run, in list type format. The list field column headings are equivalent to the CBLVCAT REPORT field names.

The CBLV Raw data list window allows the user to perform more complex select, sort and filter operations on the field data than would be possible in the CBLVCAT formatted report.

The folowing screenshot illustrates use of select and filter on CBLV Raw LISTVCAT output in order to list only VSAM elements that have been defined with no secondary space allocation.

CBLVCAT Raw List Window - LISTVCAT click image to enlarge
CBLVCAT Raw List Window - LISTVTOC click image to enlarge


Where DEFINE is specified on a CBLVCAT LISTVCAT operation, IDCAMS DELETE/DEFINE control statements are generated for all selected files and written to SYSPUNCH.

CBLVCAT Interactive intercepts this output and presents it to the user in a new CBLe text editor window view.

CBLVCAT Generated IDCAMS DEFINE deck click image to enlarge

Non-standard 3270 Terminal Displays

The CBL Interactive Environment and CBLVCAT Interactive take full advantage of large 3270 terminal sizes and colour display that may be achieved using IBM-Dynamic TN3270E VTAM logmodes.

CBL recommends that system administrators configure the TN3270 servers and 3270 emulation software to allow users to start emulated terminals with non-standard 3270 terminal sizes.

See the SELCOPYi 3270 Emulators page and the video tutorial SELCOPYi Windowed Display system.

CBLVCAT Interactive 62x160 click image to enlarge

CBLe Text Editor click image to enlarge

CBLe Text Editor

A function rich, user configurable text editor including support for:

  • Interfaces for both ISPF-Edit (PDF) and KEDIT/XEDIT compatibility.
  • MDI (Multiple Document Interface) Edit display windows.
  • Command Line Interface (CLI) on all edit operations. (cf. ISPF Primary commands)
  • Configurable PFKeys and Edit environment.
  • Prefix area command support. (cf. ISPF Line commands)
  • Text blocking as source for copy, move, delete, overlay, etc.
  • Simple VSAM data set editing.
  • REXX Edit Macro support, including EXTRACT feature to automatically create REXX stem variables.
  • Automatic translation of System Symbols, environment and user-defined variables.
  • ALLOC command (for when TSO is not available.)
  • SUBMIT job streams to batch.
  • TASK command to start a program as a sub-task.

CBLe also includes the CMDTEXT function, a unique point-and-shoot facility enabling execution of any system (CMS/TSO/ISPF), SELCOPYi or CBLe text edit command stored as a text string in any editable file. This feature has brought about the use of CMX files (files containing related command strings and comment text) as "command-centres" for specific projects and tasks.

Structured Edit click image to enlarge

Structured Data Edit

Use SDE to edit/browse files mapped using COBOL or PL/1 copybooks etc, displaying columns of data under meaningful headings with automatic interpretation of numeric data-types, etc.

  • Display records in Table or Single-Record (vertical zoom) formats, HEX or unformatted.
  • Simultaneous display of multiple record-types, with column headings repeated for each record group.
  • Edit multiple files.
  • Display multiple (format independent) views of any file.
  • Work with a subset of fields using SQL-style SELECT to specify a subset of columns and their order.
  • Work with a subset of records, selected according to one or more record-type.
  • Work with a subset of records, selected according to data content using ISPF-style FIND/EXCLUDE and SQL-style WHERE commands.
  • Copy and reformat records from one file/structure to another.
  • Extract data and structures to REXX variables used in macro procedures.

Sample SMF Browse
Sample SMF Browse
Sample SMF Report Definition
Sample SMF Report Definition
Sample SMF Report Output
Sample SMF Report Output click images to enlarge

SMF: Work with MVS System Managed Facilities data

SELCOPYi includes utilities to process records generated by MVS System Management Facilities. SMF collects and records system and job related information which gets written to the allocated SMF dataset (SYS1.MANx) or log stream.

Each SMF record is assigned a distinct record type number and has a well defined (though often complex) structure. The structure of each SMF record type is comprised of a number of sections that can occur many times, only once or not at all within the data of a record of the record type.

SELCOPYi SMF utilities treat each section of data as a record segment and will use Structured Data Edit (SDE) environment segmented record processing to interpret the data.

SELCOPYi SMF Utilities are:

  • SMF Record Browse
    Formatted SMF records can be browsed either directly from an on-line SMF data set or from SMF DUMP (IFASMFDL or IFASMFDP) output in a Data Editor window view. All standard Data Editor functionality for browsed data is available (e.g. table and/or single record display, FIND, EXCLUDE, ONLY, etc.)

    SMF records may be browsed using either of the following data formatting options:

    1. A basic non-segmented layout that displays columns for fields mapped by the header/self-defining section only. All remaining data is unformatted.

    2. A full segmented layout that displays columns for all fields mapped by all segment (section) structures identified within the record's data.

  • SMF Record Extract
    Using selection criteria, extract required SMF records directly from an on-line SMF data set or from one or more SMF DUMP archives to another data set. Selection criteria include SMF Record-Type/Subtype(s), timestamp range, Job name(s) and Userid(s).

  • SMF Record Reporting
    Using field selection and other report definition syntax, generate a text report from SMF record data.

    See sample screen shots.

List Windows click image to enlarge

List Windows

Display configurable rows of information for various list types that include:

  • DASD Volumes.
  • VTOC contents.
  • Cataloged Datasets.
  • Library Members.
  • Enqueued Resources.
  • Allocated Datasets.

All list windows support the following:

  • Point-and-shoot on column headers to sort column data.
  • SQL style syntax for select, sort and filter.
  • Prefix commands to copy, rename, delete, generate IDCAMS LISTCAT output, etc. as appropriate.

List windows provide a simple method of system navigation allowing the user to intuitively drill-down through lists of DASDs, VTOCs, Datasets, Libraries and finally, edit or browse a dataset or library member.

List windows are accessible via the List main menu item and directly via parameter driven command line interface commands. e.g.

LD List Datasets.
LL List Library Members.
LA List Allocated Datasets.

System List Windows click image to enlarge

System Information List Windows (MVS Systems only)

The ability to display System Information is restricted by RACF profiles. Supported System List window types are:

  • LPA Modules.
  • Link Listed Libraries.
  • APF Authorised Libraries.
  • Task List.
  • Private, CSA and SQA Storage Map.
  • Loaded Programs.

SQL Interface to DB2 click image to enlarge

Dynamic SQL Interface to DB2 (MVS Systems only)

The DB2 Dynamic SQL window is used to submit SQL commands to a DB2 database and display the resultant messages and table views.

AMS IDCAMS Window click image to enlarge

Dynamic AMS IDCAMS Execution

The AMS IDCAMS window is used to execute any IDCAMS syntax (DELETE, DEFINE, LISTCAT, REPRO, etc.) and then display the resultant SYSPRINT output.

Utility Windows click image to enlarge

General Utilities

SELCOPYi contains some general tools that include:

  • Multiple File search dialog window.
  • Data set allocation and VSAM object definition dialog windows.
  • Data set Copy, Rename and Delete dialog windows.
  • VSE POWER command execution window.
  • REXX calculator.
  • Calendar with Julian day of year.

Help Windows click image to enlarge

On-line Help System

Get on-line help for the current window or for a specific topic using the HELP <topic> command.

SELCOPY is used by many blue chip companies worldwide, its popularity due in no small part to its simplicity of use combined with fast and powerful data handling. Ideal as a "quick fix" mechanism for repairing data files, or as a component of a major production suite, SELCOPY is widely used throughout the Information Services industry.

With extra syntax and functionality included in every new release, SELCOPY has grown to become a very powerful batch utility language in which to develop new applications, much easier to code than compiled languages such as COBOL, PL1 and C++, but executing at comparible speeds.

SELCOPY syntax is common across all operating systems on which it is supported, so the same job may be ported across platforms with little or no change to the control statements. For example, an application can be developed under CMS, TSO or even on a PC, for subsequent operational use in a z/OS batch environment.

All SELCOPY Licences for the IBM mainframe include the use of SELCOPYi (SELCOPY Interactive environment), at no extra cost, providing the user with a full-screen 3270 windowed environment for running SELCOPY interactively.

SELCOPYi aids the development and debugging of applications by allowing the user to step through the individual SELCOPY control statements one at a time in order to monitor changes to program variables and storage.

Also included with SELCOPYi is a richly functioned file editor, together with various dataset management tools.

The Productivity Aid

From its inception as a SELect and COPY utility, SELCOPY has developed into an all purpose productivity aid for IBM Mainframe, UNIX and PC systems.

On mainframe systems, the SELCOPYi interactive environment supplied with SELCOPY, provides another dimension to aiding the user's productivity. Features of SELCOPYi are itemised within the SELCOPYi tab.

The mainframe version of the product is Operating System Independent, the binary download being used for OS/390 (MVS), VM and VSE. Furthermore, a SELCOPY licence allows for product usage under all three IBM operating environments, without incurring any additional fee.

SELCOPY will dynamically examine the control program and act accordingly.

The Multiple Utility

The same simple free format control cards rationalize all file to file utilities under one program. Capable not only of multiple input, output and printing, but also selective modification, and all at the same time. Conversion includes ASCII, EBCDIC and Hex representation as well as arithmetic. No device restrictions for VSE, e.g. FBA to 3390 in one operation.

Printing choice includes Char, Hex, Both, Mixed, Dump, or Report. Alternatively, you may convert some fields, rearrange them, and print a subset.

If the requirement is definable, SELCOPY notation is probably the quickest way to specify it, and at the same time make it machine readable.

Solutions become second nature through SELCOPY.

The Trouble Shooter

Simple, quickly written code will scan files for problem records. Having checked the scope of the errors, equally simple code can be used to correct the files.

Update-in-Place is featured for use on all CMS files, all VSAM files, all IMS/DL1 files along with MVS QSAM files and PDS member data.

File Format Conversion

Changing Fixed, Variable, Undefined and reblocking is just the beginning....
You can restructure any non-IBM file into standard IBM format.

The ultimate example reads IBM's MVS ICF Catalog as a VSAM file, (using its own self defining entry), and then builds Fixed length records for every GDG entry.

Speed of Execution

SELCOPY is written in Assembler, so is able to minimise linkage to I/O routines, but still uses standard IBM Data Management. This has the double advantage that it maximises speed while keeping up-to-date with IBM development, and at the same time avoids channel monopoly locking out other users.

The Report Generator

Selection, summarising and reformatting is what reporting is all about, and of course, this is standard SELCOPY.

Data can be restructured and printed as required, while totals can be accumulated and printed at EOJ by controlling SELCOPY's automatic EOF handling.

For complicated reports the EQU statement (available to all SELCOPY code), allows user defined names to be given to frequently occurring strings, numerics, keywords or even combinations of these.


SELCOPY syntax is common across all operating systems on which it is supported, so the same job may be ported across platforms with little or no change to the control statements. For example, an application can be developed under CMS, TSO or even on a PC, for subsequent operational use in a z/OS batch environment.

Test Data Generator

Generated data is controlled at the field level, with range controls on all data types in conjunction with all SELCOPY's selection logic.

Test files may thus be generated from nothing, or from a controlled selection of records from existing files with controlled regeneration of selected fields.

Multi-File Scanning

Scan all members of an MVS PDS, searching for a string, report and optionally modify and update-in-place. Input could equally be a generic group of VSE library members or CMS files, but for VSE, a second step is required to submit updates to LIBR.

SELCOPY's DIRDATA input function makes global changes to JCL quick and easy.

Back-Up and Restore

Processing on a Logical basis cannot give the speed of Physical I/O reading a track or cylinder at a time. But for today's machines with many users, good physical efficiency on a back-up function, by the very nature of its own efficiency, will serve to lock out the channel to on-line users and other applications for the duration of the back-up, also monopolising a large proportion of real storage for its I/O areas. (Not always desirable.)

Logical processing does not lock anybody out, and has another positive advantage - the back-up is a processable file in its own right. Any program can read it, and read it logically. You can therefore select from it, report from it, or whatever, and of course go back as far as you like through your archives without the inconvenience of restoring to temporary disk files.

During your regular back-up run, you can code SELCOPY to give a useful small report on what it has backed up. Print the number of each type of record for example, the first two or three of each type, keep a hash total, etc. In a recovery situation, this information can be invaluable.

Possibly the most important advantage of using SELCOPY for your back-up is that you can back-up many totally separate files, VSAM or other, even off different volumes, concatenating them together to one single file on tape, while still keeping it logically processable. Blocking the tape output to tape device capacity with all your associated files together on the one single file makes the system practicable and easy to manage. See Back-Up 6 VSAM Files to 1 Tape File in SELCOPY Examples.

All this is done with a few simple SELCOPY control statements. And the Restore function may be precisely controlled giving choice of: restore all files in a single job step, or restore just 1. You can even restore selected records to a file using the Update-in-Place facility, just by introducing a little further simple selection criteria into the restore and changing WRITE to UPD.



For MVS users the IBM Relational Database Management System DB2 may be accessed using SELCOPY.

DB2 data is defined and manipulated by executing Structured Query Language (SQL) statements.

SELCOPY uses Dynamic SQL to allow you to define the SQL statements you want to execute at run time. For example you can:

  • Create and drop DB2 databases, tables, views, indexes etc.

  • Read, update and delete rows in tables and views.

  • Insert rows into tables and views.

Several DB2 tables may be processed together, as well as having input and output of all other types of files within the same execution of SELCOPY.

The design of the SELCOPY interface to SQL data has the following objectives:

  • To integrate as far as possible SQL processing with existing SELCOPY syntax.

  • To support straightforward access to tables and views as though they were traditional files.

  • This allows the inexperienced or occasional SQL user to get at SQL data with the minimum of fuss. In this case SELCOPY generates and executes SQL statements on behalf of the user.

  • To support the execution of SQL statements provided by the user either coded on SELCOPY control cards, built dynamically in the SELCOPY work area, or read from a file.

  • This gives the experienced user full access to SQL functionality through SELCOPY and allows the use of existing SQL statement code in SELCOPY programs.


SELCOPY supports the ADABAS database. The only prerequisite is that the ADABAS interface module is renamed to SELCOPAD.


Insert, Delete, Replace, Sequential Read, Qualified Read, with full DL1 syntax for qualifiers, is provided with the customary SELCOPY simplicity. Again, this is with the backing of all the other SELCOPY logic. You could use a sequential input file to drive the processing on your DL1 file for example.

Callable module SLCIMS allows execution of extended checkpoint and restart (CHKP/XRST) with automatic database repositioning following a CHKP call. Forced checkpointing in a BMC/ARC environment is also supported.

Users start to understand DL1 when they start to use SELCOPY. See Quick Print of IMS/DL1 Data Base in SELCOPY Examples.

Like SELCOPY, CBLVCAT is utilised throughout the Information Services industry in companies worldwide.

CBLVCAT's strength lies in its ability to assist VSAM, Database and CICS Administrators to manage, monitor and maintain important application data sets. Able to deliver customisable, concise DASD VTOC and ICF/VSAM catalog reports, CBLVCAT also displays informational and advisory messages and flags relating to the condition of reported files.

On request for tuning recommendations, particularly with user supplied parameters reflecting local knowledge of the file's usage, CBLVCAT will supply alternative AMS/IDCAMS data set definition parameters designed to improve application performance and reclaim unused disk space. Furthermore, if requested, CBLVCAT will generate the AMS/IDCAMS DELETE/DEFINE re-organisation job stream for each file in the report.

All new and existing CBLVCAT licences also include use of SELCOPYi, the CBL Interactive Environment. SELCOPYi provides CBLVCAT users with a facility to interactively generate CBLVCAT reports, AMS/IDCAMS LISTCAT reports and DEFINE decks without submitting jobs to batch.

CBLVCAT is a batch utility to generate:

  • Status reports for data set entries in DASD VTOCs and ICF/VSAM catalogs.

  • VSAM data set tuning recommendations.

  • AMS/IDCAMS DEFINE job streams.

  • Standard VSE Label Area report.

Report generation features include:

  • Standard (default) reports for ICF/VSAM catalogs, VTOCs and the VSE Label area (no user parameters need be specified.) These reports display those file attributes that are considered to be of most interest to the user.

  • Required information for each catalog, VTOC or Label Area entry is displayed on a single report line. This is in contrast to the less readable AMS/IDCAMS LISTCAT reports that display all possible information for a catalog entry, potentially over several pages.\

  • Catalog sub-report containing VOLUME information for all DASD referenced by data sets in the catalog.

  • Optional VTOC free space table displaying start and number of free tracks (or FBA blocks) on the volume.

  • REPORT and OPTION parameters provide the facility to customise report field headers and format of report data.

  • SUBSET parameters provide control for sort and filter of entries.

  • Warning messages and column data flags. These indicate the condition of data sets in the report based on internal and user controlled limits. Messages are assigned a severity level reflecting the seriousness of the data set's condition. The level of severity encountered on execution of a CBLVCAT job stream determines the final return code. In this way, the condition of groups of data sets can be monitored simply by scheduling execution of the same CBLVCAT job at regular intervals and testing for a change in the return code.

  • Optionally, all data obtained during the CBLVCAT execution may also be written, without report headers and in character format, to a RECFM=V file.

  • VSE VTOC file entry modification/deletion.

VSAM file tuning features include:

  • AMS/IDCAMS re-organisation control statements including recommendations based on user specified operating system and/or DASD device type. This allows modelling of the VSAM data set prior to migration from VSE to z/OS or to new DASD device types.

  • User control over principal tuning parameters allowing local knowledge of the file's processing to influence eventual recommendations. e.g. average record length, file growth, maximum/minimum CISIZE.

  • Capacity information detailing percentage use of the primary and secondary space allocations before and after tuning recommendations are applied.

  • Alternative JCL bufferspace specifications to override AMS/IDCAMS defined value for faster sequential processing.

  • Optional generation of the AMS/IDCAMS DELETE/DEFINE data set reorganisation control statements.

CBLVCAT execuction in SELCOPYi:

CBLVCAT includes SELCOPYi, CBL interactive environment modules. Starting SELCOPYi provides users with a working environment for generating interactive CBLVCAT reports, text edit (via the accompanying CBLe text editor) and general system and data set management via list facilities.

CBLVCAT execuction in SELCOPYi provides the following added benefits:

  • Execution without submitting to batch. CBLVCAT control may be passed via the command line or a control file.

  • Colour coded report fields highlight flagged data and important messages.

  • Prefix area commands allow the user to easily launch further CBLVCAT execution for an individual entry, execute an AMS/IDCAMS LISTCAT, edit an entry's data (CBLe text editor) or open list windows.