Workbench(tm) is a data set utility designed for IBM mainframes. In industry terms, Workbench(tm) is a programmer productivity aid that increases a programmer's quality while reducing time spent developing and maintaining computer programs. This is accomplished by allowing the programmer to create, modify, or print computer files without having to write special "one time only" or "handies" to support programming activities. Workbench(tm) features include the following:



            . Full control of the utility's process flow.

            . Ability to do conditional branching.

            . Perform verb for structure command logic.

            . Call exits for user program tasks.

            . Restart verb to reset files to beginning for multiple passes.

            . Epilogue for EOJ processing.

            . Return-Code, SQLCODE, IDMS-STATUS settings



            . Supports DB2, DLI, IDMS, Datacomm, VSAM, QSAM VB or FB.

            . PDS processing for scans, updates, merges, xref, and compares.

            . LIBRARIAN and PANVALET structures for scans, xref, and compares.

            . Up to 99 input or output files may be processed at a time.

            . Record selection and deletion from a file.

            . File synchronization to process like keys of up to 99 files.

            . Dynamic file dataset name and device allocation capabilities

            . Counters on input and output files.



            . Move, add, subtract, format conversion, masking, numeric testing.

            . Edit verb to automatically shift left/right values.

            . String/unstring of characters.

            . Scan tests for selecting, replacing, or replacing with offset.

            . Exhibit verb to display values of fields.

            . Test data builder.

            . Ability to modify record length sizes & formats.

            . Data encryption of records, fields, individual pds members.




            . Character print report of records..

            . Hexadecimal print of records (vertical & horizontal).

            . Source code compare to locate added, deleted, or moved stmts.

            . Data file compare and hex print of their differences.

            . Compress/decompress to save storage space of records.

            . Cross reference of data names for entire application systems.

            . 50,000 word spell checking dictionary facility.


                    BenchR01 - Edit and process messages

                    BenchR02 - Character printed records

                    BenchR03 - Vertically dumped records

                    BenchR04 - Horizontally dumped records

                    BenchR05 - Vertical dump of compared records

                    BenchR06 - Compared source code

                    BenchR07 - Xref data names report

                    BenchR08 - Statistics of the run



1. Commands are language-like in function such as read one record, perform a print or move data, and loop until all files are at-end.

2. Only one command is allowed per input card. (The exceptions are "SYNC" and "CALL" which may span multiple cards). Any values beyond the required syntax will be treated as comments.

3. Commands are entered via SYSIN DD statement.

4. Commands may use column 1 through 71 only.

5. "*" in column 1 indicates comment card.

6. Completely blank cards are allowed to enhance readability.



ADD - accumulation of fields either binary, packed, display.

CALL - transfer control to user-written module passing fields.

COMPARE - tests for record differences and highlights changes.

COMPRESS - squeeze duplicate characters of a record to save space.

COMPSRC - request a source code compare.

CVTBIN - converts packed or display numeric field to binary.

CVTCHAR - converts packed or binary field to character display.

CVTDEC - converts binary or display numeric fields to packed.

DECODE - restores encrypted data.

DECOMPRESS - to unsqueeze a compressed file.

DEFAREA - allocates memory scratch pads for record building or field work space.

DEFINES - assigns names to WORKAREA and file variables to aid process.

DELETE - allows an input record to be marked as deleted which will prevent further processing of that record.

DIVIDE - provides numeric computational divide functions.

DLILINK - creates linkage for DLI processing.

DUMP - same as DUMPV.

DUMPH - dumps a record in horizontal hex format (similar to core dumps).

DUMPV - dumps a record in vertical hex format.

DYNALLOC - dynamic allocation of file datasets. Allows variable file names to be created.

DYNCLOSE - closes a dynamic file.

DYNOPEN - opens a dynamic file.

EDIT - moves data into smaller or larger fields with shift.

ENCODE - provides encryption processing.

ENTRY - allows for DLI processor control.

EXHIBIT - displays fields.

GOTO - allows branching to tags defined by user and EOJ stop routine.

IF - provides for conditional processing based on data tests and file indicators.

IFX - same as IF except does not do numeric conversions.

LOADSRC - loads source code and compares.

MASKAND - mask bit test to "AND" the bits.

MASKOR - mask bit test to "OR" the bits.

MOVE - allows an input file to be modified for processing.

MOVEN - converts automatically numeric fields to receiving format.

MOVEX - same as MOVE except limited within the record bounds.

MULTIPLY - provides computational multiply functions.

PACK - moves a display numeric field into a packed field.

PERFORM - to perform a Workbench(tm) subroutine.

PRINT - prints a record in character format.

READ - allows an input file to be defined and one record read.

READLIB - define and read a Librarian (tm) member group.

READPAN - define and read a Panvalet (tm) member group.

READPDS - allows PDS member processing in groups as requested.

RESTART - repositions file at the first record for multiple pass processing.

RETURN - to exit a performed return.

SCAN - searches record for any occurrence of a given data value.

SCANSTEP - searches record for a given value and sets a location pointer (starts at current position pointer +1).

SCANTEST - searches for a given value and sets a location pointer (always starts at position 1).

SPELL - spell checking with 50,000 word dictionary.

STRING - to combine several fields into a single field.

SUBTRACT - subtraction of fields either binary, packed, display or any combination.

SYNC - special read matches keys of multiple files.

UNPACK - moves packed field into a display format field.

UNSTRING - to separate a character string into individual fields.

WRITE - allows an output to be defined and one record written.

WRITEPDS - allows PDS member record to be written.

XREF - releases a record to the cross reference report.

XREFDSN - cross reference facility for data set names.

(tm) Librarian is a trademark of Computer Associates & Applied Data Research, Inc.

Panvalet is a trademark of Computer Associates & Pansophic, Inc.



DB2-CONNECT - requests attach of DB2 environment.

DB2-DISCONNECT - requests release of DB2 resources.

EXEC SQL - SQL statement request.



ACCEPT - to access statistics information.

BIND - to declare resource usage.

COMMIT - to commit updates and release locks.

ERASE - to delete a record.

FIND - to locate but not receive record data elements.

FINISH - to release and terminate IDMS resources.

GET - to transfer data elements located with the FIND verb.

IDMS-CONNECT - to physically relate a detail record with its parent set.

IDMS-DISCONNECT - to disconnect a record from a set.

IDMS-IF - will test existence of detail records in a set.

IDMS-RETURN - returns dbkey information.

KEEP - places a record lock on data retrieved.

MODIFY - updates a given record.

OBTAIN - locates and transfer record data elements to the program.

READY - declares record and area usage.

ROLLBACK - backs off any updates to the last commit point.

STORE - inserts a new record to the database.