Hiperstation for VTAM User Guide

Transcription

Hiperstation for VTAM User Guide
Hiperstation for VTAM
User Guide
Release 16.05
ii
Hiperstation for VTAM User Guide
Please direct questions about Hiperstation
or comments on this document to:
Compuware Customer Support
http://go.compuware.com
This document and the product referenced in it are subject to the following legends:
Copyright 1994-2016 Compuware Corporation. All rights reserved. Unpublished rights
reserved under the Copyright Laws of the United States.
U.S. GOVERNMENT RIGHTS-Use, duplication, or disclosure by the U.S. Government is
subject to restrictions as set forth in Compuware Corporation license agreement and as
provided in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii)
(OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as
applicable. Compuware Corporation.
This product contains confidential information and trade secrets of Compuware
Corporation. Use, disclosure, or reproduction is prohibited without the prior express
written permission of Compuware Corporation. Access is limited to authorized users. Use
of this product is subject to the terms and conditions of the user’s License Agreement
with Compuware Corporation.
Compuware, Hiperstation, Hiperstation for VTAM, Hiperstation for Mainframe Servers,
Hiperstation for WebSphere MQ, QAHiperstation+, QAPlayback, File-AID, File-AID for
DB2, File-AID for IMS, File-AID/MVS, and File-AID/RDX are trademarks or registered
trademarks of Compuware Corporation.
ISPF, CICS, DB2, DFSMS, MVS/ESA, MVS/SP, MVS/XA, OS/390, RACF, REXX, VTAM,
BookManager, MQSeries, WebSphere MQ, zSeries, and z/OS are trademarks or registered
trademarks of International Business Machines Corporation.
Adobe® Reader® is a trademark of Adobe Systems Incorporated in the United States
and/or other countries.
All other company and product names are trademarks or registered trademarks of their
respective owners.
Doc. JAN2016
December 21, 2015
iii
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Accessing Hiperstation Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
HTML Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Using this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Hiperstation for VTAM User Guide Overview. . . . . . . . . . . . . . . . . . . . . . . xx
Notation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
Reading Syntax Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxiii
Installing Windows Accessibility Features . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Selecting Font and Font Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Changing Color and Contrast. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Setting Cursor Blink Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Using Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Accessibility Exceptions Work Arounds . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Known Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
FrontLine Support Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Contacting Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Corporate Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Chapter 1. Product Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Hiperstation for VTAM Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Automated Testing Vehicle (ATV) Manager . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Recording. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Interactive Recording (Domain Traveler) . . . . . . . . . . . . . . . . . . . . . . 1-2
End-User Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Global Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3
Playback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Interactive Playback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Non-Stop Playback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Unattended Playback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Unattended Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Editing, Masking, and Dubbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Masking Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Dubbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Customizing Scripts Using Script Processors. . . . . . . . . . . . . . . . . . . . . . . . 1-5
Message Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Advanced Testing Using REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Substituting Terminal Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Creating Modular Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
iv
Hiperstation for VTAM User Guide
Creating Script Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional Management Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transaction Journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Autodoc (Automated Documentation) . . . . . . . . . . . . . . . . . . . . . . .
Session Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DBCS Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Product Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ISPF (Interactive) Screen Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ISPF Mode TSO Jump Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zoom Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using PF Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PF Key Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulating PF Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-6
1-6
1-7
1-7
1-7
1-7
1-7
1-7
1-7
1-8
1-8
1-8
1-8
1-9
Chapter 2. Managing Hiperstation for VTAM Datasets . . . . . . . . . . . . . . . . . . . . .
Allocating a Script Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating Before Using Hiperstation for VTAM . . . . . . . . . . . . . . . . . . . .
Allocating While Using Hiperstation for VTAM . . . . . . . . . . . . . . . . . . . .
Recovering Migrated Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reusing Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recovering Recordings that Ended in Error . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-1
2-1
2-1
2-1
2-2
2-2
2-3
Chapter 3. Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accessing Hiperstation for VTAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introducing Domain Traveler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contact the Domain Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Change Session Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Change Application Profile Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communicate with the Domain Destination . . . . . . . . . . . . . . . . . . . . . .
Session Status Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Virtual Terminal Presentation Space . . . . . . . . . . . . . . . . . . . . . . . . .
Cancel a Domain Traveler Session . . . . . . . . . . . . . . . . . . . . . . . . . . .
End the Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1
3-1
3-2
3-2
3-3
3-4
3-5
3-6
3-6
3-7
3-7
Chapter 4. Automated Testing Vehicle (ATV) Manager . . . . . . . . . . . . . . . . . . . . . 4-1
Introducing the ATV Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
Chapter 5. Online Testing of 3270 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Recording Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Set Up Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Recording Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Cancel a Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Recording Function Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Playing Back Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Playback Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Play and Think Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Playback Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Interactive Playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Non-Stop Playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Terminate Playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Playback Function Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Comparing Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Set Comparison Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
When a Mismatch Occurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
v
Masking Script Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Using Row Masks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Mask an Entire Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Mask Individual Characters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Mask Hexadecimal Characters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Mask Characters Globally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Reset All Masks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Online Row Masking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Generic Masking of Output Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Generic Masking Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Other Generic Masking Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Dubbing Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Explicit Dubbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Add to the End of a Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Inserting in the Middle of a Script . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Implicit Dubbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26
Dub Function Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27
Editing Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
Script File Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
Chapter 6. 3270 Unattended Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Starting Unattended Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Generating 3270 Unattended Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Defining Unattended Statement Parameters . . . . . . . . . . . . . . . . . . . . . . . 6-3
CONTROL Statement Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
GROUP Statement Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
SCRIPT Statement Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
COMPARE Statement Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
COMPANY and DUBTITLE Statement Parameters . . . . . . . . . . . . . . . 6-9
CACHE INCLUDE and EXCLUDE Statement Parameters . . . . . . . . . . 6-9
Building Unattended Statements and JCL . . . . . . . . . . . . . . . . . . . . . . . .6-10
Building JCL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Restricting Script Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Chapter 7. Unattended Playback, Dubbing, and Comparison for 3270 and LU0
Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
Using the Unattended Mode Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Unattended Mode Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
Statement Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-3
CACHEXCL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
CACHINCL Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-4
COMPANY Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
COMPARE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
CONTROL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
DUBTITLE Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
GROUP Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Required Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
Optional Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
SCRIPT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20
Required Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20
Optional Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20
Print File Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
3270 Unattended Playback, Dubbing and Comparison Sample JCL . . . . . . . . 7-23
Example 1: Play Back a Single Script, Single Terminal . . . . . . . . . . . . . . . 7-23
Example 2: Play Back Multiple Scripts, Single Terminal . . . . . . . . . . . . . .7-23
Example 3: Play Back Multiple Scripts, Multiple Terminals . . . . . . . . . . . 7-24
vi
Hiperstation for VTAM User Guide
Example 4: Play Back Multiple Scripts, Multiple Terminals, and Multiple
Domain Destinations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
Example 5: Play Back and Compare All Scripts in a Group . . . . . . . . . . 7-24
Example 6: Dub All Scripts in a Group . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25
Example 7: Exclude Scripts from Dubbing . . . . . . . . . . . . . . . . . . . . . . . 7-25
Example 8: Dub and Combine Scripts, Single Group . . . . . . . . . . . . . . . 7-25
Example 9: Dub Multiple Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26
Example 10: Compare All Specified Scripts in a Group . . . . . . . . . . . . . 7-26
Example 11: Compare Multiple Groups . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
Example 12: LU0 Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
Replacing Data with Unformatted Scripts . . . . . . . . . . . . . . . . . . . . 7-27
Unattended Mode Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
Unattended Mode Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
CONTROL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
GROUP Statement - Optional Parameters for LU0 . . . . . . . . . . . . . 7-32
Chapter 8. Quick Play — Select a Script and Go . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Running Quick Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Chapter 9. Demonstrating Scripts with Session Demo . . . . . . . . . . . . . . . . . . . . .
Accessing Session Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starting the Demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pop-Up Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pop-Up Window Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Session Demo Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-1
9-1
9-2
9-3
9-3
9-4
Chapter 10. Global Recording Requests and Scripts . . . . . . . . . . . . . . . . . . . . . . 10-1
Introducing Global Recording Requests and Scripts . . . . . . . . . . . . . . . . . . . 10-1
Accessing Global Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
Creating a Global Recording Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Define Script Creation Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7
If Script Creation Fails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
Session Log for Global Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10
Message Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Monitoring and Managing Existing Requests. . . . . . . . . . . . . . . . . . . . . . . . 10-12
View Active Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14
Reviewing Repositories and Creating Scripts . . . . . . . . . . . . . . . . . . . . . . . . 10-15
Generate Scripts from a Selected Repository . . . . . . . . . . . . . . . . . . . . . 10-17
Generate Scripts from Selected Sessions . . . . . . . . . . . . . . . . . . . . . . . . 10-18
Defining Global Recording Manager Lists . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19
Create a New Global Recording Manager List . . . . . . . . . . . . . . . . . . . . 10-21
Copy an Existing Global Recording Manager List. . . . . . . . . . . . . . . . . 10-22
Accessing Global Recording Administration . . . . . . . . . . . . . . . . . . . . . . . . 10-22
Using the Global Recording Batch Interface. . . . . . . . . . . . . . . . . . . . . . . . . 10-23
Create a Global Recording Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23
Global Recording Request Parameter Syntax. . . . . . . . . . . . . . . . . 10-25
Global Recording Request Parameters . . . . . . . . . . . . . . . . . . . . . . 10-26
Sample DCIADXL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27
Check the Status of Existing Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 10-39
Manage Existing Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-40
Retrieve the Parameters of an Existing Request. . . . . . . . . . . . . . . . . . . 10-42
Generate a Request Parameters Skeleton . . . . . . . . . . . . . . . . . . . . . . . . 10-43
Create Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-43
Script Creation Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-44
SQQFSAMP Member SCLU2 — Script Creation Parameters . . . . . 10-45
Troubleshoot Failed Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48
Recording Request Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48
vii
Script Create Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-49
Generating a Capture Segment Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-49
Review the Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-51
Chapter 11. Archive Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
Introducing the Archive Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-1
Using Hiperstation as a Security Monitoring Tool . . . . . . . . . . . . . . . . . . 11-1
Implementing Hiperstation for VTAM as a Security Monitoring Tool . . .11-1
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
Using the Archive Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
Chapter 12. Customizing Scripts with the REXX Script Processor . . . . . . . . . . . 12-1
REXX Script Processor Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
Using the REXX Script Processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2
REXX Script Processor Control File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2
Control File Conversion Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
Starting the Control File Conversion Utility . . . . . . . . . . . . . . . . . . . . . . 12-3
Data Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5
Starting Data Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-7
Adding a Data Replacement Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-7
Updating a Data Replacement Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9
Deleting a Data Replacement Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-9
Browsing Data Replacement Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10
Date Recalculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10
Setting a User-Defined Current Date. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-11
Starting Date Recalculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
Adding a Date Recalculation Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
Updating a Date Recalculation Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
Deleting a Date Recalculation Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15
Browsing a Date Recalculation Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15
Multi-Field Date Recalculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15
Starting Multi-Field Date Recalculation . . . . . . . . . . . . . . . . . . . . . . . . . 12-16
Adding a Multi-Field Date Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17
Updating a Multi-Field Date Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-18
Browsing a Multi-Field Date Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-19
Deleting a Multi-Field Date Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-20
List Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-20
Starting List Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-21
Adding a List Processing Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-22
Updating a List Processing Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-23
Deleting a List Processing Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24
Browsing a List Processing Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24
Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25
Starting Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-26
Adding a Synchronization Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-27
Updating a Synchronization Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28
Deleting a Synchronization Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29
Browsing a Synchronization Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29
Running the REXX Script Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-30
Background (Batch) Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-31
Processed Script REXX Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-32
Data Replacement REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-32
Date Recalculation REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-33
User-Defined Current Date Recalculation REXX. . . . . . . . . . . . . . . 12-36
List Processing REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-37
Synchronization REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-38
Troubleshooting REXX Script Processor Problems. . . . . . . . . . . . . . . . . . . . . 12-39
viii
Hiperstation for VTAM User Guide
Data Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Date Recalculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12-39
12-40
12-41
12-42
Chapter 13. Date Change and Date Find Script Processors . . . . . . . . . . . . . . . .
Date Change Script Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single Field Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multi-Field Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Embedded Dates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Running the Date Change Script Processor. . . . . . . . . . . . . . . . . . . . . . .
Date Find Script Processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Date Find Script Processor. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Running the Date Find Script Processor . . . . . . . . . . . . . . . . . . . . . . . . .
13-1
13-1
13-2
13-3
13-5
13-6
13-7
13-8
13-9
Chapter 14. Input Field Reformat Script Processor . . . . . . . . . . . . . . . . . . . . . . . 14-1
Chapter 15. MultiChange Script Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
Maintain Input Field Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2
Modify Output Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4
Add Field To Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5
Delete Field From Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-7
Modify Screen Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8
Add Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-9
Erase Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10
Executing MultiChange Script Processor Requests . . . . . . . . . . . . . . . . . . . 15-11
Background Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-12
Chapter 16. Security Script Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
Chapter 17. Hiperstation for VTAM EURO Script Utility . . . . . . . . . . . . . . . . . . . 17-1
Using the EURO Script Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1
Using Member Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
Using Control Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
Control Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
Using Currency Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
Individual Currency Cards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-8
Submitting EURO Script Utility Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10
EURO Script Utility Currency Location and Conversion . . . . . . . . . . . 17-11
Control Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11
Chapter 18. GST (Goods and Services Tax) Testing Utility . . . . . . . . . . . . . . . . .
Add a Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Update a Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Browse a Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delete a Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Execute the Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18-1
18-2
18-3
18-5
18-5
18-5
18-7
Chapter 19. Unattended Message Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How the Message Filter Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REXX Exit Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deciding What Screens Are in a Message . . . . . . . . . . . . . . . . . . . . . . . .
Interactive Message Filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generate Message Filtering REXX Exit for Formatted Scripts . . . . . . . . .
Describe Start of Message for Formatted Scripts . . . . . . . . . . . . . . .
Describe End of Message for Formatted Scripts . . . . . . . . . . . . . . . .
Generate Message Filtering REXX Exit for Unformatted Scripts. . . . . . .
19-1
19-1
19-2
19-2
19-3
19-4
19-4
19-6
19-7
ix
Describe Start of Message for Unformatted Scripts . . . . . . . . . . . . . .19-7
Describe End of Message for Unformatted Scripts . . . . . . . . . . . . . . 19-8
Message Filtering Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9
Override Defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-11
Manual Message Filtering - Coding Examples . . . . . . . . . . . . . . . . . . . . . . . . 19-13
Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-13
Example 1: Find All Screens with a Common Eyecatcher . . . . . . . . . . . 19-13
Example 2: Find Only Output Screens . . . . . . . . . . . . . . . . . . . . . . . . . . 19-13
Example 3: Find All Screens from a List . . . . . . . . . . . . . . . . . . . . . . . . . 19-14
Example 4: Convert a Script to Inputs Only. . . . . . . . . . . . . . . . . . . . . . 19-14
Example 5: Check for a Combination of Screen Items . . . . . . . . . . . . . . 19-14
Message Filter REXX Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-15
HS_MATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-15
HS_WHICH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-16
HS_EXITTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-16
HS_KEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-16
HS_ROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-16
HS_COLUMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-17
HS_INPUT.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-17
HS_INPUT.n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-17
HS_OUTPUT.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-17
HS_OUTPUT.n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-18
HS_PARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-18
HS_SCRIPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-18
HS_FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-18
HS_INPUT_SEQUENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-18
HS_OUTPUT_SEQUENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-18
HS_INPUT_STREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-19
HS_OUTPUT_STREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-19
Message Filter Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-19
Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-19
CONTROL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-20
SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-21
INCLUDE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-21
EXCLUDE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-21
Running the Message Filter Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-22
Message Filter Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-22
Sample Message Filtering Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-23
Chapter 20. 3270 Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1
Transaction Journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-1
Start the Transaction Journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
Stop the Transaction Journal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-2
Transaction Journal Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-4
Automated Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-4
Start AutoDoc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-4
Auto Documentation Setup Screen . . . . . . . . . . . . . . . . . . . . . . . . . 20-4
AutoDoc Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-5
3270 Summary Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-6
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
Performance Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
Comparison Check Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
Comparison Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
Start the Comparison Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-9
Stop the Comparison Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
x
Hiperstation for VTAM User Guide
Comparison Log Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exception Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Start the Exception Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stop the Exception Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REXX Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20-10
20-11
20-11
20-12
20-12
Chapter 21. Text-to-Web Compare and Exception Log Converter . . . . . . . . . . . 21-1
Converting Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1
Accessing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-4
Reading and Navigating Web-Based Reports . . . . . . . . . . . . . . . . . . . . . . . . . 21-4
Report Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-4
Report Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
Navigation Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
Detail Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7
Search and Find Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8
Customizing Report Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
Report Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
System Display Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
Chapter 22. Hiperstation for VTAM Profile Defaults . . . . . . . . . . . . . . . . . . . . . . 22-1
Domain Traveler Profile Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1
3270/LU0 Profile Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-6
Auditing 3270 Profile Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-11
Appendix A. Customer Support Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Appendix B. Hiperstation Script Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Script File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Script Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Input Script Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output Script Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Individual Character Mask Script Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edit Function Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Script Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B-1
B-1
B-1
B-4
B-5
B-7
B-7
B-7
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-1
xi
Figures
1-1.
2-1.
2-2.
2-3.
2-4.
2-5.
3-1.
3-2.
3-3.
3-4.
3-5.
3-6.
3-7.
3-8.
5-1.
5-2.
5-3.
5-4.
5-5.
5-6.
5-7.
5-8.
5-9.
5-10.
5-11.
5-12.
5-13.
5-14.
5-15.
5-16.
5-17.
5-18.
5-19.
5-20.
5-21.
5-22.
5-23.
5-24.
5-25.
5-26.
5-27.
5-28.
5-29.
5-30.
5-31.
5-32.
5-33.
5-34.
5-35.
5-36.
5-37.
5-38.
5-39.
5-40.
5-41.
5-42.
PF Key Mapping Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-9
Hiperstation Allocate a Script Dataset Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2
Recover Migrated Dataset Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2
Bad Dataset Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3
Reuse Dataset Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3
JCL for Script Recovery Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3
Hiperstation Product Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1
Hiperstation for VTAM Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2
Domain Traveler Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3
Session Options Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3
Application Profile Settings Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5
Domain Traveler Entry Screen in ISPF Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6
View the Domain Traveler Status Line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6
Virtual Terminal Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7
Domain Traveler Destination Entry Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1
Recording Setup Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2
Recording Process, Screen 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3
Recording Process, Screen 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3
Recording Process, Screen 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3
Recording Process, Screen 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4
Recording Process, Screen 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4
Enter the PLAY Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5
Play Setup Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6
Play/Think Time Options Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7
Playback, Screen 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8
Playback, Screen 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8
Playback, Screen 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8
Playback, Screen 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-9
Playback, Screen 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-9
Comparison Mismatch Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-12
Comparison Options Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-12
Actual Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-14
Delta Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-15
Differences Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-15
Expected Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-16
CICS REC1 Script Before Masking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-17
Mask an Entire Line of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-17
Mask Individual Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-18
Mask Hexadecimal Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-18
Globally Mask an Entire Line of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19
Reset the Line of Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19
Mask Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19
Mask with a String of Lower Case i’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-20
Explicit Dubbing — Add a Transaction — Screen 1. . . . . . . . . . . . . . . . . . . . . . . .5-22
Explicit Dubbing — Add a Transaction — Screen 2. . . . . . . . . . . . . . . . . . . . . . . .5-23
Explicit Dubbing — Add a Transaction — Screen 3. . . . . . . . . . . . . . . . . . . . . . . .5-23
Explicit Dubbing — Insert a Transaction — Screen 1 . . . . . . . . . . . . . . . . . . . . . .5-24
Explicit Dubbing — Insert a Transaction — Screen 2 . . . . . . . . . . . . . . . . . . . . . .5-24
Explicit Dubbing — Insert a Transaction — Screen 3 . . . . . . . . . . . . . . . . . . . . . .5-24
Explicit Dubbing — Insert a Transaction — Screen 4 . . . . . . . . . . . . . . . . . . . . . .5-25
Explicit Dubbing — Insert a Transaction — Screen 5 . . . . . . . . . . . . . . . . . . . . . .5-25
Explicit Dubbing — Insert a Transaction — Screen 6 . . . . . . . . . . . . . . . . . . . . . .5-25
Implicit Dubbing, Screen 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-26
Implicit Dubbing, Screen 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-27
Implicit Dubbing, Screen 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-27
Edit a Recorded Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-28
xii
Hiperstation for VTAM User Guide
6-1.
6-2.
6-3.
6-4.
6-5.
6-6.
6-7.
6-8.
6-9.
6-10.
6-11.
6-12.
6-13.
6-14.
6-15.
6-16.
6-17.
6-18.
6-19.
7-1.
7-2.
7-3.
7-4.
7-5.
7-6.
7-7.
7-8.
7-9.
7-10.
7-11.
7-12.
7-13.
7-14.
7-15.
7-16.
7-17.
8-1.
8-2.
9-1.
9-2.
9-3.
10-1.
10-2.
10-3.
10-4.
10-5.
10-6.
10-7.
10-8.
10-9.
10-10.
10-11.
10-12.
10-13.
10-14.
10-15.
10-16.
10-17.
10-18.
10-19.
10-20.
Hiperstation * Generate Unattended Statements Screen . . . . . . . . . . . . . . . . . . . . .6-1
Generate Statements for Unattended 3270 Screen . . . . . . . . . . . . . . . . . . . . . . . . .6-2
3270 Statement Generation Parameters Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-3
3270 CONTROL Statement Parameters Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-4
3270 GROUP Statement Parameters Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-4
3270 GROUP Connection Parameters Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-5
3270 GROUP Documentation Parameters Screen . . . . . . . . . . . . . . . . . . . . . . . . . .6-6
3270 GROUP Timing Parameters Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-6
3270 GROUP Dubbing Options Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-7
SCRIPT Statement Parameters Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-8
3270 COMPARE Statement Parameters Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-8
Company and Dub Title Statement Parameters Screen . . . . . . . . . . . . . . . . . . . . . .6-9
CACHE INCLUDE and EXCLUDE Statement Parameters Screen . . . . . . . . . . . . . .6-9
Unattended Statement Build Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-10
ISPF EDIT Screen Showing Generated Statements . . . . . . . . . . . . . . . . . . . . . . . . .6-11
Unattended JCL Build Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-11
ISPF EDIT Screen Showing Generated JCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-12
Generation Restrictions Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-12
ISPF EDIT Screen Showing Restricted Generated Statements . . . . . . . . . . . . . . . .6-13
3270 Unattended Mode Statement Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-3
JCL to Play Back Single Script, Single Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . .7-23
JCL to Play Back Multiple Scripts, Single Terminal . . . . . . . . . . . . . . . . . . . . . . . .7-23
JCL to Play Back Multiple Scripts, Multiple Terminals . . . . . . . . . . . . . . . . . . . . .7-24
JCL to Play Back Multiple Scripts, Terminals, and Transaction Processing . . . . . .7-24
JCL to Play Back and Compare Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-25
JCL to Dub All Scripts in a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-25
JCL to Exclude Scripts from Dubbing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-25
JCL to Dub and Combine Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-26
JCL to Dub Multiple Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-26
JCL to Compare All Specified Scripts in a Group . . . . . . . . . . . . . . . . . . . . . . . . . .7-26
JCL to Compare Multiple Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-27
JCL to Compare Multiple Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-27
Character Representation of Hex String. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-28
Method 1 Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-28
Method 2 - First Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-28
Method 2 - Second Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-29
Quick Play Script Dataset Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-1
Quick Play Select and Play Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-2
Demonstration Setup Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-1
Session Demo Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-2
Pop-Up Window Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-4
Hiperstation for VTAM - Main Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-2
Global Recording Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-2
Global Recording - Add Requests Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-3
Global Recording - Monitor Requests Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-3
3270/LU0 Capture Criteria Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-4
3270/LU0 - Script Criteria Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-8
Session Log Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-10
3270/LU0 - Message Filters Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-11
Global Recording - Monitor Requests Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . .10-13
Global Recording - Active Sessions Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-14
Review Repository - Dataset List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-16
Review Repository - Processing Options Prompt . . . . . . . . . . . . . . . . . . . . . . . . .10-17
Script Processing Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-17
Review Repository - Session List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-18
Global Recording Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-20
Global Record Manager * Include/Exclude Lists Screen. . . . . . . . . . . . . . . . . . . .10-20
Global Record Manager * Add List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-21
Global Record Manager * Copy List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-22
DCIJCL — Sample JCL to Add or Manage Requests. . . . . . . . . . . . . . . . . . . . . . .10-25
SQQFSAMP Member SCJCL — Sample JCL to Create Scripts . . . . . . . . . . . . . . .10-44
Figures
10-21.
10-22.
11-1.
12-1.
12-2.
12-3.
12-4.
12-5.
12-6.
12-7.
12-8.
12-9.
12-10.
12-11.
12-12.
12-13.
12-14.
12-15.
12-16.
12-17.
12-18.
12-19.
12-20.
12-21.
12-22.
12-23.
12-24.
12-25.
12-26.
12-27.
12-28.
12-29.
12-30.
12-31.
12-32.
12-33.
12-34.
12-35.
12-36.
12-37.
12-38.
12-39.
12-40.
12-41.
12-42.
12-43.
12-44.
12-45.
12-46.
12-47.
12-48.
12-49.
12-50.
13-1.
13-2.
13-3.
13-4.
13-5.
13-6.
13-7.
13-8.
xiii
SQQFSAMP Member MCSREPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-50
Capture Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-51
Hiperstation Archive Recording Setup Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-2
REXX Script Processor Primary Options Screen . . . . . . . . . . . . . . . . . . . . . . . . . . .12-2
Allocate Control File Pop-up Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-3
Control File Conversion Utility Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-4
Control File Conversion Utility, Member Selection List . . . . . . . . . . . . . . . . . . . .12-4
Create the Document Number during the Recording . . . . . . . . . . . . . . . . . . . . . .12-5
Application’s Display Document Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-5
Document Number Entered as Input During Recording . . . . . . . . . . . . . . . . . . . .12-6
New Document Number Created During Playback . . . . . . . . . . . . . . . . . . . . . . . .12-6
Application’s Display Document Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-6
Original Document Number Being Replaced During Playback . . . . . . . . . . . . . . .12-7
REXX Script Processor Data Replacement Screen . . . . . . . . . . . . . . . . . . . . . . . . .12-7
Data Replacement: ADD Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-8
REXX Script Processor Data Replacement UPDATE Screen . . . . . . . . . . . . . . . . . .12-9
REXX Script Processor * Data Replacement BROWSE Screen . . . . . . . . . . . . . . .12-10
Application’s Order Entry Screen — Delivery Date Input Field. . . . . . . . . . . . . .12-11
Application’s Order Entry Screen — Playback Input Screen . . . . . . . . . . . . . . . .12-11
Date Recalculation Item List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-12
Example Date Recalculation Entry to Handle Delivery Date. . . . . . . . . . . . . . . .12-13
Date Recalculation: UPDATE Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-14
Date Recalculation BROWSE Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-15
Multi-Field Date Recalculation Item List Screen . . . . . . . . . . . . . . . . . . . . . . . . .12-16
Multi-Field Date: ADD Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-17
Multi-Field Date: Update Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-19
Multi-Field Date BROWSE Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-19
List Row Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-20
Wrong Row Selected During Playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-21
Hiperstation REXX Script Processor * List Processing Screen. . . . . . . . . . . . . . . .12-21
List Processing: ADD Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-22
Hiperstation REXX Script Processor * List Processing UPDATE Screen . . . . . . . .12-24
REXX Script Processor List Processing BROWSE Screen. . . . . . . . . . . . . . . . . . . .12-25
PLEASE WAIT Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-26
REXX Script Processor Synchronization Screen . . . . . . . . . . . . . . . . . . . . . . . . . .12-26
REXX Script Processor Synchronization ADD Screen . . . . . . . . . . . . . . . . . . . . .12-27
REXX Script Processor Synchronization UPDATE Screen . . . . . . . . . . . . . . . . . .12-29
REXX Script Processor Synchronization BROWSE Screen . . . . . . . . . . . . . . . . . .12-29
Hiperstation Script Processor * Execution Screen . . . . . . . . . . . . . . . . . . . . . . . .12-30
List Script Names for Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-31
Script Processor Background Execution Screen . . . . . . . . . . . . . . . . . . . . . . . . . .12-31
Data Replacement REXX Storing “From” Field . . . . . . . . . . . . . . . . . . . . . . . . . .12-32
Data Replacement REXX, Replaced Input Field . . . . . . . . . . . . . . . . . . . . . . . . . .12-33
Variable Script_Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-33
SPDTCALC - Date Recalculation Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-33
Sample Input Date Recalculation REXX Code . . . . . . . . . . . . . . . . . . . . . . . . . . .12-34
Sample Output Date Recalculation REXX Code . . . . . . . . . . . . . . . . . . . . . . . . .12-35
Contents of the SPDTCALC REXX Function . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-36
Date Recalculation REXX, Example DATASET Routine . . . . . . . . . . . . . . . . . . . .12-37
List Processing REXX, Call to List Routine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-37
List Processing REXX, Example List Selection Routine . . . . . . . . . . . . . . . . . . . .12-38
Synchronization REXX, <ADDCALL> Statement. . . . . . . . . . . . . . . . . . . . . . . . .12-39
Synchronization REXX, Example SYNCH_HANDLE Routing . . . . . . . . . . . . . . .12-39
Script Processors Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-1
Hiperstation Script Processor * Date Change Options Screen . . . . . . . . . . . . . . . .13-2
Single Field Date Change Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-2
Multi-Field Date Change Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-4
Embedded Dates Change Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-5
Enter the Name of the Script Partitioned Dataset . . . . . . . . . . . . . . . . . . . . . . . . .13-6
List Script Names for Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-7
Sample Date Find Script Processor Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-8
xiv
Hiperstation for VTAM User Guide
13-9.
13-10.
13-11.
14-1.
14-2.
14-3.
15-1.
15-2.
15-3.
15-4.
15-5.
15-6.
15-7.
15-8.
15-9.
15-10.
15-11.
15-12.
15-13.
15-14.
15-15.
15-16.
15-17.
16-1.
16-2.
16-3.
16-4.
17-1.
17-2.
17-3.
17-4.
17-5.
17-6.
17-7.
17-8.
17-9.
17-10.
18-1.
18-2.
18-3.
18-4.
18-5.
18-6.
18-7.
18-8.
18-9.
18-10.
18-11.
19-1.
19-2.
19-3.
19-4.
19-5.
19-6.
19-7.
19-8.
19-9.
19-10.
19-11.
19-12.
19-13.
Hiperstation Script Processor * Date Find Screen. . . . . . . . . . . . . . . . . . . . . . . . . .13-8
Enter the Name of the Script Partitioned Dataset File . . . . . . . . . . . . . . . . . . . . . .13-9
List Script Names For Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-9
Script Processors Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14-1
Hiperstation Script Processor * Change Input Field Formats Screen . . . . . . . . . . .14-2
Hiperstation Script Processor * Execution Screen . . . . . . . . . . . . . . . . . . . . . . . . .14-2
Script Processors Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-1
MultiChange Script Facility Primary Options Screen . . . . . . . . . . . . . . . . . . . . . .15-1
Maintain Input Field Values Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-2
Maintain Input Field Request Types Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-3
Add Input Field Value Item Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-3
Modify Output Screen Item List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-4
Modify Output Screen Item Types Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-5
Add Field to Screen Item Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-5
Delete Field From Screen Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-7
Modify Screen Constant Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-8
Add Script Item List Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-9
Add Script Item Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-9
Erase Interaction Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-10
Erase Interaction Request: ADD/UPDATE Screen. . . . . . . . . . . . . . . . . . . . . . . . .15-10
Initial Script Processor MultiChange Execution Screen. . . . . . . . . . . . . . . . . . . .15-11
Hiperstation Script Processor * MultiChange Execution Screen . . . . . . . . . . . . .15-11
MultiChange Script Processor Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-12
Script Processors Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-1
Security Script Processor Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-1
Security Password Modification Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-2
Security Script Processor Background Processing. . . . . . . . . . . . . . . . . . . . . . . . . .16-3
Script Processors Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-1
EURO Script Utility Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-2
Script Selection List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-3
Member List Screen with Duplicate Member Names . . . . . . . . . . . . . . . . . . . . . . .17-4
Member List Screen with Changed Member Name . . . . . . . . . . . . . . . . . . . . . . . .17-4
Control File Item List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-5
Maintain Control File Item Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-5
EURO Currency Card List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-7
Maintain EURO Currency Card Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-8
EURO Script Utility Execution Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-10
GST Testing Utility Main Options Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-1
GST Testing Utility Main Options Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-1
Hiperstation REXX Script Processor * GST Screen . . . . . . . . . . . . . . . . . . . . . . . . .18-2
GST Add New Entry Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-2
GST Update Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-4
GST Browse Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-5
Hiperstation Script Processor * Execution Screen . . . . . . . . . . . . . . . . . . . . . . . . .18-6
Hiperstation Script Processor * Execution Processing Screen . . . . . . . . . . . . . . . .18-6
Original Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-7
Script Processed Using GST Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-9
USERPROC Created by the GST Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-12
Message Filtering * Primary Options Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-3
Allocate Filter Dataset Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-4
Describe Start of Message for Formatted Scripts Screen . . . . . . . . . . . . . . . . . . . . .19-5
Describe End of Message for Formatted Scripts Screen . . . . . . . . . . . . . . . . . . . . .19-6
Describe Start of Message for Unformatted Scripts Screen. . . . . . . . . . . . . . . . . . .19-7
Describe End of Message for Unformatted Scripts Screen . . . . . . . . . . . . . . . . . . .19-8
Message Filtering Execution Screen 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-9
Message Filtering Execution Screen 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-10
Message Filtering Background Execution Screen . . . . . . . . . . . . . . . . . . . . . . . . .19-11
Override Defaults Screen with Sample Settings . . . . . . . . . . . . . . . . . . . . . . . . . .19-12
Look for a Common Eyecatcher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-13
Find Only Output Screens that Contain PLAF on the First Line . . . . . . . . . . . . .19-14
Look for a Set of Screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-14
Figures
19-14.
19-15.
19-16.
19-17.
19-18.
19-19.
20-1.
20-2.
20-3.
20-4.
20-5.
20-6.
20-7.
20-8.
20-9.
20-10.
20-11.
20-12.
21-1.
21-2.
21-3.
21-4.
21-5.
21-6.
21-7.
21-8.
21-9.
22-1.
22-2.
22-3.
22-4.
22-5.
22-6.
22-7.
A-1.
A-2.
xv
Convert to Inputs Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-14
Look at Several Areas on the Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-15
Message Filter Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-23
Sample JCL for Message Filter Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-23
PAYROLL Exit Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-24
SALARY Exit Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-25
Transaction Journal Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-2
Stop the Transaction Journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-2
Transaction Journal Sample Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-3
Auto Documentation Setup Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-4
Sample AutoDoc Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-6
3270 Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-7
Domain Traveler Screen - Bring Up the Comparison Log Setup Screen . . . . . . . .20-9
Activate the Comparison Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-10
Comparison Log Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-11
Domain Traveler Screen - Bring Up the Comparison Log Setup Screen . . . . . . .20-12
Activate the Exception Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-12
REXX Output Setup Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-13
CLOGGEN JCL Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-2
Compare Log Index Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-4
Web-based Compare/Exception Report Summary. . . . . . . . . . . . . . . . . . . . . . . . .21-5
Compare Log Navigation and Detail Panes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-6
Compare Log Detail Navigation Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-7
Top of Compare Log Detail Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-8
Compare Log Search Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-9
Find Text Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-9
Change Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-10
Hiperstation Profile Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-1
Domain Traveler Defaults - Session Options and PF Key Translations . . . . . . . . .22-2
Remainder of Domain Traveler Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-3
Hiperstation Profile Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-7
3270/LU0 Record and Script Create Defaults Screen . . . . . . . . . . . . . . . . . . . . . . .22-8
Hiperstation Profile Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-12
Auditing Defaults for 3270 Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-13
Hiperstation - Diagnostics Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Customer Support Diagnostic Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
xvi
Hiperstation for VTAM User Guide
xvii
Tables
7-1.
7-2.
JCL Statements for Unattended Mode Functions . . . . . . . . . . . . . . . . . . . . . . . . . .7-2
Hiperstation for VTAM Unattended Playback Return Codes. . . . . . . . . . . . . . . . .7-30
xviii
Hiperstation for VTAM User Guide
xix
Introduction
Intro
Compuware is committed to providing user-friendly documentation in a variety of
electronic formats. This chapter describes the available formats and how to access them.
It also provides an overview of this manual, describes the conventions used within, and
describes the resources available to help you.
Accessing Hiperstation Documentation
The Hiperstation documentation is available on the Compuware Go (FrontLine)
customer support website at http://go.compuware.com. Release Notes are provided in
HTML format and manuals in Portable Document Format (PDF):
• Release Notes — Provides recent information for the Hiperstation product. In this
file, you can quickly access system requirements, technical notes, customer support
contact information, and a list of the new features available in the release. The
Release Notes may be updated throughout the life cycle of a release with the most
current version located on FrontLine for easy access to the latest product
information.
• Hiperstation Installation Guide — Provides installation and configuration procedures.
• Hiperstation for VTAM User Guide — Explains how to use Hiperstation for VTAM to test
3270 and LU0 applications.
• Hiperstation for WebSphere MQ User Guide— Explains how to use Hiperstation for
WebSphere MQ to test WebSphere MQ applications.
• Hiperstation for Mainframe Servers User Guide — Explains how to use Hiperstation for
Mainframe Servers to test APPC and TCP/IP applications.
• Hiperstation Auditor User Guide — Explains how to use the Hiperstation Archive
Function.
• Hiperstation Automated Testing Vehicle (ATV) Manager User Guide — Explains how to use
the Hiperstation ATV Manager to manage your testing environment and test cases.
• Hiperstation Messages and Codes — Explains the messages and codes that Hiperstation
produces.
• Hiperstation Scripting Reference — Introduces advanced script editing concepts and
provides reference information for technical users.
• Hiperstation Reference Summary — Summarizes the commands used in Hiperstation for
VTAM’s Domain Traveler and Session Demo features.
• Master Index — This file contains an indexed list of the contents of the entire
manual set. To use this file, all of the book files and the master index file must be
located in the same directory. Open the master index file and search for the desired
term. Clicking on a search result will open the appropriate book at the desired page.
View and print PDF files with Adobe Reader. Download a free copy of the latest version of
the reader from Adobe’s web site: http://www.adobe.com.
Note:
With a few minor exceptions, PDF files comply with the requirements of section
508 of the Rehabilitation Act of 1973. Refer to the Accessibility preface in any of
the user guides for information.
xx
Hiperstation for VTAM User Guide
For your convenience, Compuware also provides the Hiperstation manuals in the
following formats:
• Hypertext Markup Language (HTML)
Access these formats on FrontLine, Compuware’s Customer Support Web site at
http://frontline.compuware.com.
1. Log-in.
2. Select the desired product.
3. Click the Documentation link on the left selection bar.
4. Select the desired release. FrontLine presents a documentation index containing links
to each of the product’s manuals in all of the available formats.
HTML Files
View HTML files with any standard Web browser. Simply click the HTML link on the
selected FrontLine documentation page.
Note:
As you review the HTML content, you may encounter the known issue regarding
screens and other graphic figures in which the image may be cropped along the
left or bottom edge.
Using this Manual
This section describes the:
• contents of this manual
• notation conventions used throughout the manual
• command syntax and syntax diagrams
Hiperstation for VTAM User Guide Overview
This guide describes how to use Hiperstation for testing mainframe business applications.
It contains the following sections:
• Chapter 1, “Product Overview” — Summary of system requirements, interactive
and batch facilities, and interface conventions.
• Chapter 2, “Managing Hiperstation for VTAM Datasets” — Describes how to
manage required datasets including how to allocate Hiperstation script datasets, how
Hiperstation responds when you work with an archived dataset or reuse an existing
one, and how to use the script recovery utility when a recording ends in error.
• Chapter 3, “Getting Started” — Describes how to start and end sessions and contact
the domain destination to be tested.
• Chapter 4, “Automated Testing Vehicle (ATV) Manager” — Describes how to use
the Automated Testing Vehicle Manager to build, execute, and manage regression
and performance automated test vehicles.
• Chapter 5, “Online Testing of 3270 Applications” — Describes how to record, play
back, compare, mask, dub, and edit scripts for testing 3270 applications.
• Chapter 6, “3270 Unattended Processing” — Describes how to set up unattended
playback of 3270 scripts.
• Chapter 7, “Unattended Playback, Dubbing, and Comparison for 3270 and LU0
Scripts” — Describes how to use unattended playback, dubbing, and independent
Introduction
xxi
unattended comparison functions for stress, volume, and concurrency testing of
domain destinations.
• Chapter 8, “Quick Play — Select a Script and Go” — Describes how to quickly play
back recorded scripts without being attached to an application.
• Chapter 9, “Demonstrating Scripts with Session Demo” — Describes how to play a
script without interacting with the domain destination used to record the script.
• Chapter 10, “Global Recording Requests and Scripts” — Describes how to record
the activity of multiple users and generate scripts.
• Chapter 11, “Archive Functions” — Describes how to create, access, and search
archive requests and reports.
• Chapter 12, “Customizing Scripts with the REXX Script Processor” — Describes
how to create “smart” scripts automatically.
• Chapter 13, “Date Change and Date Find Script Processors” — Describes how to
use these testing processors.
• Chapter 14, “Input Field Reformat Script Processor” — Describes how to change
the format of input fields in scripts.
• Chapter 15, “MultiChange Script Processor” — Describes how to modify the
contents of fields in scripts or add a script to another script.
• Chapter 16, “Security Script Processor” — Describes how to modify out-of-date
passwords in scripts.
• Chapter 17, “Hiperstation for VTAM EURO Script Utility” — Describes how to
translate monetary units to aid in testing conversion to the new European currency.
This is an optional feature and requires a separate license.
• Chapter 18, “GST (Goods and Services Tax) Testing Utility” — Describes how to
find and isolate selected fields. This is an optional feature and requires a separate
license.
• Chapter 19, “Unattended Message Filters” — Describes how to create new scripts by
removing selected messages from existing scripts.
• Chapter 20, “3270 Reporting” — Describes how to use utilities for the transaction
journal, automated documentation, comparison, exception, REXX logs, and 3270
summary reports.
• Chapter 21, “Text-to-Web Compare and Exception Log Converter” — Describes
how to convert comparison, exception, and onelog datasets to interactive web
reports and how to navigate the converted reports.
• Chapter 22, “Hiperstation for VTAM Profile Defaults”— Provides information on
how to edit your Hiperstation for VTAM default profile settings.
• Appendix A, “Customer Support Diagnostics” — Describes how to generate a
Customer Support Diagnostic Report that lists all PTFs applied to your installation.
• Appendix B, “Hiperstation Script Tags” — Contains description of Hiperstation
script tags.
Notation Conventions
This document uses the following notations to describe Hiperstation screens and the
information you enter on those screens:
• Technical revisions made to this document are indicated by revision bars in the left
margin, as shown here.
xxii
Hiperstation for VTAM User Guide
• Sample screens generally show only the information appropriate to the
accompanying text, for example:
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24 
COMMAND ===> record
SCROLL ===> HALF
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF

***USR2312
WELCOME TO CICS/MVS *** 10:11:42

• Blank lines or standard footings, as shown below, are usually omitted from screen
illustrations.
Press ENTER to begin recording,
Use END to cancel setup.
• Information you enter is printed in boldface.
• Words defined within paragraphs are italicized.
• The phrase “select an option” refers to typing a slash next to one of the presented
options and pressing Enter.
Command Syntax
Hiperstation uses statements and commands that you will learn about later. This section
describes text conventions used in statement and command descriptions. It also explains
how to read syntax diagrams.
• Keywords are shown in UPPERCASE letters. Enter keywords and special characters as
shown. If a command or statement name can be abbreviated, the description shows
only the abbreviation in uppercase letters.
Find string [NEXT|PREV|ALL]
The uppercase F in the command FIND means that you can enter the FIND command
either as FIND or F.
• Variables and generic descriptions of parameter values are shown in lowercase letters.
• Vertical bars (|) are separators between mutually exclusive options.
• Brackets ([ ]) indicate optional parameters. All parameters not enclosed in brackets
are required.
• Ellipses (…) indicate that the value can be repeated.
Reading Syntax Diagrams
Syntax diagrams define primary command syntax.
A parameter is either a keyword or a variable.
All KEYWORDs are shown in uppercase characters and must be spelled exactly as shown.
You cannot substitute another value. If any part of a KEYWORD is shown in lowercase
characters, that part is optional.
Variables are user-specified values and are printed in lowercase italics. For example,
dataset-name indicates you are to substitute a value.
The syntax for commands is described in diagrams that help you visualize parameter use.
The following example shows a command and a parameter:
Introduction
xxiii
Read the diagrams from left to right and from top to bottom. These symbols help you
follow the path of the syntax:
indicates the beginning of a statement.
indicates the statement is continued on the next line.
indicates the statement is continued from the previous line.
indicates the end of a statement.
Required parameters appear on the horizontal line (the main path). Optional parameters
appear below the main path. Default parameters appear above the main path and are
optional. The command executes the same regardless of whether the default parameter is
included.
Vertically stacked parameters are mutually exclusive. If you must choose a parameter, one
item of the stack appears on the main path. If the parameters are optional, the entire
stack appears below the main path. If a parameter in a stack is the default, it appears
above the main path.
If the same parameters are used with several commands, their syntax may be documented
in a separate diagram. In the command syntax, these common parameters are indicated
with separators before and after the parameter name.
An arrow returning to the left indicates a repeatable item. If the arrow contains a comma,
separate the repeated items with a comma.
Accessibility
In accordance with section 508 of the Rehabilitation Act of 1973, Compuware has
committed to making its products and services easier to use for everyone including
people with disabilities.
Hiperstation is a mainframe application that runs on IBM’s OS/390 and z/OS operating
systems. It has an ISPF interface that is accessed with IBM 327x-type terminals or with
3270 terminal emulator software. Since the mainframe environment offers few
accessibility features, Compuware has focused its attention, with regard to accessibility,
on 3270 terminal emulator software running on personal computers (PCs) with Microsoft
Windows 2000 or more current. Hiperstation supports, with a few exceptions, Microsoft
xxiv
Hiperstation for VTAM User Guide
Windows accessibility features and Window-based Assistive Technology (AT) software
and devices, such as Braille devices, screen readers, magnifiers, etc.
Note: Hiperstation is intended for use by mainframe software developers, programmers,
and testers. Much of the input and output used or produced by Hiperstation,
such as Job Control Language (JCL) and hexadecimal contents or dumps of
memory, are not easily understood by the general public. Unfortunately, as in
the case of hexadecimal dumps, data in these formats can be confusing to screen
readers and therefore confusing to the people who use them. Effective use of this
application requires the specialized knowledge of a mainframe systems software
developer or programmer.
Hiperstation accessibility was evaluated using:
• Freedom Scientifics’ JAWS screen reader
• Attachmate Corporation’s myExtra Presentation Services tn3270 emulator
• Microsoft’s Windows accessibility features
• Adobe Reader using the “Read Out Loud” function
This evaluation not only identified accessibility exceptions, but revealed emulator and
screen reader compatibility issues that in some cases can be remedied through
appropriate configuration.
Installing Windows Accessibility Features
Microsoft Windows operating systems offer several accessibility features to aid
individuals who have difficulty typing or using a mouse, who are blind or have low
vision, or who are deaf or are hard-of-hearing. Install these features during setup or later
using the Windows installation disks. Refer to the “accessibility” topics in the Windows
Help system for information on installing and using these features. Visit the Microsoft
Web site, http://www.microsoft.com/enable, for additional information and tutorials.
Selecting Font and Font Size
Microsoft Windows and emulator software packages offer font and font size settings to
accommodate users with low vision. The emulator software’s tool bars and dialog boxes
typically use the font specified in the operating system, while the terminal presentation
uses the font and font size specified in the emulator. To change the font or font size:
• Presented on the toolbars and dialog boxes, refer to the Windows Help system.
• Presented in the terminal window, refer to the emulator’s documentation or Help.
Some screen readers recommend certain fonts and font sizes for compatibility. For
example, Freedom Scientifics recommends setting the font to a common or “plain” font
such as Lucida, Courier, or Times New Roman, and setting the font size to 10 points or
smaller. Refer to the screen reader’s documentation or Help for these recommendations.
Changing Color and Contrast
Color and contrast settings can assist users with low vision. ISPF and most emulator
software packages offer color and contrast settings. If you are accessing Hiperstation with
a terminal, use ISPF settings. Otherwise, adjust the color and contrast in the emulator
software. Refer to ISPF Help or the emulator’s documentation or Help.
Introduction
xxv
Setting Cursor Blink Rate
The blink rate of the cursor can affect users with photosensitive epilepsy. Additionally,
some screen readers require a specific blink rate. Some readers automatically adjust the
blink rate while others expect you to adjust the rate. Refer to:
• The Microsoft Windows Help to find out how to set the cursor blink rate.
• The screen reader’s documentation or Help to find out the recommended blink rate.
Using Keyboard Shortcuts
Keyboard access to application functions support users who cannot use a mouse.
Microsoft Windows provides keyboard access to all functions within the operating
system, such as:
• Displaying or hiding the Windows Start Menu
• Showing the Desktop
• Minimizing all windows
• Searching for files
• Accessing the help system
• Controlling the behavior of the Windows accessibility features, for example, toggling
the listening status to the microphone, or cycling focus backward and forward.
Most Windows-based applications also provide keyboard access to their functions. The
combination of keys required to execute a given function is called a keyboard shortcut.
Refer to the “Keyboard Shortcuts” topics in the Windows Help system for a complete list
of Windows shortcuts. For a list of the shortcuts that are available in the emulator
software or any third-party accessibility tool, such as the JAWS screen reader, refer to the
software’s documentation or Help.
Accessibility Exceptions Work Arounds
During Hiperstation accessibility evaluation, some exceptions were encountered where
some accessibility features or AT were not fully supported. The causes of and solutions for
these exceptions are currently under investigation by Compuware Corporation.
Known Exceptions
Accessibility exceptions include:
• Function Key (F Key) information at the bottom of the screen is not read by the
screen reader on some screens. This is believed to be caused by an external interface.
See “Solutions” for a viable work-around.
• Some system error and warning messages are not read by the screen reader when
issued. Believed to be caused by an external interface. See “Solutions” for a viable
work-around.
• Some pop-up dialog boxes or windows do not capture exclusive focus and are not
read correctly by the screen reader. This is believed to be caused by an external
interface. No known solution is currently available.
• System error and warning messages do not capture visual focus for the screen
magnifier. This is believed to be caused by an external interface. No known solution
is currently available.
• Some entry and display fields lack individual labels. When entry fields are accessed
using the Tab key, the entire individual line is read.
xxvi
Hiperstation for VTAM User Guide
• Current Web-based reports are not easily navigated using the keyboard and lack table
element coordinate tags. Additionally, some of these reports contain color-coded
elements — for example, the color of some elements conveys meaning.
Solutions
When the screen reader fails to read the F Key information upon entry to a new screen,
do one of the following:
• Use the arrow keys to move the cursor down to the lines with the F Key information.
The screen reader reads each line as the cursor is placed on it.
• Press the Page Up key for the screen reader to reread the entire screen.
When the screen reader fails to read an error or warning message, an audio alert occurs if
this feature is enabled on your system. Press the Up key to place the cursor on the line
containing the error message, usually on the top or title line. The screen reader reads the
line and its error message individually.
Getting Help
Compuware provides a variety of support resources to make it easy for you to find the
information you need.
FrontLine Support Web Site
You can access online information for Compuware products via our FrontLine support
site at http://frontline.compuware.com.
FrontLine provides access to critical information about your Compuware products. You
can review frequently asked questions, read or download documentation, access product
fixes, or e-mail your questions or comments. The first time you access FrontLine, you are
required to register and obtain a password. Registration is free.
Compuware now offers User Communities, online forums to collaborate, network, and
exchange best practices with other Compuware solution users worldwide. Go to
http://groups.compuware.com to join.
Contacting Customer Support
If you have difficulty with Hiperstation, refer to the information in the appropriate user’s
guide for help or consult with the Hiperstation technical representative at your site. If
the problem persists, please obtain the following information before calling Compuware:
1. The release number of the product being used
2. The release number of the transaction processing utility (such as CICS, IMS/DC, or
ISPF) being used
3. The operating system being used to help determine operating system dependencies
4. If an abend occurs, note the displacement and the module in which it occurs, and if
possible, obtain a copy of the system dump.
5. The sequence of issued transactions and/or commands that resulted in the problem
and the data type involved.
Phone
• USA and Canada: 1-800-538-7822 or 1-313-227-5444.
Introduction
xxvii
• All other countries: Contact your local Compuware office. Contact information is
available at http://frontline.compuware.com.
Web
You can report issues via the Report and Track Calls tab on the FrontLine home page.
Note:
Please report all high-priority issues by phone.
Mail
Hiperstation for VTAM Customer Support
Compuware Corporation
One Campus Martius
Detroit, MI 48226-5099
Corporate Web Site
To access Compuware’s site on the Web, go to http://www.compuware.com.
The Compuware site provides a variety of product and support information.
Note: Hiperstation provides a report that may help Customer Support diagnose an issue.
See Appendix A, “Customer Support Diagnostics” for details. Although it is not
required, generating the report before calling may expedite diagnosis.
xxviii
Hiperstation for VTAM User Guide
1-1
Chapter 1.
Product Overview
Chap 1
Compuware Hiperstation is a suite of tools that streamlines the testing process and helps
improve the quality of your applications. The Hiperstation tool suite offers these
products:
• Hiperstation for VTAM provides the means for testing applications that use a 3270
user interface, or SNA LU0/LU2 communication protocols via unattended and
interactive tools. It also provides an Automated Testing Vehicle (ATV) Manager and
an auditing function for security monitoring. See the remainder of this book and the
online help for information on how to use this product.
• Hiperstation for Mainframe Servers includes support for testing applications using
HTTP and HTTPS protocols. It includes SNA testing support and expands this support
to test APPC/LU6.2 applications. See the Hiperstation for Mainframe Servers User Guide
and the online help for more details about this product.
• Hiperstation for WebSphere MQ enables the testing of applications that use
WebSphere MQ. See the Hiperstation for WebSphere MQ User Guide and the online help
for more details about this product.
All of the Hiperstation products include the following functions:
• Record: Captures user sessions on a keystroke-by-keystroke or message-by-message
basis. This is accomplished through a global record function for ALL components and
interactively in the case of 3270 applications.
• Playback: Re-executes previously recorded sessions either online in interactive or
non-stop mode, or in a batch job.
• Comparison: Compares the output of the current playback session with the recorded
session.
Each of the components also has specific capabilities to aid testing in their respective
environments. For advanced testing, Hiperstation incorporates IBM's REXX script
language, allowing you to customize and enhance script creation, playback, and
reporting.
This chapter introduces Hiperstation for VTAM’s major features. It also outlines how to
use Hiperstation for VTAM to test applications with 3270 data, viewing modes, and
function key conventions.
Hiperstation for VTAM Features
Compuware’s Hiperstation for VTAM streamlines testing to help you improve the quality
of your LU0 and 3270 business applications. Hiperstation for VTAM can, among other
features, record, play back, compare, and dub scripts.
These functions help you comprehensively test your applications including unit,
concurrency, integration, migration, capacity, and load tests.
Hiperstation for VTAM also provides many other online and unattended features to
modify and customize existing scripts. For advanced testing, Hiperstation for VTAM
incorporates IBM’s REXX script language, allowing you to customize and enhance script
creation, playback, and reporting.
1-2
Hiperstation for VTAM User Guide
Automated Testing Vehicle (ATV) Manager
The ATV Manager provides a system in which you can compile the elements of your
automated tests to organize and manage their use. The ATV Manager then reports on the
execution of tests and can e-mail the reports to defined recipients.
The ATV Manager will build, execute, and manage regression and performance
automated test vehicles.
See the Hiperstation Automated Testing Vehicle (ATV) Manager User Guide or the online help for
complete information on how to use the ATV.
Archiving
The Archive/Search function allows you to create archive record requests. A registry
dataset is also created. A request is started and repositories are generated based on filter
criteria. The registry dataset contains entries that indicate the date and time ranges of
each generated repository segment so that the Archive/Search function can locate
specific datasets by date and time.
The Archive Record Administrator will set up security so that only authorized users have
access to, and can search from, the list of audit requests.
The Archive/Search function provides the following options:
• Archive Requests — creates archive recording requests allowing you to create search
reports.
• Create Search Reports — provides IT auditors and help desk personnel with the
ability to easily locate and extract data from the repository.
• Search Report Management — manages your requests and frees up space by deleting
requests that are no longer needed.
• Global Record Manager — builds lists of applications, terminals, and user IDs to
include or exclude from recording. Global Record Manager Lists provide greater
flexibility in defining Global Recording requests.
See the Hiperstation Auditor User Guide or the online help for complete information on how
to use the Archive/Search function.
Recording
Hiperstation for VTAM provides the following recording options:
• Interactive Recording through Domain Traveler captures single-user activity. Start
and stop the recording at any time during the session.
• End-User Recording automates capture of end-user activity. Recording automatically
begins when you log on to a special TSO ID and terminates when you log off the
domain destination.
• Global Recording captures the activity of one or more users. This option writes the
activity to a repository that generates testing scripts. It records LU0 and 3270 traffic
to generate stress tests or to archive activity for audit purposes.
The rest of this section provides a description of each of these options.
Interactive Recording (Domain Traveler)
Hiperstation for VTAM’s record function saves all activity on a keystroke-by-keystroke
basis during a session and stores it in a script as a dataset member. You can select from
several recording options to:
Product Overview
1-3
• Replace an existing member with a member to be created.
• Record a session as a normal script or as a hexadecimal data stream.
• Stop the recording activity.
End-User Recording
End-user recording allows individuals with no knowledge of TSO to create recordings or
scripts for later use in regression testing. The user logs on to an ID established for enduser recording. When the user logs off the domain destination, the TSO session
automatically logs off and returns the terminal to VTAM. The user will not see TSO
screens after the initial logon. For more information, refer to the Hiperstation Installation
Guide.
Global Recording
Use Global Recording to record VTAM 3270 (LU2) and LU0 sessions. You can record while
groups of users perform their daily routines and choose the exact terminals, applications,
and time frames to record.
You can include or exclude certain messages from recording based on a predefined list of
messages. Message filtering provides a script that contains a subset of the messages from
the 3270 session. You can also create and reuse lists of user IDs, logical unit (LU) names,
or applications that can be included or excluded from a session.
Playback
You can:
• Play back scripts online in either interactive or batch mode without manually
rekeying transactions.
• Play back previously recorded scripts in interactive or non-stop (full-speed) modes.
• Play back scripts in a batch environment using unattended playback.
Interactive Playback
In interactive mode, Hiperstation for VTAM stops the script at each screen to allow you
to review the input and output data. Interactive playback allows you to change input
data, so you can modify the script without re-recording it. In addition, you can:
• Insert new transactions in the script
• Delete input messages in the script
• Skip selected parts of the script
• Play back the script
• Terminate the session
• Purge current transactions
Non-Stop Playback
In non-stop playback mode, you see each screen as it occurs in the script. The keyboard is
locked to prevent data input. Three non-stop playback options are provided:
• Full Speed: Transactions are replayed as quickly as the system can play them.
• Recorded Think Time: Think time (the amount of time between each recorded user
action) is simulated using the think-time value recorded in the script.
1-4
Hiperstation for VTAM User Guide
• Chosen Think Time: You set a think-time value for each transaction — in seconds or
as a percentage of the recorded value.
In non-stop playback, when Hiperstation for VTAM encounters a mismatch, script
playback stops. When you resume playback, it continues in non-stop mode. In this
mode, you see screens only when a mismatch occurs. This eliminates the need to review
screens that have not changed.
Unattended Playback
In unattended playback, you can play back scripts containing the recorded activity of
multiple terminals in a batch environment. Unattended playback can play back multiple
scripts on one or more virtual terminals. These virtual terminals can be signed on to one
or more VTAM-based domain destinations.
Unattended playback eliminates the need for weekend and after-hours testing. By
running a batch job, you can perform regression, concurrency, and stress tests. You can
also perform tests with multiple online regions for capacity planning and performance
tuning. If your script contains REXX logic, you can use data from an external file to
generate additional input data to populate your database.
Comparison
You can compare current test results with previous benchmarked results. When you play
a script, Hiperstation for VTAM automatically compares each current session output
(actual screen) with each original recorded session output (expected screen).
During playback setup, you can set the conditions under which Hiperstation for VTAM
stops processing when a mismatch occurs.
Hiperstation for VTAM also allows you to ignore numeric differences during playback.
This option is useful for screens with date and time fields.
Unattended Comparison
Using unattended comparison, you can compare two 3270-based scripts independent of
playback. It uses the same statements as unattended playback with an additional
COMPARE statement.
Editing, Masking, and Dubbing
After a script has been recorded, you can use ISPF edit capabilities to add or delete screens
from the script. You can also edit the script to:
• Imbed REXX logic
• Change input data to different values
• Document script flow
• Add comments
Masking Information
Masking instructs Hiperstation for VTAM to ignore certain screen information, such as
date and time fields, during comparison. Hiperstation for VTAM can also generically
mask selected alphanumeric characters on a screen. You can mask when recording or
dubbing a script or with ISPF edit. You can also globally mask screen information for the
entire script.
There are two basic mask types:
Product Overview
1-5
• Row masks are characters inserted in a script to mask an entire screen row or selected
columns within the row.
• Generic masks use a parsed string to allow you to make conditional masking
decisions based on screen content.
Dubbing
With dubbing, you can create new test scripts using previously recorded sessions. This is
useful when adding new transactions to an existing script or re-recording screen images
to a new script.
Hiperstation for VTAM can be set to automatically record the new script while playing
back the existing script. You can also instruct Hiperstation for VTAM to record the new
script only when a mismatch occurs. Dubbing provides many ways for you to customize
scripts, allowing you to:
• Combine multiple scripts into a single script.
• Update an existing script with new screen images.
• Append transactions to the middle or end of a script.
• Update an existing script with new or additional input.
• Update masked data.
Unattended dubbing
With unattended dubbing, you can dub 3270-based scripts during unattended playback.
You can combine scripts for a single group into one script or create a dubbed script for
each script in a group.
Customizing Scripts Using Script Processors
With script processors, you can customize tests by taking previously recorded scripts and
creating customized output scripts. Available script processors include:
• REXX Script Processor (see Chapter 12, “Customizing Scripts with the REXX Script
Processor” for details)
• Date Change Script Processor (see Chapter 13, “Date Change and Date Find Script
Processors” for details)
• Date Find Script Processor (see Chapter 13, “Date Change and Date Find Script
Processors” for details)
• Input Field Reformat Script Processor (see Chapter 14, “Input Field Reformat Script
Processor” for details)
• Multichange Script Processor (see Chapter 15, “MultiChange Script Processor” for
details)
• Security Script Processor (see Chapter 16, “Security Script Processor” for details)
• EURO Script Processor (optional feature) (see Chapter 17, “Hiperstation for VTAM
EURO Script Utility” for details)
• GST Testing Utility (optional feature) (see Chapter 18, “GST (Goods and Services Tax)
Testing Utility” for details)
Message Filtering
With message filtering, you can create a new script by taking an existing script and
removing certain transactions or messages. Using REXX code, you choose which
messages to include and exclude in the new script. You can filter messages from Global
1-6
Hiperstation for VTAM User Guide
Record or from the unattended (batch) message filter program. With message filtering,
you can:
• Simplify testing by producing scripts that contain a single message, allowing you to
test one message at a time.
• Remove messages that contain confidential data.
• Reduce script size by eliminating messages of no interest.
Advanced Testing Using REXX
Hiperstation for VTAM uses IBM’s REXX language to significantly enhance script
playback in ISPF and in unattended playback. Hiperstation for VTAM’s REXX utility can:
• Extract data from external datasets to be used as input data.
• Generate random numbers.
• Perform integer, decimal, and floating point arithmetic.
• Make internal and external function calls.
Following are some other uses of REXX in Hiperstation for VTAM scripts.
Substituting Terminal Input
Terminal input substitution allows you to substitute or assign constants and variables to
the input of a Hiperstation for VTAM script. In stress testing, where multiple terminal
sessions are involved, systems often require unique user ID and password data for each
session. Hiperstation for VTAM’s table processing and variable substitution allows a table
of users to be read in and substituted based on criteria such as the session’s terminal ID or
port number.
Creating Modular Scripts
You can use REXX’s conditional logic and CALL statement to create a fix-up script based
on the output of a particular transaction. For example, if a batch job tries to close a
database while users are attached to it, Hiperstation for VTAM can issue a message and
reschedule the job. The CALL statement lets you dynamically include:
• Other Hiperstation for VTAM recorded scripts.
• Additional script logic implemented as REXX internal procedures.
• Programs in REXX, Assembler, C, or other high-level languages.
Using REXX, you can create scripts to perform tasks with control returned to the original
script. For example, a CICS installation needs to use the CEMT transaction to open and
close databases during nightly backups or reorganizations. Using Hiperstation for VTAM,
you can create special operator scripts to perform tasks that normally require a terminal
operator.
Creating Script Reports
The REXX SAY statement provides a way to create reports from a running script. The
results are written to the Hiperstation for VTAM log. In unattended playback, this is the
SYSPRINT dataset. In ISPF playback, this is the log defined by Hiperstation for VTAM’s
RLOG command.
Additional Management Features
Several management functions, including Transaction Journal, Autodoc, and Session
Demo, help ensure the integrity of your testing process.
Product Overview
1-7
Transaction Journal
The transaction journal records all inputs and outputs of a user session in screen-image
format for easy reference. It also shows the user’s think time, the system’s response time,
and the session’s elapsed time. The journal is recorded on DASD for online review or
subsequent printing.
Autodoc (Automated Documentation)
Automated documentation (autodoc) helps you produce documentation for online
systems. Autodoc automatically creates document skeletons or boilerplates consisting of
document format characters, a running title, screen images, user input data, and short
titles leading to the screen’s description. You can print autodoc-created datasets or
transfer them to a PC for use as word-processing input.
Session Demo
Session Demo is a script demonstration tool. It plays 3270 scripts without initiating the
application from which the scripts were derived. Use it to:
• Inspect a script’s contents
• Train personnel — create a script, use ISPF Edit to insert instructional pop-up
messages, then view the training script with Session Demo
• Demonstrate the screen flows of application prototypes
Session Demo supports interactive and non-interactive demonstration. Use Session Demo
commands to move backward and forward through the screens in the script, locate a
specific screen, and copy and paste screen images into an ISPF Edit session.
Online Help
Hiperstation for VTAM provides online help text that describes the product’s screens,
fields, and commands. Press PF13 for help when viewing the Domain Destination screen.
On all other Hiperstation for VTAM screens, press PF1 to obtain help information.
DBCS Support
Hiperstation for VTAM supports DBCS (Double Byte Character Set) used primarily to
display Japanese Kanji characters during 3270 testing.
Product Conventions
This section presents basic information about Hiperstation for VTAM. It describes
Hiperstation for VTAM’s screen modes, PF key conventions, and help information.
ISPF (Interactive) Screen Mode
When you connect to a domain destination, you can choose between zoom and ISPF
modes for viewing screens. When you choose ISPF mode, the screen image from the
domain destination appears in an ISPF window. With a domain destination in an ISPF
window, you can use the same physical 3270 for both your ISPF session and your domain
destination session. Normal SPLIT and SWAP keys let you go back and forth between
sessions. The ISPF print command allows domain destination screens to be recorded in
the ISPF list dataset. All of the 3270 terminal functions are available in ISPF mode.
In ISPF mode, the first three screen lines may prevent you from seeing all of the lines on
the 3270 screen. This may also be true if you employ the ISPF split-screen capability.
1-8
Hiperstation for VTAM User Guide
Note:
Making Hiperstation active on multiple split screens is not supported.
Also, ISPF mode uses PF key mapping, which allows 12 PF keys to be passed to the
domain destination and 12 PF keys to be passed to ISPF for functions such as split and
swap.
Note: ISPF mode changes low-order blanks to binary zeros within fields being sent from
the screen to the domain destination. If this is a problem, use Zoom mode.
ISPF Mode TSO Jump Constraint
If you are in ISPF mode and are connected to TSO as a domain destination, the TSO jump
function will not work for the domain destination. To correct this precede the jump
character with the TSO domain destination command separator. For example, if the TSO
domain destination has defined a command separator as a semicolon (;), which is the
TSO default, then enter ;=3.5 to jump to 3.5 in the domain destination.
Note:
During the domain destination session, the jump function for the TSO session
(not the TSO domain destination) is disabled.
Zoom Mode
When in Zoom mode, all PF keys are passed to the domain destination, so no PF key
mapping is necessary. Since Zoom mode takes over the whole screen, the entire screen
shows making scrolling unnecessary.
To toggle back and forth between the ISPF and Zoom modes, press the Zoom key, PF23.
You can use Zoom mode at any time while interacting with the domain destination.
From Zoom mode, press PF23 again to return to ISPF mode.
Several vendor programs, such as SDF (IBM’s screen definition utility), work for a long
period of time before they show final output. When in Zoom mode, Hiperstation for
VTAM is able to detect that delay. Therefore, you do not need to press Enter repeatedly to
see the transaction’s ultimate output or for slow multiple write transactions.
Note: If your terminal is incapable of showing the Zoom image, Hiperstation for VTAM
returns a DEVICE NOT CAPABLE message. Press PF1 for more information.
Using PF Keys
ISPF uses PF keys for many commonly used functions such as <End>, <Repeat Find>, and
<Scroll>. For example, pressing the PF3 key in ISPF usually sends the <End> command to
the application.
Most likely, the domain destination you are contacting also uses PF keys. For clarity,
Hiperstation for VTAM considers the PA1, PA2, and Clear keys to be PF keys and addresses
this conflict in two ways: by using PF key mapping or by simulating PF keys.
PF Key Mapping
Most terminals have 24 PF keys. If your terminal has 24 PF keys, you can assign some of
them to the domain destination. ISPF uses the rest of the keys. This technique is called PF
key mapping. Generally, PF1 through PF12 are mapped to PF1 through PF12 for the
domain destination, and PF13 through PF24 are seen directly by ISPF. This map
correspondence is established on the Session Options screen (Figure 1-1 on page 1-9).
The only PF keys in a different position that are passed to the domain destination (and
not given to ISPF) are the PF17, PF18, and PF22 keys. By default, the following keys are
assigned:
• If you press PF17: PA1 is passed to the domain destination
Product Overview
1-9
• If you press PF18: PA2 is passed to the domain destination
• If you press PF22: Clear is passed to the domain destination.
In Figure 1-1, PF1 through PF12 pass to the domain destination as PF1 through PF12.
PF17 translates to the PA1 key, PF18 translates to PA2, PF22 sends the Clear key to the
domain destination, and PF23 is the Zoom key. To access the Session Options screen, type
a slash in the Change session options field on the Hiperstation Domain Traveler screen.
Use PF keys 13 through 24 for normal ISPF functions such as <End>. For example, using
IBM defaults, PF13 is <Help>, PF14 is <Split> and PF21 is <Swap>.
Figure 1-1. PF Key Mapping Example
Hiperstation --------------------Session Options ------------------------------
Command ===>


Logon data. . . .
(Optional)

ZOOM mode . . . . N
Y=yes, N=No

ZOOM key. . . . . PF23

LU name . . . . .
(Terminal name used to login to application)

Logmode . . . . . SNX32702 (Overrides model, SNA and Queriable options)

3270 model. . . .
1=12x40, 2=24x80, 3=32x80, 4=43x80, 5=27x132

SNA . . . . . . .
Y=yes, N=no

Queriable . . . .
Y=yes, N=no

Trailing Blanks . 1
(Only applies to non-Zoom mode)

Infirst . . . . . N
Y = No Welcome Screen From Domain Destination

Appl Profiling. .
"/" to View application profile settings

The following PF key translations apply to the Domain Destination when

in non-Zoom mode:

PF01 = F1
PF04 = F4
PF07 = F7
PF10 = F10
PA1 =

PF02 = F2
PF05 = F5
PF08 = F8
PF11 = F11
PA2 =

PF03 = F3
PF06 = F6
PF09 = F9
PF12 = F12
CLEAR=

Note:
On a 24 PF key terminal, this still provides access to all of the common ISPF
functions using PF keys 13–24. The keys mapped to PA1, PA2, and Clear normally
are set to the repeat find, repeat change, and scroll left functions, none of which
have function in the Hiperstation for VTAM environment.
Also, it is important to note that setting the PF keys for Hiperstation for VTAM has no
effect on the other side of the split screen.
Simulating PF Keys
You can simulate PF keys by entering the key name on the command line and pressing
Enter. For example, to send PF3 to the domain destination, type PF3 on the command
line, then press Enter.
1-10
Hiperstation for VTAM User Guide
2-1
Chapter 2.
Managing Hiperstation for VTAM Datasets
Chap 2
This chapter describes how to manage Hiperstation for VTAM datasets, including:
• How to allocate Hiperstation for VTAM script datasets
• How Hiperstation for VTAM responds when you work with an archived dataset or
reuse an existing one
• The script recovery utility you can use when a recording ends in error
Allocating a Script Dataset
You can allocate a script dataset either before or while using Hiperstation for VTAM. If
your site requires that you define your script dataset before running Hiperstation for
VTAM, see “Allocating Before Using Hiperstation for VTAM”. If you need to allocate
datasets on an as-needed basis after you begin a Hiperstation for VTAM session, see
“Allocating While Using Hiperstation for VTAM”.
Allocating Before Using Hiperstation for VTAM
Although Hiperstation for VTAM does not require a preallocated script dataset, you may
want to preallocate datasets. To do so, use the standard ISPF ALLOCATE NEW DATA SET
screen, normally found under ISPF option 3.2.
Ensure that the script dataset is a standard partitioned dataset with a variable blocked
format. The amount of space needed for the script files depends on the amount of data
recorded. Compuware recommends a block size of 9004 for both 3350 and 3380 devices,
and a block size of 4352 for 3390 devices. This provides a good trade off between
efficiency and number of I/Os.
For example, if you use a BLKSIZE of 9004 on a 3380 device (five blocks per track), a track
can hold approximately 15 to 20 transactions (one interaction with the domain
destination). A primary allocation of 20 tracks on a 3380 device holds about 300
transactions.
Allocating While Using Hiperstation for VTAM
If you are already in a Hiperstation for VTAM session and attempt to use an unallocated
script dataset while recording, the Allocate a Script Dataset screen appears (Figure 2-1).
Use this screen to define your script dataset without leaving Hiperstation for VTAM.
2-2
Hiperstation for VTAM User Guide
Figure 2-1. Hiperstation Allocate a Script Dataset Screen








----------------- Hiperstation Allocate a Script Dataset -------------------
OPTION ===> _ 
SCRIPT DATASET NAME: TSO0001.HS.NEWSCRPS


VOLUME SERIAL
===> HPER00
SPACE UNITS
===> TRACK
(TRKS, or CYLS)
PRIMARY QUANTITY
===> 10
(In above units)

SECONDARY QUANTITY ===> 05
(In above units)



DIRECTORY BLOCKS
===> 25
RECORD LENGTH
===> 256
(Suggest 256)
BLOCK SIZE
===> 9004
(Suggest 9004)

Recovering Migrated Datasets
If you select a dataset that has been migrated (archived), the Recover Migrated Dataset
screen appears (Figure 2-2). To recover that migrated dataset, press ENTER. If you decide
not to recover the migrated dataset, press END. Pressing END returns to the previous
Hiperstation for VTAM screen where you can enter a new dataset name.
Figure 2-2. Recover Migrated Dataset Screen
--------------------- Hiperstation * Recover Migrated Data Set ----------------
OPTION ===>


DATA SET NAME:


This data set has been found to be migrated off the system

by an archiving software package and is currently

not available.



Press ENTER to recover the data set and make it available and

continue.


or 

Press END to cancel the recovery and permit the data set

to be respecified.

Reusing Datasets
If you select a dataset name that does not meet the characteristics of the specified dataset
type, the Bad Dataset screen appears (Figure 2-3). If you select a dataset name that meets
the characteristics of the specified dataset, and the System Installer has set PROMPT=YES
in EHSDFLT, the Reuse Dataset screen appears (Figure 2-4 on page 2-3).
Managing Hiperstation for VTAM Datasets
2-3
Figure 2-3. Bad Dataset Screen
--------------------- Hiperstation * Bad Dataset ---------------------------
OPTION ===> _ 

DATASET NAME:
’TSO0001.HS.ALLOCNEW’ 

REQUESTED TYPE: LIST
Basic specifications: DSORG=PS,RECFM=VBA 

This dataset has been found but does not conform to the basic
dataset specifications for an Autodoc dataset. 

Press ENTER to allocate the dataset and continue. 

or - 

Press END to cancel the allocate and permit the dataset
to be respecified
Figure 2-4. Reuse Dataset Screen
Hiperstation --------------------- Reuse Data Set ------------------
COMMAND ===>
Data Set Name: ’USER25.TEST610.AUTODOC’
Requested type: LIST
Basic specifications: DSORG=PS,RECFM=VBA

This data set has been found and conforms to the basic dataset
specifications for an Autodoc data set. 

Choose an action:
1 1. Delete and redefine the dataset
2. Use the existing dataset
3. Specify a different dataset name


Enter END to exit, ENTER to proceed.

Recovering Recordings that Ended in Error
Hiperstation for VTAM’s script recovery utility (EHSSRCVY) allows you to allocate a file
to store compressed screen images of a recording session. Using this utility, you can recreate the script if an abend occurs. The utility creates a dataset member containing all
screens recorded up to the point of failure.
EHSSRCVY uses a recovery file (sequential dataset created when record script activity
starts) as input. The recovery file has an undefined format and a block size of 13680. The
space allocation and location of the dataset are defined by values in the default
parameter table. The recovery file is deleted after the script is transferred from memory,
or the recovery file, to the specified script dataset. The utility’s JCL appears in Figure 2-5.
Figure 2-5. JCL for Script Recovery Utility
//JOBCARD .....
//EHSSRCVY EXEC PGM=EHSSRCVY,PARM=’OVERRIDES’
//STEPLIB
DD DISP=SHR,DSN=VP.Rxx.LOAD
//HSSCRBKP DD DISP=SHR,DSN=script.recovery.dsn
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
SCRDSN=<output pds name>
SCRIPT=<output pds member name>
REPLACE=<NO|yes>
/*
//

1
2
3

4





The numbers below correspond to the bold numbers in the JCL:
2-4
Hiperstation for VTAM User Guide
1. PARM=‘OVERRIDES’ tells the utility to process any data in the SYSIN dataset.
2. Specifies your installation’s Hiperstation for VTAM load library.
3. Specifies the recovery sequential dataset created at recording startup. Its naming
convention is controlled by EHSDFLT parameters.
4. Specifies that the SYSIN dataset will contain any overrides. Default processing uses
the dataset and member names saved in the recovery script.
– SCRDSN: Redirects the script to be created in the specified dataset.
– SCRIPT: Redirects the script to be created in the specified dataset member.
– REPLACE: If REPLACE set to NO (the default), the utility checks to see whether
the member currently exists in the dataset. If the member is found, processing
ends. If REPLACE IS set to YES, the utility does not perform any member
checking. If the member is in the dataset, the utility replaces it with the contents
of the recovery member.
3-1
Chapter 3.
Getting Started
Chap 3
This chapter describes how to start Hiperstation for VTAM. It also introduces Domain
Traveler, the facility that interacts with the subsystem or application you are testing.
Accessing Hiperstation for VTAM
You can access Hiperstation for VTAM from the Hiperstation Product Menu, which is
accessible from the ISPF Primary Option Menu.
To start Hiperstation for VTAM:
1. On the Option or Command line, enter the ISPF option assigned to Hiperstation. The
Hiperstation Product Menu appears (Figure 3-1).
Note:
If you do not see an option for Hiperstation on the ISPF Primary Option
Menu, contact your systems administrator.
Figure 3-1. Hiperstation Product Menu
ETRMPRIM --------------- Hiperstation - Product Menu --------------------------
Option ===>



0 Hiperstation Profiles
Set user profiles

1 Hiperstation for VTAM
VTAM Application Testing

2 Hiperstation for Mainframe Servers SNA/APPC & HTTP Testing

3 Hiperstation for WebSphere MQ
WebSphere MQ Message Testing

4 Hiperstation ATV Manager
Automated Testing Vehicle Manager


Profile
===> HIPER

Profile dataset ===> 'USER2312.HIPER.PROFILE'


Leave Profile blank for selection list

Leave Profile dataset blank to create new dataset

Leave both blank to run with no Profile



See Hiperstation frequently asked questions at:

http://frontline.compuware.com


Copyright (C) 1994, 2013 Compuware Corporation. All Rights Reserved.

Unpublished-rights Reserved Under the Copyright Laws of the United States.


Type LEGAL on the command line for Copyright/Trade Secret Notice information

2. Select option 1 Hiperstation for VTAM to display the Hiperstation for VTAM Main
Menu (Figure 3-2).
3-2
Hiperstation for VTAM User Guide
Figure 3-2. Hiperstation for VTAM Main Menu
------------------------Option ===>
1
2
3
4
5
6
7
Hiperstation - Main Menu
Domain Traveler
Quick Play
Session Demo
Global Recording
Archive/Search
Script Processors
Unattended Processing
--------------------------


Product Release: 16.05.00 
Record and Playback

Select a Script and Go

Demonstrate Online Applications

System and Application Test Creation

Audit and Help Desk Functions

Automatic Script Editing

Setup Unattended Playback and Compare Jobs

From this screen you can access all of the functions in Hiperstation for VTAM.
3. Type the number of the option you want to use on the Option line and press Enter.
1. Domain Traveler — See “Introducing Domain Traveler” on page 3-2.
2. Quick Play — See “Running Quick Play” on page 8-1.
3. Session Demo — See Chapter 9, “Demonstrating Scripts with Session Demo”.
4. Global Recording — See Chapter 10, “Global Recording Requests and Scripts”.
5. Archive/Search — See Chapter 11, “Archive Functions” or the Hiperstation Auditor
User Guide.
6. Script processors — See the script processor chapters including
• Chapter 12, “Customizing Scripts with the REXX Script Processor”
• Chapter 13, “Date Change and Date Find Script Processors”
• Chapter 14, “Input Field Reformat Script Processor”
• Chapter 15, “MultiChange Script Processor”
• Chapter 16, “Security Script Processor”
• Chapter 17, “Hiperstation for VTAM EURO Script Utility”
• Chapter 18, “GST (Goods and Services Tax) Testing Utility”
• Chapter 19, “Unattended Message Filters”
7. Unattended Processing — See Chapter 6, “3270 Unattended Processing”.
Introducing Domain Traveler
Domain Traveler provides an interactive connection to the application or subsystem you
are testing. You can use Domain Traveler to record your activity, play back recorded
scripts, compare recorded scripts to live activity, and dub new testing scripts.
Chapter 5, “Online Testing of 3270 Applications”, explains how to record, play back,
compare, and dub scripts with Domain Traveler.
Contact the Domain Destination
You can use Domain Traveler to contact the domain destination. Domain destination
describes a software application or subsystem designed to facilitate interactive
transactions. When connected, you can record, play back, compare, and dub scripts. To
contact the domain destination:
1. Select option 1 Domain Traveler from the Hiperstation for VTAM Main Menu
(Figure 3-2). The Domain Traveler Screen appears (Figure 3-3 on page 3-3).
Getting Started
3-3
Figure 3-3. Domain Traveler Screen
------------------------ Hiperstation * Domain Traveler -----------------------
Command ===>


Use this panel to connect to one of your site's domains. When

connected you can record your session or play back previous sessions.


Domain Destination . CICS41A


Change session options (Enter "/")



Start = ISPF , Zoom = PF23 , LUName = Default , Restore Keyboard

Logmode = SNX32702 , Model = 2-(24X80) , SNA = Yes , Queriable = Yes

Application Profiling(Off) , IMS = Y

2. Enter the name of the desired Domain Destination. This is the VTAM application
name (APPLID) defined to your system. If you do not know the APPLID, type a slash
(/) and press Enter to see a list of available domain destinations (this feature requires
a custom installation and may not be available at your site), or contact your
customer support group or help desk.
OR
Type a slash in the Change session options field to access the Session Options
screen. See “Change Session Options” for more information. Your session options
settings are listed below this field.
3. Press Enter to continue. If you selected the Change session options field, the Session
Options screen appears (Figure 3-4 on page 3-3); otherwise, you are connected to the
domain destination (Figure 3-6 on page 3-6).
Change Session Options
Use the Session Options screen to modify the appearance of information on your screen,
assign PF keys, and establish other Domain Traveler session options. Hiperstation for
VTAM preserves your settings.
To access session options:
1. On the Domain Traveler screen (Figure 3-3), type a slash next to the Change session
options field and press Enter. The Session Options screen appears (Figure 3-4 on page
3-3).
Figure 3-4. Session Options Screen
Hiperstation --------------------Session Options ------------------------------
Command ===>


Logon data. . . .
(Optional)

ZOOM mode . . . . N
Y=yes, N=No

ZOOM key. . . . . PF23

LU name . . . . .
(Terminal name used to login to application)

Logmode . . . . . SNX32702 (Overrides model, SNA and Queriable options)

3270 model. . . .
1=12x40, 2=24x80, 3=32x80, 4=43x80, 5=27x132

SNA . . . . . . .
Y=yes, N=no

Queriable . . . .
Y=yes, N=no

Trailing Blanks . 1
(Only applies to non-Zoom mode)

Infirst . . . . . N
Y = No Welcome Screen From Domain Destination

Appl Profiling. .
"/" to View application profile settings

The following PF key translations apply to the Domain Destination when

in non-Zoom mode:

PF01 = F1
PF04 = F4
PF07 = F7
PF10 = F10
PA1 =

PF02 = F2
PF05 = F5
PF08 = F8
PF11 = F11
PA2 =

PF03 = F3
PF06 = F6
PF09 = F9
PF12 = F12
CLEAR=

2. Specify the desired options. See the online help for complete field descriptions.
3-4
Hiperstation for VTAM User Guide
– Logmode shows terminal characteristics, such as rows and columns, that
Hiperstation for VTAM uses when establishing a session with the application.
This value must be defined to VTAM. A value entered in this field overrides any
values in the 3270 Model, SNA, or Queriable fields.
– Type Y or N in the Queriable field to specify whether the terminal is queriable. Y
is the default. Queriable terminals can support extended attributes and doublebyte character sets (DBCS).
– Type Y or N in the Infirst field. Y tells Hiperstation for VTAM to send its first
INPUT as the initial replay activity (do not wait for an OUTPUT from the Domain
Destination). When Y is specified, no welcome screen from the Domain
Destination appears. This field is valid only if Application Profiling has been
turned off.
– Type a slash (/) in the Appl Profiling field to display the Application Profiling
Settings screen. Application profiling examines components of each datastream
received and compares them to previously received datastreams to better
anticipate the next action that the application will take (for example, send more
data or wait for input).
3. Press Enter to continue. If you selected Appl Profiling, the Application Profile
Settings screen appears (Figure 3-5 on page 3-5); otherwise, you are connected to the
domain destination (Figure 3-6 on page 3-6).
Change Application Profile Settings
When you play back a script with Domain Traveler, Hiperstation for VTAM uses the
following parameter values to determine how long to wait before sending the next
input to the application:
– XTRMUTIM (keyboard unlock time limit)
– XTRMKTIM (premature keyboard unlock time limit)
– XTRMTIME (time limit for secondary writes)
Every input and output employs the wait times established by these parameters. If
the application does not respond in the amount of time specified, Hiperstation for
VTAM times out and produces error messages. Your installer can adjust these
parameters by editing the ETRMSPAR member of the SQVPPENU library. See the
Hiperstation Installation Guide for more information.
Application profiling alleviates the need to adjust these parameters. It synchronizes
script playback with application responses to ensure successful and efficient
playback. It collects response-time information to determine how long to wait for the
next response. If the application does not respond within the expected time frame,
Hiperstation for VTAM automatically increases the wait time up to the maximum
wait value specified on this screen. As Hiperstation for VTAM gathers more data, wait
times typically decrease.
1. On the Hiperstation for VTAM Main Menu, select option 1 Domain Traveler. Type a
slash (/) next to the Change session options field and press Enter. On the Session
Options screen, type a slash (/) next to the Appl Profiling field and press Enter. The
Application Profile Settings screen appears (Figure 3-5).
Getting Started
3-5
Figure 3-5. Application Profile Settings Screen
Hiperstation ------------Application Profile Settings -------------------------
Command ===>


Use Application Profiling . Y
Y=Yes,N=No


Standard Wait. . . . . . . 0 0
0 ==>Use default values

ss hh ss=seconds, hh=hundredths of seconds

Maximum Wait. . . . . . . . 0
0 0 ==>Use default values

sss hh sss=seconds, hh=hundredths of seconds

---------------------------------------------------------------------
If Use Application Profiling is set to "Y"

the selections below will be ignored

---------------------------------------------------------------------
IMS Application . . . . . .

Y = Process special "IMS" datastreams

N = No special processes used

KB Restore Action . . . . . 1

1 = Allow application KB restore

2 = Override

2. Specify the desired options. See the online help for complete field descriptions.
– Type Y or N for Use Application Profiling to specify whether to use application
profiling. N is the default. Short scripts or applications with different types of
data streams may take longer to play back when application profiling is enabled.
– Standard Wait specifies the “slow start” value to be used in Application
Profiling. This value estimates application response time until sufficient data has
been gathered to calculate response time. If no value is entered, Hiperstation for
VTAM defaults to 0.01 seconds. Standard Wait values are used only when
Application Profiling is enabled.
– Maximum Wait specifies the amount of time for Hiperstation for VTAM to wait
until it assumes the application has stalled. If Hiperstation for VTAM does not
receive a response from the application in this interval, it terminates the
application session. If no value is entered, the application stall timer defaults to
75 seconds. Maximum wait values are used only when Application Profiling is
enabled.
– Type Y or N for IMS Application. Y examines special IMS-like datastreams and
uses those datastreams as an indication of more data coming from the
application. This field is valid only if Application Profiling is disabled. N specifies
that no special processes will be used.
– Type 1 or 2 for KB Restore Action.
1 tells Hiperstation for VTAM to unlock the keyboard at the Domain
Destination’s request. 1 is the default.
2 tells Hiperstation for VTAM to unlock the keyboard when the Domain
Destination finishes sending data.
KB Restore Action is used only if IMS Application is set to N and Application
Profiling is disabled.
3. Press END to continue. You return to the Session Options screen.
Communicate with the Domain Destination
When you establish contact with the domain destination, the Domain Traveler entry
screen appears. The domain that you log in to will determine what your screen looks like.
The first three lines on the screen will look like those in Figure 3-6. The rest of the screen
may look different.
3-6
Hiperstation for VTAM User Guide
Figure 3-6. Domain Traveler Entry Screen in ISPF Mode
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24
Command ===>
Scroll ===> PAGE
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF
COMPUWARE SALES SUPPORT
CICS REGION CICS41A
BROADCAST SCREEN
07/06/07
08:56:36
ACTIVITY
DATE
========
========
NO MESSAGES TODAY
START
=EST=
END
=EST=
REP/ACCOUNT
=====================
PRODUCTS
========












In ISPF mode, this screen contains a session status area and a virtual terminal
presentation space. In Zoom mode, the virtual terminal presentation space occupies the
entire screen. See “Product Conventions” on page 1-7 to learn more about these display
modes.
Session Status Area
The Session Status Area contains three lines:
• Title and Message Area — The first line on the screen displays the zoom key
designation, Hiperstation for VTAM screen title, and a short message area that
provides session information, such as RECORDING IN PROGRESS.
• Command Line — The second line is where you enter ISPF and Hiperstation for
VTAM commands.
• Status Line — The third line indicates the state of key Hiperstation for VTAM
facilities. Here you see whether recording is on or off, if playback is active, and the
status of the transaction journal, comparison log, and autoDoc.
For example, when a mismatch occurs during playback, the status line shows the
current display name and command names for viewing the Expected, Delta, and
Differences screen, and instructions for resuming playback.
The status line also shows the results of the Response Time Monitor. In Figure 3-7,
the highlighted status line shows that the user is recording a script named
CICSDEMO while also playing a recorded script named CICSDEMO. In addition, the
journal is on and eight pages have been printed. The comparison log is active and
nine pages have been recorded. AutoDoc is turned off.
Figure 3-7. View the Domain Traveler Status Line
ZOOM:PF23 -------------------------- Hiperstation --------------- LINE 1 OF 24
COMMAND ===> ENTER
SCROLL ===> HALF 
RECORDING CICSDEMO PLAYING CICSDEM0 JOURNAL ON 0008 LOG ON 0009 autoDoc OFF 
CEMT I TRAN
STATUS: RESULTS - OVERTYPE TO MODIFY
Tran(AADD) Pri( 001 ) Ena
Tran(ABRW) Pri( 001 ) Ena
Tran(ADDS) Pri( 001 ) Ena
+ Tran(CCM F) Pri( 001 ) Ena
Virtual Terminal Presentation Space
The domain destination you contact works with Hiperstation for VTAM as a virtual
terminal. When the domain destination sends data to the terminal, it appears in the
virtual terminal presentation space. The virtual terminal presentation space begins on
the line below the status line and normally ends on the last line of the screen. If the
screen is split, it ends at the bottom of the ISPF window.
Getting Started
Note:
3-7
In ISPF mode, the session status information occupies the first three lines of the
screen. You may have to scroll to see the bottom of your application screen or
press the zoom key to see the entire screen.
Figure 3-8 shows an actual Domain Traveler session that is connected to a CICS region.
The CICS welcome message appears in the virtual terminal presentation space.
Figure 3-8. Virtual Terminal Display


ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24 
Command ===>
Scroll ===> PAGE 
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF

***USR2312
WELCOME TO CICS/MVS *** 09:25:16
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
IIII
II
II
II
II
II
II
IIII
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS
***
***
MMM
MMM
MMMM MMMM
MM MMMM MM
MM MM MM
MM
MM
MM
MM
MM
MM
MMMM
MMMM
VVV
VVV
VV
VV
VV
VV
VV
VV
VV
VV
VV VV
VVV
V
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS 
Hiperstation for VTAM passes the data you input in the virtual terminal presentation
space to the domain destination when you press Enter or a mapped PF key, unless there is
a command on the command line. ISPF and Hiperstation for VTAM commands take
precedence.
For more information on PF keys, see “Using PF Keys” on page 1-8.
Cancel a Domain Traveler Session
To cancel your Domain Traveler session and return to the Hiperstation * Domain Traveler
screen, type CANCEL on the command line. From this screen, you can return to the
Hiperstation Main Menu by entering END on the command line or pressing the END PF
key.
Note:
Typing CANCEL will cancel your session, and anything you are recording will be
lost.
End the Session
Ending a Hiperstation for VTAM session is like ending a session on a physical terminal.
For example, the following procedure terminates a CICS session.
1. Clear the screen using the mapped <Clear> key (default is PF22) or by entering C on
the command line.
2. Type the CICS transaction CSSF LOGOFF or CESF LOGOFF in the virtual terminal
presentation space and press Enter. CICS responds with the message: CICS SIGNOFF
IS COMPLETE.
Note:
Messages that would appear at the bottom of the domain destination screen
may not be visible in ISPF mode. Scroll down to see the bottom of the screen.
3. Press Enter again to return to the Domain Traveler screen.
4. Enter END or press the END PF key to return to the Hiperstation Main Menu.
3-8
Hiperstation for VTAM User Guide
4-1
Chapter 4.
Automated Testing Vehicle (ATV) Manager
Chap 4
Introducing the ATV Manager
An ATV, or vehicle, is a project environment that contains a number of individual test
cases that collectively address a defined regression or performance testing requirement.
By collecting the elements needed to accomplish a testing requirement into a vehicle it
simplifies the management of that test project.
The ATV Manager employs a test case centric approach to address the requirements of a
test project. Individual test cases are defined to accomplish a single, well defined testing
goal. The test case contains the information needed to achieve the stated testing goal,
including data instantiation, environment setup, exercising the application being tested,
and success or failure determination at the conclusion of test case execution. Utilizing
this approach, a set of test cases are used to address a wider scope requirement than an
individual test case. For example, three individual test cases for the following three
requirements, 1) Test ISPF Browse of a PDS member, 2) Test ISPF Browse of a PDSE
member, and 3) Test ISPF Browse of a sequential dataset, taken together address the wider
scope requirement to test the ISPF Browse function.
A project requirement for a complete regression or performance test for an application
can be addressed using this paradigm. Running all of the test cases within a vehicle
constitutes the full regression or performance test.
The ATV Manager has the ability to distribute test run reports via email to a defined set of
recipients. Individual test case failure notices can be sent to the person or persons tasked
with maintaining the failing test case. This proactive information delivery can be used to
initiate the problem resolution process as soon as possible.
Care should be taken when defining the requirement scope to be addressed at the vehicle
level. As the ATV Manager nomenclature suggests, a vehicle should be tasked with testing
an application, though it is still up to the user to select the best scope. For example, you
could consider a General Ledger an application, and Accounts Receivable as a function
within the General Ledger application, or you could view Accounts Receivable as one
application in your General Ledger system. Some considerations in defining the testing
scope for your vehicles include:
1. Reusability of assets. All scripts and test assets, the building blocks for test cases, are
shareable at the vehicle level.
2. Personnel using ATVs. Hiperstation’s facility for securing access to ATV data is done
at the vehicle level.
3. Report distribution. Test activity reporting and report distribution is performed via
test run requests that range in scope from an individual test case to a single vehicle.
If separate test or development teams maintain different areas within an application,
it could be desirable to use separate vehicles along the same delineation.
4. Your application development process. Entire vehicles can be cloned using the copy
function. This is useful for setting up a new vehicle to test a new development
version of an application. Changes to support the application under development
can be applied to the new vehicle while leaving the old vehicle intact to continue
testing the older, production version of the application.
4-2
Hiperstation for VTAM User Guide
The ATV Manager provides a system in which you can compile the elements of your
automated tests to organize and manage their use. The ATV Manager then reports on the
execution of tests and can e-mail the reports to defined recipients.
The ATV Manager will build, execute, and manage regression and performance
automated test vehicles. The ATV Manager performs the following tasks:
• Incorporate test assets and scripts within the ATV and control access to these
elements.
• Associate test assets including Hiperstation scripts to create test cases.
• Execute tests by using the assets and scripts from the test cases.
• Allow a single Pass/Fail condition to be determined for a test case.
• Create test case groups to execute regression or performance testing of an element of
the target application through a single request.
• Execute all test cases within an ATV to perform complete regression or performance
testing of the target application through a single request.
• Collect the Pass/Fail condition for all test cases into a single test execution report.
• Distribute the test execution report to e-mail addresses as specified for the test
execution.
• Allow viewing of individual test case reports.
• Assist in script repair using the test execution results.
• Assist in the dubbing of new scripts, when necessary, within the context of the test
case.
• Allow the duplication of an entire ATV to support multiple versions of a target
application.
• Allow for maintenance of test assets to keep them current.
For complete details on how to use the ATV Manager, see the Hiperstation Automated Testing
Vehicle (ATV) Manager User Guide.
5-1
Chapter 5.
Online Testing of 3270 Applications
Chap 5
This chapter documents Hiperstation for VTAM’s 3270 terminal-based application testing
functions. See Chapter 7, “Unattended Playback, Dubbing, and Comparison for 3270 and
LU0 Scripts” for LU0 testing information.
With Hiperstation for VTAM, you can record and play back scripts for regression, unit, or
stress testing. In all, you can record, play back, compare, mask, dub, and edit scripts.
Getting Started
1. Start at the Hiperstation for VTAM Main Menu. Select option 1 Domain Traveler.
2. Enter the name of the domain destination you intend to contact for this session.
From this screen, you can go to the Session Options screen and change options such
as PF key mapping. For more information, see “Change Session Options” on page 3-3
and “PF Key Mapping” on page 1-8.
3. Continue with the next section to record a script.
Recording Scripts
This section presents a sample session where the IBM-supplied CICS BROWSE transaction
CEBR is recorded.
Set Up Recording
You can begin a recording any time after you establish communication with a domain
destination.
1. Type RECORD on the Command line and press Enter (Figure 5-1).
Figure 5-1. Domain Traveler Destination Entry Screen
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24
Command ===> record
Scroll ===> PAGE
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF
COMPUWARE SALES SUPPORT
CICS REGION CICS41A
BROADCAST SCREEN
07/06/07
08:56:36
ACTIVITY
DATE
========
========
NO MESSAGES TODAY
START
=EST=
END
=EST=
REP/ACCOUNT
=====================
The Hiperstation * Recording Setup screen appears (Figure 5-2).
PRODUCTS
========












5-2
Hiperstation for VTAM User Guide
Figure 5-2. Recording Setup Screen
------------------------ Hiperstation * Recording Setup -----------------------
Command ===> 

Recording File Name:
Project . . . . HPER
Group . . . . . RECBIG
Type . . . . . DATA6
Member . . . . REC1
(Blank or pattern for member selection list)
Other Dsn . . . 

Description . . DEMONSTRATE RECORDING IN (ROW,COL) FORMAT 

Recording Options:
Enter "/" to select option
Replace Like Member(s)
/ Format Recording
Record Inputs Only
Stop Recording
/ Script Recovery
/ Input fields in (row,column) format

Press ENTER to begin recording, END to cancel setup.
2. Type a Recording File Name (also referred to as the Script Dataset Name).
– Enter an existing dataset name in the Project, Group, and Type fields. If you have
not already allocated a script dataset, you can do so from this screen. See
“Allocating Before Using Hiperstation for VTAM” on page 2-1 for more
information.
– Type a one- to eight-character dataset Member name of the script to be recorded.
If the member name is left blank or a pattern member name is entered, an ISPF
member selection list appears.
Note:
If a script dataset name does not conform to ISPF naming standards, enter it
in the Other Dsn field, including the member name.
3. Select from the list of Recording Options (type a slash (/) to select an option):
– Replace Like Member(s) — Replace an existing member with the one you are
about to create.
– Format Recording — Record the session as a normal Hiperstation script. Leave
blank, for debugging purposes, to record the session as a series of hexadecimal
data streams.
– Record Inputs Only — Record only your input keystrokes. Use this option for
stress testing the script where screen comparisons are unnecessary. Leave blank
to record both your input keystrokes and the output screen images.
– Stop Recording — Halt any recording activity.
– Script Recovery — Allows you to allocate a file to store compressed screen
images during a recording session so you can continue recording if you run out
of memory or re-create the script if an abend occurs. For more information, see
“Recovering Recordings that Ended in Error” on page 2-3.
– Input fields in (row,column) format — Record input fields in the format
<I(row,col)>"data" instead of the default format <Inn>"data".
Recording Process
After typing the script dataset name (HPER.RECBIG.DATA6) and member (REC1) on the
Recording Setup screen (Figure 5-2 on page 5-2), press Enter to return to the Domain
Traveler entry screen (Figure 5-3). If you have not already allocated your dataset, the
Allocate Dataset screen will appear. Press Enter to continue. Notice that the message area
Online Testing of 3270 Applications
5-3
(in the upper right corner of the screen) contains the message RECORDING IN
PROGRESS. The status line (immediately below the Command line) also shows that
recording is active.
Figure 5-3. Recording Process, Screen 1
ZOOM:F23 ------------------ HIPERSTATION --------------- RECORDING IN PROGRESS
Command ===>
Scroll ===> PAGE
Recording REC1
Play OFF Journal OFF Compare Log OFF autoDoc OFF
COMPUWARE SALES SUPPORT
CICS REGION CICS41A
BROADCAST SCREEN
07/06/07
08:56:36
ACTIVITY
DATE
========
========
NO MESSAGES TODAY
START
=EST=
END
=EST=
REP/ACCOUNT
=====================
PRODUCTS
========












1. On the Command line, type CLEAR and press Enter. The screen clears.
Note:
Depending on the application you are recording, a logon screen may appear.
If so, type your user ID and password and press Enter.
Figure 5-4. Recording Process, Screen 2
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24
Command ===>
Scroll ===> PAGE
Recording REC1
Play OFF Journal OFF Compare Log OFF autoDoc OFF
CEBR




2. To begin the CICS transaction, type CEBR in the virtual terminal area (Figure 5-4).
Press Enter. The CICS BROWSE screen appears (Figure 5-5).
Figure 5-5. Recording Process, Screen 3
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24 
Command ===>
Scroll ===> PAGE 
Recording REC1
Play OFF Journal OFF Compare Log OFF autoDoc OFF

CEBR TSQ CEBR0001
SYSID C054 REC
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>

************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE *****************************















TS QUEUE CEBR0001
DOES NOT EXIST

PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE

3. Press PF1 to get help data about CICS BROWSE (Figure 5-6).
5-4
Hiperstation for VTAM User Guide
Figure 5-6. Recording Process, Screen 4
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24 
Command ===>
Scroll ===> PAGE 
Recording REC1
Play OFF Journal OFF Compare Log OFF autoDoc OFF

CEBR TSQ CEBR0001
SYSID C054 REC
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>

These commands are available to you (abbreviations in UPPER CASE):

Find /string/
- Keyword optional. Final delimiter optional if

string has no blanks. Any other delimiter is OK. 
Line line-number

Column column-number

Top

Bottom

TERMinal terminal-id
- Browse temp. storage queue for another terminal. 
Queue temp-stg-queue
- Browse a named temp. storage queue

(name may be in hex - e.g., X'C134')

Sysid shared/remote sysid
- Browse shared or remote temp. storage queue.

Put
transient-data-queue - Copy current queue into a transient data queue. 
Get
transient-data-queue - Fetch a transient data queue for browsing.

PURGE
- Destroy the current queue.


************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE *****************************
TS QUEUE CEBR0001
DOES NOT EXIST

PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE

4. Press END to end the CICS BROWSE session. CICS BROWSE indicates that it ended
normally with this message below the status line:
BROWSE HAS ENDED NORMALLY.
READY FOR NEXT TRANSACTION:
5. Type STOP on the Command line and press Enter to stop recording. The status line
indicates recording status is OFF (Figure 5-7). This ends the recording session.
Figure 5-7. Recording Process, Screen 5
ZOOM:F23 ------------------ HIPERSTATION ------------------- RECORDING STOPPED
Command ===>
Scroll ===> PAGE
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF
BROWSE HAS ENDED NORMALLY. READY FOR NEXT TRANSACTION:




Cancel a Recording
To end a recording without saving the script, type RECORD CAN on the Command line
and press Enter. The Status line indicates that recording is off, and a message stating that
the recording has been canceled appears in the upper right corner of the screen.
Recording Function Commands
RECOVER
Saves the session to use when running a recover job. The script is stored in memory
and in a temporary file during the recording time. For more information, see
“Recovering Recordings that Ended in Error” on page 2-3.
Record
Creates a script. Used without any operands, it displays the Recording Setup screen.
Valid operators are:
CAN — Recording is terminated and the script is discarded.
OFF — Recording is terminated, but the script is saved in the script dataset.
STop
Halts recording.
Online Testing of 3270 Applications
5-5
RTM
Displays the following information across the top of the screen:
RESPONSE TIME — The amount of time it took for the application to respond to the
input.
THINK TIME — The amount of time it took from the last application response to the
next input.
ELAPSED TIME — The amount of time that has elapsed since the Domain Traveler
session was initiated or since the ETIME command was issued.
To refresh the values, put the cursor on the Command line while the RTM
information is displayed and press Enter.
ETIME
Resets the elapsed time counter to zero and reports the elapsed time values in the
playback log. Use this command to determine how long it takes to complete a
specific transaction.
This command is not available when doing explicit or implicit dubbing.
NOTes
Displays a notepad where you can enter script information to be saved with the
script.
Playing Back Scripts
Playing back a recorded script is as simple as typing PLAY on the Command line,
validating the dataset name, and pressing Enter. Before you begin, review the following
considerations:
• IMPORTANT — Start playback at the same place as the recording. For example, in
CICS, if recording started on a clear screen, start playback on a clear screen.
• The ISPF End key is disabled during Domain Traveler sessions.
• Do not change input data during playback or unusual conditions or abends may
occur.
To continue with the example session from the previous section, we will play back the
recording named REC1.
Note:
You can also play back using batch processing or the Quick Play option. See
Chapter 7, “Unattended Playback, Dubbing, and Comparison for 3270 and LU0
Scripts” or Chapter 8, “Quick Play — Select a Script and Go” for more
information.
Playback Setup
1. To begin a playback session, type PLAY on the command line (Figure 5-8), and press
Enter.
Figure 5-8. Enter the PLAY Command
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24
Command ===> play
Scroll ===> PAGE
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF
BROWSE HAS ENDED NORMALLY. READY FOR NEXT TRANSACTION:




5-6
Hiperstation for VTAM User Guide
The Play Setup screen appears (Figure 5-9). Use this screen to choose options to
control playback sessions.
Figure 5-9. Play Setup Screen
Hiperstation---------------------- Play Setup --------------------------------
Command ===> _________________________________________________________________ 

Recording File Name:

Project . . . . . . HPER____

Group . . . . . . . RECBIG__

Type . . . . . . . DATA6_

Member . . . . . . REC1
(Blank or pattern for member selection list) 
Other DSN . . . . . _________________________________________________________ 

(1 to 999)

Repetition Count . . 1
(Yes, No, Resume)

Zoom Mode . . . . . N
Dubbing . . . . . . N
(Yes, No, Change Only)


Playback Options:

Enter "/" to select option

_ Alter Play/Think Time Option(s)

Current Values: Interactive

_ Alter Comparison Option(s)

Current Values: AllChecks,Actual,MskDub,MskCmp

_ Suppress Play Screen(s)

_ Stop Play

2. Type a Recording File Name (also referred to as the Script Dataset Name).
– Enter an existing dataset name in the Project, Group, and Type fields. If you have
not already allocated a script dataset, you can do so from this screen. See
“Allocating Before Using Hiperstation for VTAM” on page 2-1 for more
information.
– Type a one- to eight-character dataset Member name of the script to be recorded.
If the member name is left blank or a pattern member name is entered, an ISPF
member selection list appears.
Note:
If a script dataset name does not conform to ISPF naming standards, enter it
in the Other Dsn field, including the member name.
3. Repetition Count repeats script playback n times. Enter a number between 1 and 999.
4. Select a Zoom Mode. Y plays back in zoom mode. N plays back in ISPF mode. R plays
back in zoom mode and then returns to ISPF mode when the script completes or
when a mismatch occurs. When playback resumes after a mismatch, it resumes in
zoom mode.
5. Make a Dubbing selection. Y creates a new version of the original script. N does not
create a new script. C creates a new script only if a comparison check occurs during
playback of the original script.
See “Explicit Dubbing” on page 5-22 and “Implicit Dubbing” on page 5-26 for more
information on the Y and C options.
6. Select from the list of Playback Options. The Current Values column shows the
current setting for each option. Enter a slash (/) next to the desired options.
– Alter Play/Think Time Option(s) — Display the Play/Think Time Options
screen shown in Figure 5-10 on page 5-7. For more information, see “Play and
Think Time” on page 5-7.
– Alter Comparison Option(s) — Display the Comparison Options screen shown
in Figure 5-17 on page 5-12. For more information, see “Comparing Scripts” on
page 5-11.
Online Testing of 3270 Applications
5-7
– Suppress Play Screen(s) — Select if, during a non-stop playback, you do not
want the screens from the domain destination to appear on your physical
terminal. This field works in conjunction with think time options 2, 3, and 4.
– Stop Play — Halt any current playback activity.
7. After making your selections, press Enter.
Play and Think Time
When you type a slash (/) next to Alter Play/Think Time Option(s) on the Play Setup
screen and press Enter, the Play/Think Time Options screen appears (Figure 5-10).
Figure 5-10. Play/Think Time Options Screen
--------------------Command ===>
HIPERSTATION * Play/Think Time Options -----------------


Please select an option:

1 1 Play interactively

2 Play at full speed

3 Play at think time recorded on script

4 Play at user specified think time


If you have selected options 3 or 4, you may alter the rate of the playback

by altering the Think Time (For option 4 only) or the percentage.


Think Time (in seconds and hundredths) . . . 01 50

Percentage . . . . . . . . . . . . . . . . . 100

1. Select a playback option. You can select one of four options for interactive or nonstop playback modes on this screen. Option 1 is for interactive playback. Options 2,
3, and 4 are for non-stop playback.
1 — Play back interactively. The script stops and requires user intervention before
sending each transaction’s data.
2 — Play back at full speed. Hiperstation for VTAM plays the transactions as quickly
as the system can run them.
3 — Play back at the think time recorded on the script.
4 — Play back at the think time specified in the Time field.
2. If you selected option 4, you need to specify the Think Time value for each
transaction. Time can be specified in seconds (ss), tenths (t) of a second, and
hundredths (h) of a second. For example, 00 75 specifies 3/4 of a second think time.
3. If you selected option 3 or 4, you can apply a percentage figure to the think time. For
example, to play back a script with half the original think time, select option 3 and
type 50 in this field.
4. After making your selections, press Enter to continue. You will return to the Play
Setup screen.
Playback
Continuing with the REC1 test script, when you return from the Play Setup screen, the
Domain Traveler Entry screen appears (Figure 5-11). Note that the status line indicates
that you are playing REC1.
In this demonstration, you are playing back in interactive mode. In this mode,
Hiperstation for VTAM stops and shows each screen before sending it to the domain
destination.
5-8
Hiperstation for VTAM User Guide
Figure 5-11. Playback, Screen 1
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> CLEAR
SCROLL ===> HALF
Record OFF Playing REC1
Journal OFF Compare Log OFF autoDoc OFF
BROWSE HAS ENDED NORMALLY. READY FOR NEXT TRANSACTION:
1. Type CLEAR on the Command line and press Enter. The screen clears and
Hiperstation for VTAM fills in the CEBR transaction ID (Figure 5-12).
Figure 5-12. Playback, Screen 2
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> ENTER
SCROLL ===> HALF
Record OFF Playing REC1
Journal OFF Compare Log OFF autoDoc OFF
CEBR
2. Type ENTER on the Command line and press Enter. The CICS BROWSE screen
appears (Figure 5-13). The simulated PF key is the Enter key.
Figure 5-13. Playback, Screen 3
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24 
Command ===>
Scroll ===> PAGE 
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF

CEBR TSQ CEBR0001
SYSID C054 REC
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>

************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE *****************************















TS QUEUE CEBR0001
DOES NOT EXIST

PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE

3. This time, PF1 is the simulated PF key. Type PF1 and press Enter. Figure 5-14 shows
that the CICS help data appeared because you sent a PF1 to CICS.
Online Testing of 3270 Applications
5-9
Figure 5-14. Playback, Screen 4
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24 
Command ===> PF3
Scroll ===> PAGE 
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF

CEBR TSQ CEBR0001
SYSID C054 REC
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>

These commands are available to you (abbreviations in UPPER CASE):

Find /string/
- Keyword optional. Final delimiter optional if

string has no blanks. Any other delimiter is OK. 
Line line-number

Column column-number

Top

Bottom

TERMinal terminal-id
- Browse temp. storage queue for another terminal. 
Queue temp-stg-queue
- Browse a named temp. storage queue

(name may be in hex - e.g., X'C134')

Sysid shared/remote sysid
- Browse shared or remote temp. storage queue.

Put
transient-data-queue - Copy current queue into a transient data queue. 
Get
transient-data-queue - Fetch a transient data queue for browsing.

PURGE
- Destroy the current queue.


************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE *****************************
TS QUEUE CEBR0001
DOES NOT EXIST

PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE 
4. This time, the simulated PF key is PF3 to end the BROWSE session. Type PF3 and
press Enter.
Figure 5-15 shows that BROWSE ended normally, just as it did when the recording was
made. The message shows that the REC1 playback has finished and the status line also
shows Play OFF.
Figure 5-15. Playback, Screen 5
ZOOM:F23 ------------------ HIPERSTATION ------------------------ LINE 1 OF 24
Command ===>
Scroll ===> PAGE
Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF
BROWSE HAS ENDED NORMALLY. READY FOR NEXT TRANSACTION:




Playback Modes
Hiperstation for VTAM can rerun scripts in two online modes as specified on the
Play/Think Time Options screen (Figure 5-10 on page 5-7). The two modes are interactive
(option 1) and non-stop (options 2, 3, 4). Choose playback mode by typing a slash (/)
next to the desired option on the Play/Think Time Options screen and pressing Enter.
Interactive Playback
Interactive mode stops at each screen to let you review the input and output data. In
interactive mode, input data can be changed allowing you to modify playback activity
without having to re-record the script. Press Enter to continue playback.
Non-Stop Playback
Non-stop mode shows each screen as it occurs in the script. The keyboard locks, so you
cannot input data. If a mismatch occurs, playback stops. When playback resumes, it
continues in non-stop mode.
To break out of non-stop mode, enter the Attention command or press PA1, depending
on the type of controller attached to your terminal. This puts playback in interactive
mode.
5-10
Hiperstation for VTAM User Guide
To go back to non-stop mode, type PLAY on the Command line, press Enter, and then
change the think time option on the Play Setup screen to option 2, 3, or 4. Play/think
time options are described on page 5-7. Press Enter and playback resumes in non-stop
mode.
Screen Suppression
When you play back a script in non-stop mode, you can suppress showing the domain
destination’s actual screens on your physical terminal unless a mismatch occurs. This
feature eliminates the overhead incurred by mapping the screens from the virtual
terminal to your physical terminal.
To select screen suppression, type a slash (/) next to the Suppress Play Screen(s) field on
the Play Setup screen and press Enter.
Terminate Playback
You can stop or interrupt playback in several ways:
• To stop playback at any time, type PLAY OFF on the Command line and press Enter.
The status line indicates that playback is OFF. Any activated Hiperstation for VTAM
journal, auto documentation, or comparison logs continue to update. However, page
numbers on the status line do not reflect this activity until the script is finished and
screen suppression automatically resets.
• Type STOP on the Command line and press Enter. STOP terminates both playback
and record.
• To interrupt non-stop and screen suppression modes, press the Attention or PA1 key,
depending on the type of controller attached to your terminal. The current screen
from the domain destination appears on your terminal while display and playback
continue in interactive mode.
• Type PAUSE on the Command line and press Enter. This allows you to enter an
unlimited number of transactions to correct any potential problems. To continue
playback, type RESUME on the Command line and press Enter. You do not have to
restart from the beginning of the script, which may require restoring files/databases.
For example, if you do not restore record script data before playback, a mismatch
occurs causing all or a portion of the script to be out of sequence. You can then pause
the script, add or restore the data, reposition the script at the proper input, and issue
the RESUME command to continue processing.
Playback Function Commands
PAuse
Temporarily interrupts a playback in interactive mode.
Play
Initiates script playback. While an interactive playback is in process, you can also
reenter the PLAY command to display the Hiperstation for VTAM Play Setup screen
and change the play mode to full-speed.
OFF terminates script playback.
RESume
Restarts a paused playback.
SKIP
SKIP has two functions depending on which screen you are on. If you are on an
interactive playback screen, SKIP:
1. Discards the current input (on the screen)
Online Testing of 3270 Applications
5-11
2. Ignores the next output
3. Fills in the screen with the next input
If you are on a miscompare screen, SKIP:
1. Discards the current output screen (the current expected screen)
2. Ignores the next input
3. Retrieves the next output screen
4. Compares it to the actual screen
5. Reacts to the compare normally
To continue after using SKIP on a miscompare screen, type GO on the Command line
and press Enter.
STop
Halts playback.
XMask
Resets all masks that Hiperstation for VTAM has stored in its mask buffer. When you
perform multiple consecutive online sessions, the XMASK command eliminates the
need to manually reset masks that do not apply to the next session.
RTM
Displays the following information across the top of the screen:
RESPONSE TIME — The amount of time it took for the application to respond to the
input.
THINK TIME — The amount of time it took from the last application response to the
next input.
ELAPSED TIME — The amount of time that has elapsed since the Domain Traveler
session was initiated or since the ETIME command was issued.
To refresh the values, put the cursor on the Command line while the RTM
information is displayed and press Enter.
ETIME
Resets the elapsed time counter to zero, and reports the elapsed time values in the
playback log. Use this command to determine how long it takes to complete a
specific transaction.
This command is not available when doing explicit or implicit dubbing.
NOTes
Displays a notepad where you can enter script information to be saved with the
script.
Comparing Scripts
A mismatch occurs when an output screen from the domain destination does not exactly
match the expected screen (the screen image contained in the script).
When a mismatch occurs during playback, a mismatch message appears and the status
line changes to show that a mismatch condition exists. The screen also shows the
available commands that enable you to examine the mismatch or proceed with playback.
Note:
You can also perform comparisons using batch processing. See Chapter 7,
“Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts” for
information.
5-12
Hiperstation for VTAM User Guide
Figure 5-16. Comparison Mismatch Screen
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
SCRN# 0000001 IS: ACTUAL , COMMANDS: ACTUAL, DELTA, DIFFER, EXPECTED, GO, MASK
I TER
STATUS: RESULTS - OVERTYPE TO MODIFY
Ter(CERR)
Pri( 000 ) Pag Ins
Tti
Ter(C001)
Pri( 000 ) Pag Ins
Tti
Ter(C002)
Pri( 000 ) Pag Ins
Tti
Ter(C003)
Pri( 000 ) Pag Ins
Tti
Ter(C004)
Pri( 000 ) Pag Ins
Tti
Ter(C005)
Pri( 000 ) Pag Ins
Tti
Ter(C006)
Pri( 000 ) Pag Ins
Tti
Ter(C007)
Pri( 000 ) Pag Ins
Tti
Ter(C008)
Pri( 000 ) Pag Ins
Tti
Ter(C009)
Pri( 000 ) Pag Ins
Tti
Ter(C010)
Pri( 000 ) Pag Ins
Tti
Ter(C011)
Pri( 000 ) Pag Ins
Tti
Ter(C012)
Pri( 000 ) Pag Ins
Tti
Ter(C013)
Pri( 000 ) Pag Ins
Tti
Ter(C014)
Pri( 000 ) Pag Ins
Tti
Ter(C015)
Pri( 000 ) Pag Ins
Tti
+ Ter(DBC1)
Pri( 000 ) Pag Ins Ati Tti
Net(DBCS0001) Rel
Before you begin a playback, Hiperstation for VTAM offers the following techniques for
eliminating trivial or known differences in the expected and actual screen images.
Set Comparison Options
1. From the Domain Traveler screen, type your Domain Destination and press Enter.
2. After you establish a destination, type PLAY on the Command line.
3. The Play Setup screen appears.
4. Type a slash (/) next to Alter Comparison Option(s) and press Enter. The Comparison
Options screen appears (Figure 5-17).
Figure 5-17. Comparison Options Screen
--------------------Command ===>
HIPERSTATION * Comparison Options
---------------------


Please select an option:

1 1. Stop on any compare check

2. Stop on alpha character differences

3. Stop only on field number mismatches

4. Ignore all compare differences


Initial mismatch . . . ACTUAL
(ACTUAL,DIFFER,DELTA)


Compare Processing Options (Enter "/" to select):

Ignore numeric differences

Compare Last Image Only

/ Dub encrypted masks as character masks

/ Use encrypted masks during Compare


Identify outputs whose compare processing should be bypassed:

5. Select one of the four options to specify what constitutes a mismatch:
1 — Stop on any compare check. If the character on the received screen does not
match any character on the recorded screen, the number of fields on the received
screen does not match, or an attribute byte does not match, a mismatch occurs.
2 — Stop on alpha character differences. A mismatch occurs only if there are one
or more alphanumeric character differences between the received and expected
screens. Use this option to ignore differences in screen attribute bytes.
Online Testing of 3270 Applications
5-13
3 — Stop only on field number mismatches. A mismatch occurs only if there is a
difference in the number of fields on the received and expected screens.
4 — Ignore all comparison differences during playback. Playback does not stop or
display mismatch screens. However, differences are noted in the Compare Log or
Exception Log if you chose to generate a log.
6. Specify ACTUAL, DELTA, or DIFFER in the Initial mismatch field. This sets the
initial screen that appears when a mismatch occurs. Valid entries are
ACTUAL — Displays the contents of the buffer that Hiperstation received from the
application.
DELTA — Displays an overlay of the positions that are different from the actual
screen versus the expected screen.
DIFFER — Displays an overlay of the differences between the actual screen versus the
expected screen. This overlay is on top on the ACTUAL screen.
7. Type a slash (/) to select the desired Compare Processing Options:
– Ignore numeric differences causes Hiperstation to consider the following
conditions as equal (matching):
• Actual character and expected character are both numeric.
• Actual character is numeric and the expected character is blank or null.
• Actual character is blank or null and the expected character is numeric.
All other conditions are mismatches.
– Compare Last Image Only compares the scripted screen image and the screen
image received from the application only after the application has sent all data
required to build the final screen. For example, many applications send a map
filled with data followed by a map containing only a message. Enter a slash (/) in
this field to eliminate comparison of the first data only map but to allow
comparison when the full screen image is built from both the data and the
message maps.
– Dub encrypted masks as character masks dubs encrypted masks (<MSK>NNN
tags) in the script being played back to the new script as both encrypted masks
and as an additional record of “I” character masks. Deselect this field to prevent
additional character masks from being added to your dubbed script.
– Use encrypted masks during Compare. During comparison, encrypted masks
(<MSK>NNN tags) are in effect and prevent miscompares on dark fields. Deselect
this option to disable encrypted masks and allow identification of miscompares
within dark fields.
Note:
Deselecting this option does not cause data within dark fields to appear
on Actual/Expected screens. This option affects only encrypted masks.
All other forms of masking are still valid and in effect for dark fields.
8. Identify outputs whose compare processing should be bypassed. Enter a range of
<OUTPUT> groups for which you want to bypass compare processing. The groups
within this range are not compared. For example, entering the range 1-2, 6, and 77
bypasses compare processing for <OUTPUT> groups 0000001, 0000002, 0000006, and
0000077.
9. After you have set all of the playback options, press Enter to process. Playback begins,
and mismatches are handled according to the options you set.
When a Mismatch Occurs
When a mismatch occurs during playback, you have several options.
5-14
Hiperstation for VTAM User Guide
Ignore and Continue Playback
Type GO on the Command line and press Enter. The script continues.
Pause Playback and Fix Mismatch
Type PAUSE on the Command line and press Enter. The script halts allowing you to
correct the mismatch. After the mismatch is corrected, type RESUME on the
Command line and press Enter to continue playback.
Ignore Mismatches during Playback Setup
Hiperstation for VTAM considers any character differences between the received and
expected screens to be a mismatch. During playback setup, options are available to
bypass all or specific types of mismatches (see “Set Comparison Options” on page
5-12). If the options you select limit some or all of what Hiperstation considers a
mismatch, then Hiperstation will not register a mismatch and will not stop if these
differences occur.
For example, you can choose that differences in numeric fields do not constitute a
mismatch. This is most useful when fields on the screen contain time of day, current
date, or real-time system data such as CICS task IDs, or performance data such as the
number of terminals online.
Analyze the Mismatch
Depending on the value you set in the Initial Mismatch field on the Comparison
Options screen, Hiperstation for VTAM shows each mismatch on the Actual, Delta, or
Differences screen. The default initial screen is the Actual screen.
After analyzing the mismatch, you can redisplay the Actual screen by typing Actual
on the Command line and pressing Enter. The screen from the domain destination
appears (Figure 5-18).
Figure 5-18. Actual Screen
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
SCREEN# 0000001 IS: ACTUAL , COMMANDS: ACTUAL, DELTA, DIFFER, EXPECTED, GO
I TER
STATUS: RESULTS - OVERTYPE TO MODIFY
Ter(CERR)
Pri( 000 ) Pag Ins
Tti
Ter(C001)
Pri( 000 ) Pag Ins
Tti
Ter(C002)
Pri( 000 ) Pag Ins
Tti
Ter(C003)
Pri( 000 ) Pag Ins
Tti
Ter(C004)
Pri( 000 ) Pag Ins
Tti
Ter(C005)
Pri( 000 ) Pag Ins
Tti
Ter(C006)
Pri( 000 ) Pag Ins
Tti
Ter(C007)
Pri( 000 ) Pag Ins
Tti
Ter(C008)
Pri( 000 ) Pag Ins
Tti
Ter(C009)
Pri( 000 ) Pag Ins
Tti
Ter(C010)
Pri( 000 ) Pag Ins
Tti
Ter(C011)
Pri( 000 ) Pag Ins
Tti
Ter(C012)
Pri( 000 ) Pag Ins
Tti
Ter(C013)
Pri( 000 ) Pag Ins
Tti
Ter(C014)
Pri( 000 ) Pag Ins
Tti
Ter(C015)
Pri( 000 ) Pag Ins
Tti
+ Ter(DBC1)
Pri( 000 ) Pag Ins Ati Tti
Net(DBCS0001) Rel
Showing Mismatches on the Delta Screen
The Delta command shows the differences between actual and expected screens.
Hiperstation for VTAM shows the differences by highlighting the characters on the
screen that are different. All other characters are in low intensity (Figure 5-19).
Note:
The character immediately before and immediately after the changed text is
blank. This is a result of highlighting the changed text and does not imply
that these characters are missing on the expected screen.
Online Testing of 3270 Applications
5-15
Figure 5-19. Delta Screen
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
SCREEN# 0000001 IS: DELTA
, COMMANDS: ACTUAL, DELTA, DIFFER, EXPECTED, GO
I TER
STATUS: RESULTS - OVERTYPE TO MODIFY
Ter(CERR)
Pri( 000 ) Pag Ins
Tti
Ter(C001)
Pri( 000 ) Pag Ins
Tti
Ter(C002)
Pri( 000 ) Pag Ins
Tti
Ter(C003)
Pri( 000 ) Pag Ins
Tti
Ter(C004)
Pri( 000 ) Pag Ins
Tti
Ter(C005)
Pri( 000 ) Pag Ins
Tti
Ter(C006)
Pri( 000 ) Pag Ins
Tti
Ter(C007)
Pri( 000 ) Pag Ins
Tti
Ter(C008)
Pri( 000 ) Pag Ins
Tti
Ter(C009)
Pri( 000 ) Pag Ins
Tti
Ter(C010)
Pri( 000 ) Pag Ins
Tti
Ter(C011)
Pri( 000 ) Pag Ins
Tti
Ter(C012)
Pri( 000 ) Pag Ins
Tti
Ter(C013)
Pri( 000 ) Pag Ins
Tti
Ter(C014)
Pri( 000 ) Pag Ins
Tti
Ter DBC1
Pri( 000 ) Pag Ins
Tti
+ Ter(DB 2
Pri( 000 ) Pag Ins Ati Tti
Net(DBCS0001) Rel
Showing Mismatches on the Differences Screen
The DIffer command, like the Delta command, shows differences between actual and
expected screens. Differences are shown by clearing the virtual terminal presentation
space and placing an X in each position where characters differed (Figure 5-20).
The Differences screen is particularly useful when an attribute character has changed,
or a character has changed into a blank or null.
Figure 5-20. Differences Screen


















ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
SCREEN# 0000001 IS: DIFFERENCES, COMMANDS: ACTUAL, DELTA, DIFFER, EXPECTED, GO
XXXX
X
Showing the Expected Screen
The Expected primary command shows the screen that was recorded — the screen
you expected (Figure 5-21).
5-16
Hiperstation for VTAM User Guide
Figure 5-21. Expected Screen
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
SCREEN# 0000001 IS: EXPECTED
, COMMANDS: ACTUAL, DELTA, DIFFER, EXPECTED, GO
I TER
STATUS: RESULTS - OVERTYPE TO MODIFY
Ter(CERR)
Pri( 000 ) Pag Ins
Tti
Ter(C001)
Pri( 000 ) Pag Ins
Tti
Ter(C002)
Pri( 000 ) Pag Ins
Tti
Ter(C003)
Pri( 000 ) Pag Ins
Tti
Ter(C004)
Pri( 000 ) Pag Ins
Tti
Ter(C005)
Pri( 000 ) Pag Ins
Tti
Ter(C006)
Pri( 000 ) Pag Ins
Tti
Ter(C007)
Pri( 000 ) Pag Ins
Tti
Ter(C008)
Pri( 000 ) Pag Ins
Tti
Ter(C009)
Pri( 000 ) Pag Ins
Tti
Ter(C010)
Pri( 000 ) Pag Ins
Tti
Ter(C011)
Pri( 000 ) Pag Ins
Tti
Ter(C012)
Pri( 000 ) Pag Ins
Tti
Ter(C013)
Pri( 000 ) Pag Ins
Tti
Ter(C014)
Pri( 000 ) Pag Ins
Tti
Ter(DBC1)
Pri( 000 ) Pag Ins
Tti
+ Ter(DBC2)
Pri( 000 ) Pag Ins Ati Tti
Net(DBCS0001) Rel
Masking Script Information
Masking ignores specific areas of the screen when performing comparisons. Masks can be
put directly into a formatted script using ISPF Edit or indirectly using the online masking
command. If you enter a mask, it stays in effect until you enter the XMASK command or
exit Hiperstation for VTAM.
There are two basic mask types:
• Row masks are characters inserted into a formatted script to mask an entire screen
row or selected columns within the row.
• Generic masks use a parsed string allowing you to make conditional masking
decisions based on screen content. You can put generic masks within a formatted
script.
Masking is not available for unformatted scripts.
Using Row Masks
Since Hiperstation for VTAM scripts are stored in a dataset, you can use the ISPF editor to
put row masks in a script. As mentioned above, the row masks are simply characters
placed within the OUTPUT section of a script. The characters and their meaning appear
below:
Option
Description
I
Do not compare at this position on this screen.
G
Do not compare at this position on this and all subsequent screens.
X
Reset any global ignore masks in this screen row.
To illustrate masking, edit the script named REC1 that you created in “Recording Scripts”
on page 5-1 by placing masks on the CICS Welcome screen. The script of the recorded
welcome screen is shown from ISPF edit (Figure 5-22).
Online Testing of 3270 Applications
5-17
Notice that the welcome screen contains a message with the time of day. This time is
different each time you play back this script. You have two row masking options available
to mask the time field:
1. Mask the entire line.
2. Mask the individual characters or hexadecimal codes.
Figure 5-22. CICS REC1 Script Before Masking
EDIT ---- HPER.RECBIG.DATA6(REC1) - 00.02 ------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> CSR
000005 <VERSION>5
000006 <OUTPUT>0000001
000007 <RESPONSE>00.00.002
000008 <S01> ***USR2312
WELCOME TO CICS/MVS *** 10:11:42
000009 <S02>
000010 <S03>
000011 <S04>
000016 <S05>
CCC
IIII
CCC
SSS
MMM
MMM
VVV
VVV
000017 <S06>
CCCCC
II
CCCCC
SSSSS
MMMM MMMM
VV
VV
000018 <S07>
CC CC
II
CC CC
SS SS
MM MMMM MM
VV
VV
000019 <S08>
CC
II
CC
SS
***
MM MM MM
VV
VV
000020 <S09>
CC
II
CC
SS
***
MM
MM
VV
VV
000021 <S10>
CC CC
II
CC CC
SS SS
MM
MM
VV VV
000022 <S11>
CCCCC
II
CCCCC
SSSSS
MM
MM
VVV
000023 <S12>
CCC
IIII
CCC
SSS
MMMM
MMMM
V
000024 <S13>
Mask an Entire Line
To mask an entire line of data:
1. You must shift the line to enter the masking character. In the ISPF edit area, on the
line you want to mask, insert a closed parentheses ( ) ) followed by the number of
spaces to shift the line. This example will shift the line one space to the right.
)1 008 <S01> ***USR2312 WELCOME TO CICS/MVS **** 10:11:42
2. Press Enter. The line you marked will shift to the right the number of spaces you
specified after the parentheses ( ) ).
3. Type the letter I (Ignore) as the masking tag in front of the left angle bracket (<) of
the script tag.
Figure 5-23 shows this technique being used to mask this screen’s entire row 1 (identified
with the <S01> script tag) during playback.
Figure 5-23. Mask an Entire Line of Data
EDIT ---- HPER.RECBIG.DATA6(REC1) - 00.03 ------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> CSR
000005 <VERSION>7
000006 <OUTPUT>0000001
000007 <RESPONSE>00.00.002
000008 I<S01> ***USR2312
WELCOME TO CICS/MVS *** 10:11:42
000009 <S02>
000010 <S03>
000011 <S04>
000016 <S05>
CCC
IIII
CCC
SSS
MMM
MMM
VVV
VVV
000017 <S06>
CCCCC
II
CCCCC
SSSSS
MMMM MMMM
VV
VV
000018 <S07>
CC CC
II
CC CC
SS SS
MM MMMM MM
VV
VV
000019 <S08>
CC
II
CC
SS
***
MM MM MM
VV
VV
000020 <S09>
CC
II
CC
SS
***
MM
MM
VV
VV
000021 <S10>
CC CC
II
CC CC
SS SS
MM
MM
VV VV
000022 <S11>
CCCCC
II
CCCCC
SSSSS
MM
MM
VVV
000023 <S12>
CCC
IIII
CCC
SSS
MMMM
MMMM
V
000024 <S13>
5-18
Hiperstation for VTAM User Guide
Mask Individual Characters
To mask an individual character, insert a line following the record with the <S01> script
tag (Figure 5-24). On the inserted line, type the letter I below each character to be
ignored. This masks these specific characters on this screen row during playback.
Figure 5-24. Mask Individual Characters
EDIT ---- HPER.RECBIG.DATA6(REC1) - 00.02 ------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> CSR
000005 <VERSION>5
000006 <OUTPUT>0000001
000007 <RESPONSE>00.00.002
000008 <S01> ***USR2312
WELCOME TO CICS/MVS *** 10:11:42
’’’’’’
IIIIIIII
000009 <S02>
Mask Hexadecimal Characters
To mask hexadecimal characters, insert a line following the record with the <HEX> script
tag. On the inserted line, type the letter I below the hex half of each byte to be masked.
You must also mask the corresponding character-based comments in the <HEX> record
by placing the letter I below each of those characters (Figure 5-25).
Figure 5-25. Mask Hexadecimal Characters
EDIT ---- HPER.RECBIG.DATAH(REC1) - 00.02 ------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> CSR
000005 <VERSION>7
000006 <OUTPUT>0000001
000007 <RESPONSE>00.00.002
000008 <HEX>"C1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7"
*/ ABCDEFGHIJKLMNOP /*
’’’’’’
II
II
I
I
This example masks the marked characters of both the hexadecimal (C1 and C5) portion
in quotes and the character (A and E) portion of the record during playback. When
<HEX> records are compared, both the hexadecimal and character-comment portions are
compared.
Mask Characters Globally
Often, fields such as user ID, terminal ID, or date and time appear in the same area of the
screen. To mask these fields, you can put a masking tag for each screen in the script. With
this global masking technique, you can mask the fields in the beginning of the playback
script. Hiperstation for VTAM retains the masked status of the screen area throughout
playback.
You can activate global masking by typing the letter G (Global) as the masking script tag
instead of the letter I (Ignore). To mask an entire line of data, shift the line over one
character and place the G in front of the left angle bracket character (<) (Figure 5-26).
This tag masks the entire row of this and all subsequent screens during playback.
Online Testing of 3270 Applications
5-19
Figure 5-26. Globally Mask an Entire Line of Data
EDIT ---- HPER.RECBIG.DATA6(REC1) - 00.03 ------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> CSR
000005 <VERSION>6
000006 <OUTPUT>0000001
000007 <RESPONSE>00.00.002 
000008 G<S01> ***USR2312
WELCOME TO CICS/MVS *** 10:11:42 
000009 <S02>
For example, to mask the entire first row of each of the first four screens in the script,
reset the global mask on the fifth screen.
The global mask remains in effect for the duration of your session. To reset the mask,
shift the line over one character, then place the letter X as the masking tag in front of the
< character of the script tag (Figure 5-27). This removes the global masking of screen row
1.
Figure 5-27. Reset the Line of Data
EDIT ---- HPER.RECBIG.DATA6(REC1) - 00.01 ------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> CSR
000135 <OUTPUT>0000005
000136 <RESPONSE>00.00.010 
000137 X<S01> BROWSE HAS ENDED NORMALLY. READY FOR NEXT TRANSACTION: 
000138 <S02>
Similarly, you can globally mask the individual characters of screen row 1 by using Gs
instead of Is, as described in “Mask Individual Characters” on page 5-18. This masks
those specific columns of screen row 1 on that and all subsequent screens in the script
until the mask is reset using Xs.
Reset All Masks
To reset all masks stored in Hiperstation for VTAM’s mask buffer, type XMASK on the
Command line and press Enter. When you perform multiple consecutive playback
sessions, the XMASK command eliminates the need to manually reset masks that do not
apply to the next playback.
Online Row Masking
Another masking approach is to use the MASK primary command when you record or
dub a script. The MASK command displays a screen in which you can type the ignore (I),
global (G), and reset (X) characters directly on the screen image. When you initially
record the REC1 script, you can enter the MASK primary command (Figure 5-28).
Figure 5-28. Mask Command
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> mask
SCROLL ===> HALF
Recording REC1 Play OFF Journal OFF Compare Log OFF Autodoc OFF
***USR2312
WELCOME TO CICS/MVS *** 10:11:42
The mask screen shows the current screen image. To mask the time stamp on the CICS
welcome screen, move the cursor over the time stamp and enter a string of I’s (Figure 529).
Enter the END command to exit the screen and save the updated masks. Enter CANCEL
to exit the screen without saving the masks.
5-20
Hiperstation for VTAM User Guide
Figure 5-29. Mask with a String of Lower Case i’s


------------------ Hiperstation * UPDATE COMPARISON MASKS ------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
Scrn# 0000001 Mask Definitions, Cmds: CANcel, END
***USR2312
WELCOME TO CICS/MVS *** iiiiiiii
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
IIII
II
II
II
II
II
II
IIII
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS
***
***
MMM
MMM
MMMM MMMM
MM MMMM MM
MM MM MM
MM
MM
MM
MM
MM
MM
MMMM
MMMM
VVV
VVV
VV
VV
VV
VV
VV
VV
VV
VV
VV VV
VVV
V
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS 
The online masking screen accepts all of the row mask characters. To remove a mask,
blank out the masking characters. The underlying screen characters reappear. If the
screen image contains a character identical to a mask character, simply enter the mask
character in the opposite case of the letter on the screen. For example, to mask the word
Iteration on the screen, enter iiiiiiIii as shown below.
Iteration
iiiiiiIii
Hiperstation does not record the screen and masks until you enter data to be sent to the
actual domain destination. Therefore, you can enter and exit the mask screen multiple
times on the same domain destination screen.
Generic Masking of Output Data
Generic masking allows suppression of data that appears in formats specified by a picture
type mask. The masks can be specified in an ISPPLIB member named GENMASK.
You can mask online by specifying a dataset that contains fixed-length, 80-byte records.
Allocate this dataset to your session with a file name of HPERPMSK. To do this, use the
TSO ALLOC command. For example:
TSO ALLOC FI(HPERPMSK) DA(VP.SCRIPTS(MASK)) SHR
The specified dataset (DA in the previous example) can be either a sequential file or a
partitioned dataset (PDS). If you use a PDS, enclose the member name in parentheses.
Note:
If Hiperstation for VTAM is installed with ISPF LIBDEF as described in the
Hiperstation Installation Guide, you cannot use the generic mask member. Instead,
use the TSO ALLOC technique and set LRECL=80 and BLKSIZE=6160.
In addition, you can add the generic masks to individual scripts using the <MASK> script
tag. The <MASK> record must contain a literal within single or double quotes or a
picture-string.
To mask using a batch job, see “Prepare JCL” on page 7-2.
Generic Masking Examples
Following is the sample set of masks located in SQQFPENU member GENMASK.
Notes:
1. These masks are provided in comment form. Activate them by moving the /*
characters to precede the true comment. The mask must start in column 1.
2. You can use only REXX comments within the dataset, not Assembler comments.
Online Testing of 3270 Applications
5-21
Sample Generic Masks
/*
Hiperstation SAMPLE
/*
GENERIC MASKS
/*
99:99
/* ELIMINATE TIME
99/99/99
/* ELIMINATE DATES OF THE NUMERIC TYPES
99 XXX 99
/* ELIMINATE THE CICS TYPE DATES
*/
*/
*/
*/
*/
*/
In the sample generic mask, the following picture-strings apply:
• Code one (1) space between each command and its value.
<WAIT> 1,60 WTO "Hello"
• Commands must be in all capital letters.
• No parentheses are needed around values (see above example).
• A nine (9) specifies a numeric character.
• An X specifies an alphabetic character.
• Use an asterisk (*) to designate a wildcard character. This can also be used to mask
attributes.
• Non-alpha specifies a special character. Non-alphanumeric characters are those not
included in the characters A – Z or 0 – 9.
• A space specifies a space character separating other picture elements.
Other Generic Masking Examples
1. Mask all dates in row 1, column 60:
<MASK>(1,60)
99/99/99
(1,60) 99/99/99
(Generic mask added to script)
(Generic mask using LIBDEF or PDS)
2. Mask the date in row 1, column 60 when row 5, column 10 contains ACME ORDER
ENTRY:
<MASK>(1,60) 99/99/99 AND
<MASK>(5,10) ’ACME ORDER ENTRY’
(Generic mask added to script)
3. Ignore all mismatches on screens with TEST in row 1, column 72 and TEST anywhere
in row 24:
<MASK>(1,72)
<MASK>(24,*)
’TEST’ SKIP AND
’TEST’
4. Mask any occurrence of the picture 99 XXX 99:
(e.g. 92 JAN 22)
<MASK> 99 XXX 99
5. Mask 8 characters at row 5, column 60 on screens with EDIT in row 1, column 3 and
PRODUCTION anywhere in row 23:
<MASK>(5,60) XXXXXXXX AND
<MASK>(1,3) ’EDIT’ AND
<MASK>(23,*) ’PRODUCTION’
6. Mask a number in row 3, column 60 where the number is in the format: N,NNN.NN.
<MASK>(3,60) 9’,’999.99
5-22
Hiperstation for VTAM User Guide
Dubbing Scripts
Dubbing is when you record one script while playing back another. You can use dubbing
to:
•
•
•
•
•
Combine multiple scripts into one.
Update an existing script with new screen images.
Add transactions to the end or middle of a script.
Update an existing script with new or additional inputs.
Remove transactions from a script.
Dubbing copies row masks and generic masks from the old script to the new script,
however, encrypted fields will not be encrypted in the new script. You can use online
masking during dubbing to add or delete masks. Hiperstation for VTAM comments are
also copied during the dubbing.
Note:
REXX statements in the original script are not copied, but the dubbed script
contains all transactions initiated via the REXX statements (for example, the
script statements resulting from the REXX statements).
You can control online dubbing in two ways:
• Explicitly using RECORD and PLAY commands.
• Implicitly using the Dubbing field on the Play Setup screen.
Note:
You can also dub using batch processing. See Chapter 7, “Unattended Playback,
Dubbing, and Comparison for 3270 and LU0 Scripts” for information.
Explicit Dubbing
With explicit dubbing, you record a new script while playing back another script. This
section provides two examples of explicit dubbing. The first adds a transaction to the end
of a script. The second inserts new transactions in the middle of a script.
Add to the End of a Script
In this scenario, you add transactions to the REC1 script you created earlier.
1. The REC1 script started at the CICS welcome screen, so you first need to exit and
reconnect to your domain destination.
2. The Domain Traveler entry screen again shows the CICS welcome screen. Type
RECORD on the Command line and press Enter.
Figure 5-30. Explicit Dubbing — Add a Transaction — Screen 1


ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> RECORD
SCROLL ===> HALF
Record OFF Play OFF Journal OFF Compare Log OFF Autodoc OFF
***USR2312
WELCOME TO CICS/MVS *** 09:24:53
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
IIII
II
II
II
II
II
II
IIII
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS
***
***
MMM
MMM
MMMM MMMM
MM MMMM MM
MM MM MM
MM
MM
MM
MM
MM
MM
MMMM
MMMM
VVV
VVV
VV
VV
VV
VV
VV
VV
VV
VV
VV VV
VVV
V
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS 
Online Testing of 3270 Applications
5-23
3. Fill in the recording information for the new script on the Recording Setup screen
(Figure 5-2 on page 5-2). For the membername of the script dataset, type REC2. Press
Enter.
The Domain Traveler entry screen now shows that you are recording REC2 (Figure 531).
Figure 5-31. Explicit Dubbing — Add a Transaction — Screen 2


ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> PLAY
SCROLL ===> HALF
Recording REC2
Play OFF Journal OFF Compare Log OFF Autodoc OFF
***USR2312
WELCOME TO CICS/MVS *** 09:24:53
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
IIII
II
II
II
II
II
II
IIII
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS
***
***
MMM
MMM
MMMM MMMM
MM MMMM MM
MM MM MM
MM
MM
MM
MM
MM
MM
MMMM
MMMM
VVV
VVV
VV
VV
VV
VV
VV
VV
VV
VV
VV VV
VVV
V
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS 
4. Type PLAY on the Command line and press Enter.
5. Fill in the playback information on the Play Setup screen (Figure 5-9 on page 5-6).
Choose to play the REC1 script interactively (PLAY/THINK TIME option 1) and
ignore all mismatches (COMPARISON option 4).
6. Press Enter.
The status line of the Domain Traveler entry screen (Figure 5-32) shows that you are
recording REC2 and playing REC1. The CLEAR command appears on the Command
line, indicating that the CLEAR key will be sent to CICS.
Figure 5-32. Explicit Dubbing — Add a Transaction — Screen 3
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> CLEAR
SCROLL ===> HALF
Recording REC2 Playing REC1 Journal OFF Compare Log OFF Autodoc OFF
***USR2312
WELCOME TO CICS/MVS *** 09:24:53
7. Step through the REC1 script just as you did in “Playback” on page 5-7. All of the
transactions in the REC1 script are being recorded into the new script REC2. When
REC1 finishes, playback ends (the status line shows Play OFF), but the recording
remains active.
8. Now enter additional transactions, which are added to REC2.
9. When you finish with the new transactions, type STOP or R OFF on the Command
line and press Enter. Recording ends and the status line shows Record Off.
REC2 now contains the original transactions of REC1, plus the ones you just entered.
Inserting in the Middle of a Script
In this scenario, instead of adding the new transactions to the end of the script, you will
insert them somewhere in the middle. In addition, you want to remove the PF1 (Help)
request from the CEBR transaction. Dubbing can accomplish this using the PAUSE,
RESUME, and SKIP primary commands.
1. Set up dubbing on the Recording Setup and Play Setup screens as you did in step 3
through step 5 of “Add to the End of a Script” on page 5-22. This time, however,
name the new script REC3.
5-24
Hiperstation for VTAM User Guide
After you enter the playback setup information, the status line of the Domain
Traveler entry screen (Figure 5-33) shows that you are recording REC3 and playing
REC1. The Command line shows that the CLEAR key will be sent to CICS.
Figure 5-33. Explicit Dubbing — Insert a Transaction — Screen 1
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> CLEAR
SCROLL ===> HALF
Recording REC3 Playing REC1
Journal OFF Compare Log OFF Autodoc OFF
2. Press Enter to clear the CICS screen.
The screen clears and the script fills in the CEBR transaction ID (Figure 5-34). The
Command line shows that the Enter key will be sent to CICS.
Figure 5-34. Explicit Dubbing — Insert a Transaction — Screen 2
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> ENTER
SCROLL ===> HALF
Recording REC3 Playing REC1 Journal OFF Compare Log OFF Autodoc OFF
CEBR
Now suppose that instead of entering the CEBR transaction, you want to enter the
CEMT transaction. At this point, you need to pause the REC1 script. The PAUSE
command specifies that the script is no longer in control of the session.
3. Overtype ENTER on the Command line with PAUSE and press Enter.
The status line of the Domain Traveler entry screen now shows that the REC1 script
is paused (Figure 5-35). The script remains paused until you enter the RESUME
primary command.
Figure 5-35. Explicit Dubbing — Insert a Transaction — Screen 3
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
Recording REC3 PAUSED REC1 Journal OFF Compare Log OFF Autodoc OFF
CEBR
4. To enter the CEMT transaction, overtype CEBR with CEMT and press Enter.
The CEMT transaction is now recorded in the REC3 script ahead of the CEBR
transaction. You can enter additional commands to CEMT or enter a new transaction.
Each transaction is recorded in REC3 ahead of the original CEBR transaction.
To resume playing REC1, you first need to reset the screen as it was when the PAUSE
command was issued.
5. To reset the screen, press End and enter the CLEAR primary command to clear the
CICS screen. Retype the CEBR transaction. Then type RESUME on the Command
line and press Enter.
The Domain Traveler entry screen now shows that you have resumed playing REC1
(Figure 5-36).
Online Testing of 3270 Applications
5-25
Figure 5-36. Explicit Dubbing — Insert a Transaction — Screen 4
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> ENTER
SCROLL ===> HALF
Recording REC3 Playing REC1 Journal OFF Compare Log OFF Autodoc OFF
CEBR
6. Press Enter to transmit this data to CICS.
The CICS BROWSE screen (Figure 5-37) appears. PF1 appears on the Command line
indicating a request for help information.
Figure 5-37. Explicit Dubbing — Insert a Transaction — Screen 5


ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> PF1
SCROLL ===> HALF
Recording REC3 Playing REC1 Journal OFF Compare Log OFF Autodoc OFF
CEBR
TS QUEUE CEBRH104 RECORD
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>
************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE *****************************
TEMPORARY STORAGE QUEUE CEBRH104
IS EMPTY
PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE
7. Use the SKIP command to remove this transaction from the dubbed script. SKIP has
two functions depending on which screen you are on. If you are on an interactive
playback screen, SKIP:
a. Discards the current input (on the screen),
b. Ignores the next output, and
c. Fills in the screen with the next input.
If you are on a miscompare screen, SKIP:
a. Discards the current output screen (the current expected screen),
b. Ignores the next input,
c. Retrieves the next output screen,
d. Compares it to the actual screen, and
e. Reacts to the compare normally.
To SKIP, overtype PF1 on the Command line with SKIP and press Enter.
To continue after using SKIP on a miscompare screen, type GO on the Command line
and press enter.
PF3 appears on the Command line, which was the next transaction in the script. You
can now finish playing the script.
Figure 5-38. Explicit Dubbing — Insert a Transaction — Screen 6
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> PF3
SCROLL ===> HALF
Recording REC3 Playing REC1 Journal OFF Compare Log OFF Autodoc OFF
CEBR
TS QUEUE CEBRH104 RECORD
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>
************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE *****************************
5-26
Hiperstation for VTAM User Guide
8. When the script is complete, type STOP or R OFF on the Command line and press
Enter to stop the REC3 script. Hiperstation for VTAM shows the message: BROWSE
HAS ENDED NORMALLY.
REC3 now contains the CEMT transaction followed by the CEBR transaction.
You can use PAUSE and RESUME many times within a dubbing session to insert as many
transactions in as many places as required.
Implicit Dubbing
Implicit dubbing creates a new version of an existing script. You can add transactions to
the new script, change the inputs and update the masks. Implicit dubbing does not allow
you to combine multiple scripts into one because dubbing ends when the script ends.
You activate implicit dubbing on the Play Setup screen. Type Y in the Dubbing field to
turn recording on when you start playback. A new script is automatically created as you
play the original script. Type C (change only) in this field to turn on a background
recording. This recording is saved only if the original script encounters a mismatch
during a playback session.
Note: Implicit and explicit dubbing are mutually exclusive. You cannot activate change
only dubbing and also attempt to use the RECORD command to start a recording
session or the Domain Traveler will issue a warning message.
Now, we will step through implicit dubbing using the REC1 script. Note that our previous
dubbing session ended with the BROWSE HAS ENDED NORMALLY message.
1. To begin dubbing, type PLAY on the Command line and press Enter.
2. On the Play Setup screen, set the Dubbing field to Y (Figure 5-9 on page 5-6) and
press Enter.
Because you requested that a new script be dubbed, the Recording Setup screen
appears (Figure 5-2 on page 5-2).
3. Type REC4 as the member for the Recording File Name and press Enter.
Playback starts with a mismatch. The Actual screen appears (Figure 5-39) with the
message: BROWSE HAS ENDED NORMALLY.
Figure 5-39. Implicit Dubbing, Screen 1
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
Scrn# 0000001 is: ACTUAL
, Cmds: Actual, Delta, DIffer, Expected, Go, Mask
BROWSE HAS ENDED NORMALLY. READY FOR NEXT TRANSACTION:
4. Type E on the Command line and press Enter to view the expected screen.
The Expected screen (Figure 5-40) shows the CICS welcome message. Recall that the
original script was recorded from the CICS welcome screen. The mismatch occurred
because the script was not started from the same screen!
Online Testing of 3270 Applications
5-27
Figure 5-40. Implicit Dubbing, Screen 2


ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===>
SCROLL ===> HALF
Scrn# 0000001 is: EXPECTED
, Cmds: Actual, Delta, DIffer, Go, Mask, Save
***USR2312
WELCOME TO CICS/MVS *** 08:31:57
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
IIII
II
II
II
II
II
II
IIII
CCC
CCCCC
CC CC
CC
CC
CC CC
CCCCC
CCC
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS
***
***
MMM
MMM
MMMM MMMM
MM MMMM MM
MM MM MM
MM
MM
MM
MM
MM
MM
MMMM
MMMM
VVV
VVV
VV
VV
VV
VV
VV
VV
VV
VV
VV VV
VVV
V
SSS
SSSSS
SS SS
SS
SS
SS SS
SSSSS
SSS 
You can correct this problem by using the SAVE command. The SAVE command saves
the original or expected screen in the dubbed script. In this case, the CICS welcome
screen records REC4 instead of the screen showing the BROWSE HAS ENDED
NORMALLY message.
Note:
You can use the SAVE command in both implicit and explicit dubbing.
5. Type SAVE on the Command line and press Enter.
The Domain Traveler entry screen (Figure 5-41) shows you are recording REC4 and
playing REC1. CLEAR appears on the Command line, indicating that the CLEAR key
will be sent to CICS.
Figure 5-41. Implicit Dubbing, Screen 3
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> CLEAR
SCROLL ===> HALF
Recording REC4
Playing REC1
Journal OFF Compare Log OFF autoDoc OF
BROWSE HAS ENDED NORMALLY. READY FOR NEXT TRANSACTION:
6. From this point, you can continue to play the REC1 script. When the REC1 script
ends, the recording also ends.
The REC4 script now contains a new version of REC1.
The change only dubbing option, selected by typing C in the Dubbing field on the Play
Setup screen works just like the above procedure, but recording occurs in background
mode (Figure 5-9 on page 5-6). This means that the status line indicates that recording is
off. The new script is saved only if a mismatch occurs during a playback session.
Dub Function Commands
PAuse
Temporarily interrupts the dub function.
RESume
Resumes a paused dub function.
SAVE
Saves the original or expected screen in the dubbed script rather than the actual
screen.
SKIP
SKIP has two functions depending on which screen you are on. If you are on an
interactive playback screen, SKIP:
5-28
Hiperstation for VTAM User Guide
1. Discards the current input (on the screen).
2. Ignores the next output.
3. Fills in the screen with the next input.
If you are on a miscompare screen, SKIP:
1. Discards the current output screen (the current expected screen).
2. Ignores the next input.
3. Retrieves the next output screen.
4. Compares it to the actual screen.
5. Reacts to the compare normally.
To continue after using SKIP on a miscompare screen, type GO on the Command line
and press Enter.
Editing Scripts
You can edit recorded Hiperstation for VTAM scripts using the ISPF edit function. Editing
allows you to:
• Add comments or notes to the script to enable easy identification.
• Perform masking operations.
• Add REXX statements to extend the functionality of the script.
Comments are added to the script by placing an asterisk in column 1 of a record. Do not
comment any of the tagged records of the script since this can yield undesirable results.
Masking allows you to instruct Hiperstation to ignore certain portions of the output
screen when performing comparison operations. See “Masking Script Information” on
page 5-16 for more information.
Note: Unless the application produces two consecutive outputs, be sure edited scripts do
not contain two consecutive outputs.
Figure 5-42 illustrates an ISPF edit session of a sample script.
Figure 5-42. Edit a Recorded Script
EDIT ---- HPER.RECBIG.DATA6(REC1) - 00.00 -------------------- COLUMNS 001 072
COMMAND ===>
SCROLL ===> PAGE
000064 <INPUT>0000003
000065 <THINK>00.26.762 AT 10:14:22
000066 <KEY>ENTER
000067 <CURSOR>00,04
000068 <I01>"CEBR"
000069 </INPUT>
000070 <OUTPUT>0000003
000071 <RESPONSE>00.01.415
000072 <S01> CEBR
TS QUEUE CEBRH104 RECORD
1 OF
0
COL
000073 <S02> ENTER COMMAND ===>
000074 <S03>
************************** TOP OF QUEUE ******************
000075 <S04>
************************* BOTTOM OF QUEUE ****************
Script File Format
For ease of use and data manipulation, script data is recorded in a dataset. Some terminal
control characters are recorded in the dataset. During edit, these control characters can
Online Testing of 3270 Applications
5-29
cause a caution message to appear, which states that the data contains invalid (nondisplay) characters. Ignore this message.
All records in a script begin with a script tag except comments, which begin with an
asterisk (*). Script tags consist of a left bracket (<), a right bracket (>), and the characters
between the brackets. These tags specify the type of data that follows. Data in the
recorded script falls into three basic categories: control, input, and output. Use the
following script tags to divide categories of data:
<INPUT> and </INPUT>
Specifies the beginning and ending of the current input data group.
<OUTPUT> and </OUTPUT>
Indicates the beginning and ending of the current output data group.
Note: The number immediately after <INPUT> and <OUTPUT>, such as 0000003 on line
000064 and 70 in Figure 5-42, is the input and output sequence number,
respectively.
Within the input and output data groups, script tags indicate which PF key was used, the
data entered, and in what field it was entered. In the output groups, the data recorded
includes the response time and the screen output data.
See Appendix B, “Hiperstation Script Tags” for a detailed description of the Hiperstation
script tags. The tags described in this appendix include Control script tags, Input and
Output script tags, and the Individual Character Mask script tag. Also described are the
Edit Function commands.
5-30
Hiperstation for VTAM User Guide
6-1
Chapter 6.
3270 Unattended Processing
Chap 6
Hiperstation for VTAM offers unattended playback, dubbing, and comparison for batch
testing 3270 and LU0 applications. These functions require unattended processing
statements and JCL to run the unattended statements. Hiperstation for VTAM also offers
a facility that generates these statements and the necessary JCL for you.
This chapter explains how to use Unattended Processing to generate the CONTROL,
GROUP, SCRIPT, COMPARE, COMPANY, DUBTITLE, CACHEINCL, and CACHEXCL
statements.
It also explains how to build the JCL necessary for running the unattended mode
statements. Chapter 7, “Unattended Playback, Dubbing, and Comparison for 3270 and
LU0 Scripts” explains how to run an unattended mode function, describes unattended
mode statements, and provides JCL examples for common unattended testing functions.
Note:
If you are licensed for Hiperstation for Mainframe Servers you can also generate
APPC statements from the Unattended Processing Facility in Hiperstation for
Mainframe Servers and append APPC statements to previously generated 3270
statements or vice versa. For detailed information on generating APPC
statements, refer to the Hiperstation for Mainframe Servers User Guide.
Starting Unattended Processing
1. Start unattended processing by selecting option 7 Unattended Processing on the
Hiperstation for VTAM Main Menu (Figure 3-1 on page 3-1). The Hiperstation *
Generate Unattended Statements screen appears (Figure 6-1).
Figure 6-1. Hiperstation * Generate Unattended Statements Screen
------------------ Hiperstation * Generate Unattended Statements --------------
Command ===>


What to generate:

1. Generate Statements for Unattended 3270

2. Generate Statements for Unattended APPC


Enter "/" to select options

Add several script statements

Append new Log to end of an existing Log

(Add control cards generated in this execution to the end

of those created via a previous execution)


Enter END command to return to the Main Menu.

2. To add script statements to the end of existing unattended playback statements or
append unattended playback statements to an existing file, enter a slash (/) in the
corresponding field. Choices include:
– Add several script statements
– Append new Log to end of an existing Log
Note:
Use the append feature to run both APPC and 3270 playbacks in the same
unattended run.
6-2
Hiperstation for VTAM User Guide
3. Press Enter to continue or END to return to the previous screen.
Generating 3270 Unattended Statements
To generate unattended processing statements for 3270, select option 1 Generate
Statements for Unattended 3270 on the Generate Unattended Statements screen (Figure
6-1). Figure 6-2 appears.
Figure 6-2. Generate Statements for Unattended 3270 Screen
---------------- Hiperstation * Generate 3270 Unattended Statements -----------
Command ===>


What to generate:

1. Select the 3270 unattended statements you wish to generate

2. Generate 3270 unattended statements for each

member in the script dataset

3. Generate 3270 unattended statements using a

standard script profile


Enter END command to return to the previous panel

Note:
See the online help for a description of the primary commands available on this
and all lower-level screens accessed from the Generate Statements for
Unattended 3270 screen.
Generate Statements for Unattended 3270 Options
The options in Figure 6-2 help you with three primary functions.
1. Specify the type of unattended statements you want to generate. Choices include:
– Option 1 — Use this option to select which statements to generate. You then
navigate various screens to generate unattended playback statements. For more
information, see “Defining Unattended Statement Parameters” on page 6-3.
– Option 2 — Use this option to:
• define a script dataset and generate unattended statements for all scripts in
that dataset
• perform a mass generation
Hiperstation for VTAM then generates unattended playback statements based on
the datasets you chose. For more information, see “Building Unattended
Statements and JCL” on page 6-10.
– Option 3 — Use this option to:
• restrict the generation of unattended playback statements to a subset of the
scripts contained in a specific dataset
• narrow statement generation based on domain destination or script prefix
• include preprocessing and postprocessing scripts, allowing you to
“sandwich” each of your scripts between up to five preprocessing and
postprocessing scripts
For more information, see “Restricting Script Datasets” on page 6-12.
2. Press Enter to continue or END to return to the previous screen.
3270 Unattended Processing
6-3
Defining Unattended Statement Parameters
To set parameters for generating statements, select option 1 Select the 3270 unattended
statements you wish to generate on the Generate 3270 Unattended Statements menu.
The Hiperstation * 3270 Statement Generation Parameters menu appears (Figure 6-3).
Figure 6-3. 3270 Statement Generation Parameters Menu
--------------- Hiperstation * 3270 Statement Generation Parameters -----------
Command ===>



Select the 3270 Statement type you wish to

include in your unattended job

1. CONTROL Statement parameters

2. GROUP
Statement parameters

3. SCRIPT Statement parameters

4. COMPARE Statement parameters

5. COMPANY and DUBTITLE Statement parameters

6. CACHINCL and CACHEXCL Statement parameters


Enter END command to return to previous panel

On this screen, you can select the type of 3270 unattended playback statement you want
to define or modify.
Select one of the statement types listed and press Enter to continue. The appropriate
statement parameter screen appears for the type you selected.
Hiperstation saves the information you enter, and uses it when you request generation of
unattended mode statements and JCL. You can also modify your unattended statement
parameters before generating your statements (for example, control cards) and JCL. For
example, you might choose to define CONTROL information first, and then GROUP
information or vice versa. The sequence in which you define the statements has no effect
on generation.
Most entries — such as CACHEOFF, REXXOFF, KEY2, and COMPARE — are retained from
session to session. Dubbing information and requests for unattended compare are NOT
retained from session to session and must be entered each time.
The remainder of this chapter describes the statement types and how to build unattended
statements and JCL.
CONTROL Statement Parameters
1. Select option 1 CONTROL Statement parameters on the 3270 Statement Generation
Parameters menu (Figure 6-3) to set CONTROL statement parameters.
The 3270 CONTROL Statement Parameters screen appears (Figure 6-4).
6-4
Hiperstation for VTAM User Guide
Figure 6-4. 3270 CONTROL Statement Parameters Screen
----------------- Hiperstation * 3270 CONTROL Statement Parameters ----------
Command ===>
Connection Information:
Prefix. . . . . . . EHPR
Suffix. . . . . . . 4
Bind. . . . . . . . 1500
Dubbing Information:
Dub Library . . . .
Dub Dataset . . . .
Dub Dark Masks? . .
Documentation Generation Options:
MSGFORM . . . . . . N
MSGLEVEL(2) . . . . Y
Timing Options:
Appl Time Out(KEYU) 5555
Second Write Wait . 25
Processing Options:
Volume. . . . . . .
Unit Name . . . . .
Use (R,C) Format? . Y
Dub Logname. . . .
Use MM/DD/YY?. . . Y
IMS Time Out(KEY2) 2500
Use Start Time?. . Y
Caching? . . . . . N
Using REXX?. . . . Y
Apply Dark Masks?.
Enter END command to return to the previous panel
Replace






















Use this screen to alter the default settings for 3270 CONTROL statements. You can
modify or add parameters by entering information into or changing fields. Press
Enter without entering a command to validate the current entries and remain on this
screen.
For detailed parameter descriptions, see “CONTROL Statement” on page 7-7, or press
the Help key for a brief description of each parameter.
2. Press END to continue.
GROUP Statement Parameters
1. Select option 2 Group statement parameters on the 3270 Statement Generation
Parameters menu (Figure 6-3 on page 6-3) to set GROUP statement parameters. The
3270 GROUP Statement Parameters screen appears (Figure 6-5).
Figure 6-5. 3270 GROUP Statement Parameters Screen
------------------ Hiperstation * 3270 GROUP Statement Parameters -------------
Command ===>


Choose the GROUP Statement parameters you wish to include

1. Connection information includes:

Application, Logmode, Logon Data,

Keyboard Reset Ignore and number of terminals

2. Documentation Generation includes:

Journal, Trace, Log/Xlog, REXX Log,

Compare Options, Summary and One Log

3. Timing Options includes:

Logon Delay, Start Delay, Think Time,

Think Time Percent, Synchronize,

All Sync and Time Sync

4. Dubbing information includes:

Dub Library, Dub Log Name and Dub Member


Enter END Command to return to the previous panel

Use this screen to alter the default settings for 3270 GROUP statements. Parameters
for the GROUP statement are divided into four categories:
–
–
–
–
connection
documentation
timing
dubbing
3270 Unattended Processing
6-5
2. Enter the appropriate option for the category of parameters you want to define.
Parameter settings, with the exception of dubbing information, are saved in your
profile and retained from session to session.
3. Enter the END command to continue.
Connection GROUP Statement Parameters
1. Select option 1 Connection information on the 3270 GROUP Statement Parameters
menu (Figure 6-5) to define GROUP Connection parameters. The 3270 GROUP
Connection Parameters screen appears (Figure 6-6).
Figure 6-6. 3270 GROUP Connection Parameters Screen
----------------- Hiperstation * 3270 GROUP Connection Parameters -------------
Command ===>


Application . . . . . . . CICSTEST

Terminals . . . . . . . . 1

TermID
. . . . . . . .

Repeat. . . . . . . . . . 1

Logmode . . . . . . . . .

Ignore KB Reset . . . . . N

IMS KB Unlock (optional).

Send initial datastream . N

Double Byte Character Set N

Logon Data. . . . . . . .

Script Read Ahead Option. Y

Use Application Profiling N
Application Profile ID. . DF


Other GROUP Statement Parameters==>

1. Connection parameters

2. Documentation parameters

3. Timing parameters

4. Dubbing parameters


Enter END command to return to the previous panel

Use this screen to alter the default settings for 3270 Connection GROUP statements.
You can modify or add parameters by entering information into or changing fields.
2. Press Enter without entering a command or selecting an option in the Other GROUP
Statement Parameters field to validate the current entries and remain on this screen.
3. Select an option in the Other GROUP Statement Parameters field and press Enter to
navigate directly to one of the other GROUP parameters screens. Hiperstation for
VTAM validates the current entries and then shows the selected screen.
For detailed parameter descriptions, see “GROUP Statement” on page 7-11, or press
the Help key for a brief description of each parameter.
4. Press End to continue.
Documentation GROUP Statement Parameters
1. Select option 2 Documentation Generation on the 3270 GROUP Statement
Parameters menu (Figure 6-5 on page 6-4) to define GROUP Documentation
Parameters. The 3270 GROUP Documentation Parameters screen appears (Figure 6-7).
6-6
Hiperstation for VTAM User Guide
Figure 6-7. 3270 GROUP Documentation Parameters Screen



Journal . . 'VP.QA.BATCH.JOURN'

Summary . . 'VP.QA.BATCH.SUMMRY'

REXX Log. . 'VP.QA.BATCH.REXX'

Log Dataset 'VP.QA.BATCH.LOG'

Type of Logging==> 1 (1 = Log, 2 = Xlog )
One Log. . . N

Trace . . . 'VP.QA.BATCH.TRACE'
VTAM? Y 
Auto Doc. . 'VP.QA.BATCH.DOC'

Type of Print==> N (P = Std, D = DCF, N = None) Box? . . . .

Type of Doc ==> O (O = Output, I = Input, B = Both)


Comparison Options==> 2

1. Stop on any compare check
2. Stop on alpha differences

3. Stop only on field number mismatches 4. Ignore all compare differences


Ignore Numeric Differences. N
Lastonly . . N


Other GROUP Statement Parameters==>

1. Connection parameters
2. Documentation parameters

3. Timing parameters
4. Dubbing parameters


Enter END command to return to the previous panel

---------------- Hiperstation * 3270 GROUP Documentation Parameters --------Command ===>
Use this screen to alter the default settings for 3270 Documentation GROUP
statements. You can modify or add parameters by entering information into or
changing fields.
2. Press Enter without entering a command or selecting an option in the Other GROUP
Statement Parameters field to validate the current entries and remain on this screen.
3. Select an option in the Other GROUP Statement Parameters field and press Enter to
navigate directly to one of the other GROUP parameters screens. Hiperstation for
VTAM validates the current entries and then shows the selected screen.
For detailed parameter descriptions, see “GROUP Statement” on page 7-11, or press
the Help key for a brief description of each parameter.
4. Press End to continue.
Timing GROUP Statement Parameters
1. Select option 3 Timing Options on the 3270 GROUP Statement Parameters menu
(Figure 6-5 on page 6-4) to define GROUP Timing Parameters. The 3270 GROUP
Timing Parameters screen appears (Figure 6-8).
Figure 6-8. 3270 GROUP Timing Parameters Screen
------------------- Hiperstation * 3270 GROUP Timing Parameters -------------
Command ===>
Logon Delay. . . . . . . . 33
Start Delay. . . . . . . . _______
Time Sync. . . . . . . . . N
Start Time . . . . . . . . __________________________
Standard Wait Time . . . . ________ Max Wait Time. . . . ________
Synchronization Options==> 1
1. None
2. Sync within Group
3. Sync across Groups
Think Time Option==> 1
1. Play at full speed
2. Think time recorded on script
3. User-specified think time
Think Time(mm,ss) ____ , ____
Think Time Percent ____
Other GROUP Statement Parameters==> _
1. Connection parameters
2. Documentation parameters
3. Timing parameters
4. Dubbing parameters
Enter END command to return to the previous panel





















3270 Unattended Processing
6-7
Use this screen to alter the default settings for 3270 Timing GROUP statements. You
can modify or add parameters by entering information into or changing fields.
2. Press Enter without entering a command or selecting an option in the Other GROUP
Statement Parameters field to validate the current entries and remain on this screen.
3. Select an option in the Other GROUP Statement Parameters field and press Enter to
navigate directly to one of the other GROUP parameters screens. Hiperstation for
VTAM validates the current entries and then shows the selected screen.
For detailed parameter descriptions, see “GROUP Statement” on page 7-11, or press
the Help key for a brief description of each parameter.
4. Press End to continue.
Dubbing GROUP Statement Parameters
1. Select option 4 Dubbing information on the 3270 GROUP Statement Parameters
menu (Figure 6-5 on page 6-4) to define GROUP Dubbing Options. The 3270 GROUP
Dubbing Options screen appears (Figure 6-9).
Figure 6-9. 3270 GROUP Dubbing Options Screen
-------------------- Hiperstation * 3270 GROUP Dubbing Options ----------------
Command ===>


Dub Library

Dub Logname
Replace Log?. .

Dub Member
Replace Member?


Dub Dataset


Other GROUP Statement Parameters==>

1. Connection parameters

2. Documentation parameters

3. Timing parameters

4. Dubbing parameters


Enter END command to return to the previous panel

Use this screen to alter the default settings for 3270 Dubbing GROUP statements. You
can modify or add parameters by entering information into or changing fields.
2. Press Enter without entering a command or selecting an option in the Other GROUP
Statement Parameters field to validate the current entries and remain on this screen.
3. Select an option in the Other GROUP Statement Parameters field and press Enter to
navigate directly to one of the other GROUP parameters screens. Hiperstation for
VTAM validates the current entries and then shows the selected screen.
For detailed parameter descriptions, see “GROUP Statement” on page 7-11, or press
the Help key for a brief description of each parameter.
Note: Hiperstation for VTAM does NOT retain dubbing information from session to
session.
4. Press End to continue.
SCRIPT Statement Parameters
1. Select option 3 SCRIPT Statement parameters on the 3270 Statement Generation
Parameters menu (Figure 6-3 on page 6-3) to define SCRIPT Statement Parameters.
The SCRIPT Statement Parameters screen appears (Figure 6-10).
6-8
Hiperstation for VTAM User Guide
Figure 6-10. SCRIPT Statement Parameters Screen
----------------- Hiperstation * SCRIPT Statement Parameters ----------------
Command ===> 

Dub?. . . . . ..
Replace Member?.
Repeat . . . . . 1
Stop On. . . ..
Skip Compare ..
Wait for Input. 

Enter END command to return to the previous panel
Use this screen to alter the default settings for 3270 SCRIPT statements. You can
modify or add parameters by entering information into or changing fields.
2. Press Enter without entering a command to validate current entries and remain on
this screen.
For detailed parameter descriptions, see “SCRIPT Statement” on page 7-20, or press
the Help key for a brief description of each parameter.
3. Press End to continue.
COMPARE Statement Parameters
1. Select option 4 COMPARE Statement parameters on the 3270 Statement Generation
Parameters menu (Figure 6-3 on page 6-3) to define COMPARE Statement Parameters.
The 3270 COMPARE Statement Parameters screen appears (Figure 6-11).
Figure 6-11. 3270 COMPARE Statement Parameters Screen
----------------- Hiperstation * 3270 COMPARE Statement Parameters ---------Command ===>
Build Compare Statement? N
Compare Dataset. . 'USER2312.COMPARE.SCRIPTS'
Log Dataset. . . . 'USER2312.LOG.OUTPUT'
Type of Log==> 1
1. None
2. Log
3. XLog
One Log? N
Comparison Options==> 4
1. Stop on any compare check
2. Stop on alpha character differences
3. Stop only on field number mismatches
4. Ignore all compare differences
Ignore Numeric
Differences. . . N
Stop On. . . . . _____
Enter END command to return to the previous panel






















Use this screen to alter the default settings for 3270 COMPARE statements. You can
modify or add parameters by entering information into or changing fields.
2. Use the Compare Dataset field to define the dataset you want to compare against the
input scripts.
3. Press Enter without entering a command to validate current entries and remain on
this screen.
For detailed parameter descriptions, see “COMPARE Statement” on page 7-4, or press
the Help key for a brief description of each parameter.
Note:
Hiperstation for VTAM does NOT retain COMPARE statement information
from session to session.
3270 Unattended Processing
6-9
4. Press End to continue.
COMPANY and DUBTITLE Statement Parameters
1. Select option 5 COMPANY and DUBTITLE Statement parameters on the 3270
Statement Generation Parameters menu (Figure 6-3 on page 6-3) to define COMPANY
and DUBTITLE Statements. The COMPANY and DUBTITLE Statement Parameters
screen appears (Figure 6-12).
Figure 6-12. Company and Dub Title Statement Parameters Screen
------------- Hiperstation * COMPANY and DUBTITLE Statement Parameters --------
Command ===>



Company . .

Dub Title .


Enter END command to return to previous panel

Use this screen to alter the default settings for 3270 COMPANY and DUBTITLE
statements. You can modify or add parameters by entering information into or
changing fields.
2. Press Enter without entering a command to validate current entries and remain on
this screen.
For detailed parameter descriptions, see “COMPANY Statement” on page 7-4 and
“DUBTITLE Statement” on page 7-10. You can also press the Help for a brief
description of each parameter.
3. Press End to continue.
CACHE INCLUDE and EXCLUDE Statement Parameters
1. Select option 6 CACHINCL and CACHEXCL Statement parameters on the 3270
Statement Generation Parameters menu (Figure 6-3 on page 6-3) to define CACHE
INCLUDE and EXCLUDE Statements. The CACHE INCLUDE and EXCLUDE
Statement Parameters screen appears (Figure 6-13).
Figure 6-13. CACHE INCLUDE and EXCLUDE Statement Parameters Screen
---------- Hiperstation * CACHE INCLUDE and EXCLUDE Statement Parameters ------
Command ===>



CACHINCL Statement:

________
________
________
________
________
________
________

________
________
________
________
________
________
________

________
________
________
________
________
________
________


CACHEXCL Statement:

________
________
________
________
________
________
________

________
________
________
________
________
________
________

________
________
________
________
________
________
________


Enter END command to return to the previous panel

Use this screen to alter 3270 CACHE INCLUDE and EXCLUDE statement default
settings. You can modify or add parameters by entering information into or changing
fields.
2. Press Enter without entering a command to validate current entries and remain on
this screen.
6-10
Hiperstation for VTAM User Guide
For detailed parameter descriptions, see “CACHINCL Statement” on page 7-4 and
“CACHEXCL Statement” on page 7-4, or press the Help key for a brief description of
each parameter.
3. Press End to continue.
Building Unattended Statements and JCL
1. Select option 2 Generate 3270 unattended statements for each member in the
script dataset on the Generate 3270 Unattended Statements screen to build
unattended statements. The Unattended Statement Build screen appears (Figure 614).
Figure 6-14. Unattended Statement Build Screen
-------------------- Hiperstation * Unattended Statement Build ----------------
Command ===>


Please supply the name of the dataset containing the scripts, and the name of
the dataset and the member which will contain the generated statements.


Script Dataset:

Project . . . ACMJET0

Group . . . . TEST

Type . . . . SCRIPTS

Other Partitioned Dataset:

Dataset Name. . . .

Enter a "/" above to define more than one Script Dataset


Unattended Statement Dataset Name:

Project . . . ACMJET0

Group . . . . UNATTND

Type . . . . CONTROL

Member. . . . CICSTEST

Other Partitioned Dataset:

Dataset Name. . . .


Press ENTER to generate Unattended Playback statements END to exit.

Use this screen to define the dataset containing the scripts for which you want to
generate unattended statements.
2. Type the dataset information in the Script Dataset fields or the Other Partitioned
Dataset field. You can define up to seven datasets by typing a slash (/) in the Script
Dataset - Other Partitioned Dataset field. Hiperstation for VTAM processes any
additional datasets after the dataset defined on this screen. Enter at least one dataset
on this screen.
Hiperstation examines each member in the selected dataset and determines its
sender/receiver or domain destination. Script members with either a Sender or
Receiver are flagged as APPC scripts and excluded from 3270-type requests.
3. Use the Unattended Statement Dataset Name fields or the Other Partitioned
Dataset field to store the dataset and member name of generated statements. If the
member exists, Hiperstation overwrites it unless you select the Append option on
the initial Generate Unattended Statements screen (Figure 6-1 on page 6-1).
When you press Enter without entering a command, Hiperstation validates the
screen entries, generates unattended statements in the defined dataset member, then
shows that member on the ISPF EDIT screen (Figure 6-15).
3270 Unattended Processing
6-11
Figure 6-15. ISPF EDIT Screen Showing Generated Statements
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT
ACMJET0.UNATTND.CONTROL(CICSTEST) - 01.00
Columns 00001 00072
Command ===>
Scroll ===> PAGE
****** ***************************** Top of Data ******************************
000001
CONTROL
-
000002
BIND(1500)
-
000003
KEYU(4500)
-
000004
KEY2(2500)
-
000005
PREFIX(EHPR)
-
000006
SUFFIX(4)
-
000007
SWAIT(25)
-
000008
USDATE(YES)
000009
GROUP CICSTEST
-
000010
LOGD(3)
-
000011
REPEAT(1)
-
000012
TERM(1)
-
000013
THOPT(1)
000014
SCRIPT(V531045)
-
000015
REPEAT(1)
000016
GROUP CICSTEST
-
000017
LOGD(3)
-
000018
REPEAT(1)
-
000019
TERM(1)
-
4. After you have made any desired edits, use END to exit. The Unattended JCL Build
screen appears (Figure 6-16).
Building JCL
The Unattended JCL Build screen generates the JCL for running the unattended
statements generated on the previous screens.
Figure 6-16. Unattended JCL Build Screen
--------------------- Hiperstation * Unattended JCL Build --------------------
Command ===> 

Please supply the dataset and member into which the
batch JCL will be written. 

JCL Dataset Name:
Project . . . ACMJET0
Group . . . . TSO
Type . . . . JCL
Member. . . . UNATTEND 

Other Partitioned Dataset:
Dataset Name. . . . 

Job Statement Information:
//ACMJET0G JOB (’ACMETST.2DSP’,84),’J.TESTER’,MSGCLASS=R,
//
REGION=2048K,CLASS=P,NOTIFY=ACMJET0
//*
//*
//*
1. Define the dataset and member where you want to write the generated JCL by using
either the JCL Dataset Name fields or the Other Partitioned Dataset field.
2. Enter your standard job statements in the Job Statement Information area.
3. When you press Enter without entering a command, Hiperstation:
– validates screen entries
– generates JCL in the defined dataset member
– shows the generated JCL on the ISPF EDIT screen (Figure 6-17)
6-12
Hiperstation for VTAM User Guide
Figure 6-17. ISPF EDIT Screen Showing Generated JCL
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT
ACMJET0.TSO.JCL(UNATTEND) - 01.00
Columns 00001 00072
Command ===>
Scroll ===> PAGE
****** ***************************** Top of Data ******************************
000001 //ACMJET0G JOB (’OVPBAS5.2DSP’,84),’J.TESTER’,MSGCLASS=R,
000002 //
REGION=2048K,CLASS=P,NOTIFY=ACMJET0
000003 //*
000004 //*
000005 //*
000006 //STEP1
EXEC PGM=EHSBATCH
000007 //SYSPRINT DD SYSOUT=*
000008 //STEPLIB DD DISP=SHR,DSN=ACMJET0.HP.R600.LOADLIB
000009 //SYSLIB
DD DISP=SHR,DSN=ACMJET0.TEST.SCRIPTS
000010 //SYSIN
DD DISP=SHR,DSN=ACMJET0.UNATTND.CONTROL(CICSTEST)
****** **************************** Bottom of Data ****************************
4. After you make any desired edits, either save the JCL for later use or enter the
SUBMIT command to run the unattended playback job immediately.
Restricting Script Datasets
1. Select option 3 Generate 3270 unattended statements using a standard script
profile on the Generate 3270 Unattended Statements menu to apply generation
restrictions. The Generation Restrictions screen appears (Figure 6-18).
Figure 6-18. Generation Restrictions Screen
------------------- Hiperstation * Generation Restrictions ------------------
Command ===> _ 

Pre-process scripts - run these scripts prior to each of
the scripts selected below.
LOGON___ ________ ________ ________ ________ 

Restrict the generation of unattended statements to
script names beginning with the prefix, and/or scripts
for a particular application. 

Script selection options:
Generate statements for scripts prefixed by . . . . EOB
Generate statements for scripts for application . . 

Post-process scripts - run these script after each of the
scripts selected above.
LOGOFF__ ________ ________ ________ ________ 

Press the ENTER key to continue, the END key to terminate
Use this screen as described in “Building Unattended Statements and JCL” on page
6-10. When you press Enter without entering a command, Hiperstation validates the
screen entries, generates unattended statements in the defined dataset member, and
refreshes the Generation Restrictions screen (Figure 6-18).
Use the Generation Restrictions screen to narrow the number of scripts for which
Hiperstation generates unattended statements. If you enter a prefix in unattended
statement generation, Hiperstation includes only script member names that begin
with the prefix characters. If you enter an application in unattended statement
generation, Hiperstation includes only script members with that domain destination.
Note:
Often, the domain destination is not included in scripts created using
Hiperstation’s Global Record (release 6.0 and earlier). Entering a domain
destination on this screen may exclude all scripts, created with Global
Record, from unattended statement generation.
3270 Unattended Processing
6-13
You can also define scripts, such as logon and logoff scripts, to be run before and/or
after the generated statements.
2. To run a series of scripts in sequence under one Group statement, use the options on
this screen to generate the required statements. For example, to run SCRIPT1,
SCRIPT2, and SCRIPT3 in sequence, enter SCRIPT1 as the preprocess script, SCRIPT2
as the script prefix, and SCRIPT3 as the postprocess script. The unattended statement
generator then “sandwiches” SCRIPT2 between SCRIPT1 and SCRIPT3 and generates:
GROUP...
SCRIPT(SCRIPT1)
SCRIPT(SCRIPT2)
SCRIPT(SCRIPT3)
When you press Enter without entering a command, Hiperstation validates the
screen entries, generates unattended statements in the dataset member defined on
the Unattended Statement Build screen, then shows that member on the ISPF EDIT
screen (Figure 6-19).
Figure 6-19. ISPF EDIT Screen Showing Restricted Generated Statements
File Edit Confirm Menu Utilities Compilers Test Help

-------------------------------------------------------------------------------
EDIT
ACMJET0.UNATTND.CONTROL(CICSTEST) - 01.00
Columns 00001 00072 
Command ===>
Scroll ===> PAGE 
****** ***************************** Top of Data ******************************
==MSG> -CAUTION- Profile is set to STATS ON. Statistics did not exist for

==MSG>
this member, but will be generated if data is saved.

000001
CONTROL
-
000002
BIND(1500)
-
000003
KEYU(4500)
-
000004
KEY2(2500)
-
000005
PREFIX(EHPR)
-
000006
SUFFIX(4)
-
000007
SWAIT(25)
-
000008
USDATE(YES)
000009
GROUP CICSTEST
-
000010
LOGD(3)
-
000011
REPEAT(1)
-
000012
TERM(1)
-
000013
THOPT(1)
000014
SCRIPT(LOGON)
000015
SCRIPT(EOB00046)
-
000016
REPEAT(1)
000017
SCRIPT(LOGOFF)
****** **************************** Bottom of Data ****************************
3. After you make any desired edits, enter END to advance to the Unattended JCL Build
screen (Figure 6-16 on page 6-11). Refer to “Building JCL” on page 6-11 for
information on creating JCL to run your generated unattended statements.
6-14
Hiperstation for VTAM User Guide
7-1
Chapter 7.
Unattended Playback, Dubbing, and Comparison for
3270 and LU0 Scripts
7
Chap 7
This chapter describes unattended playback, dubbing, and comparison available with
Hiperstation for VTAM for 3270 and LU0 scripts. The EHSBATCH program controls
unattended mode processing. EHSBATCH helps you perform stress, regression, volume,
and concurrent testing of domain destinations such as CICS and IMS/DC, eliminating
the need for the user to enter data and drive the application.
Note:
Hiperstation for VTAM supports script dubbing, while performing unattended
playback, and an unattended comparison function that runs independently of
playback.
While playback for LU0 scripts is generally the same as for 3270 scripts, special
considerations for playing back LU0 scripts are included in the last section of this chapter
(see “LU0 Special Considerations” on page 7-31).
Unattended playback allows you to process multiple scripts running in one or more
virtual terminals simultaneously logged on to one or more domain destinations. For
example, four terminals can be logged on to CICS41A, and six terminals can be logged on
to CICSTEST, each running a series of scripts that exercise the transactions and databases.
Unattended dubbing allows you to dub scripts during an unattended playback. With
unattended dubbing, you can combine all scripts for a group into one script or create a
dubbed script for each script within a group.
The unattended comparison batch program compares two scripts with the same name,
one in the DUBLIB (actual), one in the SYSLIB (expected). Unattended comparison
reports are then produced by the ETRMCMPR batch program.
When performing an unattended compare, in addition to the current SYSLIB JCL
statement that reads existing members, a separate JCL save statement reads “new”
members. The libraries referenced by these two statements can be the same or different.
The ddname for the new libraries is the same as that for unattended dubbing. EHSBATCH
options are specific to playback and have no bearing on comparison. Hiperstation for
VTAM ignores multiple executions of the same script via TERM, COUNT, or REPEAT.
For an unattended compare, the Hiperstation for VTAM comparison log and exception
log are combined into one dataset and a special report is added to the end of the
consolidated logs. The report provides the port number, script name, dubbing script
name (if available), and number of logical screen comparison exceptions.
Note:
A called member must be accessible for a compare, just like an actual playback.
Unknown script contents, usually REXX, are passed to the REXX environment
for processing. After REXX processing, EHSBATCH manipulates the results. This
happens before the distinction between compare and playback is known, so the
member must exist for the compare to execute. A compare will fail without
access to the subroutines that were used when the expected and actual members
were created. The compare will also fail if a script is run through session demo
with a call to a member that is not in the script file.
7-2
Hiperstation for VTAM User Guide
Using the Unattended Mode Functions
1. Review Storage Requirements for Unattended Mode Processing
Ensure that your virtual and caching storage are sufficient for your processing needs.
The Hiperstation Installation Guide lists MVS storage requirements for unattended
processing.
2. Prepare the Scripts
Unattended playback and comparison, like the ISPF interactive mode playback
function, rerun previously recorded scripts. If Hiperstation for VTAM was used
previously for interactive (TSO/ISPF) execution, usable scripts already exist. Locate
the PDSs and define them to unattended playback or unattended comparison
through the SYSLIB DD statement.
The scripts must be recorded using Hiperstation’s interactive record or Global
Recording. Record one or more scripts to handle the following:
– Logon sequence
– Applications to be exercised
– Logoff sequence
Separating the logon and logoff events from the testing activity not only supports
script reuse but ensures that all activity between those events plays back. For
example, if a script contains a logoff event followed by another logon event,
playback terminates before the second logon event is encountered. If the logon and
logoff events are in the script with the testing activity, you can still play back the
scripts; however, each script must appear under a separate GROUP statement, as
described later.
Note:
Because systems like CICS and IMS, by default, allow a single user to log on
multiple times on multiple terminals, Hiperstation for VTAM can exercise
those systems using a single logon ID. If this poses a security problem in your
environment, consider allocating DUMMY logon IDs strictly for unattended
mode usage.
3. Identify the Domain Destination
The GROUP statement identifies the domain destination (such as CICS or IMS/DC)
and the number of terminals to contact that domain destination. Refer to
“Unattended Mode Statements” on page 7-3 for more information about GROUP
statements.
4. Identify the Scripts to Run
The SCRIPT statement identifies the names of the scripts to be run and the number of
times to repeat each script.
Note:
All files used during unattended mode processing must be available for
allocation before submitting the batch job.
5. Prepare JCL
Hiperstation for VTAM requires JCL that lists the program to be run, the datasets
where the scripts reside, an output message dataset, and the input dataset containing
the Hiperstation CONTROL statements. The JCL statements are:
Table 7-1. JCL Statements for Unattended Mode Functions
JCL Statement
Description
DUBLIB
Defines the PDSs where dubbed scripts will be written. DUBLIB is used as the actual
screen during unattended compare.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-3
Table 7-1. JCL Statements for Unattended Mode Functions
JCL Statement
Description
EXEC
Required. Specifies the program name (PGM=EHSBATCH). Set the region to about 4096
KB to run 50 terminals.
HPERPMSK
Optional. Defines the generic masking dataset. See “Generic Masking of Output Data”
on page 5-20 for more information.
SYSCNTL
Optional. Defines the input control dataset containing the Hiperstation CONTROL
statements. This dataset’s record length (LRECL) must be 80. Use this dataset to contain
CONTROL and COMPANY statements specified by the installation instead of coding
them in the SYSIN dataset. This allows the systems programmer to set up a dataset with
this information already specified.
SYSIN
Required. Defines the input dataset containing the Hiperstation CONTROL statements.
This dataset’s record length (LRECL) must be 80.
The JCL submitted for an unattended mode job cannot contain sequence numbers in
columns 73-80.
SYSLIB
Required. Defines the PDSs that contain the scripts to be run. SYSLIB is used as the
expected screen during the unattended compare.
SYSPRINT
Required. Message dataset for output from unattended playback. The logical record
length of the SYSPRINT dataset is 133.
6. Submit the Batch Job
Unattended Mode Statements
This section describes the input control statements for Hiperstation for VTAM’s
unattended playback, dubbing, and comparison functions. It includes statements for LU0
or 3270 processing. These statements control variables such as domain destination
selection, the number of terminals, and the scripts to run.
The statements appear in alphabetical order following introductory information on the
sequencing of statements for 3270 testing.
Statement Sequencing
The statements must appear in the sequence shown in Figure 7-1.
Figure 7-1. 3270 Unattended Mode Statement Sequence
CONTROL STATEMENT 
GROUP STATEMENT
SCRIPT
SCRIPT
…
GROUP STATEMENT
SCRIPT
SCRIPT
…
STATEMENT
STATEMENT
STATEMENT
STATEMENT
There is no limit to the number of GROUP statements that can be specified or the
number of SCRIPT statements that follow them. The statements have no column
dependence. Statements can be continued on multiple lines if you separate them with
the continuation character: a dash (–). However, you cannot use the continuation
character to separate a keyword and its operand value.
A comment can be placed after the continuation character as long as the dash and
comment are separated by at least one blank space.
7-4
Hiperstation for VTAM User Guide
CACHEXCL Statement
The CACHEXCL statement identifies the scripts you do not want stored in memory. You
can use one or more CACHEXCL statements. CEXL is the abbreviation for this statement.
ddname(script)
Specifies the name of the script you do not want stored in memory. SYSLIB is the
default ddname if a ddname is not specified.
CACHINCL Statement
The CACHINCL statement identifies the scripts that Hiperstation preloads into memory
during initialization. You can use one or more CACHINCL statements. CINC is the
abbreviation for this statement.
ddname(script)
Specifies the script name and location. SYSLIB is the default ddname if a ddname is
not specified.
COMPANY Statement
A COMPANY statement defines an alternative company name to use in the title of the
batch Hiperstation reports.
companyname
Identifies a company name up to 40-bytes long. The default is Compuware
Corporation. If the company name includes dashes or blanks, you must enclose the
name in single quotes.
COMPARE Statement
The COMPARE statement tells EHSBATCH to perform an unattended compare instead of
an unattended playback. The other EHSBATCH unattended playback and unattended
dubbing statements are accepted in an unattended compare execution of EHSBATCH.
Parameters used by unattended dubbing are used by COMPARE to locate members for
comparison. In addition, you can include parameters normally entered on the GROUP
and SCRIPT statements that pertain to comparison. If the parameters do not exist on the
GROUP or SCRIPT levels, Hiperstation uses the values set on the COMPARE statement.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-5
Note: A subroutine that is called from within a script member must be accessible for the
Unattended Compare to execute properly. It either needs to be in the Script
dataset or in a dataset concatenated to the DD SYSLIB in the Unattended
Compare JCL.
COPT(1|2|3|4)
Sets an unattended comparison option that corresponds to options on the Play Setup
screen. The COPT parameter has effect only when used in conjunction with either
the LOG or XLOG parameter.
(1) Log all comparison checks.
(2) Mark only alphanumeric character differences. Use this option to ignore
differences in screen attribute bytes.
(3) Mark comparison checks only if there is a difference in the number of fields
on the received and expected screen.
(4) Ignore all comparison checks. If you use the XLOG parameter with COPT(4),
the log is created and the return code is set to 0.
DBCS
Double-Byte Character Set. Specifies that terminals in this comparison support twobyte characters.
IGND
Ignore Numeric Differences. Causes Hiperstation to consider the following
conditions as equal (matching):
• Actual character and expected character are both numeric.
• Actual character is numeric and expected character is blank or null.
• Actual character is blank or null and expected character is numeric.
All other conditions are mismatches.
It discards numeric values during comparison. The IGND keyword has effect only
when used in conjunction with either the LOG or XLOG parameter.
LOG(class|dsn|dsn(member))
Allocates a comparison log for each terminal in the group. If the value is a single
character, the comparison log is allocated to SYSOUT in the class set by that single
character. If the value is more than one character, the comparison log is allocated to
a permanent file. By default, no log is allocated. The dataset value can be either a
dataset name by itself or a dataset name with a member name:
LOG(dataset)
LOG(dataset(member))
7-6
Hiperstation for VTAM User Guide
The dataset or member or both can contain wildcard characters (* or ?).
If a dataset name is supplied with no member and no wildcards, a dataset is created
with the name ‘dataset.Pnnnn’, where nnnn is the port number assigned to the
terminal. See “Print File Naming Conventions” on page 7-22 for a description of
dataset and member names when using wildcards.
Note:
The LOG and XLOG options are mutually exclusive.
ONELOG
When ONELOG is used, LOG or XLOG must also be present on the COMPARE
statement, and class must be a dataset rather than a SYSOUT. At the end of the job,
another dataset is created where .Pnnnn is set to .P0000 if the datasets are sequential.
If wildcards (* or ?) are used where the port number is inserted on LOG or XLOG, the
0000 value is inserted at the wildcard location. This dataset contains the LOG/XLOG
data of all of the ports. If sequential datasets are used, the individual port
LOG/XLOG datasets are deleted as the consolidated dataset is built. If PDSEs are used,
the individual members remain. An unattended comparison report is appended to
the end of the consolidated dataset or member. See “Print File Naming Conventions”
on page 7-22 for a description of dataset and member names when using wildcards.
Note:
Unattended compare also uses the ONELOG parameter of the GROUP
statement to combine the comparison log and exception log into a single
dataset and to append a special comparison report.
STOPON(n)
Stops processing when it reaches the chosen number (n) of mismatches for a
particular run. If fewer than the chosen number of mismatches occur, script
processing continues to the end.
Note: The message shown for script termination is the same one that appears when
the script has no mismatches. For this reason, check all messages for the
comparison.
XLOG (class|dsn|dsn(member))
Allocates an exception log for each terminal in the group. If the value is a single
character, the exception log is allocated to SYSOUT in the class set by that single
character. If the value is more than one character, the exception log is allocated to a
permanent file. By default, no log is allocated. The dataset value can be either a
dataset name by itself or a dataset name with a member name:
XLOG(dataset)
XLOG(dataset(member))
The dataset or member or both can contain wildcard characters (* or ?).
If a dataset name is supplied with no member and no wildcards, a dataset is created
with the name ‘dataset.Pnnnn’, where nnnn is the port number assigned to the
terminal. See “Print File Naming Conventions” on page 7-22 for a description of
dataset and member names when using wildcards.
Note:
The LOG and XLOG options are mutually exclusive.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-7
CONTROL Statement
The CONTROL statement describes some of the environmental tailoring performed
during Hiperstation for VTAM installation (such as virtual terminal prefix and suffix, and
date field format). Generally the CONTROL statement is not required.
BIND(1500|nnnnnnnn)
Sets the domain destination bind wait time interval (in hundredths of seconds) for
Hiperstation to wait. The default is 1500 (15 seconds).
CACHEOFF
Does not store scripts in memory. Specifying CACHEOFF may result in higher I/O for
scripts that run more than once.
Note:
If CACHEOFF is specified in the control statement, any REPEAT statement
will be invalid because caching is required to repeat a group or script. When
CACHEOFF is specified in the control statement, with a REPEAT statement,
Hiperstation displays error EHSB075I - KEYWORD (REPEAT) NOT VALID
WITH CACHEOFF SPECIFIED. Hiperstation then sets a return code of 8 and
shuts down playback.
NODEFER
Suppresses report consolidation. Report consolidation is programatically turned on
when 50 or more reports will be written onto DASD. Report consolidation is meant to
save memory during playback when a large number of terminals are in use and
memory might be an issue.
DEFER
Forces report consolidation when fewer than 50 reports will be written to DASD by a
CONTROL parameter. Report consolidation is meant to save memory during
playback when a large number of terminals are in use and memory might be an issue.
DMSKCOMP(Y|N)
Enables or disables the use of encrypted masks (<MSK>NNN tags) for the comparison
or exception logs. Specify this parameter with a value of Y or N:
– Y (default) enables the use of encrypted masks to prevent mismatches from being
identified within dark fields.
7-8
Hiperstation for VTAM User Guide
– N disables the use of encrypted masks to allow mismatches within dark fields to
be identified on a LOG or XLOG. Other forms of masking still take effect and
apply to dark fields. This option does not cause dark field data to display on the
actual/expected screens. Only the location of the mismatch is identified.
DMSKDUB(Y|N)
Controls the way encrypted masks (<MSK>NNN tags) are dubbed. Specify this
parameter with a value of Y or N:
– Y (default) writes encrypted masks into the dubbed script as ‘I’ character masks.
– N writes encrypted masks into the dubbed script without ‘I’ character masks.
DUB(DUBLIB|ddname,DLOGnnnn|logname|logname(R))
Dubs and combines all scripts within each group into a PDS member, and combines
all log records of all groups into a single script. It also combines all log records of all
groups into a single PDS member.
Dubbing maintains script masking by creating mask lines (see “Mask Individual
Characters” on page 5-18). The mask lines are built from the internal mask buffer.
The logname variable names the PDS member to contain a log of the dubbed scripts.
The logname is a PDS member that contains a list of scripts dubbed for each group.
Hiperstation uses this list to build JCL for unattended comparison.
– If you enter an alpha character logname (no numbers), and the member already
exists, then an error appears saying that the member exists. If the member does
not already exist, then Hiperstation creates the member.
– If you enter an alphanumeric logname in the format AAAAnnnn (four alpha,
four numeric, in that order), and that member exists, then Hiperstation
increments the four digit number by 1 and creates the new member. If the
member does not already exist, then Hiperstation creates the member.
– If you enter any logname and use (R) after, Hiperstation replaces the member if it
already exists.
KEYU(4500|nnnnnnnn)
Sets an unlock time interval in hundredths of a second. Hiperstation waits this
amount of time for a response from the application. If a response is not received,
Hiperstation issues message EMTRM051 and proceeds with the script. The default is
4500 (45 seconds).
KEY2(2500|nnnn)
A wait time interval in hundredths of a second. Some applications (like IMS) unlock
the keyboard prematurely. Hiperstation recognizes these data streams and waits for
additional output. If output is not received, Hiperstation issues message EMTRM054
and proceeds with the script. The default is 2500 (25 seconds).
MSGFORM
Time stamps messages sent to the SYSPRINT dataset.
MSGLEVEL(2)
Shows the number of mismatches for each script at script termination. An example of
this information is highlighted below:
Replaying script test0001 compare exceptions nnnn/tttt
where nnnn is the number of mismatches and tttt is the total number of processed
messages. This parameter is useful when you want to know the number of
mismatches without reviewing the XLOG or script.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-9
PREFIX(EHPR|hsprefix)
Lists the one- to seven-character prefix used for Hiperstation APPLIDs defined during
the installation. Ensure that the value inside the parentheses matches the value of
variable XTRMPRFX in the ETRMSPAR screen (located in the Hiperstation screen
library). The default for the prefix is EHPR. Unless your installation changed the
node names at install time, this variable does not need to be changed.
RCFORMAT
Records input fields in (row,column) format. For example, an input field recorded in
standard format as <I01>“data” is recorded in (row,column) format as
<I(07,28)>“data”. If you do not include DUB on the CONTROL or GROUP
statement, RCFORMAT has no effect. If RCFORMAT is used on the CONTROL level,
Hiperstation records input fields for any dubbed GROUP in (row,column) format. If
RCFORMAT is used only on the GROUP level, Hiperstation records input fields for
any script dubbed in that group in (row,column) format.
REXXOFF
Suppresses script preprocessing using REXX. Eliminating this preprocessing results in
scripts running more efficiently (CPU and memory). Use this parameter only if your
scripts do not contain REXX.
SUFFIX(4|n)
The length of the suffix used for Hiperstation for VTAM APPLIDs defined during the
Hiperstation installation. Ensure that the value inside the parentheses matches the
value of variable XTRMSUFX in the ETRMSPAR screen (located in the Hiperstation
screen library). The default for the suffix is four. Unless your installation changed the
node names at install time, this variable does not need to be changed.
SWAIT(01|nnn)
The amount of time to wait for secondary writes to finish. This value is measured in
hundredths of a second. The default is one-hundreth of a second (.01). SWAIT is the
batch equivalent of the ETRMSPAR variable XTRMTIME.
The maximum time that Hiperstation waits is calculated as follows: SWAIT
multiplied by the number of times to check multiplied times four. For example: .01 
8 4 = .32.
TRACE(sysout_class|dataset)
CAUTION:
TRACE lets you trace internal Hiperstation for VTAM information. Do not use TRACE
without guidance from Hiperstation Customer Support.
Allocates a trace for each terminal. Trace contains the actual 3270 data streams that
flowed between the application and the virtual terminal. If the value is a single
character, the trace is allocated to SYSOUT in the class set by that single character. If
the value is more than one character, the trace is allocated to a permanent file.
By default, no trace is allocated.
The dataset value can be either a dataset name by itself or a dataset name with a
member name:
TRACE(dataset)
TRACE(dataset(member))
Neither the dataset nor the member can contain wildcard characters (* or ?).
UNIT(unit)
Sets the unit on which the journal or log datasets are dynamically allocated.
7-10
Hiperstation for VTAM User Guide
USDATE(YES|NO)
Sets the date field format. Enter Y (yes) for MONTH/DAY/YEAR. Enter N (no) for
YEAR/MONTH/DAY. Sets the date display format in the reports that the tool creates
and in the SYSPRINT messages it issues. Y is the default. For example
USDATE(YES) "EHSB910I REPLAY STARTING: 07/26/07"
USDATE(NO)
"EHSB910I REPLAY STARTING: 07/07/26"
MONTH/DAY/YEAR
YEAR/MONTH/DAY
USESTIME
Use start time. Hiperstation normally starts each GROUP statement at the time the
unattended playback job begins. The USESTIME keyword can delay the start of
selected groups until a later time. This ensures that your scripts’ playback sequence is
the same as the recorded sequence.
Each GROUP statement containing STIME starts at a time interval after the playback
job starts, rather than immediately.
With USESTIME supplied, the GROUP statement containing the earliest STIME value
starts when playback begins. The GROUP statement with the next chronological
STIME value then starts after the amount of time indicated by the difference in
STIME values has elapsed. For example, assume the following playback job begins at
exactly 9:00 AM:
CONTROL USESTIME
*
GROUP ... STIME(‘2006/07/21_12:05:00.000000’)
SCRIPT(AAA)
*
GROUP ... STIME(‘2006/07/21_12:00:00.000000’)
SCRIPT(BBB)
Script BBB starts at 9:00 AM and script AAA starts at 9:05 AM.
Notes:
1. If USESTIME is used with TIMESYNC, only USESTIME is recognized. If the
two parameters are used together, Hiperstation for VTAM issues error
EHSB074I - KEYWORD(TIMESYNC) IGNORED - USESTIME SPECIFIED ON
CONTROL STATEMENT, ignores the TIMESYNC parameter, and continues
playback.
2. Using sub-second STIME intervals with USESTIME is not recommended. One
second should be the smallest STIME amount used.
VOL(volume)
Sets the DASD volume on which the journal or log datasets are dynamically
allocated.
Note:
SMS, or other DASD management tools, can override the value specified on
the VOL parameter.
DUBTITLE Statement
A DUBTITLE statement provides a description of the dubbed scripts.
description
Description of the dubbed scripts. It can be up to 61-bytes long.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-11
GROUP Statement
The GROUP statement sets the name of the domain destination (such as TSO or
CICSTEST), the number of terminals to simulate, parameters that define how
Hiperstation will interact with the domain destination (lists terminals connected to a
particular domain destination), and allows the user to request a number of
documentation types for playback.
7-12
Hiperstation for VTAM User Guide
(1) Comparison syntax varies depending on whether a CONTROL statement or a
COMPARE statement preceded this GROUP statement.
Required Parameter
domain_name
The domain destination’s VTAM name to use for this group of terminals (such as
CICSTEST or TSO). There is no default.
Optional Parameters
ALLSYNCH
Refer to the SYNCH parameter on page 7-18 for information.
Note:
This parameter is mutually exclusive with SYNCH and TIMESYNC.
APPLPROF(OFF|ON)
Activates application profiling for playback of formatted 3270 scripts.
Note:
Because application profiling uses the AID key and LU0 devices do not have
an AID key, application profiling has no effect when playing back LU0
scripts.
Application profiling examines components of each datastream received and
compares them to previously received datastreams to better anticipate the next
action that the application takes (for example, send more data or wait for input).
During unattended playback without application profiling, Hiperstation uses the
following parameter values to determine how long to wait before sending the next
input to the application:
–
–
–
–
–
KEYU on page 7-8
IMSUNLOK on page 7-14
KBIGNORE on page 7-15
KEY2 on page 7-8
SWAIT on page 7-9
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-13
The wait-times established by these parameters must be endured for every
transaction (Input/Output). If the application does not respond in the amount of
time stipulated by these parameters, Hiperstation times out and produces error
messages.
Application profiling synchronizes script playback with application responses to
ensure successful and efficient playback. It collects response time information to
determine how long to wait for the next response. If the application does not
respond in the expected time, Hiperstation automatically increases the wait time to
help prevent timing out. As Hiperstation gathers more data, wait times typically
decrease.
This field defaults to OFF. Enter ON to enable application profiling.
Note:
Short scripts or applications with different types of data streams may take
longer to play back when application profiling is enabled.
AUTODOC(dsn|type of print|type of doc)
Directs output generated by AutoDoc to SYSOUT or DASD dataset. If the value is a
single character, documentation produced by AutoDoc goes to a SYSOUT class, and
the SYSOUT goes to the class set by the single character. If the value is more than one
character, the documentation is allocated to a permanent file.
COPT(1|2|3|4)
Sets a comparison option similar to that available online. The COPT parameter has
effect only when used in conjunction with either the LOG or XLOG parameter. The
return code is set based on the parameter value specified.
1: All mismatches.
2: Only alphanumeric character differences. Use this option to ignore differences
in screen attribute bytes.
3: Mismatches only if there is a difference in the number of fields on the received
and expected screen.
4: Ignore all mismatches. If you use the XLOG parameter with COPT(4), the log
is created and the return code is set to 0.
If a comparison log is requested, and COPT is not specified, the default of COPT(4) is
used.
If an exception log is requested, and COPT is not specified, the default of COPT(1) is
used.
DATA(logon_data)
Sends user data to the domain destination during logon.
DBCS
Double-Byte Character Set specifies that the terminals in this group support two-byte
characters.
DUB(ddname,logname|logname(R),member|member(R))
Dubs and combines all scripts within the group into a single script. The variables
define where the new scripts will be stored, the dataset member that will contain a
log of the dubbed scripts, and the dataset member that will contain a combined run
of all scripts for this group.
Dubbing maintains script masking by creating mask lines (see “Mask Individual
Characters” on page 5-18). The mask lines are built from the internal mask buffer.
Using the (R) value after logname or member replaces this member if it already
exists. The default value is DUB(DUBLIB,DLOGnnnn), where nnnn is a number
between 1 and 9999. Hiperstation automatically increments the nnnn value unless
you choose (R).
7-14
Hiperstation for VTAM User Guide
The logname is a dataset member that contains a list of scripts dubbed for each group.
Hiperstation uses this list to build JCL for unattended comparison.
Notes:
1. If DUB and NODUB are both used for the same GROUP statement, NODUB
takes precedence.
2. If dubbing is active, the REPEAT and TERM counts must be set to 1.
IGND
Ignore Numeric Differences. IGND does not consider numeric values when testing for
mismatches. The IGND keyword has effect only when used in conjunction with
either the LOG or XLOG parameter.
IMSUNLOK (value_in_script|YES|NO)
Expects additional data from the application program after the application has
unlocked the keyboard with a special data stream.
Some programs and subsystems, such as IMS, send screen images in multiple data
streams before they are ready for user input. If one of these data streams indicates
that the keyboard is unlocked, Hiperstation normally sends the next <INPUT> from
the script, even though more data streams are still coming. This can make playback
go out of sync.
Setting IMSUNLOK(YES) — or <IMSUNLOK>Y in the script — makes Hiperstation
wait for more data from the application when a special data stream is received.
Setting IMSUNLOK(NO) — or <IMSUNLOK>N in the script — makes Hiperstation
continue with the next item in the script when a special data stream is received.
Setting IMSUNLOK(YES) with an application that does not send any data streams
after the special data stream can cause frequent EMTRM054 messages during
playback. Setting IMSUNLOK(NO) eliminates these messages and speeds playback
because Hiperstation no longer waits for data streams that never come.
If IMSUNLOK is not used on the GROUP statement or in the script, the value defaults
to YES. An IMSUNLOK value used on the GROUP statement overrides any value set in
the script.
IN4700 (programname)
Calls the listed program instead of the default 3270 datastream processing when
processing input from the TPF. Also see IN4700 under “GROUP Statement - Optional
Parameters for LU0” on page 7-32.
INFIRST
Normally, Hiperstation waits for the domain destination to send data before
beginning script playback. INFIRST initiates playback (send the initial data stream to
the domain destination) rather than wait for the initial data stream from the domain
destination. The INFIRST parameter eliminates the EMTRM051 message at the start of
a playback. Using this parameter has the same effect for the specified group as setting
the INFIRST field on the Session Options screen to Y (yes).
JOURNAL(class|dsn)
Allocates a transaction journal for each terminal in the group. If the value is a single
character, the journal is allocated to SYSOUT in the class set by that single character.
If the value is more than one character, the journal is allocated to a permanent file. A
permanent transaction journal is allocated on the volume and unit set on the
CONTROL statement.
By default, no transaction journal is allocated.
The dataset value can be either a dataset name by itself or a dataset name with a
member name:
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-15
JOURNAL(dataset)
JOURNAL(dataset(member))
The dataset or member or both can contain wildcard characters (* or ?).
Note:
If you are using a PDSE for the journal, it must be preallocated, and if the
dataset is preallocated, it must be a PDSE. A sequential dataset can be used
but is not preallocated.
If a dataset name is supplied with no member and no wildcards, Hiperstation creates
a dataset with the name dsn.Pnnnn, where nnnn is the port number assigned to the
terminal. For example, the statement: GROUP CICS311 TERM(5) JOURNAL
(HIPER.CICS.JRN) allocates five journal files. The first is HIPER.CICS.JRN.P0001, and
the last is HIPER.CICS.JRN.P0005. See “Print File Naming Conventions” on page 7-22
for a description of dataset and member names when using wildcards.
KBIGNORE
Ignores the keyboard-restore flag sent by the application. Instead, Hiperstation waits
for a “change direction” or “end bracket” flag in deciding when the application can
send multiple screens in succession while the keyboard is unlocked. Using this
parameter has the same effect for the specified group as setting the KB Restore Action
field on the Session Options screen to 2.
LASTONLY
Compare only on the final or compiled screen images set by the application in
response to an input.
If you do not use LASTONLY, Hiperstation compares on each screen that, when
compiled, makes up the screen image the user sees.
LOG(class|dsn)
Allocates a comparison log for each terminal in the group. If the value is a single
character, the comparison log is allocated to SYSOUT in the class set by that single
character. If the value is more than one character, the comparison log is allocated to
a permanent file. By default, no log is allocated.
The dataset value can be either a dataset name by itself or a dataset name with a
member name:
LOG(dsn)
LOG(dsn(member))
The dataset or member or both can contain wildcard characters (* or ?).
Note: If you are using a PDSE for the comparison log, it must be preallocated, and if
the dataset is preallocated, it must be a PDSE. A sequential dataset can be
used but is not preallocated.
If a dataset name is supplied with no member and no wildcards, a dataset is created
with the name dsn.Pnnnn, where nnnn is the port number assigned to the terminal.
See “Print File Naming Conventions” on page 7-22 for a description of dataset and
member names when using wildcards.
If the LOG option is specified without the COPT option, the default of COPT(4) is
used.
Note:
The LOG and XLOG options are mutually exclusive.
LOGD(sss)
Sets a delay time in seconds between logons for each port in the group. The LOGD
parameter defaults to a 0-second delay.
7-16
Hiperstation for VTAM User Guide
LOGM(logmode)
Designates a logmode entry to use for the virtual terminal. If no logon mode is set,
Hiperstation for VTAM uses the DLOGMOD value in the VTAM APPLID definition for
the virtual terminal. For more information, refer to the Hiperstation Installation Guide.
Check the index for “logon mode entries”.
MAXWAIT(nnn)
The longest time that Hiperstation waits for the completion of any I/O from
connected partners before terminating playback. This is the stall detection timer. The
default is 75 seconds.
To change the setting to 45 seconds, for example, enter:
MAXWAIT(045)
Note:
MAXWAIT is only in effect when APPLPROF=ON.
NODUB
Does not dub the scripts used to run this group. If DUB and NODUB are used for the
same GROUP statement, NODUB takes precedence.
ONELOG
When used, the LOG or XLOG must also be present on the GROUP statement and
must be a dataset rather than a SYSOUT class. At the end of the job, another dataset
is created where .Pnnnn is set to .P0000 if the datasets are sequential. If wildcards (*
or ?) are used where the port number is inserted on LOG or XLOG, the 0000 value is
inserted at the wildcard location. This dataset contains the LOG/XLOG data of all
ports. If sequential datasets are used, the individual port LOG/XLOG datasets are
deleted as the consolidated dataset is being built. If PDSEs are used, the individual
members remain. A special unattended comparison report is appended to the end of
the consolidated dataset or member. See “Print File Naming Conventions” on page
7-22 for a description of dataset and member names when using wildcards. Note that
QAHiperstation+ has special processing for the consolidated dataset.
OUT4700(programname)
Calls the listed program instead of the default 3270 datastream processing when
processing output from the TPF. Also see OUT4700 under “GROUP Statement Optional Parameters for LU0” on page 7-32.
RCFORMAT
Records input fields in (row,column) format. For example, an input field recorded in
standard format as <I01>“data” is recorded in (row,column) format as
<I(07,28)>“data”. If you do not use DUB on the CONTROL statement or the GROUP
statement, RCFORMAT has no effect. If you use RCFORMAT on the CONTROL level,
Hiperstation will record input fields for any GROUP that is dubbed in (row,column)
format. If you use RCFORMAT only on the GROUP level, Hiperstation records input
fields for any script dubbed in that group in (row,column) format.
Note:
Scripts recorded in (row,column) format are not compatible with the
Hiperstation for VTAM script processor.
RDAHEAD(ON|OFF)
Script Read Ahead. Looks forward in the script to determine the next expected
activity (for example, send the next input or wait for another output). If you do not
include this parameter on the statement, Hiperstation will look ahead one screen at a
time.
REPEAT(1|n)
Sets the number of times the GROUP is repeated. The terminals within the group
logon run the scripts and logoff n times. The default is 1. There is no maximum limit.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-17
Note: If CACHEOFF is specified in the CONTROL statement, any REPEAT statement
will be invalid because caching is required to repeat a group or script. When
CACHEOFF is specified in the CONTROL statement, with a REPEAT
statement, Hiperstation displays error EHSB075I - KEYWORD (REPEAT) NOT
VALID WITH CACHEOFF SPECIFIED, sets a return code of 8, and shuts down
playback.
RLOG(SYSPRINT|class|dsn)
Allocates a REXX log for each terminal. If the value is a single character, the REXX
log allocates to SYSOUT in the class set by that single character. If the value is more
than one character, the REXX log allocates to a permanent file.
By default, REXX output is directed to the SYSPRINT dataset. The dataset value can
be either a dataset name by itself or a dataset name with a member name:
RLOG(dataset)
RLOG(dataset(member))
The dataset or member or both can contain wildcard characters (* or ?).
Note:
If you are using a PDSE for the REXX log, it must be preallocated, and if the
dataset is preallocated, it must be a PDSE. A sequential dataset can be used
but is not preallocated.
If a dataset name is supplied with no member and no wildcards, a dataset is created
with the name dsn.Pnnnn, where nnnn is the port number assigned to the terminal.
See “Print File Naming Conventions” on page 7-22 for a description of dataset and
member names when using wildcards.
STARTDLY(sss)
Start delay. Sets the number of seconds to elapse between the start of the GROUP
statement and when the VTAM LOGON request is sent to the domain destination.
Normally, STARTDLY is unnecessary if you are already using the STIME parameter.
If STIME is also supplied, the VTAM LOGON to the domain destination occurs after
the sum of the STIME value and the STARTDLY value.
If LOGD is also supplied, the VTAM LOGON to the domain destination occurs after
the sum of the STIME value and the LOGD value.
Compuware recommends using STIME instead of STARTDLY to control the start time
of your scripts. STIME is more efficient because it uses system resources only when
the group finally starts rather than when the batch job begins.
STDWAIT(nnn)
Sets the standard wait time Hiperstation uses while collecting enough data to
determine an exact response time from the application being tested. Measured in
hundredths of a second, as nnn. This value is taken from the slow start value used in
Application Profiling. The default is 2.5 seconds.
Note:
STDWAIT is only in effect when APPLPROF=ON.
STIME(‘timestamp’)
Start time. Indicates the date and time when a script created by Global Record was
originally recorded. The timestamp format is:
YYYY/MM/DD_HH:MM:SS.TTTTTT.
STIME is normally added to the GROUP statement in the 3270 session log by Global
Record. You can also add STIME to GROUP statements you have created manually if
you want to control the start time of your groups. At playback time, STIME controls
when the GROUP statement is started. See the description of USESTIME under
“CONTROL Statement” on page 7-7 for an example.
7-18
Hiperstation for VTAM User Guide
Compuware recommends using STIME instead of STARTDLY to control the start time
of your scripts. STIME is more efficient because it uses system resources only when
the group finally starts rather than when the batch job begins.
SUMMARY(class|dsn)
Generates a summary report for the group. If the value is a single character, the
summary report is allocated to SYSOUT in the class set by that single character. If the
value is more than one character, the summary report is allocated to a permanent
file. By default, no summary report is produced.
The dataset or member or both can contain wildcard characters (* or ?).
If a dataset name is supplied with no wildcards, no suffix is added to the dataset
name. See “Print File Naming Conventions” on page 7-22 for a description of dataset
and member names when using wildcards.
The dataset value can be either a dataset name by itself or a dataset name with a
member name:
SUMMARY(dataset)
SUMMARY(dataset(member))
SYNCH
Indicates whether script run is synchronized within this group or with other groups
that use the ALLSYNCH parameter. If SYNCH or ALLSYNCH are not used, the
terminals are dispatched on a first ready basis. If SYNCH or ALLSYNCH is used, the
inputs are run on all terminals concurrently.
Note:
This parameter is mutually exclusive with ALLSYNCH and TIMESYNC.
TERM(1|nn|termid)
Sets the number of terminals to establish in the group, or a single terminal ID. nn is
the number of terminals that the group will simulate. The maximum number of
terminals that can be simulated depends on the amount of virtual storage available.
The default number of terminals is 1.
termid designates a single terminal ID (a valid Hiperstation VTAM APPLID) to use to
run the scripts in the group. For example, the statement GROUP CICS41A
TERM(EHPR0002) selects one terminal and uses the VTAM ID EHPR0002. This is
useful in situations where security is based on a single terminal identification.
THINK(mm,ss)
Sets a think time to override the recorded think time. This parameter is valid only in
conjunction with THOPT(3). For example, the statement GROUP CICS41A TERM(1)
THOPT(3) THINK(0,1) plays back the script with a think time of one second between
transactions.
THOPT(1|2|3)
Sets a think-time option similar to that available online.
1: Play at full speed. The transactions are played back as quickly as the system
can run them. This is the default.
2: Think time recorded in the script. Think time is simulated using the think
time recorded in the script.
3: User-set think time. Think time is the amount set by the THINK parameter.
THPCT(nnn)
Sets a think time percentage. This parameter is valid only in conjunction with
THOPT(2) or THOPT(3). For example, the statement GROUP IMSB TERM(10)
THOPT(2) THPCT(25) plays back the script at 25 percent of the original think time
recorded on the script.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-19
TIMESYNC
Indicates that script execution will be synchronized by time of transaction with
other groups that use the TIMESYNC parameter. TIMESYNC single-threads the inputs
and guarantees that the transactions run in the same sequence as they were recorded.
Note:
This parameter is mutually exclusive with ALLSYNCH and SYNCH.
This parameter is valid only for version 6 and more current scripts.
Note: If USESTIME is used with TIMESYNC, only USESTIME is recognized. If the two
parameters are used together, Hiperstation issues error EHSB074I KEYWORD(TIMESYNC) IGNORED - USESTIME SPECIFIED ON CONTROL
STATEMENT, ignores the TIMESYNC parameter, and continues with
playback.
TRACE(class|dsn)
CAUTION:
TRACE and VTAMTRCE let you trace internal Hiperstation for VTAM information. Do
not use TRACE without guidance from Hiperstation Customer Support.
If used, allocates a trace for each terminal in the group. Each trace contains the
actual 3270 data streams that flowed between the application and the virtual
terminal. If the value is a single character, the trace is allocated to SYSOUT in the
class set by that single character. If the value is more than one character, the trace is
allocated in one or more files.
By default, no trace is allocated.
The dataset value can be either a dataset name by itself or a dataset name with a
member name:
TRACE(dataset)
TRACE(dataset(member))
The dataset or member or both can contain wildcard characters (* or ?). If a dataset
name is supplied with no member and no wildcards, a dataset is created with the
name dsn.Pnnnn, where nnnn is the port number assigned to the terminal. See
“Print File Naming Conventions” on page 7-22 for a description of dataset and
member names when using wildcards.
VTAMTRCE
Indicates that the trace contains additional VTAM data such as the bind, RPLs, and
response and bracket conditions.
XLOG(class|dsn)
Allocates an exception log for each terminal in the group. If the value is a single
character, Hiperstation allocates the exception log to SYSOUT in the class set by that
single character. If the value is more than one character, the exception log is
allocated to a permanent file. By default, no log is allocated.
The dataset value can be either a dataset name by itself or a dataset name with a
member name:
XLOG(dataset)
XLOG(dataset(member))
The dataset or member or both can contain wildcard characters (* or ?).
Note:
If you are using a PDSE for the exception log, it must be preallocated, and if
the dataset is preallocated, it must be a PDSE. A sequential dataset can be
used but is not preallocated.
7-20
Hiperstation for VTAM User Guide
If a dataset name is supplied with no member and no wildcards, a dataset is created
with the name dataset.Pnnnn, where nnnn is the port number assigned to the
terminal. See “Print File Naming Conventions” on page 7-22 for a description of
dataset and member names when using wildcards.
If mismatches occur, the return code is normally set to 8. If you use XLOG and set
the value of the COPT parameter to 4, Hiperstation for VTAM generates an XLOG
with a return code of 0 (zero) even if there are mismatches.
If the XLOG option is specified without the COPT option, the default value of
COPT(1) is used.
Note:
The LOG and XLOG options are mutually exclusive.
SCRIPT Statement
A SCRIPT statement sets a SCRIPT (member name from the SYSLIB) to run in the domain
destination that was specified on the preceding GROUP statement and optionally
indicates the number of times to run the script. One or more SCRIPT statements follow a
GROUP statement.
Note:
(1) Dubbing syntax varies depending on whether DUB or NODUB is specified on the
higher level CONTROL or GROUP statement.
Required Parameter
scriptname
Sets a script to run on the terminals listed on the preceding GROUP statement. One
or more SCRIPT statements follow a GROUP statement.
Optional Parameters
DUBMEM(scriptname(R)|member|member(R))
Dubs the script. The member variable defines the dataset member to contain the
dubbed script. Using the (R) value after member replaces this member if it already
exists. The default value is DUBMEM(script_name(R)).
Notes:
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-21
1. When dubbing several scripts, use DUBMEM after each script to be dubbed,
and NODUB after scripts you do not want dubbed. Each script in the group
needs to be labeled either DUBMEM or NODUB.
2. If DUBMEM and NODUB are used for the same SCRIPT statement, NODUB
takes precedence.
3. If a member is used in the GROUP statement, the DUBMEM parameter is
ignored.
4. If dubbing is active and no member is used at the group level, the REPEAT
count must be 1.
5. To activate dubbing, the DUB keyword must be on the GROUP or CONTROL
statement.
NODUB
Does not dub this script. If DUBMEM and NODUB are used on the same SCRIPT
statement, NODUB takes precedence.
REPEAT(1|nnn)
Sets the number of times a script plays back. This has the same effect as defining a
value for the Repetition Count field on the Play Setup screen. The default is 1 (one).
Note: If the script contains a CICS logoff or TSO signoff, an unbind is issued and the
port is terminated.
If CACHEOFF is specified in the control statement, any REPEAT statement
will be invalid because caching is required to repeat a group or script. When
CACHEOFF is specified in the control statement, with a REPEAT statement,
Hiperstation displays error EHSB075I - KEYWORD (REPEAT) NOT VALID
WITH CACHEOFF SPECIFIED, sets a return code of 8, and shuts down
playback.
SKIPCMP(sequence of output groups)
Enter a range of <OUTPUT> groups. Compare processing is bypassed for <OUTPUT>
groups that fall within this range. For example, entering 1-3, 6, 77 bypasses compare
processing for <OUTPUT> groups 0000001, 0000002, 0000003, 0000006, and
0000077.
STOPON(n)
Stops processing when it reaches the set number (n) of mismatches for that run. If
fewer than the set number of mismatches occur, Hiperstation continues script
processing to the end.
Note: The message shown for script termination is the same as the one that appears
when the script has no mismatches. For this reason, check all messages for
the playback and/or comparison.
WAITMORE(sequence of input groups)
Delays playback for a range of <INPUT> groups. It supports testing applications
where certain steps in the flow require more time to build the screen accepting the
<INPUT> group. For example, entering an order in an order processing application
may be fast, but the last step, credit card submission, may require more time. Specify
that <INPUT> on the WAITMORE parameter to help keep the script synchronized
with the application.
Specify the range of <INPUT> groups to delay. For example, if you enter WAITMORE
(1, 3, 7-99), Hiperstation waits the amount of time specified on the STDWAIT
parameter before playing input groups 1, 3, and 7 to 99. If you did not specify an
STDWAIT, Hiperstation waits the STDWAIT default of one hundredth of a second.
7-22
Hiperstation for VTAM User Guide
Print File Naming Conventions
• No wildcards are allowed in the dataset or member on the CONTROL TRACE
keyword.
• If no wildcards are supplied on the GROUP SUMMARY value, the dataset (and
optional member) are created exactly as written.
• If no wildcards and no member are supplied on the GROUP JOURNAL, LOG, XLOG,
RLOG, AUTODOC, and TRACE value, the dataset is suffixed with the value Pnnnn
where nnnn is the current port number.
• If a member but no wildcards are supplied on the GROUP JOURNAL, LOG, XLOG,
RLOG, AUTODOC, and TRACE value, the dataset and member are created exactly as
written.
• Except for the CONTROL TRACE value, wildcard characters (* or ?) can be present on
either or both the dataset and member.
• Wildcard characters indicate the location in the name where the port number (for
JOURNAL, LOG, XLOG, RLOG, AUTODOC, and TRACE) or the group number (for
SUMMARY) is inserted.
• A single ‘*’ inserts the current port or group number with enough leading zeros to
create a dataset segment (the part between the dots) or member name with a length
of eight characters.
• One or more ‘?’ inserts the current port or group number with enough leading zeros
so that the number is the same length as the question marks.
• You cannot put a wildcard in the first position of a dataset segment or a member
name.
• If ‘*’ is used, it can appear only once in a dataset name or member name or both.
• If ‘?’ is used, it can appear more than once in a dataset name or a member name or
both.
• If several ‘?’ are supplied, they cannot be separated from each other by any
characters.
• The ‘*’ and ‘?’ cannot both appear in a dataset name or member name.
Print file naming examples:
CONTROL TRACE(abc.def)
- no wildcards allowed in the dataset
- produces: abc.def 
CONTROL TRACE(abc.def(xyz))
- no wildcards allowed in the dataset or member
- produces: abc.def(xyz) 
GROUP SUMMARY(abc.def)
- produces: abc.def 
GROUP SUMMARY(abc.def(xyz))
- produces: abc.def(xyz)
GROUP {JOURNAL,LOG,XLOG,RLOG,AUTODOC,TRACE}(abc.def)
- produces: abc.def.P0001 
GROUP {JOURNAL,LOG,XLOG,RLOG,AUTODOC,TRACE}(abc.def(xyz))
- produces: abc.def(xyz) 
GROUP ...(abc*.def)
- produces: abc00001.def 
GROUP ...(abc.d*ef)
- produces: abc.d00001ef 
GROUP ...(abc.d?ef)
- produces: abc.d1ef 
GROUP ...(abc.d???ef)
- produces: abc.d001ef 
GROUP ...(abc.def(xyz*))
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-23
- produces: abc.def(xyz00001) 
GROUP ...(abc.de*(xyz))
- produces: abc.de000001(xyz) 
GROUP ...(abc.d*f(x????z))
- produces: abc.d000001f(x0001z) 
GROUP ...(abc.?def)
- WRONG 
GROUP ...(abc.def(*xyz))
- WRONG 
GROUP ...(abc.def*?)
- WRONG 
GROUP ...(abc.d?ef?)
- WRONG
3270 Unattended Playback, Dubbing and Comparison
Sample JCL
The following examples show sample JCL for 3270 testing. The first example is followed
by increasingly complex scenarios.
Example 1: Play Back a Single Script, Single Terminal
In Figure 7-2, Hiperstation will run a script named DBCLOSE in a CICS region named
CICS41A. The script is contained in the dataset ESA1.RECBIG.DATA. A transaction
journal is created in SYSOUT class A, used on the JOURNAL parameter on the GROUP
statement.
Figure 7-2. JCL to Play Back Single Script, Single Terminal
//HIPER EXEC PGM=EHSBATCH,REGION=4096K 
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA1.RECBIG.DATA,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
GROUP CICS41A JOURNAL(A)
SCRIPT(DBCLOSE)
Example 2: Play Back Multiple Scripts, Single Terminal
In Figure 7-3, Hiperstation will run a script named IMSLOGON in an IMS/DC region
named ICR1. When IMSLOGON is finished, the script IMSEXER runs. Finally, the script
IMSOFF runs. The scripts are contained in the datasets RPN1.IMS.RECORD and
SYS2.RECORD.DATA.
Figure 7-3. JCL to Play Back Multiple Scripts, Single Terminal
//HIPER EXEC PGM=EHSBATCH,REGION=4096K 
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=RPN1.IMS.RECORD,DISP=SHR
//
DD DSN=SYS2.RECORD.DATA,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
GROUP ICR1
SCRIPT(IMSLOGON)
SCRIPT(IMSEXER)
SCRIPT(IMSOFF)
7-24
Hiperstation for VTAM User Guide
Example 3: Play Back Multiple Scripts, Multiple Terminals
In Figure 7-4, Hiperstation will run three scripts using 10 terminals logged on to CICS
region CICSPROD. CICSEXER, set on the second SCRIPT statement, runs 20 times on
each terminal. In addition, each terminal reconnects and plays back the scripts five
times.
Figure 7-4. JCL to Play Back Multiple Scripts, Multiple Terminals
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA1.RECBIG.DATA,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
GROUP CICSPROD TERM(10) REPEAT(5)
SCRIPT(CICSON)
SCRIPT(CICSEXER) REPEAT(20)
SCRIPT(CICSOFF)
Example 4: Play Back Multiple Scripts, Multiple Terminals, and Multiple
Domain Destinations
In Figure 7-5, Hiperstation is used for stress testing. A number of scripts are run
simultaneously in CICS on 20 different terminals and IMS/DC on 40 terminals. In
addition, the region CICS41A runs multiple different scripts simultaneously on different
terminals. To do this, establish two terminal groups — both running against CICS41A but
defining different scripts.
Figure 7-5. JCL to Play Back Multiple Scripts, Terminals, and Transaction Processing
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA1.RECBIG.DATA,DISP=SHR
//
DD DSN=SYS2.IMS.RECORDS,DISP=SHR
//
DD DSN=SYS2.CICS.RECORDS,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN
DD *
CONTROL PREFIX(DHPR)
COMPANY *** YOUR NAME HERE ***
GROUP CICS41A TERM(10)
SCRIPT(CICSON)
SCRIPT(CICSEXER) REPEAT(20)
SCRIPT(CICSOFF)
GROUP CICS41A TERM(10)
SCRIPT(CICSON)
SCRIPT(OLTEST) REPEAT(20)
SCRIPT(CICSOFF)
GROUP IMSREG1 TERM(40)
SCRIPT(IMSON)
SCRIPT(GLTEST1) REPEAT(10)
SCRIPT(GLTEST2) REPEAT(50)
SCRIPT(GLTEST3) REPEAT(20)
SCRIPT(IMSOFF)
Example 5: Play Back and Compare All Scripts in a Group
In Figure 7-6, all of the scripts in a single group are played back. The results are stored in
the exception log (XLOG).
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-25
Figure 7-6. JCL to Play Back and Compare Scripts
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA.RECBIG.DATA,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
GROUP
CICSPROD COPT(1) XLOG(*)
SCRIPT(CICSON)
SCRIPT(CICSEXER)
SCRIPT(CICSOFF)
Example 6: Dub All Scripts in a Group
In Figure 7-7, all scripts in a single group are dubbed. The dubbed scripts will be stored in
dataset ESA.RECBIG.DATA2. A log of the dubbed scripts will be stored in DLOGnnnn.
Figure 7-7. JCL to Dub All Scripts in a Group
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA.RECBIG.DATA,DISP=SHR
//DUBLIB
DD DSN=ESA.RECBIG.DATA2,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
CONTROL DUB
GROUP
CICSPROD
SCRIPT(CICSON)
SCRIPT(CICSEXER)
SCRIPT(CICSOFF)
Example 7: Exclude Scripts from Dubbing
In Figure 7-8, the script CICSEXER is dubbed. The dubbed scripts will be stored in dataset
ESA.RECBIG.DATA2. A log of the dubbed scripts will be stored in DLOGnnnn.
Figure 7-8. JCL to Exclude Scripts from Dubbing
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA.RECBIG.DATA,DISP=SHR
//DUBLIB
DD DSN=ESA.RECBIG.DATA2,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
CONTROL DUB
GROUP
CICSPROD
SCRIPT(CICSON) NODUB
SCRIPT(CICSEXER)
SCRIPT(CICSOFF) NODUB
Example 8: Dub and Combine Scripts, Single Group
In Figure 7-9, all of the scripts in a single group are dubbed. All of the scripts for this
group will be stored in dataset member COMBINED of ESA.RECBIG.DATA2. A log of the
dubbed scripts will be stored in DLOGnnnn.
7-26
Hiperstation for VTAM User Guide
Figure 7-9. JCL to Dub and Combine Scripts
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA.RECBIG.DATA,DISP=SHR
//DUBLIB
DD DSN=ESA.RECBIG.DATA2,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
GROUP
CICSPROD DUB(DUBLIB,,COMBINED)
SCRIPT(CICSON)
SCRIPT(CICSEXER)
SCRIPT(CICSOFF)
Example 9: Dub Multiple Groups
In Figure 7-10, all of the groups are dubbed except the first group. All dubbed scripts in
the third group will be stored in dataset ESA.RECBIG.DATA2. The other groups will be
stored in SYS2.RECORD.DATA2. A log is created in datasets ESA.RECBIG.DATA2 and
SYS2.RECORD.DATA2 with the name DLOGnnnn.
Figure 7-10. JCL to Dub Multiple Groups
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA1.RECBIG.DATA,DISP=SHR
//
DD DSN=RPN1.IMS.RECORD,DISP=SHR
//
DD DSN=SYS2.RECORD.DATA,DISP=SHR
//
DD DSN=ESA.RECBIG.DATA,DISP=SHR
//DUBLIB
DD DSN=SYS2.RECORD.DATA2,DISP=SHR
//DUBLIB2 DD DSN=ESA.RECBIG.DATA2,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
CONTROL DUB
GROUP
CICS41A NODUB
SCRIPT(DBCLOSE)
GROUP
ICR1
SCRIPT(IMSLOGON) NODUB
SCRIPT(IMSEXER)
SCRIPT(IMSOFF) NODUB
GROUP
CICSPROD DUB(DUBLIB2)
SCRIPT(CICSON)
SCRIPT(CICSEXER)
SCRIPT(CICSOFF)
GROUP
ICR1
SCRIPT(IMSLOGON) NODUB
SCRIPT(IMSEXER2)
SCRIPT(IMSOFF) NODUB
Example 10: Compare All Specified Scripts in a Group
In Figure 7-11, all of the scripts in a single group are compared to previously dubbed
scripts of the same name located in dataset ESA.RECBIG.DATA2.
Figure 7-11. JCL to Compare All Specified Scripts in a Group
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA.RECBIG.DATA,DISP=SHR
//DUBLIB
DD DSN=ESA.RECBIG.DATA2,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
COMPARE COPT(1) XLOG(*)
GROUP
CICSPROD
SCRIPT(CICSON)
SCRIPT(CICSEXER)
SCRIPT(CICSOFF)
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-27
Example 11: Compare Multiple Groups
In Figure 7-12, all of the scripts in each group are compared to previously dubbed scripts
of the same name. The scripts in the third group are compared to the same-name scripts
located in dataset ESA.RECBIG.DATA2, while the scripts in the other groups are compared
to the scripts in SYS2.RECORD.DATA2.
Figure 7-12. JCL to Compare Multiple Groups
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=ESA1.RECBIG.DATA,DISP=SHR
//
DD DSN=RPN1.IMS.RECORD,DISP=SHR
//
DD DSN=SYS2.RECORD.DATA,DISP=SHR
//
DD DSN=ESA.RECBIG.DATA,DISP=SHR
//DUBLIB
DD DSN=SYS2.RECORD.DATA2,DISP=SHR
//DUBLIB2 DD DSN=ESA.RECBIG.DATA2,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN
DD *
COMPARE COPT(1) XLOG(*)
GROUP
CICS41A
SCRIPT(DBCLOSE)
GROUP
ICR1
SCRIPT(IMSLOGON)
SCRIPT(IMSEXER)
SCRIPT(IMSOFF)
GROUP
CICSPROD DUB(DUBLIB2)
SCRIPT(CICSON)
SCRIPT(CICSEXER)
SCRIPT(CICSOFF)
GROUP
ICR1
SCRIPT(IMSLOGON)
SCRIPT(IMSEXER2)
SCRIPT(IMSOFF)
Example 12: LU0 Script
In Figure 7-13, Hiperstation replays one LU0 script. The script (HPLU0001) was recorded
using Global Record because LU0 scripts cannot be recorded using the Hiperstation
online recording features. Hiperstation waits 15 seconds after receiving data from the
application before responding. The Keyboard Restore flag is not used by this application
to signal an end to sending, so the KBIGNORE parameter is used.
This site has defined LU0 virtual terminals using prefix EHLU0.
Figure 7-13. JCL to Compare Multiple Groups
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//SYSLIB
DD DSN=GLOBAL.RECORD.SCRIPTS,DISP=SHR
//SYSIN
DD *
CONTROL KEYU(1500) PREFIX(EHLU0) SUFFIX(3)
GROUP
LU0APPL -
KBIGNORE
-
LOGMODE(IBM3600)
SCRIPT(HPLU0001)
Replacing Data with Unformatted Scripts
Since LU0 scripts are unformatted, all inputs and outputs are recorded in <HEX> format.
What you see in the script is actually a character representation of the hex string in
quotes, followed by a comment containing the character string itself. A sample follows:
7-28
Hiperstation for VTAM User Guide
Figure 7-14. Character Representation of Hex String
<HEX>"D8C7F3F0F0F2F1F9F2F1D6F0F0D501C1"
<HEX>"D7F4F5F5F2F6FCC1D3C3C1D4C9D9C242"
<HEX>"F0F0F0F102F0F0F5F9"
/*QG30021921O00N.A*/
/*P45526.ALTAMIRB.*/
/*0001.0059
*/
Hiperstation facilities, like compare, dub, and message filtering, all support unformatted
scripts. REXX commands can be added to these scripts, and it is possible to edit and place
a variable in these strings.
Note:
Unattended playback will give unexpected results if the comment block is
removed.
Method 1:
The sample above contains a transaction code (QG30), a userid (AP45526) and a
password (ALTAMIRB). The following approach can be used to replace a userid and
password with REXX variables using the Hiperstation EXECUTE statement and the REXX
C2X (character-to-hex) function. Note that an empty comment block is concatenated to
the end of VarHex1 and VarHex2. The first two <HEX> lines are deleted and replaced
with two <EXECUTE> lines.
Figure 7-15. Method 1 Sample
UserChar = 'AP45526'
PwdChar = 'ALTAMIRB'
UserChar.Pre = SUBSTR(UserChar,1,1)
UserChar.Suf = SUBSTR(UserChar,2,6)
*
VarHex1 = D8C7F3F0F0F2F1F9F2F1D6F0F0D501||C2X(UserChar.Pre)||' /* */' 
VarHex2 = C2X(UserChar.Suf)||FC||C2X(PwdChar)||42||' /* */' 

<EXECUTE>"<HEX>"||VarHex1
<EXECUTE>"<HEX>"||VarHex2
<HEX>"F0F0F0F102F0F0F5F9"
/*0001.0059
*/
Method 2:
Figure 7-16. Method 2 - First Sample
<INPUT>0000004
<THINK>00.26.871 AT 00:00:29.011
<HEX>"F94EF2114CD2A84040114CF9A3114EC9"
<HEX>"A597"
</INPUT>
/*9+2.<Ky
/*vp


.<9t.+I*/
*/
A simpler approach is to “break up” a <HEX> line into smaller lines in order to isolate a
variable from the string. In this example, the input sequence above is identical to the
sequence below. Remember that the comment block is always required. Experience shows
that it should start at column 44.
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-29
Figure 7-17. Method 2 - Second Sample
COLS> ----+----1----+----2----+----3----+----4----+----5----+----6--- 
cvar="+I"
hvar=c2x(cvar)
<INPUT>0000004
<THINK>00.26.871 AT 00:00:29.011
<HEX>"F94EF2114CD2A84040114CF9A311"
/**/
<HEX>hvar
/**/
<HEX>"A597"
/**/
</INPUT>
Unattended Mode Return Codes
Hiperstation for VTAM reports an MVS return code for each step of an unattended
playback job. The return code is a numeric value that indicates whether the job step
completed successfully and to what degree. See Table 7-2 on page 7-30 for a complete list
of Hiperstation unattended playback return codes.
Note: For more definitive playback results, you can add REXX logic to a script to return
a specific value based on the criteria you supply. This is called a ‘script’ or
‘custom’ return code. Refer to the Hiperstation Scripting Reference to learn how to
define custom return codes.
The location of your return codes is dependent on your system configuration. On some
systems, with the correct job statement parameter, return codes appear in your TSO
session. On others, they are written to a job log. If you need help locating your return
codes, see your system administrator.
Hiperstation also writes the following informational message to the SYSPRINT at job
completion:
EHSB098I MAXIMUM SCRIPT RC=rc, INTERNAL RC=rc
This message, in most cases, reports the highest script and internal return code values.
The larger of these two values is returned as the job step completion code.
Note:
If you did not define custom return codes, this message reports 0 for the SCRIPT
RC value.
If there are multiple scripts within the GROUP statement, Hiperstation returns the value
set by the last script processed. For example, Hiperstation reports the return code from
the LOGOFF script in the following GROUP.
GROUP
SCRIPT(LOGON)
SCRIPT(TEST)
SCRIPT(LOGOFF)
Due to this processing rule, the EHSB098I message may not report the highest return
code value for this type of playback job. For example, if the TEST script returned an
internal return code value of 4, and the LOGOFF script returned a value of 0, EHSB098I
reports a value of 0 for the INTERNAL RC.
If the GROUP statement has a COUNT parameter that initiates concurrent playback
sessions, or a REPEAT parameter that initiates consecutive playback sessions, Hiperstation
returns the highest value of all of the sessions. For example, a GROUP statement with
COUNT(2) and REPEAT(3) initiates two concurrent playback sessions, repeated three
times consecutively. If the first repeat returns a code of 0 for one playback session and 12
7-30
Hiperstation for VTAM User Guide
for the other, the second repeat yields 8 and 0, and the third repeat yields 0 and 0, as
shown in the table below, Hiperstation returns 12 for the job step completion code.
Session 1
Session 2
REPEAT Scripts in GROUP
RC
Scripts in GROUP
RC
1
Script
0
Script
12
2
Script
8
Script
0
3
Script
0
Script
0
If a GROUP statement contains multiple SCRIPT statements, and has a COUNT
parameter, Hiperstation compares the return code set by the last script processed in each
session and returns the highest value. For example, the following playback statements
result in two concurrent playback sessions in which LOGON, TEST and LOGOFF are
played consecutively.
GROUP COUNT(2)
SCRIPT(LOGON)
SCRIPT(TEST)
SCRIPT(LOGOFF)
If the last script processed in the first session yields a code of 4, and the last script
processed in the second session yields a code of 12, as shown in the table below,
Hiperstation returns a job step completion code of 12.
Session 1
Session 2
Scripts in GROUP
RC
Scripts in GROUP
RC
LOGON
0
LOGON
0
TEST
0
TEST
4
LOGOFF
4
LOGOFF
12
In addition to the EHSB098I message, Hiperstation writes status, error, and warning
messages to SYSPRINT. If the playback job step returns a non-zero code, review the return
code description provided in Table 7-2. Then review the warning and error messages to
determine the cause of the problem. Refer to the Hiperstation Messages and Codes guide for
help with error resolution.
Table 7-2. Hiperstation for VTAM Unattended Playback Return Codes
RC
Description
0
All scripts ran successfully.
8
Occurs when the COPT option setting flags a mismatch and LOG or XLOG is specified.
12
Error: LU6.2 or LU2 unattended mode process contains exceptions at the record level. For
example:
16
•
One or more corresponding record lengths are not equal
•
Sense data is not equal on one or more records
•
Log data is not the same length for corresponding records.
Error: Invalid script statement found
Unattended Playback, Dubbing, and Comparison for 3270 and LU0 Scripts
7-31
Table 7-2. Hiperstation for VTAM Unattended Playback Return Codes
RC
Description
20
Serious Error:
•
Port could not be started because LU2 application is not valid or not active
•
Port started, but could not be initialized
•
REXX EXEC/script not found.
24
Serious Error: The first port to be started could not start — the unattended mode process is
terminated. If other ports are started, unattended mode continues.
28
SEVERE ERROR: Port subtask could not be started.
•
SYSPRINT could not be opened or error occurred processing SYSPRINT
•
SYSIN could not be opened or error occurred processing SYSIN
•
SYSCNTL could not be opened or error occurred processing SYSCNTL
•
User failed security authorization
•
Either LU2 or LU6.2 pool names could not be built from the provided prefix and suffix
values.
•
Product is not licensed for LU6.2 (APPC) unattended mode processing
•
LU6.2 is not supported for LU6.2 scripts
•
Trace could not be initialized
•
No terminals found to be played back
•
VTAM initialization error.
•
A syntax error exists on the JOURNAL, LOG, XLOG, RLOG, AUTODOC, SUMMARY, or
TRACE keywords on the CONTROL, GROUP, ALLOCATE, or COMPARE statements.
32
SERIOUS ERROR: A print file is full or could not be processed. The print files are the JOURNAL,
LOG, XLOG, RLOG, AUTODOC, SUMMARY, and TRACE files.
40
SEVERE ERROR: Hiperstation is about to expire or has expired. Contact Hiperstation Customer
Support for a date extension and new release availability information.
44
SECURITY ERROR: Hiperstation detected an unauthorized default parameter table. Contact your
systems programmer.
The most common cause of the RC=44 is a non-authorized SQQFLOAD.
LU0 Special Considerations
This section explains special considerations for LU0 testing.
Unattended Mode Statements
The unattended mode statements apply to both 3270 and LU0 testing with some
exceptions. Review the following sections to determine if any of these considerations
apply to your testing requirements.
CONTROL Statement
The LU0 CONTROL statement and its parameters have the same meaning as the 3270
CONTROL statement with the following exceptions:
7-32
Hiperstation for VTAM User Guide
KEYU
For LU0 playbacks, this is the amount of time Hiperstation waits for the next output
from the TPF or application. Following the expiration of KEYU, Hiperstation assumes
that the application has finished sending data and sends the next <INPUT> group.
The default is 4500 or 45 seconds. This will normally be more than sufficient to keep
scripts synchronized. If your playbacks seem sluggish, then reduce the KEYU setting.
Note: Although the meanings of the PREFIX and SUFFIX parameters are the same, often
the LU0 and 3270 PREFIX and SUFFIX values are different.
GROUP Statement - Optional Parameters for LU0
DATA
Some LU0 implementations, in particular those that use IMS Fastpath, require a user
ID and password during session establishment. Hiperstation uses the DATA parameter
to supply this data to the application during session establishment.
KBIGNORE
Use this parameter for LU0 playbacks. When this parameter is specified Hiperstation
will not use the Keyboard Restore indicator in the datastream as an indication that
the application has finished sending data. Since the Keyboard Restore flag is a 3270
datastream write control command, most LU0 implementations do not use it.
LOGM
Use an LU0 logmode.
Example - Replay 1 LU0 script. The script (HPLU0001) was recorded using Global
Record (LU0 scripts cannot be recorded using Hiperstation online recording).
Hiperstation waits for 15 seconds following the receipt of data from the application
prior to responding. The keyboard restore flag is not used by this application to
signal an end to sending so the KBIGNORE parameter is used. This site has defined
LU0 virtual terminals using the prefix EHLU0.
//HIPER EXEC PGM=EHSBATCH,REGION=4096K
//STEPLIB DD DSN=HIPER.LOAD,DISP=SHR
//STEPLIB DD DSN=GLOBAL.RECORD.SCRIPTS,DISP=SHR
//SYSIN
DD *
CONTROL KEYU(1500) PREFIX(EHLU0) SUFFIX(3)
GROUP LU0APPL -
KBIGNORE-
LOGMODE(IBM3600)
SCRIPT(HPLU0001)
IN4700
When you require no special user conversion routine, specify IN4700(IEFBR14) to
bypass default 3270 datastream processing for LU0 input.
OUT4700
When you require no special user conversion routine, specify OUT4700(IEFBR14) to
bypass default 3270 datastream processing for LU0 output.
8-1
Chapter 8.
Quick Play — Select a Script and Go
Chap 8
Use Quick Play to initiate interactive playback without accessing Domain Traveler. Quick
Play can display a list of all scripts in a selected dataset if you are unsure of the name of
the script you want to play. You can also browse or edit scripts from Quick Play.
Running Quick Play
To run Quick Play:
1. Select option 2 Quick Play from the Hiperstation for VTAM Main Menu. The Quick
Play Script Dataset screen appears (Figure 8-1).
Figure 8-1. Quick Play Script Dataset Screen
Hiperstation ------------------- Quick Play -----------------------------------
Command ===>


Script Data Set:

Project . . . . . . HPER

Group . . . . . . . TEST

Type . . . . . . . SCRIPTS

Member. . . . . . . A*
(Blank or pattern for member selection list)

Other PDS. . . . . .


Press Enter to continue and END to terminate

2. Enter either the script dataset name or the script name. If you do not know the script
name, leave the Member field blank or insert a wildcard (for example, A*) to view a
list of scripts in the selected dataset. Press Enter.
3. If you entered a valid dataset and script name, Quick Play connects to the domain
destination found in the script and begins playing. If the script does not contain a
domain destination, Quick Play connects to the last domain destination you
accessed.
If you left the Member field (script name) blank or entered a wildcard, the Select and
Play screen appears (Figure 8-2). This screen lists the scripts contained in the selected
dataset.
8-2
Hiperstation for VTAM User Guide
Figure 8-2. Quick Play Select and Play Screen
Hiperstation ------------------ Select and Play ------------- Row 1 to 9 of 39
Command ===>
Primary Commands: APPL, SESS, CANCEL
Line commands
: (B)rowse, (E)dit, (O)ptions, (P)lay
Script Data Set:
Project . . . . . . HIPER
Group . . . . . . . TEST
Type . . . . . . . SCRIPTS
Other PDS. . . . . .
Current Play Options Settings:
Play. . Interactive
Compare All Checks
Connect to . . . . .
(Blank to use Domain contained in the script)
Action
_
_
_
_
_
_
Script
-------CDTFIND
COMDTL00
COMDTL01
COMDTL02
CONTROL3
DEMO
























4. Enter a domain destination in the Connect to field or leave it blank to connect to the
domain destination found in the script. If you do not specify a destination and the
script does not contain one, Quick Play will connect to the last domain destination
you accessed.
5. Enter one of the primary commands (APPL, CANCEL, DOWN, END, SESS, or UP) on
the command line or the (B)rowse, (E)dit, (O)ptions, (P)lay, or Select (/) line
command in the Action column next to the desired script, and press Enter.
– APPL navigates to the application Profiling settings panel. See “Change
Application Profile Settings” on page 3-4 for more information.
– SESS navigates to the Session Options settings panel. See “Change Session
Options” on page 3-3 for more information.
– (O)ptions navigates to the Play Setup screen. Script replay is then initiated from
the Play Setup screen. See “Playback Setup” on page 5-5 for more information.
Note: If you type a slash in the Action column next to a script, a pop-up will appear
listing the valid line commands. See the online help for a description of the
primary and line commands available on this screen.
9-1
Chapter 9.
Demonstrating Scripts with Session Demo
Chap 9
The session demo function lets you structure end-user training sessions and
presentations without running your application. With session demo, you can
demonstrate any previously recorded Hiperstation for VTAM script (except for input only
scripts) without changing the script or interacting with the domain destination used to
record it. This allows you to implement effective training without interfering with your
production or test environment. For example, you can:
•
•
•
•
•
Scroll backwards to previously displayed screens
Jump ahead or back a set number of screens
Insert pop-up windows in a script to describe the screen
Run the demonstration in interactive or non-interactive mode
Desk-check testing scripts
Accessing Session Demo
1. Select option 3 Session Demo from the Hiperstation for VTAM Main Menu to run
session demo. The Demonstration Setup screen appears (Figure 9-1).
Figure 9-1. Demonstration Setup Screen
---------------------- Hiperstation * Demonstration Setup ---------------------
OPTION ===>


Select the Recording and press ENTER to start the Demo.


RECORDING FILE NAME:

PROJECT ===>

GROUP
===>

TYPE
===>

MEMBER ===>
(Blank or pattern for member selection list) 

OTHER PARTITIONED DATA SET:

DATA SET NAME ===>


"ZOOM" key ===> PF23

Begin demo in ZOOM mode ==> N (Y/N)
Begin demo in POP-UP mode ==> N (Y/N) 

DEMO/THINK TIME OPTION ===> 1

1 Demo interactively

2 Demo at full speed

3 Demo at Think Time recorded on script

4 Demo at Think Time specified below

Time(ss th) => 01 50 Percent ===> 100

From this screen, you can set up your demonstration options.
2. Specify the recording file name (PROJECT, GROUP, and TYPE or OTHER
PARTITIONED DATASET NAME). This must be an existing script.
The MEMBER is the name of the script. You can use any valid member name. If you
leave the member name blank or enter a pattern member name, an ISPF member
selection list appears. This member selection list accepts the following line
commands:
– B: Browse the member
– E: Edit the member
9-2
Hiperstation for VTAM User Guide
– S: Select the member for playback.
The member selection list also accepts all standard selection list primary commands,
such as LOCATE and SORT.
Note:
Remember that you cannot use input only scripts in Session Demo.
You can use OTHER PARTITIONED DATASET NAME, including the MEMBER, if your
dataset name does not conform to ISPF naming standards.
3. Accept the default Zoom Key, or specify another PF key to toggle a session between
Zoom and ISPF (interactive) display modes. See “Product Conventions” on page 1-7
for display mode information.
4. Specify Begin demo in ZOOM mode (Yes or No).
5. Specify Begin demo in POP-UP mode (Yes or No)
6. Specify DEMO/THINK TIME OPTION. Your choices include options that determine
how the demo session will proceed.
1. Demo interactively: The demonstration proceeds each time you press Enter.
2. Demo at full speed: The transactions play back as quickly as the system can
run them.
3. Demo at the think time recorded on the script: Think time is simulated
using the think time recorded on the script.
4. Demo at the think time chosen below: Indicates that the think time for all
transactions is the amount of time set in the Time(ss th) field (the think
time for each transaction). Time is measured in seconds and hundredths of a
second. For example, 00 75 is three-fourths of a second think time.
Note:
Percent allows a percentage figure to be applied to the think time when
the THINK TIME OPTION is set to 3 or 4. For example, to play back a
script with half of the original think time, set THINK TIME OPTION = 3
and Percent = 50.
Starting the Demonstration
To start the demonstration, specify the desired options on the Demonstration Setup
screen and press Enter. The first screen of the demonstration appears (Figure 9-2).
The SessionDemo screen consists of three information lines followed by the display
window.
Figure 9-2. Session Demo Screen
ZOOM:F23 ----------------------- SessionDemo -------------------- LINE 1 OF 24 
Command ===>
Scroll ===>

Screen# 0001/0011 KEY: <OUTPUT> Journal OFF Pop-ups OFF autoDoc OFF

COMPUWARE SALES SUPPORT


CICS REGION CICS41A

BROADCAST SCREEN

07/06/07
08:56:36


ACTIVITY
DATE
START
END
REP/ACCOUNT
PRODUCTS

========
========
=EST=
=EST=
=====================
========

NO MESSAGES TODAY

The top, or title line, shows the Zoom key setting and the current scroll position.
The second line is a standard ISPF command line where you can enter both ISPF and
Session Demo commands.
Demonstrating Scripts with Session Demo
9-3
The third line, the status line, shows the status of the Session Demo options:
Option
Description
Screen# xxxx/yyyy
Indicates the screen number currently being viewed and the
highest screen number in the session. ‘xxxx’ indicates the
current screen in the presentation space. ‘yyyy’ indicates the
total number of screens recorded in the script. In Figure 9-2, the
current screen number is 1, the highest screen number is 11.
KEY: description
Indicates the AID key that the user pressed. For input images, the
AID key is described in character format (CLEAR, Enter, PA2,
etc.). For output images, <OUTPUT> is placed in the field.
Journal
Specifies the status of the Journaling utility (OFF or ON).
Pop-ups
Specifies the status of Pop-Up window mode (OFF or ON).
autoDoc
Specifies the status of the Automated Documentation utility
(OFF or ON).
Subsequent lines show the user’s screen image. This area of the screen can be scrolled.
For each transaction, two screen images are generated. The first screen image shows the
KEY field on line three followed by the AID key the user pressed (such as Enter, PF1, or
CLEAR).
The second screen image shows the output from the application. The output images are
distinguished by the <OUTPUT> identifier in the KEY field.
Pop-Up Windows
You can manually add pop-up windows to a script to:
• Explain fields on the screen
• Describe the next series of keystrokes
• Emphasize a particular area of the screen
1. To turn on pop-up window mode, type POP on the command line and press Enter.
The pop-up window mode in the Status line changes to ON, and any pop-up window
defined for this screen appears.
2. To remove pop-up windows, type POP on the command line and press Enter. The
Pop-Up mode in the Status line changes to OFF.
Pop-Up Window Guidelines
• You can add pop-up windows manually to any output screen in the script.
• The pop-up window definition starts with a <POP> record and ends with a </POP>
record. See Figure 9-3.
• The lines of text between the opening and closing markers are considered the pop-up
window text. The window is placed on the screen according to the row and column
set on the <POP> record.
• The pop-up window definition must be contained within an <OUTPUT> </OUTPUT> group.
• An output screen can contain multiple pop-up windows.
• A box is drawn around the text, and the pop-up window is highlighted.
9-4
Hiperstation for VTAM User Guide
• The upper left corner of the pop-up window will be drawn at an offset of two
columns to the right of the coordinates specified in the <POP> tag. This will allow for
DBCS fields and an attribute byte for the window.
• The script shows the Pop-Up window definition.
Figure 9-3. Pop-Up Window Definition
BROWSE -- HPER.RECBIG.DATA6(BROWSE) - 00.02 -------- LINE 00000018 COL 001 080 
COMMAND ===>
SCROLL ===> PAGE 
<S11>.... CC CC
II
CC CC
SS SS
MM MMMM MM
VV
VV
SS SS
<S12>.... CC
II
CC
SS
***
MM MM MM
VV
VV
SS

<S13>.... CC
II
CC
SS
***
MM
MM
VV
VV
SS 
<S14>.... CC CC
II
CC CC
SS SS
MM
MM
VV VV
SS SS
<S15>.... CCCCC
II
CCCCC
SSSSS
MM
MM
VVV
SSSSS 
<S16>....
CCC
IIII
CCC
SSS
MMMM
MMMM
V
SSS 
<S17>

<S18>

<S19>

<S20>

<S21>

<S22>

<S23>

<S24>

<POP>18,30

PRESS THE "CLEAR" KEY

THEN ENTER "CEBR"

</POP>

</OUTPUT>

<INPUT>0000002

<THINK>00.05.314 AT 10:13:54

<KEY>CLEAR

Session Demo Commands
Auto
Automatically moves the display forward one screen every nn seconds. You can end
auto display mode by pressing the ATTENTION or PA1 key, depending on the type of
controller attached to your terminal. For example, entering A5 updates the display
every five seconds.
AZ
The Auto Zoom command moves the display forward one screen every n seconds,
and the display is transferred to Zoom mode. For example, A05 moves the display
forward one screen every five seconds. To terminate zoom mode, press the
ATTENTION or PA1 key depending on the type of controller attached to your
terminal.
END
Terminates the Session Demo.
Find
Locates text strings in the recorded screen images. If the string contains embedded
spaces or blanks, you must enclose it in quotes. For example, the command: F ‘ISPF
MODE’ PREV finds the characters ISPF MODE in previous displays.
Demonstrating Scripts with Session Demo
9-5
Locate nnn
Moves the display to a particular screen image. ‘nnn’ is the number of the screen
image to display. For example, to move the display to the first screen image, enter:
L 1. To move the display to the last screen image (not necessarily 999), enter: L 999.
Next 1|nnn
Moves the display to the screen image that follows the currently displayed image.
‘nnn’ is the number of images to move forward. For example, to move the display
forward twelve screen images, enter: N 12. You can also use PF8 (Forward) to move
forward one screen.
The default is 1, which moves the display to the next screen. This is equivalent to
pressing Enter with no command entered on the command line.
Note:
For the PF7 and PF8 keys to function correctly, “enable keylists” must be
activated in your emulator session.
POP
Turns on the pop-up window mode.
Prev 1|nnn
Moves the display to the screen image that precedes the currently displayed image.
‘nnn’ is the number of images to move back. For example, to move the display back
twelve screen images, enter: P 12. You can also use PF7 (Backward) to move back one
screen.
The default is 1, which moves the display to the previous screen.
Note:
For the PF7 and PF8 keys to function correctly, “enable keylists” must be
activated in your emulator session.
SCUT 1|nn
Screen Cut places one or more screen images on an ISPF clipboard for later use by the
SPASTE command.
‘nn’ indicates the number of screen images to place on the clipboard. The default is 1.
When more than one screen is cut, they are gathered from the previous screens to
the one currently displayed. For example, SCUT 5 places five screen images on the
clipboard. If you are currently displaying screen number 17 and enter SCUT 3,
screens 15, 16, and 17 are cut. BOX draws a box around the screen image.
SPASTE
Screen Paste copies one or more screen images from the ISPF clipboard and places
them in the current Edit session. The screen images are then deleted from the
clipboard.
Note:
The SPASTE command is available only in ISPF Edit.
DELETE
Deletes the screens from the clipboard after they are copied. The default is DELETE.
9-6
Hiperstation for VTAM User Guide
KEEP
Keeps the screens on the clipboard after they are copied.
10-1
Chapter 10.
Global Recording Requests and Scripts
Chap 10
Introducing Global Recording Requests and Scripts
Testing with Hiperstation for VTAM involves capturing activity and generating testing
scripts from the captured activity. Use Global Recording to perform both of these tasks.
The Global Recording menu provides the following options:
• Monitor Requests — Create, manage, and monitor Global Recording requests.
Record all of the 3270/LU0 traffic on the system or specify the terminals,
applications, and user IDs to record. Set up the recording request to initiate script
creation when the recording request ends, or suspend script creation and generate
scripts later.
• Review Repository — View a list of the sessions captured in a given recording.
Generate scripts from selected sessions or for entire capture repositories. Save the
specified script creation criteria in the affiliated recording request, or discard it after
script creation.
• Global Recording Manager — Build lists of applications, terminals, and user IDs to
include or exclude from recording. Global Recording Manager lists provide greater
flexibility in defining Global Recording requests.
Hiperstation for VTAM also offers a batch interface to Global Recording. Use the batch
interface with a job scheduler to automate recording initiation, termination, and script
creation. For example, you can create a job that starts or stops recording, and a job that
generates scripts and schedules them to run every day at the appropriate time.
You can use the interfaces together. For example,
• Schedule request management jobs to capture activity for the same time period each
day. Then use the Review Repository option to select specific sessions for scripting.
• Use the online interface to create Global Recording Manager lists. Then, use the lists
to govern automated recordings.
Hiperstation for VTAM also provides a Capture Segment Summary report to help you
identify the information stored in your capture repositories. It indicates when recording
began and ended for each segment of the specified repositories. Use it to select the
appropriate segments for script creation. Review the report with a file-browsing tool such
as ISPF Browse or import it into a spreadsheet or database for easy manipulation.
Note: Hiperstation for VTAM now supports disabling of User Key CSA allocation. See the
IBM publication, MVS Initialization and Tuning Reference, for more information.
Accessing Global Recording
Start Hiperstation for VTAM and select option 4 Global Recording from the Hiperstation
for VTAM Main Menu (Figure 10-1).
10-2
Hiperstation for VTAM User Guide
Figure 10-1. Hiperstation for VTAM - Main Menu
------------------------Option ===>
1
2
3
4
5
6
7
Hiperstation - Main Menu
Domain Traveler
Quick Play
Session Demo
Global Recording
Archive/Search
Script Processors
Unattended Processing
--------------------------


Product Release: 16.05.00 
Record and Playback

Select a Script and Go

Demonstrate Online Applications

System and Application Test Creation

Audit and Help Desk Functions

Automatic Script Editing

Setup Unattended Playback and Compare Jobs

The Global Recording menu appears (Figure 10-2).
Figure 10-2. Global Recording Menu
Hiperstation ---------------- Global Recording --------------------------------
Option ===> 1


SNA (3270, LU0, APPC)

1 Monitor Requests
Add, Review or Update your requests

2 Review Repository
Review your captured sessions

3 Global Record Manager
Manage Include/Exclude filter lists


TCP/IP

6 Monitor TCP/IP Requests
Add/Review your TCP/IP recording requests

7 Create TCP/IP Scripts
Create TCP/IP scripts from a repository



Enter END command to return to Hiperstation Main Menu.

Note:
The TCP/IP options appear only if a license for Hiperstation for Mainframe
Servers is installed. Refer to the Hiperstation for Mainframe Servers User Guide to learn
how to use these options.
Creating a Global Recording Request
Global Recording writes captured activity to a specified dataset or range of datasets called
a repository. Testing scripts are generated from the capture repository. If your installer
enabled Autostart Script Creation, Global Recording initiates script creation at the end of
recording. However, you can suspend script creation and initiate it later using the Review
Repository option (page 10-15) or the batch interface (page 10-43). For example, you may
want to capture an entire day’s activity, then generate scripts in the evening when more
system resources are available.
To capture activity and potentially generate scripts, create a recording request. If you
specify a time frame for the request, it becomes active at the designated start time. If you
do not specify a time frame, it becomes active immediately. Capture begins when all of
the criteria for an active request are met.
Note:
You can also create and manage requests with batch jobs. See “Using the Global
Recording Batch Interface” on page 10-23.
To create a Global Recording request:
1. Select option 1 Monitor Requests by typing 1 on the Option line of the Global
Recording menu (Figure 10-2 on page 10-2) and pressing Enter.
– If there are no existing requests, the Global Recording - Add Requests screen
(Figure 10-3) appears.
Global Recording Requests and Scripts
10-3
Figure 10-3. Global Recording - Add Requests Screen
Hiperstation -----Command ===>
Global Recording - Add Requests
-----------------------
Press ENTER to continue, or END to return.
*****************************************************************************
*
*
*
No Global Recording Requests were found for your userid.
*
*
*
*****************************************************************************
Type of request to add:
1 1. 3270
2. APPC














• If a licensed version of Hiperstation for Mainframe Servers is installed, the
Type of request to add field with options 1. 3270 and 2. APPC appears on
the screen. Type 1 to select the 3270 option and press Enter.
• If the options are not displayed, press Enter to continue.
Note:
Refer to the Hiperstation for Mainframe Servers User Guide for information
about option 2. APPC.
– If Global Recording requests exist, the Global Recording - Monitor Requests
screen appears (Figure 10-4) showing a list of requests. Active requests are
highlighted. On the first request listed, type 1 (to indicate Add 3270), and press
Enter.
Figure 10-4. Global Recording - Monitor Requests Screen
Hiperstation ----- Global Recording - Monitor Requests ------------ Row 1 of 1 
Command ===>
Scroll ===> PAGE 

Line commands are: (C)ancel, (F)orce, (P)Stop, (R)estart, (D)isable,

(S)elect, (U)pdate, (1)Add 3270, (2)Add APPC, or

(9)Switch repositories


LU
Side-A/ Side-B/
Repository

S Type Applid
Terminal Userid
Dataset
Users
- ---- -------- -------- -------- ------------------------------------- ---- 
3270 *
*
*
USER25.#3270.CAP01
0 
******************************* BOTTOM OF DATA ********************************
The 3270/LU0 Capture Criteria screen appears (Figure 10-5).
10-4
Hiperstation for VTAM User Guide
Figure 10-5. 3270/LU0 Capture Criteria Screen
Hiperstation ----------- 3270/LU0 - Capture Criteria
Command ===>
-------------------------


Press ENTER to continue, or PF1 for help, or CANCEL to exit.


Terminal . . . . . . . . . . . *
Use an asterisk for wildcarding

Application . . . . . . . . . CICS41A the Terminal, Application or Userid

Userid . . . . . . . . . . . . *
fields.

OR

Global Record Manager List . .
Second filter GRM List . .


HH : MM : SS
MM / DD / YY

Start Time . . . 00 : 00 : 00
Start Date . . . 00 / 00 / 00 (Optional)

End Time . . . . 00 : 00 : 00
End Date . . . . 00 / 00 / 00 (Optional)


Repository Dataset . . . 'USER2312.TEST'

First and last number. .
(If wildcard in dataset)


Recording options: (Enter "/" to select)

Suspend script creation
/ Normal event notification

Re-use repositories
/ Error event notification

FORCE request at 'End Time'
/ Record from LOGON only

2. Enter the logical unit name of the Terminal to record. Enter one of the following:
– A specific terminal ID.
– An asterisk (*) to select all terminals.
– A terminal prefix followed by an asterisk to select a group of terminals. For
example, H8606* selects all terminals beginning with H8606.
This field is required unless you provide a value in the Userid field or an include or
exclude list in the Global Record Manager List field. Leaving the field blank selects all
terminals. This field holds eight characters.
3. Enter the ID of the Application to record. To select all applications, leave the field
blank. To specify a group of similar applications, type the application name prefix
with an asterisk (*). For example, CICS* selects all applications with names that begin
with CICS. This field holds eight characters.
4. Enter the User ID of the user to record. Enter one of the following:
– A specific user ID.
– An asterisk (*) to select all users.
– A user ID prefix followed by an asterisk to select a group of users. For example,
US* selects all user IDs beginning with US.
This field is required unless you enter a value in the Terminal field or an Include or
Exclude list in the Global Record Manager List field. Leaving the field blank selects
all users. This field holds eight characters.
5. If you have not already entered the Terminal, Application, and/or Userid, enter the
name of the Global Record Manager (GRM) list (and the Second Filter GRM List, if
desired) to use for this request. Save time by creating Global Recording Manager lists
that specify terminals, applications, and user IDs to include or exclude from capture.
If you specify a list name, and an existing list starts with the same characters, the
Global Record Manager * Include/Exclude List screen appears. It displays all lists
beginning with the same characters. You need to:
– Select one of the existing lists by typing an S next to it and pressing Enter.
or
– Use the A (add) line command to define the new list. Press End to return to
request creation.
Global Recording Requests and Scripts
10-5
If you specify a list that does not exist, the Global Record Manager * Add List screen
appears. Fill in the fields and press End to return to request creation.
See “Defining Global Recording Manager Lists” on page 10-19 for more information.
This field accepts a value only if you did not enter information in the Terminal,
Application, or Userid fields.
If a Second Filter GRM List is specified, the Global Record Manager List must also be
specified. The list can be either an Include or Exclude list. If the first and second lists
are the same, it is logically equivalent to the one list. If they are different, the second
filter will be applied to the result of the first filter.
6. Enter the start and end date and time. If you provide a start time, a start date is
required. If you provide an end time, an end date is required. If you supply a start
date, but accept all zeros for the start time, the request activates at midnight at the
beginning of the start date.
– To activate the request immediately, accept the default value of all zeros in both
the Start Time and Start Date fields.
– To activate or deactivate the request at a specific time, enter start and end times
and dates:
• Enter a two-digit hour based on a 24-hour clock. The cursor automatically
moves to the MM field.
• Enter either a two-digit minute, or press Tab to accept 00 and move to the SS
field.
• Enter either a two-digit second, or press Tab to accept 00 and move to the
date fields.
• Enter a two-digit month. The cursor automatically moves to the DD field.
• Enter a two-digit day. The cursor automatically moves to the YY field.
• Enter a two-digit year.
– To keep the request active until you STOP, FORCE, or CANCEL it, accept the
default value of all zeros for both the End Time and End Date fields.
Note:
If you select the FORCE request at ‘End Time’ option under Recording
Options, an End Time is required.
7. In the Repository Dataset field, enter the name of the dataset to use for storing
captured information. To create a segmented repository, use the following wildcard
characters in the dataset name field and define a range with the First and last
number fields:
– Asterisk (*): Inserts an incremental value into the dataset name qualifier in
which the asterisk appears. This wildcard pads the incremental value with
enough zeros to ensure an eight-character qualifier. For example,
USER.#3270.REC* with first=1 and last=3 creates capture repositories:
USER.#3270.REC00001
USER.#3270.REC00002
USER.#3270.REC00003
– Question mark (?): Inserts the incremental value into the dataset name qualifier
where the question marks appear. Enter at least one question mark for each digit
of the greatest value in the range fields. For example, USER.#3270.REC?? with
first=9 and last=11 creates capture repositories:
USER.#3270.REC09
USER.#3270.REC10
USER.#3270.REC11
Note: Begin each segment of the dataset name with an alpha character (A-Z) or @#$
including segments with wildcard characters. Global Recording does not
support multiple Global Recording requests using the same repository to
10-6
Hiperstation for VTAM User Guide
store captured information. Make sure each Global Recording request uses a
unique repository.
8. Enter a beginning and ending value in the First and Last number fields to define the
range of numbers (if you specified wildcard characters in the Repository Dataset
field).
If you did not use wild card characters in the Repository Dataset field, leave these
fields blank and go to the next step.
9. Type a slash to select the desired recording options:
– Suspend script creation controls automatic script creation. Select this field to
prevent script creation at the end of the recording request. If you leave this field
blank you will be guided through the script creation criteria screens prior to your
capture request being activated. This will also cause automatic script creation to
execute when your capture request is stopped.
– Normal event notification sends all recording request status and error messages
to your TSO session. This option is selected by default. If you are recording a
large number of sessions, consider disabling this option to reduce the number of
messages you receive.
– Re-use repositories applies to segmented repositories only. It causes Global
Recording to continue capturing activity after the repository segments are full.
After the last segment fills, it begins writing to the first segment again, replacing
the oldest captured activity with the newest. If this option is not selected,
recording terminates after the last segment is full.
– Error event notification sends only the error messages associated with the
request to your TSO session. This option is selected by default. If you are
recording a large number of sessions, consider selecting this option and disabling
Normal event notification to minimize the number of messages you receive.
Note:
Normal event notification sends all messages, including error messages,
to your TSO session. If Normal event notification is selected, Global
Recording ignores the Error event notification option. To prevent
receiving messages altogether, clear both Normal event notification
and Error event notification. However, even when these settings are
cleared, certain messages are always issued by Global Recording:
TCPAR101I, TCPAR102I, TCPAR104I, and TCPAR105I.
– FORCE request at ‘End Time’, issues a FORCE command at the end time
specified in the request. FORCE terminates recording of all sessions including inflight sessions. Script creation begins immediately, unless the Suspend script
creation option is selected. Be aware that you may lose buffered data, resulting in
partially recorded sessions.
If you do not select this option, Global Recording issues a STOP command at the
request’s specified end time. It stops recording new sessions but continues to
record any active sessions. After all in-flight sessions end, recording terminates
and script creation begins unless the Suspend script creation option is selected.
Although this ensures complete session captures, it may delay script creation.
– Record from LOGON only begins recording upon logon if all other request
criteria are met. This option is selected by default. If you specify a time frame for
the request, recording begins only if the logon occurs during the specified time
frame.
If you do not select this option, recording begins as soon as the request criteria
are met. All in-flight sessions are captured. You may need to edit the scripts to
delete any partially recorded business transactions.
Devices using non-3270 data streams, such as LU0, are typically acquired when
powered up. If you select this option, capture will begin only if the terminals are
cycled within the time frame of the recording request.
Global Recording Requests and Scripts
10-7
10. Press Enter to continue.
If you specified an existing dataset in the request, Global Recording displays the
Capture Criteria - Output Options prompt.
11. Type 1 to overwrite the existing data (choose this option only if you do not need to
retain any data that might exist in the specified dataset) or type 2 to append the
existing data and press Enter.
Note:
The dataset is overwritten when Global Recording captures and processes
activity that matches the request criteria. If no activity matches, the dataset
is not overwritten.
If the dataset you specified does not exist, the Allocate Dataset screen appears.
Generally the default parameters are appropriate, but you can modify them as
necessary. Press Enter to continue.
If you selected Suspend script creation, request creation is complete. Depending on
the request options, your terminal may display messages associated with your
request.
12. Press Enter to clear any messages your terminal displays. (You may need to press
Enter several times.) After you clear all of the messages, the Monitor Requests screen
appears. See “Monitoring and Managing Existing Requests” on page 10-12.
If you did not select Suspend script creation, the 3270/LU0 - Script Criteria screen
appears (Figure 10-6).
Define Script Creation Criteria
Script creation criteria allows you to generate:
• Scripts containing user inputs and the resulting output screens for validating
application responses.
• Scripts containing only user inputs for stress testing or dubbing baseline scripts.
• Formatted scripts for easy reading.
• Unformatted scripts for testing LU0 applications.
• Filtered scripts containing specific activity for unit or regression testing.
The Script Create procedure (HSSCREAT) generates one script for each captured session.
1. Use the 3270/LU0 - Script Criteria screen (Figure 10-6) to define script creation
parameters. Access this screen using one of the following:
– The Monitor Requests option while creating or updating a recording request.
– The Review Repository option (page 10-15) while generating scripts.
– The batch interface to create scripts (page 10-43).
10-8
Hiperstation for VTAM User Guide
Figure 10-6. 3270/LU0 - Script Criteria Screen
Hiperstation ---------- 3270/LU0 - Script Criteria -------------------------Command ===>
Press ENTER to continue, or PF1 for help, or enter CANCEL to exit.
Script dataset
Description. .
Member prefix.
Member suffix.
Session log. .
.
.
.
.
.
'USER25.#3270.SCRIPTS'
Order Entry System Testing Scripts
OES
(1 - 6 character prefix)
01
(2 - 7 numeric suffix)
OESLog
(1 - 8 character member name)
Script create options: (Enter "/" to select)
Replace existing members
/ Format the recording
Record inputs only
Record input in (row,column) format
/ Edit message filters
Use message filters


















2. Enter the Script dataset (the dataset containing the scripts). This field holds up to 44
characters.
Note: The automatic Script Create PROC (HSSCREAT) must have authority to update
your script datasets.
3. Enter a Description, if desired. The description will appear in the script header
section. This field holds up to 55 characters.
4. Enter a one- to six-character Member prefix that, in conjunction with the member
suffix, forms the member name for each script created by this request.
5. Enter a Member suffix (a numeric value up to seven digits) that, in conjunction with
the member prefix, forms an eight-character member name for each script created by
this request. Script Create increments this value each time it creates a new script.
– If you enter a suffix that is too short, Script Create pads the suffix with zeros to
the left. For example, if the prefix is OES and the suffix is 10, the first script
member name is OES00010, and the next member is OES00011.
– If you enter a suffix that is too long, Script Create truncates the digits on the left.
For example, if you enter SCRIPT for the prefix and 1234 for the suffix, the first
script member is SCRIPT34, and the next member is SCRIPT35.
6. Enter a one- to eight-character member name containing the Session log or leave the
field blank if you do not need a session log. A session log contains an entry for each
session (and each script) created by the request. Session logs contain the bulk of the
input required for an Unattended Playback job. You can save time when preparing
the job by starting with the session log. See Chapter 7, “Unattended Playback,
Dubbing, and Comparison for 3270 and LU0 Scripts” to learn about playback
statements you may need to add or modify.
7. Type a slash to select the desired Script create options:
– Replace existing members overwrites existing members with the same names as
those specified in the request.
– Format the recording applies a human-readable format to the scripts. If this
option is not selected, the scripts contain a series of hexadecimal data streams. If
you are testing with LU0 applications, do not select this option. This option is
selected by default.
– Record inputs only creates scripts that contain only user input keystrokes. This
option primarily supports stress testing, where recorded and actual output screen
comparison is not required. You can also use it to create scripts for dubbing
baseline scripts. For example, play back an inputs only script, with dubbing
active, against the production version of the software to create a baseline script.
Then play back the baseline script against the application you are testing to
Global Recording Requests and Scripts
10-9
validate its responses. This option reduces your script size and the demand on
system resources. If this option is not selected, the scripts contain both the user
input keystrokes and the resulting output screen images.
– Record inputs in (row,column) format creates scripts containing input tags in
row,column format, as opposed to the standard relative input format. For
example, in standard format the first input tag is:
<I01> “data”
In row,column format, the same input tag contains the position of the input
field:
<I(07,28)>”data”
When the input tag provides coordinates, locating the corresponding entry field
on the screen image within this script is easier. This option is useful if you intend
to review the script for debugging or audit purposes.
– Edit message filters causes the 3270/LU0 - Message Filters screen to appear
(Figure 10-8 on page 10-11). Use this screen to designate filters for including or
excluding specific messages from your scripts.
– Use message filters causes Script Create to use the message filters associated with
the recording request. This option saves time when updating recording requests.
8. Press Enter to continue.
– If you specified a script dataset that does not exist, and you did not select Edit
message filters, an allocation screen appears. Generally, the default values are
appropriate; however, you can override any or all values. Press Enter to allocate
the dataset and continue.
– If you selected Edit message filters, the 3270/LU0 - Message Filters screen (Figure
10-8 on page 10-11) appears before the allocation screen. See “Message Filters”
on page 10-11 for more information.
– If you specified an existing dataset, did not select the Edit message filters option,
and accessed the Script Criteria screen through the:
• Monitor Requests option, then request creation is complete. Depending on
the request options, your terminal may display messages associated with
your request. Press Enter to clear the messages. (You may need to press Enter
several times.) After you clear all of the messages, the Global Recording
Monitor Requests screen appears. See “Monitoring and Managing Existing
Requests” on page 10-12 for more information.
• Review Repository option, then the Script Processing screen appears (Figure
10-13 on page 10-17). The cursor starts in the Select processing option field.
Enter 1 for background processing or 2 for foreground processing. The cursor
automatically advances to the Job statement area of the screen. If you
selected option 1, enter the job statement information and press Enter. Your
terminal may display processing messages. Press Enter to clear the messages
and return to the Review Repository screen.
If Script Creation Fails
If Global Recording encounters an error, it may prevent the script from being created in
the script dataset. For example, the dataset may be full or renamed since the request was
added.
If you have event notification enabled for the request, you receive a message that script
creation was not successful and a return code that indicates the reason for the failure.
10-10
Hiperstation for VTAM User Guide
Session Log for Global Record
The session log is a member stored in your script dataset containing a summary of every
script created for a request. It is available for any 3270 or LU0 recording request
(formatted or unformatted) when you create a script. This is a summary of all the scripts
created for a script create request.
If you supply a member name in the session log member name field on the 3270/LU0 Capture Criteria screen (Figure 10-5 on page 10-4) you get a session log. If you do not
need a session log, leave the session log member name field blank. An example of a
typical session log appears in Figure 10-7.
Figure 10-7. Session Log Example
*
* HIPERSTATION 3270 AND LU0 SESSION LOG
* DESC: THIS IS A SAMPLE SESSION LOG
*
* GROUP NUMBER(1)
*
GROUP A06TSO04 TERMINAL(TFHN115) LOGMODE(T3192V) STIME(’2007/02/12_14:22:45.830281’) FTIME(’2007/02/12_14:22:51.491721’) FMPROF(’03’X) TSPROF(’03’X) PSERVIC(’028000000000000000000300’X)
SCRIPT(ALL00001)
*
* GROUP NUMBER(2)
*
GROUP A06TSO04 TERMINAL(TFHN112) LOGMODE(D4A32783) STIME(’2007/02/12_14:23:59.699372’) FTIME(’2007/02/12_14:24:36.887423’) FMPROF(’03’X) TSPROF(’03’X) PSERVIC(’020000000000185020507F00’X)
SCRIPT(ALL00002)
*
* GROUP NUMBER(3)
*
GROUP CICSA TERMINAL(TFHN119) LOGMODE(D4A32785) STIME(’2007/02/12_14:24:52.901013’) FTIME(’2007/02/12_14:24:53.109341’) FMPROF(’03’X) TSPROF(’03’X) PSERVIC(’02000000000018501B847F00’X)
SCRIPT(ALL00003)

































The session log is most useful as the basis for SYSIN input to a Hiperstation unattended
playback job. The GROUP statement lists the following:
•
•
•
•
•
•
name of the application
name of the terminal
logmode name
start time and finish time of the session
FM and TS profiles used for the session
PSERVIC (LU presentation services profile and usage) for the session.
Note:
FMPROF, TSPROF, and PSERVIC are not required for playback jobs, but can be
used if debugging by Compuware Customer Support is ever required. FTIME, the
finish time of the session, is included for information only.
To perform a successful playback using the session log, you typically need to change the
TERMINAL value and, possibly, the APPLICATION value. The FTIME, FMPROF, TSPROF,
and PSERVIC keywords are ignored during a playback and can either remain unchanged
or be removed using a standard text editor as follows:
1. Exclude all lines containing TERMINAL, FMPROF, TSPROF, PSERVIC, or FTIME.
Global Recording Requests and Scripts
10-11
2. Delete all of the excluded lines.
3. Remove the continuation character from the STIME line.
Message Filters
You can filter captured information to generate scripts containing only the activity you
need.
A filter is a short REXX program that compares message content to a set of criteria. If the
message meets the criteria, it matches the filter.
To use message filters:
1. Create filters using the Message Filtering option, or code them manually and store
them in PDS members. Chapter 19, “Unattended Message Filters” explains both
methods.
2. Use the 3270/LU0 - Message Filters screen (Figure 10-8) to associate one or more
filters with the request. You can access the Message Filters screen by selecting the
Edit message filters option on the 3270/LU0 - Script Criteria screen (Figure 10-6 on
page 10-8).
3. On each filter entry, specify whether to include or exclude messages that match the
filter. Each captured message is compared to all specified filters. The last matching
filter takes precedence, so arrange the filters from the least to greatest priority.
4. Define a default action for messages that do not match any of the specified filters.
Since the action is specified on the filter designation, rather than in the filter code,
you can use the same filter to include specified activity in one request and exclude the
same activity in another request.
Figure 10-8. 3270/LU0 - Message Filters Screen
Hiperstation ---------- 3270/LU0 - Message Filters -------------------------- 
Command ===>
Scroll ===> PAGE 

Press END to save changes and return, or enter CANCEL to exit without

saving changes.


Message Filters:

Default . . . . INCLUDE (Include or Exclude)

Comments . . . . YES
(Yes, No, or Clear)

REXX dataset . . 'VP.AT.RVRP3270.INPUT.EXECLIB'

Report dataset . 'USER25.SCRIPTS.REPORT'


Line commands are: (C)opy, (D)elete, (I)nsert, (M)ove or (R)epeat


Type
Name
Parameters

****** **************************** Top of Data ******************************
==MSG> -Warning- The UNDO command is not available until you change

==MSG>
your edit profile using the command RECOVERY ON.

000001 INCLUDE
OUTPUT

000002 EXCLUDE_ PLAF____

'''''' ________ ________

Fill in the fields on this screen.
5. Default defines the action to take for messages that do not match any of the
specified filters. Choose INCLUDE or EXCLUDE.
Each captured message is compared to all of the specified filters. The action (include
or exclude) defined by the type of the last matching filter is taken. For example, the
first filter defined is an include filter and the second is an exclude filter. A message
that matches both filters is excluded from the script because exclude was the last
filter.
10-12
Hiperstation for VTAM User Guide
If a message does not match any of the defined filters, the default action for that
message is taken. For example, to create scripts containing only output screens that
have PLAF on the first line, set the filter type to INCLUDE and set the default to
EXCLUDE.
IF (hs_exittype = 'OUTPUT') & (POS('PLAF',hs_output.1) > 0) THEN
hs_match = 1 
ELSE 
hs_match = 0
To include all messages except output screens with PLAF on the first line, use the same
filter, but set the filter type to EXCLUDE and the default to INCLUDE.
6. Comments defines if and how excluded messages appear in the script. Enter:
– YES to make the excluded messages comment lines. If you later wish to include a
specific transaction that was initially excluded, remove the comment indicators.
– NO to replace excluded messages with a single comment line that indicates the
type of message, the name of the filter applied, and the date and time that
filtering occurred.
For example:
* INPUT group excluded by PLAF 02/23/07 at 11:52:44
– CLEAR to exclude the messages altogether.
7. Enter the REXX dataset — the dataset containing the REXX filters. Do not include a
member name. Script Create prefixes partially qualified dataset names with your TSO
prefix or user ID, depending on your TSO profile.
8. Enter the Report dataset — the sequential dataset or PDS member in which Script
Create writes a summary report. Leave the field blank if you do not want a report. If
the specified dataset exists, Script Create overwrites any information it contains. If it
does not exist, Script Create allocates it at report creation time.
Script Create prefixes partially qualified dataset names with your TSO prefix or user
ID depending on your TSO profile.
9. Define a filter entry for each filter you want to apply to the given request. Complete
the following fields for each filter.
– Type — The action to take when a message matches the given filter. Enter I to
include or E to exclude messages that match the filter. See step 5 on page 10-11
for additional information about when to use INCLUDE or EXCLUDE.
– Name — The member name containing the filter code.
– Parameters — The value assigned to the hs_parm variable within the REXX filter
code. This tag is required only if the REXX filter code includes hs_parm.
Note:
If the filter parses hs_parm, you can pass a string of values to the filter.
10. Press End to return to the 3270/LU0 Script Criteria screen.
Monitoring and Managing Existing Requests
After you create a Global Recording request, the Monitor Requests option displays a
screen that lists the existing requests. Active requests are highlighted.
Use this screen to:
• Stop recording
• Add, delete, or update a request
Global Recording Requests and Scripts
10-13
• Force a request
• Restart an inactive request
• Disable a request to prevent it from automatically restarting
• View the sessions being captured
• Switch the repository segment so that you can review captured activity without
interrupting recording
1. To access the Global Recording - Monitor Requests screen (Figure 10-9), type 1 on the
Option line of the Global Recording menu (Figure 10-2 on page 10-2) and press Enter.
2. Position the cursor in the S column next to the desired request.
3. Type the appropriate line command and press Enter.
Figure 10-9. Global Recording - Monitor Requests Screen
Hiperstation ------- Global Recording - Monitor Requests ---------- Row 1 of 1 
Command ===>
Scroll ===> PAGE 

Line commands are: (C)ancel, (F)orce, (P)Stop, (R)estart, (D)isable,

(S)elect, (U)pdate, (1)Add 3270, (2)Add APPC, or

(9)Switch repositories


LU
Side-A/ Side-B/
Repository

S Type Applid
Terminal Userid
Dataset
Users
- ---- -------- -------- -------- ------------------------------------- ---- 
3270 H*
*
!USER*
*USER25.R750.ACICS.NOTUSER.REPOS001
0 
3270 H*
*
USER*
*USER25.R750.ACICS.USER.REPOS001
0 
3270 L1:I/INCICS
*USER25.R750.ATEST.CICS.REPOS001
0 
3270 L1:I/INCICS
L2:E/EXVPTST *USER25.R750.ATEST.CICSEXVP.REPOS001
0 
******************************* BOTTOM OF DATA ********************************
Line Commands
(C)ancel
Cancels and deletes the request and all buffered information. This may result in
partially recorded business transactions. To avoid losing important data, first STOP
the request. Wait for recording to terminate before issuing the CANCEL command.
Use ISPF file management tools to delete any repository or repository segments
created by the request.
(F)orce
Terminates all sessions, which includes any in-flight session processing. However, the
ECSA buffers will be flushed to ensure that all activity captured prior to issuing the
(F)orce command will be recorded appropriately.
If script criteria is specified within the request, script creation begins immediately.
Note: If the request specifies segmented repositories, the Force command will cause
an automatic switch to a new segment.
(P) Stop
Stops capture of new sessions and deactivates the request. Global Recording
continues to capture all sessions that are in flight at the time STOP is issued.
(R)estart
Restarts the request. The request becomes active as soon as the time frame specified
within the request is met. Use this option to activate an inactive request.
10-14
Hiperstation for VTAM User Guide
Note:
If the request contained a start date and time and/or an end date and time,
the request will not become active if the current time is not within the start
or end dates and times originally specified in the request.
(D)isable
Disables the request. All requests, except disabled requests, are restarted when the
Global Recording started task is brought up. An asterisk (*) appears to the left of the
repository dataset indicating that the request is disabled.
STOP or FORCE the request and wait for the request to terminate prior to disabling it.
(S)elect
Displays the Active Sessions screen (Figure 10-10), which lists all 3270/LU0 sessions
being recorded.
(U)pdate
Displays request information for update. Recording must be terminated and the
request must be inactive. Issue STOP or FORCE to terminate recording and deactivate
the request. After you finish editing, issue RESTART to reactivate the request.
(1) Add 3270
Adds a new 3270 or LU0 Global Recording request. See “Creating a Global Recording
Request” on page 10-2 for more information.
(2) Add APPC
Adds a new APPC Global Recording request. This option is explained in the
Hiperstation for Mainframe Servers User Guide.
(9) Switch Repositories
Closes the repository segment that is currently being written and opens the next
segment. If you did not specify a wildcard character in the Repository Dataset field,
this option is not available. This command will fail if the current repository has not
yet been opened.
View Active Sessions
The Global Recording * Active Sessions screen (Figure 10-10) shows a list of all sessions
currently being recorded for a given request.
1. To access this screen, type S (select) next to the appropriate request on the Monitor
Requests screen and press Enter.
2. Press End to return to the Monitor Requests screen.
Figure 10-10. Global Recording - Active Sessions Screen
---------------------- Global Recording * Active Sessions --------- Row 1 of 2 
COMMAND ===>
SCROLL ===> PAGE 

Terminal Appl
Userid
Start Time
Last Update
Trans
Lost 
TCW00095 A01TSO04 USER25
09/07 18:12:05 09/07 18:13:29
0167
0000 
CW010002 A01TSO02 VPTST20
09/07 18:04:33 09/07 18:13:48
5275
0000 
******************************* BOTTOM OF DATA ********************************
The information that appears on this screen includes:
– The Terminal ID of the terminal associated with the given session.
– The Application ID of the application associated with the given session.
– The Userid ID of the user being recorded.
Global Recording Requests and Scripts
10-15
– The time that the user logged on or the time the first transaction was recorded
for the given session. This does not represent statistics for the archive record
request. It represents statistics for the VTAM session across all archive and global
recording requests.
– The last time Global Recording flushed and processed the captured information
from the ECSA buffers. This indicates the age of the counts displayed in the
Trans and Lost fields. This does not represent statistics for the archive record
request. It represents statistics for the VTAM session across all archive and global
recording requests.
Note: If this field indicates a significant lag, or sessions are being recorded that
do not appear on this screen, contact your MVS Systems Programmer.
The Hiperstation Installation Guide provides instructions for optimizing
Global Recording performance.
– The Trans column shows the number of inbound and outbound VTAM data
streams (transactions) that were recorded for the given session. This does not
represent statistics for the archive record request. It represents statistics for the
VTAM session across all archive and global recording requests.
– The Lost column shows the number of transactions (PIUs) lost. Slow processing
or full buffers can result in lost messages. This does not represent statistics for
the archive record request. It represents statistics for the VTAM session across all
archive and global recording requests.
Note:
If this field reports lost messages, your MVS Systems Programmer may
need to adjust the Global Recording buffers to optimize performance as
described in the Hiperstation Installation Guide.
Reviewing Repositories and Creating Scripts
You can use the Review Repository option to review the sessions captured in a given
repository and to generate scripts. You can create scripts from selected sessions or from
all sessions in the repository.
To use the Review Repository option:
1. On the Option line of the Global Recording Menu (Figure 10-2 on page 10-2), type 2
for Review Repository and press Enter. The Review Repository - Dataset List screen
appears (Figure 10-11 on page 10-16).
2. Type the name of the repository dataset from which you want to review or create
scripts in the corresponding field if the desired repository dataset does not appear in
the dataset list or if you want to apply temporary script creation criteria. Otherwise,
select it from the list. If you enter the repository name in this field, as opposed to
selecting it from the list, the script criteria you provide is discarded after script
creation. If you select it from the list, the script criteria is saved in the associated
Global Recording request.
– On the Repository dataset field, type the dataset name.
• If the dataset name includes wildcard characters, enter the first and last
wildcard value to use for selecting the applicable segments and press Enter.
For example, entering MY.DATASET.CAP?? with values 1 and 5, selects
segments CAP01 through CAP05.
Note:
The First and last number fields are required if you specify a
repository name containing wildcard characters in the Repository
dataset field.
10-16
Hiperstation for VTAM User Guide
• If the dataset name does not include wildcard characters, press Enter.
– To select the dataset name from the list, use one of the following options:
• UP and DOWN keys to scroll the list.
• FIND primary command. The cursor moves to the first instance containing
the specified FIND string. Press the RFIND key to find the next instance.
• Type S next to the selected repository and press Enter.
Note:
You can select multiple repositories. Review Repository displays the
appropriate screens for each selection.
The Review Repository - Processing Options prompt appears (Figure 10-12 on page
10-17).
3. Select the type of script to generate or review:
– Type 1 to generate 3270 or LU0 scripts for all of the sessions captured in the
selected repository. See “Generate Scripts from a Selected Repository” on page
10-17 for information.
– Type 2 to generate APPC scripts for all of the sessions captured in the selected
repository. Refer to the Hiperstation for Mainframe Servers User Guide for information
on this option.
– Leave the selection field blank to display a list of all sessions captured in the
selected repository. Use this option to review repository contents, generate
scripts from selected sessions, and review or modify script creation criteria. See
“Generate Scripts from Selected Sessions” on page 10-18 for information.
4. Press Enter to continue.
Note: To review or modify existing script creation criteria, leave the field blank even
if you intend to generate scripts from all of the captured sessions. The
Session List screen allows you to review and modify script criteria.
Figure 10-11. Review Repository - Dataset List Screen
Hiperstation ------- Review Repository - Dataset List ------------- Row 1 of 3 
Command ===>
Scroll ===> PAGE 

Specify a repository dataset name or select a repository from the list

below and press ENTER to process it, or END to return.


Repository dataset . . .

First and last number. .
(If wildcard in dataset)


Line commands are: (S)elect


S Repository datasets
Volser Referred Type Owner

- -------------------------------------------- ------ -------- ---- -------- 
USER25.#3270.CAP01.WOUTSCRT
PRD979 09/08/06 3270 USER25

USER25.#3270.CAP01.WSCRPT
PRD997 09/08/06 3270 USER25

USER25.APPC.CPTALL.REP??
MIGRAT
APPC USER25

******************************* BOTTOM OF DATA ********************************
The Repository datasets list is a list of all of the 3270/LU0 and APPC repositories you
have created. In administrator mode, the list shows repositories created by all users on
the system. If you select a repository from the list, any script creation criteria you supply
is saved in the associated Global Recording request if you own the repository.
Volser is the serial number of the volume on which the given repository is stored. This
field shows MIGRAT for migrated datasets.
Referred is the MVS reference date associated with the repository dataset indicating the
last time the dataset was modified.
Global Recording Requests and Scripts
10-17
Type specifies the repository dataset type (3270 or APPC).
Owner is the ID of the user who created the request associated with the repository
dataset. This field primarily supports administrator access to Global Recording. See
“Accessing Global Recording Administration” on page 10-22.
Generate Scripts from a Selected Repository
This section describes the screens that appear if you select 1. Record ALL 3270 sessions
(Figure 10-12).
Figure 10-12. Review Repository - Processing Options Prompt
Hiperstation --------- Review Repository - Dataset List -----------------------
C +-----------------------------------------------------------------+ ==> PAGE 
| ----------- Review Repository - Processing Options ----------- |

S | Command ===>
|

b |
|

| You specified a repository dataset or selected one from the
|

R | dataset list to process. Press ENTER to review the sessions
|

F | captured to this repository, or select an option below and
|

| press ENTER to create scripts for all sessions of that type
|

L | from this repository, or END to return.
|

|
|

S | Script creation option: (Enter number to select)
| wner

- |
1. Record ALL 3270 sessions
| ------- 
|
2. Record ALL APPC sessions
| SER25

|
| SER25

+-----------------------------------------------------------------+ SER25

s USER25.#3270.CAP01.WSCRPT
PRD997 09/09/06 3270 USER25

USER25.APPC.CPTALL.REP??
MIGRAT
APPC USER25

******************************* BOTTOM OF DATA ********************************
The 3270/LU0 - Script Criteria screen appears (Figure 10-6 on page 10-8) if:
• No script creation criteria is defined. If you selected the repository dataset name from
the list on the Review Repository - Dataset List screen (Figure 10-11 on page 10-16),
the criteria you specified is saved in the associated Global Recording request.
• You entered a repository dataset name in the corresponding field on the Review
Repository - Dataset List screen (Figure 10-11 on page 10-16). The script criteria you
specified is discarded after the scripts are generated.
See “Define Script Creation Criteria” on page 10-7.
Otherwise, the Script Processing screen appears (Figure 10-13). The cursor starts in the
Select processing option field.
Figure 10-13. Script Processing Screen
Hiperstation --------------- Script Processing -----------------------------Command ===>
Select the way you want the script creation process to run. Press ENTER
to create your scripts, or END to return, or enter CANCEL to exit.
Select processing option:
2 1. Submit batch job
2. TSO
(Enter number to select)
Job statement information for batch job:
===> //JOBNAME JOB (ACCOUNT),'NAME'
===> //*
===> //*
===> //*















10-18
Hiperstation for VTAM User Guide
1. Enter 1 for background processing or 2 for foreground processing. The cursor
automatically advances to the job statement area of the screen.
2. If you selected background processing, enter job statement information and press
Enter. If you selected foreground processing, messages are sent to your TSO session.
Depending on your selection, Review Repository either submits the job or initiates
processing.
3. Press Enter to clear the messages and return to the Review Repository - Dataset List
screen.
Generate Scripts from Selected Sessions
This section describes the screens that appear if you choose to review the sessions
captured in the repository and generate scripts from selected sessions.
Review Repository processes the repository dataset to create the list of sessions. It
displays a processing status message that disappears when processing is complete. The
length of time the message displays depends on the repository size. You can interrupt
session processing by pressing the ATTN key.
After the processing message disappears, the Review Repository - Session List screen
appears (Figure 10-14).
Figure 10-14. Review Repository - Session List Screen
Review Repository - Session List ---------- Row 1 of 39 
Scroll ===> PAGE 

Select a session and press ENTER to process it, or END to return.


Repository dataset . . : USER25.#3270.CAP01.WSCRPT


Script creation option: (Enter "/" to select)

Review script create criteria


Line commands are: (R)ecord


S LU Type Applid/Side-A Termid/Side-B Userid
Start Date Start Time

- ------- ------------- ------------- -------- ---------- ---------
3270
A01TSO04
CW010001
USER20
09/08/06
14:25:28

3270
H01AC020
TCW01620
USER25
09/08/06
14:21:45

3270
A01TSO04
CW010001
USER20
09/08/06
14:26:28

3270
A01TSO20
TCW01776
USER15
09/08/06
14:19:17

3270
A01TSO20
TCW00817
USER10
09/08/06
14:27:19

Hiperstation--------Command ===>
See the online help for a description of the primary commands available on this screen.
1. If you want to review the script criteria before generating a script, enter a slash in the
Review script create criteria field. The Script Criteria screen appears showing the
existing script creation criteria.
Note:
If you entered the repository dataset name in the corresponding field on the
Dataset List screen (Figure 10-11 on page 10-16), your script criteria changes
are discarded after the scripts are created. If you selected it from the list, your
changes are saved in the associated Global Recording request.
2. The (R)ecord line command generates a script from the selected session. In the S
column, enter an R next to the sessions you want to script. Sessions selected for
recording will be highlighted when scrolling the Session list.
The lower portion of this screen shows the LU Type (3270 or APPC), Applid/Side-A,
Termid/Side-B (LU name of the terminal accessing the application), Userid (an
asterisk (*) to the left of the user ID indicates that multiple users signed on to this
Global Recording Requests and Scripts
10-19
particular session while the session was logged on to VTAM), and Start Date and Time
(date and time that Global Recording started capturing this session).
3. After you finish selecting sessions, press Enter.
Review Repository displays the 3270/LU0 - Script Criteria screen if:
– No script creation criteria is defined within the associated Global Recording
request.
– You entered the repository dataset name in the corresponding field on the
Dataset List screen (Figure 10-12 on page 10-17).
– You selected the Review script create criteria field on the Session List screen.
See “Define Script Creation Criteria” on page 10-7.
Note:
The criteria you specify may be saved in the associated Global Recording
request depending on how you selected the repository on the Dataset List
screen (Figure 10-12 on page 10-17). If you entered it at the top of the screen,
the criteria is discarded after script creation is complete. If you selected it
from the list, it is saved in the associated Global Recording request.
If none of the above are true, the Script Processing screen appears (Figure 10-13 on
page 10-17). The cursor starts in the Select processing option field.
4. Enter 1 for background processing or 2 for foreground processing.
The cursor automatically advances to the job statement area of the screen.
5. If you selected background processing, enter job statement information.
6. Press Enter.
Depending on your selection, Review Repository either submits the job or initiates
processing. If you selected foreground processing, messages are sent to your TSO
session.
7. Press Enter to clear the messages and return to the Review Repository screen.
Defining Global Recording Manager Lists
Within a Global Recording request, you either specify the terminals, applications, and
user IDs to capture, or you specify a Global Recording Manager List. A Global Recording
Manager List defines the terminals, applications, and user IDs to record or exclude from
recording.
Use Global Recording Manager Lists to save time and work. For example, if the users you
need to record do not have similar user IDs, you can either create a separate request for
each user ID or you can define a Global Recording Manager List and create a request that
uses that list.
The Global Recording Manager List screen displays lists created by all users on the
system. You can use or copy any existing list, but you can edit and delete only the lists
you create unless you have Global Recording administrator authority.
To use the Global Recording Manager:
1. On the Option line of the Global Recording menu (Figure 10-15), type 3 to select the
Global Record Manager option and press Enter.
10-20
Hiperstation for VTAM User Guide
Figure 10-15. Global Recording Menu
Hiperstation ---------------- Global Recording --------------------------------
Option ===> 1


SNA (3270, LU0, APPC)

1 Monitor Requests
Add, Review or Update your requests

2 Review Repository
Review your captured sessions

3 Global Record Manager
Manage Include/Exclude filter lists


TCP/IP

6 Monitor TCP/IP Requests
Add/Review your TCP/IP recording requests

7 Create TCP/IP Scripts
Create TCP/IP scripts from a repository



Enter END command to return to Hiperstation Main Menu.

2. The Global Record Manager * Include/Exclude Lists screen appears (Figure 10-16 on
page 10-20). It displays a list of existing Include/Exclude lists.
Figure 10-16. Global Record Manager * Include/Exclude Lists Screen
---------------- Global Record Manager * Include/Exclude Lists ---- Row 1 of 6 
COMMAND ===>
SCROLL ===> PAGE 

Line Commands:
A - Add
B - Browse
C - Copy
D - Delete
E- Edit



Name
Type Description
Creator 

CAPTURE2
IN
USER25

CHRISP
IN
CHRIS P. INCLUDE LIST
HDACCP0 
CHRISP2
EX
THIS CAPTURES EVERYTHING BUT MY ID
HDACCP0 
DANMIC
IN
LIST FRANCE
BFRMXA0 
DDDDDDDD
EX
USER25

FEDEX1
IN
GLOBALLY RECORD ONLY 5 USERS BY USERID
HDACCP0 
3. To create a new list, position the cursor in the selection column on any of the
existing list entries. Type A (add) and press Enter. See “Create a New Global
Recording Manager List” on page 10-21 for more information.
4. To browse, copy, edit, or delete a list, type the applicable line command in the
selection column of the appropriate list and press Enter. Use primary commands to
locate the desired list.
– (A)dd displays the Add List screen. See “Create a New Global Recording Manager
List” on page 10-21 for more information.
– (B)rowse displays the include/exclude list for browsing.
– (C)opy displays the Copy List screen. See“Copy an Existing Global Recording
Manager List” on page 10-22 for more information.
– (D)elete deletes the selected list. You can delete any list that you created as long
as it is not currently in use by an active Global Recording request. Global
Recording Manager prompts you for confirmation. Press End to delete the
selected list. To exit the screen without deleting the list, type CANCEL on the
command line and press Enter.
– (E)dit displays the Edit List screen. This screen contains the same fields as the
Add List screen. Modify any field except List Name, List Type, and Description,
which are display-only fields.
You can edit any list you create. If you edit a list that is currently in use by an active
Global Recording request, the request is not affected. It continues to capture with the
parameters of the original list. Stop and restart the request to apply your changes to
an active request.
Global Recording Requests and Scripts
10-21
Type specifies the type of list. IN indicates an include list. EX indicates an exclude
list. Creator contains the TSO ID of the user who created the list.
Create a New Global Recording Manager List
The Add List screen (Figure 10-17) appears after you issue the A (add) line command on
the Global Record Manager * Include/Exclude List screen.
Figure 10-17. Global Record Manager * Add List Screen
---------------------- Global Record Manager * Add List -- Row 1 to 12 of 200 
COMMAND ===>
SCROLL ===> PAGE 

List Name
===> QAGROUP2

List Type
===> IN (INclude/EXclude)

Description ===> INCLUDE LIST FOR QAGROUP2



Term
Appl
Userid


*
H01AC013
USER25

*
H01AC013
USER23

*
H01AC013
RDMSOL2

*
H01AC013
BKGJRS0 
1. Type the List Name of the Global Recording Manager List. Enter up to eight
characters.
2. Specify the Global Recording Manager List Type (include or exclude). Enter IN to
capture only the specified terminals, applications, and/or users. Enter EX to capture
all activity except the specified terminals, applications, and/or users.
3. Enter an optional Description for the list. Enter up to 55 characters.
4. Term is the logical unit name of the terminal to record or exclude from recording.
Enter one of the following:
– A specific terminal ID.
– An asterisk (*) to select all terminals.
– A terminal prefix followed by an asterisk to select a group of terminals. For
example, H8606* selects all terminals beginning with H8606.
If you leave this field empty, but supply a value in the Appl or Userid fields on the
same line, Global Record Manager inserts an asterisk when you save the list. This
field holds eight characters. Press Tab to advance to the next field.
5. Appl is the ID of the application to record or exclude from recording. Enter one of
the following:
– A specific application ID.
– An asterisk (*) to select all applications.
– An application name prefix followed by an asterisk to select a group of similar
applications. For example, to select all applications that have names beginning
with CICS, enter CICS*.
If you leave this field empty, but supply a value in the Term or Userid fields on the
same line, Global Record Manager inserts an asterisk when you save the list. This
field holds eight characters. Press Tab to advance to the next field.
6. Userid is the ID of the user to record or exclude from recording. Enter one of the
following:
– A specific user ID.
– An asterisk (*) to select all users.
10-22
Hiperstation for VTAM User Guide
– A user ID prefix followed by an asterisk to select a group of users. For example,
USER* selects all user IDs beginning with USER.
If you leave this field empty, but supply a value in the Term or Appl fields on the
same line, Global Record Manager inserts an asterisk when you save the list. This
field holds eight characters. Press Tab to advance the cursor.
7. Press END to continue or type CANCEL on the Command line and press Enter to exit
the screen without saving the list.
Copy an Existing Global Recording Manager List
Copy an existing list to save time when creating a new list and to ensure full control over
the lists you use. Although you can use Global Recording Manager Lists created by other
users, you cannot edit or delete lists created by another user.
1. The Copy List screen (Figure 10-18) appears after you issue the C (copy) line
command on the Global Record Manager * Include/Exclude List screen.
Figure 10-18. Global Record Manager * Copy List Screen
---------------------- Global Record Manager * Copy List ----------------------
COMMAND ===>



From Name QAGROUP1

From Type IN

From Description INCLUDE LIST_FOR QAGROUP1





To Name QAGROUP2

To Type IN

To Description INCLUDE LIST_FOR QAGROUP2






Press END to copy and exit, CANCEL to exit without copying

From Name, From Type (IN indicates an include list and EX indicates an exclude
list), and From Description are prefilled with the name, type, and description of the
list being copied.
2. Enter a name for the new list, in the To Name field. This field holds up to eight
characters.
3. Enter the type for the new list (IN or EX) in the To Type field. Enter IN to record the
terminal, applications, and user IDs specified within the list. Enter EX to record all
activity except for the terminals, applications, and user IDs specified within the list.
4. Enter a description, up to 55 characters, for the new list.
5. Press End to continue or type CANCEL on the Command line and press Enter to exit
the screen without saving the list.
Accessing Global Recording Administration
Global Recording Administration provides:
• Access to all recording requests on the system
• Access to all capture repositories created by the requests on the system
• Authority to edit and delete any Global Recording Manager list
Global Recording Requests and Scripts
10-23
To access Global Recording Administration, type ADMIN on the Option line of the
Global Recording Menu (Figure 10-2 on page 10-2) and press Enter. The word
“Administration” appears after the menu title.
Note:
Access to Global Recording Administration requires the proper authority. If you
receive a security error, contact your Hiperstation installer or security
administrator.
The Global Recording options behave the same in administration mode, except the
Monitor Request screen shows all of the requests on the system, the Review Repository
option lists the repositories created by all of the requests on the system, and the Global
Recording Manager allows you to edit and delete lists created by any user on the system.
Using the Global Recording Batch Interface
Hiperstation for VTAM provides a batch interface for Global Recording. Use it with a job
scheduler to automate capture initiation and termination. For example, to initiate
recording every morning at 8:00 AM and terminate it at 5:00 PM, create a job to RESTART
the request and a job to STOP the request. Use a job scheduler to submit the jobs at the
appropriate times.
The Global Recording batch interface also provides a script creation function. Set up the
recording request to initiate script creation when the request ends or suspend script
creation and schedule it to run at a later time. For example, if you are recording large
volumes of traffic, schedule a job to create scripts in the evening when more system
resources are available.
Notes for using the online and batch interfaces together:
• Create a recording request with the online interface, then manage it with scheduled
jobs.
• Initiate recording with the batch interface, then use the Monitor Requests option to
view a list of sessions being captured.
• Warning: Using the CANCEL command does not work for managing requests when
using both the online and batch interfaces.
• DCI does not support the UPDATE command, ISPF does.
• DCI produces real return codes, as opposed to always returning a zero value. This
allows you to determine whether global record or archive record requests started. It
also allows JCL creation where job steps may or may not be executed based on
whether the DCI request succeeded.
Create a Global Recording Request
Global Recording writes captured activity to a specified dataset or range of datasets called
a capture file or a repository. Testing scripts are generated from the capture repository.
Global Recording can initiate script creation at the end of the recording request or you
can initiate it later with a separate job (see “Create Scripts” on page 10-43) or with the
Review Repository option in the online interface see (“Reviewing Repositories and
Creating Scripts” on page 10-15). For example, capture an entire day’s activity and
generate scripts in the evening when more system resources are available, or use Review
Repository to generate scripts from selected sessions.
To capture activity, create a recording request. If you specify a time frame for the request,
it becomes active at the designated start time. If you do not specify a time frame, it
becomes active immediately. Capture begins when all of the criteria for an active request
are met.
Note:
Global Recording does not support VTAM compressed data streams.
10-24
Hiperstation for VTAM User Guide
Creating a Global Recording request with the batch interface involves defining the
request parameters. Parameters are defined in extensible markup language (XML). The
batch interface’s XML parser provides limited syntax support. Review “Global Recording
Request Parameter Syntax” on page 10-25 prior to writing or modifying parameters.
To create a Global Recording request with the batch interface:
1. Define the Global Recording request parameters. See “Global Recording Request
Parameters” on page 10-26.
2. Use SQQFSAMP member DCIJCL (Figure 10-19 on page 10-25) to execute the ADD
request function.
a. Insert job statement information at the top of the sample.
b. Ensure the UPROCS statement points to the procedures library that contains
DCIPROC.
c. After the request is created, the batch interface returns a request key that
contains information about the request. Use the request key as input for request
management jobs (see “Manage Existing Requests” on page 10-40). The key is
written to the location specified on the FEEDBACK DD. To save the key in your
personal library, specify a sequential dataset, PDS(E) and member, or a generation
data group (GDG).
Note:
Allocate the dataset or GDG with a fixed-block record format and an 80byte record length.
d. On the SYSTSIN DD statement, specify ADD on the PARM keyword.
Note:
Archive requests are not supported for the ADD command.
e. On the SYSIN DD statement, either supply the name of the dataset containing
the request parameters or enter the parameters in-line.
Note:
In-stream parameters cannot exceed 80 bytes. If you edit the parameters
on a PC and copy them back to a dataset that now exceeds 80 bytes,
point the DD to the dataset rather than pasting the parameters into the
job.
3. Schedule or submit the job.
Global Recording Requests and Scripts
10-25
Figure 10-19. DCIJCL — Sample JCL to Add or Manage Requests
********************************* Top of Data **********************************
//* INSERT JOB CARD HERE...............................................

/*JOBPARM SYSAFF=sysn

//*********************************************************************

//* JCL TO ADD OR MODIFY 3270, APPC, TCP/IP, OR WEBSPHERE MQ GLOBAL
*

//* RECORD REQUESTS.
*

//*
*

//* UPROCS:
DATASET THAT CONTAINS THE DCIPROC.
*

//*
*

//* FEEDBACK: OUTPUT XML THAT MAY BE USED AS INPUT TO SUBSEQUENT
*

//*
STEPS.
*

//*
*

//* SYSTSIN: TSO BACKGROUND INPUT STREAM.
*

//*
ISPSTART PGM(QACDCIP) - EXECUTE THE GLOBAL RECORD
*

//*
BATCH INTERFACE (GRBI)
*

//*
PARM(command) - IS THE COMMAND PASSED TO THE GRBI
*

//*
*

//* SYSIN:
XML INPUT.
*

//*
*

//*********************************************************************

//UPROCS JCLLIB ORDER=('COMPWARE.QQF800.SQQFSAMP')
<-REVIEW

//DCI
EXEC PROC=DCIPROC

//FEEDBACK DD *

//SYSTSIN DD *

ISPSTART PGM(QACDCIP) PARM(ADD)
<-REVIEW

/*

//SYSIN
DD DISP=SHR,DSN=COMPWARE.QQF800.SQQFSAMP(DCIADDL2) <-REVIEW

******************************** Bottom of Data ********************************
Global Recording Request Parameter Syntax
Global Recording request parameters are defined in XML. Write the parameters from
scratch, or start with a sample or generated parameter set. Store the parameters in a
dataset or paste them right into the JCL. Use a standard file editing tool to modify the
parameters.
Note: The batch interface contains a proprietary XML parser that supports a limited set
of XML elements. It recognizes only the syntax described in this section.
Most recording request XML parameters are comprised of an opening tag, followed by a
value and a closing tag. Opening and closing tags must be contained in angle brackets.
The closing tag must be proceeded by a backslash inside the angle brackets. For example:
<Terminal> '*' </Terminal>
If the parameter’s value contains spaces, it must be placed in single quotation marks. In
the samples and generated parameter sets, the parameter values always appear inside
single quotes.
Some parameters require a format indicator followed by a value supplied in single
quotation marks. For example, the Request ID tag accepts a hexadecimal or character
value. Indicate the format of the value by placing an X or a C before the value, outside of
the quotation marks.
<Request_ID> C'QA_REQ'</Request_ID>
The batch interface ignores spaces between the tag and the tag’s value. For example, the
following parameter is interpreted the same way as the previous terminal parameter
example:
<Terminal>
</Terminal>
'*'
To make the samples and generated parameter sets easier to read, most parameters are
formatted with the opening tag and value on one line and the closing tag on the
following line.
10-26
Hiperstation for VTAM User Guide
XML parameters are hierarchal. That is, some parameters have a group of related
subparameters. For example, the Start_Time, End_Time, Start_Date and End_Date are
subparameters of the Scheduled_Capture parameter. Subparameters must be nested
within opening and closing parent parameter tags. For example:
<Scheduled_Capture>
<Start_Date>
'00/00/0000'
</Start_Date>
<Start_Time>
'00:00:00'
</Start_Time>
<End_Date>
'00/00/0000'
</End_Date>
<End_Time>
'00:00:00'
</End_Time>
</Scheduled_Capture>
Depending on the request you are creating, there may be several levels of nesting. For
example, all of the 3270 Global Recording request parameters are subparameters of the
<LU2> protocol parameter. The start and end time and date parameters are subparameters
of Scheduled_Capture, which is a subparameter of the <LU2> protocol parameter. For
example:
<LU2>
<Request_ID> C'MY_REQ'
</Request_ID>
<Scheduled_Capture>
<Start_Date>
'00/00/0000'
</Start_Date>
<Start_Time>
'00:00:00'
</Start_Time>
</Scheduled_Capture>
</LU2>
Note:
The previous examples show tag nesting. They are not a complete set of request
parameters.
Indenting nested tags is not necessary; however, it makes editing much easier. In the
samples and generated parameter sets, each nesting level is indented one space.
Finally, an XML stream can contain comments that the batch interface ignores.
Comment text must be prefixed with an opening angle bracket, an exclamation point,
and two dashes. They must be followed by two dashes and a closing angle bracket. For
example:
<!--This is an XML comment. -->
Global Recording Request Parameters
Global Recording request parameters are defined in XML. For syntax rules, see “Global
Recording Request Parameter Syntax” on page 10-25.
Start with one of the following:
• The parameters from an existing request. See “Retrieve the Parameters of an Existing
Request” on page 10-42.
• A parameters skeleton. See “Generate a Request Parameters Skeleton” on page 10-43.
• SQQFSAMP member DCIADXL2: Contains all available 3270/LU0 Global Recording
request parameters.
• SQQFSAMP member DCIADDL2: Contains a subset of commonly used 3270/LU0
recording request parameters.
Global Recording Requests and Scripts
10-27
Store the parameters in a sequential dataset or a PDS member in your personal library or
write them directly in the JCL. Use a standard file editing tool such as ISPF Edit to write
or modify the parameters.
Notes:
1. XML tags are case sensitive. Set the ISPF CAPS function to OFF when editing
parameters. Type CAPS OFF on the command line and press Enter.
2. To work with a parameters file on the PC:
– Use the IBM utility IEBGENER to copy the dataset into an HFS file.
– FTP the file to the PC. To avoid EBCDIC to ASCII translation issues, transfer the
file as 'text'.
Use an XML editor, such as Notepad, to edit the tags. Pay attention to syntax
interpretation. The Global Recording batch interface may not recognize tags that
have been reformatted based on the viewer’s interpretation. For example, some
editors format tags that have no values, such as <tag/>. Enclose blank values in single
quotes to avoid this particular interpretation issue. All tags must conform to the
syntax rules described in “Global Recording Request Parameter Syntax” on page
10-25.
To avoid record truncation when transferring the parameters back to the mainframe,
copy them into a fixed block dataset with a logical record length that supports the
longest record.
3. Archive requests are not supported for the ADD command.
Sample DCIADXL2
This section provides an illustration of sample DCIADXL2 and defines all available 3270
/LU0 Global Recording request parameters. Parameter hierarchy is defined within the
parameter definitions.
Protocol Parameter Tag and General Request Parameter Tags
********************************* Top of Data ********************************** 
<LU2>

<Request_ID>
X'000000000000'

</Request_ID>

<Terminal>
'*'

</Terminal>

<Application>
' '

</Application>

<User_ID>
' '

</User_ID>

<GR_Manager_List>
' '

</GR_Manager_List>

<GR_Manager_List_2>
' '

</GR_Manager_List_2>

LU2
Identifies the type of Global Recording request to add. Also use this parameter for
non-standard 3270 requests, such as LU0 requests. This is a parent tag to all other
parameters described in this section. Begin and end the XML input stream with
opening and closing LU2 tags (<LU2> and </LU2>).
Request ID
The ID of the Global Recording request. To assign a request ID, supply a six-byte
hexadecimal or character value in single quotes. Place a format indicator in front of
the value outside of the quotation marks. X indicates hexadecimal values and C
indicates character values. For example:
– <Request_ID> X'010203040506' </Request_ID>
10-28
Hiperstation for VTAM User Guide
– <Request_ID> C'QAREQ1'</Request_ID>
The batch interface pads hexadecimal values that are less than six bytes with zeros
and character values that are less than six bytes with spaces.
This tag is optional. If you do not supply a request ID, the system assigns one when
the request is created.
Terminal
The logical unit name of the terminal to record. Supply one of the following:
– A specific terminal ID, up to eight characters.
– An asterisk (*) to select all terminals.
– A terminal prefix followed by an asterisk (*) to select a group of terminals. For
example, H8606* selects all terminals beginning with H8606.
You must supply a Terminal, User_ID, or GR_Manager_List tag with a value other
than blank.
Application
The ID of the application to record. Supply one of the following:
– A specific application’s ID, up to eight characters.
– An asterisk (*) to select all applications.
– An application name prefix followed by an asterisk (*) to select a group of
applications. For example, CICS* selects all applications with names that begin
with CICS.
This tag is optional. If you do not specify an application ID, all applications accessed
by the specified terminal and/or user ID are recorded.
User_ID
The ID of the user to record. Enter one of the following:
– A specific user ID, up to eight characters.
– An asterisk (*) to select all users.
– A user ID prefix followed by an asterisk (*) to select a group of users. For example,
USER* selects all user IDs beginning with USER.
You must supply a Terminal, User_ID, or GR_Manager_List tag with a value other
than blank.
GR_Manager_List
The name of the Global Recording Manager list to use for this request. Save time by
creating Global Recording Manager lists that specify terminals, applications, and user
IDs to include or exclude from capture. See “Defining Global Recording Manager
Lists” on page 10-19.
You must supply a Terminal, User_ID, or GR_Manager_List tag with a value other
than blank. If you supply a GR_Manager_List tag, omit the Terminal, Application,
and User_ID tags.
GR_Manager_List_2
The name of the Global Recording Manager list to use as the second filter for this
request. If this list is specified, GR_Manager_List must also be specified. The list can
be either an Include or Exclude list. If GR_Manager_List and GR_Manager_List_2 are
the same, logically they are equivalent to one list. If they are different,
GR_Manager_List_2 will be applied to the result of GR_Manager_List.
Global Recording Requests and Scripts
10-29
Scheduled Capture Parameter Tags
<Scheduled_Capture>
<Start_Date>
</Start_Date>
<Start_Time>
</Start_Time>
<End_Date>
</End_Date>
<End_Time>
</End_Time>
</Scheduled_Capture>
'00/00/0000'
'00:00:00'
'00/00/0000'
'00:00:00'










Scheduled_Capture
Sets a start time and duration for the request. The request activates at the defined
start time and date and remains active until the specified end time and date unless
the capture repository fills up and the Reuse_Capture_File tag is set to 'NO'.
Omit the entire block of tags if you want capture to begin immediately and remain
active indefinitely.
The following parameters are Scheduled_Capture subparameters. Supply the
applicable parameters between the opening and closing Scheduled_Capture tags.
Start_Date
The date to activate the request. Specify a two-digit month, two-digit day, and
four-digit year separated by slashes: 'MM/DD/YYYY'.
If you specify a start date with no time, the request activates at the beginning of
the given day — that is, midnight (00:00:00).
Start_Time
The time to activate the request. Specify a two-digit hour, two-digit minute, and
two-digit second separated by colons: 'HH:MM:SS'.
If you specify a start time, a start date is required.
If you do not specify a start time or date, the request activates immediately.
End_Date
The month, day, and year to deactivate the request. Specify a two-digit month,
two-digit day, and four-digit year separated by slashes: 'MM/DD/YYYY'.
If you specify an end date with no time, the request deactivates at the end of the
given day — that is, midnight (24:00:00).
If you set the Force_At_End_Time recording option to 'Y', an end time and date
are required.
End_Time
The time to deactivate the request. Specify a two-digit hour, two-digit minute,
and two-digit second separated by colons: 'HH:MM:SS'.
If you do not specify an end time or date, the request remains active until you
STOP, FORCE or CANCEL it or until the repository is full if the
Reuse_Capture_File tag to set to 'NO'.
If you specify an end time, an end date is required.
If you set the Force_At_End_Time recording option to 'YES', an end time and
date are required.
10-30
Hiperstation for VTAM User Guide
Capture File Parameter Tags
<Capture_File>
<Dataset>
'COMPWARE.SAMPLE.CAPTURE.FILE*'
</Dataset>
<First_Number>
'1'
</First_Number>
<Last_Number>
'10'
<!--Valid 'Initial_Disposition' values are APPEND or OVERWRITE -->
</Last_Number>
<Initial_Disposition>
'APPEND'
</Initial_Disposition>
<Allocation>
<Management_Class>
</Management_Class>
<Storage_Class>
</Storage_Class>
<Volume_Serial>
</Volume_Serial>
<Device_Type>
</Device_Type>
<Data_Class>
</Data_Class>
<Space_Units>
</Space_Units>
<Primary_Quantity>
</Primary_Quantity>
<Secondary_Quantity>
</Secondary_Quantity>
<Block_Size>
</Block_Size>
</Allocation>
</Capture_File>
''
''
''
'SYSDA'
''
'TRKS'
'10'
'5'
'9004'
































Capture_File
Defines the dataset to use for storing the captured data.
The following parameters are Capture_File subparameters. Supply the applicable
parameters between the opening and closing Capture_File tags.
Dataset
Specifies the dataset name to use for storing captured information. This is a
required parameter.
To create a segmented capture file, use either the asterisk (*) or question mark (?)
wildcard characters in the dataset name. Define a range for the wildcard
characters with the First_Number and Last_Number tags:
• Asterisk (*): Inserts an incremental value into the dataset name qualifier in
which the asterisk appears. This wildcard pads the incremental value with
enough zeros to ensure an eight-character qualifier. For example,
USER.#3270.REC* with first=1 and last=3 creates capture datasets:
USER.#3270.REC00001
USER.#3270.REC00002
USER.#3270.REC00003
• Question mark (?): Inserts the incremental value into the qualifier where the
question marks appear. Enter at least one question mark for each digit of the
value supplied on the Last_Number tag. For example, USER.#3270.REC??
with first=9 and last=11 creates capture datasets:
USER.#3270.REC09
USER.#3270.REC10
USER.#3270.REC11
Note:
Begin each dataset name segment with an alpha character (A-Z) or @#$
including segments with wildcard characters.
First_Number
Global Recording Requests and Scripts
10-31
Defines the first value to use for wildcard characters specified on the Dataset tag.
If you did not use a wildcard, do not include this tag.
Last_Number
Defines the last value to use for wildcard characters specified on the Dataset tag.
If you did not use a wildcard, do not include this tag.
Initial Disposition
Indicates whether to append or overwrite data contained in the specified dataset.
Valid values are 'APPEND' or 'OVERWRITE'. This tag is unnecessary if the
specified dataset does not exist. If the specified dataset does exist, and you do not
provide an initial disposition value, the batch interface appends the new data to
the existing data.
Note: The dataset is overwritten when Global Recording captures and processes
activity that matches the request criteria. If no activity matches the
request criteria, the dataset is not overwritten.
Allocation
Defines allocation parameters for the capture file dataset. If you do not supply
allocation parameters and the specified dataset does not exist, the batch interface
allocates it with default values set by the installer. Generally, the default values
are appropriate. However, you can override any or all of the default parameters
by using the following Allocation subparameters.
Supply the applicable parameters between the opening and closing Allocation
tags.
Management_Class
The management class to apply to the new dataset. Your storage
administration defines Management classes.
Storage_Class
The storage class to apply to the new dataset. Your storage administration
defines Storage classes. Use this tag to override the default value.
Volume_Serial
The serial number of the volume on which the dataset will be stored.
Device_Type
The type of device on which the dataset will be stored. It can be a generic
unit such as 'SYSDA'.
Data_Class
The data class to apply to the new dataset. Your storage administrator defines
data classes.
Space_Units
The type of units used to store the data. Valid values are: TRKS (Tracks), CYLS
(Cylinders), BLKS (Blocks), BYTES, KB (kilobytes), or MB (megabytes). Space
units combined with the primary and secondary quantities define the
amount of space allocated for the dataset.
Primary_Quantity
The number of space units to allocate initially. After Global Recording fills
the primary quantity, it allocates the secondary quantity.
Secondary_Quantity
The number of space units to allocate after the primary quantity is full.
Block_Size
10-32
Hiperstation for VTAM User Guide
The maximum length, in bytes, of the blocks of data that the system reads in
as it processes a dataset.
Recording Option Parameter Tags
<Recording_Options>
<Suspend_Script_Create>
'NO'
</Suspend_Script_Create>
<Reuse_Capture_File>
'NO'
</Reuse_Capture_File>
<Force_At_End_Time>
'NO'
</Force_At_End_Time>
<!-- Valid 'Event_Notification' values are YES, NONE, or ERROR -->
<Event_Notification>
'YES'
</Event_Notification>
<Record_From_Logon_Only> 'YES'
</Record_From_Logon_Only>
</Recording_Options>













Recording_Options
Defines recording request actions.
The following parameters are Recording_Options subparameters. Supply the
applicable parameters between the opening and closing Recording_Options tags.
Suspend_Script_Create
Suspends script creation. Supply this tag with a value of:
• 'YES' to create scripts later.
• 'NO' to automatically initiate script creation when the recording request
ends. Be sure to supply script creation criteria.
If you omit this tag, the batch interface suspends script creation.
Reuse_Capture_File
This parameter applies only to segmented capture files. It causes Global
Recording to continue capturing activity after the capture file segments are full.
After the last segment fills, Global Recording begins writing to the first segment
again, replacing the oldest captured activity.
To enable this option, supply this tag with a value of 'YES'. If you omit this tag or
supply it with a value of 'NO', recording terminates after the last segment is full.
Force_At_End_Time
Issues a FORCE command at the end time specified in the request. FORCE
terminates all recording sessions including in-flight sessions. Script creation
begins immediately, unless you chose to suspend script creation. Be aware that
you may lose buffered data resulting in partially recorded sessions.
To enable this option, supply this tag with a value of 'YES'. Be sure to supply a
Scheduled_Capture tag with End_Time and End_Date values.
If you omit this tag or supply it with a value of 'NO', Global Recording issues a
STOP command at the request’s specified end time. It stops recording new
sessions, but continues to record all in-flight sessions. After all in-flight sessions
end, recording terminates and script creation begins unless you chose to suspend
script creation. This option ensures complete session captures, but it may delay
script creation.
Event_Notification
Defines the type of messages sent to your TSO session. Supply a value of:
• 'ERROR' to receive error messages only.
• 'YES' to receive status and error messages.
Global Recording Requests and Scripts
10-33
• 'NONE' to disable event notification.
If you are recording a large number of sessions, consider disabling this option or
selecting error notification to reduce the number of messages you receive. If you
omit this tag, Global Recording sends all recording and script creation messages.
Note:
To see the messages that the batch interface produces, such as parameter
verification messages or the return code for the request creation job,
review the PRGLOG DD in the JES job log. See “Troubleshoot Failed Jobs”
on page 10-48.
Record_From_Logon_Only
Begins recording upon logon if all other request criteria are met. If you specify a
time frame for the request, recording begins only if the logon occurs during the
specified time frame.
This option is enabled by default.
Supply this tag with a value of 'NO' to initiate recording as soon as the request
criteria are met. Since recording can begin while sessions are in flight, you may
need to edit the scripts to delete any partially recorded business transactions.
Note: Devices using non-3270 data streams, such as LU0, are typically acquired
when powered up. If you omit this tag or supply it with a value of 'YES',
capture begins only if the terminals are cycled within the time frame of
the recording request.
General Script Criteria Tags
<Script_Criteria>
<Description>
</Description>
'Compuware Global Record Batch Interface'



If you supply the Suspend_Script_Create tag with a value of 'NO', script creation
criteria is required.
Script_Criteria
Defines script creation parameters. The rest of the parameters described in the
section (Description, Script_File, and Script_Create_Options) are all subparameters of
this tag. Supply the applicable parameters between opening and closing
Script_Criteria tags.
Description
A string of up to 55 characters that appears in the header section of the script.
10-34
Hiperstation for VTAM User Guide
Script File Tags
<Script_File>
<Dataset>
</Dataset>
<Member_Prefix>
</Member_Prefix>
<Member_Suffix>
</Member_Suffix>
<Replace_Members>
</Replace_Members>
<Session_Log_Member>
</Session_Log_Member>
'COMPWARE.SAMPLE.SCRIPTS'
'SCR'
'1'
'NO'
'LOG'
<Allocation>
<Management_Class>
''
</Management_Class>
<Storage_Class>
''
</Storage_Class>
<Volume_Serial>
''
</Volume_Serial>
<Device_Type>
'SYSDA'
</Device_Type>
<Data_Class>
''
</Data_Class>
<Space_Units>
'TRKS'
</Space_Units>
<Primary_Quantity>
'10'
</Primary_Quantity>
<Secondary_Quantity> '5'
</Secondary_Quantity>
<Directory_Blocks>
'25'
</Directory_Blocks>
<Block_Size>
'9004'
</Block_Size>
<Record_Length>
'256'
</Record_Length>
<!-- Valid 'Dataset_Name_Type' values are PDS or LIBRARY'
<Dataset_Name_Type>
'PDS'
</Dataset_Name_Type>
</Allocation>
</Script_File>








































Script_File
The batch interface writes each script to a separate member of a PDS or PDSE. This
block of tags defines the attributes of the PDS(E).
The following parameters are Script_File subparameters. Supply the applicable
parameters between the opening and closing Script_File tags.
Dataset
The PDS(E) to contain the scripts. This is a required parameter. It accepts up to 44
characters.
Member_Prefix
A one- to six-character prefix that, in conjunction with the member suffix, forms
the member name for each script created. This is a required parameter.
Member_Suffix
A numeric value that, in conjunction with the member prefix, forms the member
name for each script created. The batch interface increments this value each time
it creates a new script. Supply a suffix that in combination with the prefix equals
eight characters.
• If you supply a suffix that is too short, the batch interface pads the suffix
with zeros to the left. For example, if the prefix is OES and the suffix is 10,
the first script member name is OES00010, and the next member is
OES00011.
• If you supply a suffix that is too long, the batch interface truncates the digits
on the left. For example, if you enter SCRIPT for the prefix and 1234 for the
Global Recording Requests and Scripts
10-35
suffix, the first script member is SCRIPT34, and the next member is
SCRIPT35.
This is a required parameter. It accepts up to seven digits.
Replace_Members
Overwrites existing members that have the same names as specified with the
Dataset, Member_Prefix and Member_Suffix tags.
To enable this option, supply this tag with a value of 'YES'. If you omit this tag or
supply it with a value of 'NO', the batch interface does not overwrite existing
members.
Session_Log_Member
A one- to eight-character member name to hold the session log. A session log
contains an entry for each session, thus each script, created. Session logs contain
the bulk of the input required for an Unattended Playback job. Save time
preparing the job by starting with the session log. See Chapter 7, “Unattended
Playback, Dubbing, and Comparison for 3270 and LU0 Scripts” to learn about
playback statements you may need to add or modify.
Omit this tag if you do not need a session log.
Allocation
Defines allocation parameters for the script file dataset. If you do not supply
allocation parameters and the specified dataset does not exist, the batch interface
allocates it with default values set by the installer. Generally, the default values
are appropriate. However, you can override any or all of the default parameters
by using the following Allocation subparameters.
Supply the applicable parameters between the opening and closing Allocation
tags.
Management_Class
The management class to apply to the new dataset. Your storage
administrator defines Management classes.
Storage_Class
The storage class to apply to the new dataset. Your storage administrator
defines Storage classes.
Volume_Serial
The serial number of the volume on which the dataset will be stored.
Device_Type
The type of device on which the dataset will be stored. Can be a generic unit
such as 'SYSDA'.
Data_Class
The data class to apply to the new dataset. Your storage administrator defines
Data classes.
Space_Units
The type of units used to store the data. Valid values are: TRKS (Tracks), CYLS
(Cylinders), BLKS (Blocks), BYTES, KB (kilobytes), or MB (megabytes). Space
units combined with the primary and secondary quantities define the
amount of space allocated for the dataset.
Primary_Quantity
The number of space units to allocate initially. After Global Recording fills
the primary quantity, it allocates the secondary quantity.
Secondary_Quantity
10-36
Hiperstation for VTAM User Guide
The number of space units to allocate after the primary quantity is full.
Directory_Blocks
The number of blocks to use for a PDS directory. If the dataset is a PDSE, the
batch interface ignores this value.
Block_Size
The maximum length, in bytes, of the blocks of data that the system reads in
as it processes a dataset.
Record_Length
The maximum length, in bytes, provided for each record in the dataset.
Script datasets must be minimally 256 bytes. The record length must be at
least four less than the block size.
Dataset_Name_Type
The type of dataset to contain the scripts. Supply this tag with a value of
'PDS' or 'LIBRARY' (PDSE). If you omit this tag, the batch interface allocates
the script file as a PDS.
Script Create Option Tags
<Script_Create_Options>
<Format_The_Recording> 'YES'
</Format_The_Recording>
<Record_Inputs_Only>
'NO'
</Record_Inputs_Only>
<Row_Column_Format>
'NO'
</Row_Column_Format>
<Use_Message_Filters> 'YES'
</Use_Message_Filters>









Script_Create_Options
Defines the format and contents of the scripts.
The following are Script_Create_Options subparameters. Supply the applicable
parameters between the opening and closing Script_Create_Options tags.
Format_The_Recording
Applies a human-readable format to the scripts. Unformatted scripts contain
hexadecimal data streams. If you are working with non-standard 3270 data
streams, such as LU0, supply this tag with a value of 'NO'.
If you omit this tag or supply it with a value of 'YES', the scripts are formatted.
Record_Inputs_Only
Creates scripts that contain only user input keystrokes.
This option primarily supports stress testing, where recorded and actual output
screen comparison is not required. You can also use it to create scripts for
dubbing baseline scripts. For example, play back an inputs only script, with
dubbing active, against the production version of the software to create a
baseline script. Then play back the baseline script against the application you are
testing to validate its responses.
To enable this option, supply this tag with a value of 'YES'. If you omit this tag,
the batch interface generates the scripts with both the user input keystrokes and
the resulting output screen images.
Row_Column_Format
Creates scripts containing input tags in (row,column) format as opposed to the
standard relative input format. For example, in standard format the first input
tag is:
Global Recording Requests and Scripts
10-37
<I01> “data”
In row,column format, the same input tag contains the position of the input
field:
<I(07,28)>”data”
Correlating input data with the fields on the screen images contained in the
script is easier if the input tag provides coordinates. Consider selecting this
option if you intend to review the script for debugging or audit purposes.
However, scripts in this format are not compatible with the Hiperstation for
VTAM’s script processors.
To enable this option, supply this tag with a value of 'YES'. If you omit this tag,
the batch interface generates the scripts in standard relative input format.
Use_Message_Filters
Enables the use of message filters when creating scripts. Supply this tag with a
value of 'YES', then use the Message_Filters block of tags to designate one or more
filters.
Note: Create filters prior to generating scripts. Use the Message Filtering option
in the online interface or code them manually and store them in PDS
members. Chapter 19, “Unattended Message Filters” explains both
methods.
Message Filter Tags














<Filter Record="1">

<!-- Valid 'Type’ values are INCLUDE or EXCLUDE -->

<Type>
'INCLUDE'

</Type>

<Name>
'MEMBER'

</Name>

<Parameters>
'PARMS'

</Parameters>

</Filter>

</Message_Filters>

</Script_Create_Options>

</Script_Criteria>

</LU2>

******************************** Bottom of Data ********************************
<Message_Filters>
<!-- Valid 'Default’ values are INCLUDE or EXCLUDE -->
<Default>
'INCLUDE'
</Default>
<!-- Valid 'Comments' values are YES, NO, or CLEAR -->
<Comments>
'NO'
</Comments>
<REXX_Dataset>
'COMPWARE.SAMPLE.REXX'
</REXX_Dataset>
<Report_Log_Dataset> 'COMPWARE.SAMPLE.REPORT'
</Report_Log_Dataset>
<Report_Log_Member>
'RPTLOG'
</Report_Log_Member>
Message_Filters
Designates the message filters to use for script creation and defines how to handle
excluded messages.
The following parameters are Message_Filters subparameters. Supply the applicable
parameters between the opening and closing Message_Filters tags.
Default
Defines the action to take for messages that do not match any of the specified
filters. If you supply a Message_Filters tag, this parameter is required. Valid
values are 'INCLUDE' or 'EXCLUDE'.
10-38
Hiperstation for VTAM User Guide
Each captured message is compared to all of the specified filters. The action
defined by the Type of the last matching filter is taken. For example, the first
filter is an “INCLUDE” filter and the second is an “EXCLUDE” filter. A message
that matches both filters is excluded from the script.
If a message does not match any of the defined filters, the Default action is taken
for that message. For example, to create scripts containing only output screens
with PLAF on the first line, create the following filter. Set the filter type to
INCLUDE. Set the Default to EXCLUDE.
IF (hs_exittype = 'OUTPUT') & (POS('PLAF',hs_output.1) > 0) THEN
hs_match = 1
ELSE 
hs_match = 0
To include all messages except output screens with PLAF on the first line, use the
same filter, but set the filter type to EXCLUDE and the Default to INCLUDE.
Comments
Defines if and how excluded messages appear in the script. Supply this tag with a
value of:
• 'YES' to change the excluded messages to comment lines. To include a
specific transaction that was initially excluded, remove the comment
indicator before playback.
• 'NO' to replace the excluded messages with a single comment line that
indicates the message type, the name of the filter applied, and the date and
time that filtering occurred. For example,
* INPUT group excluded by PLAF 02/23/07 at 11:52:44
• 'CLEAR' to exclude the messages altogether.
If you omit this tag, the unwanted messages are replaced with a single comment
line.
REXX_Dataset
The dataset containing the REXX filter members. Supply a fully qualified dataset
name, but do not include a member name. If you supply a Message_Filters tag,
this tag is required.
Report_Log_Dataset
The fully qualified sequential dataset or PDS(E) in which the batch interface
writes a filtering summary report. If you supply a PDS(E), specify a member with
the Report_Log_Member tag.
If the specified dataset:
• exists, the batch interface overwrites any information it contains.
• does not exist, the batch interface allocates it at report creation time.
If you do not want a summary report, omit this tag.
Report_Log_Member
The member in which the batch interfaces writes a summary report. This tag is
required if you supply a PDS on the Report_Log_Dataset tag.
Filter Record="x"
Designates a filter to use for script creation. Supply the tag with a filter number
enclosed in double quotation marks. For example, <Filter Record="1">. The last
matching filter takes precedence, so list the filters from least to greatest priority.
For example, if the first filter is an “include” filter and the second filter is an
“exclude” filter, a message matching both filters is excluded from the script.
Global Recording Requests and Scripts
10-39
Provide this block of parameters for each filter designation.
The following parameters are Filter Record="x" subparameters. Nest the
applicable subparameters between an opening <Filter Record="x"> tag and a
closing </Filter> tag.
Type
The action to take when a message matches the filter. Supply a value of
'INCLUDE' or 'EXCLUDE'. This tag is required. See the description of the
Default parameter on page 10-37 for more details.
Name
The name of the member containing the filter code. This tag is required.
Parameters
The value assigned to the hs_parm variable within the REXX filter code. This
tag is required only if the REXX filter code includes hs_parm.
Note:
If the filter parses hs_parm, you can pass a string of values to the filter.
Check the Status of Existing Requests
Use the KEYS function to:
• Check the status of a specific Global Recording request.
• Generate status information for all of your existing Global Recording requests. You
can also use this feature to locate a forgotten request ID.
Each request has an associated request key that consists of the following information:
• Protocol — The protocol of the activity that the request will record. LU2 indicates a
3270 or LU0 recording request.
• Status — The status of the request (Stopped, Active, or Disabled).
• Request ID — The six-byte ID assigned to the request.
• Capture File — The name of the capture file (also known as Repository Dataset).
This is the same information that the batch interface returns when you create a request.
In fact, if you are checking the status of a specific request, use the returned request key as
the input for the KEYS function.
Use SQQFSAMP member DCIJCL (Figure 10-19 on page 10-25) to execute the KEYS
function.
1. Insert job statement information at the top of the sample.
2. Ensure the UPROCS statement points to the procedures library that contains
DCIPROC.
3. Keys are written to the location defined by the FEEDBACK DD statement. To save the
keys in your personal library, specify a sequential dataset, PDS(E) and member, or a
generation data group (GDG).
Note:
Allocate the GDG with a fixed block record format and an 80-byte record
length.
4. On the SYSTSIN DD statement, specify KEYS on the PARM keyword.
5. KEYS function parameters are also defined in XML. The parameters required differ
depending on the information you need to produce.
– To check the status of a specific request, the KEYS function requires the protocol,
request ID, and capture file associated with the request. On the SYSIN DD
10-40
Hiperstation for VTAM User Guide
statement, either supply the name of the dataset containing the request key or
enter the parameters in-line. For example:
// SYSIN DD * 
<LU2>
<Request_ID>
C'QA_REQ’
</Request_ID>
<Capture_File> 
<Dataset>
‘USER25.#3270.QA.REC??’
</Dataset>
</Capture_File>
</LU2>
If the ADD request FEEDBACK went to SYSOUT, copy and paste the request key
from the JES job log.
– To generate status information for all existing 3270 and LU0 requests that you
created, the KEYS function requires the protocol parameter. For example:
// SYSIN DD *
<LU2>
</LU2>
6. Submit the job.
Manage Existing Requests
Use the batch interface request management functions to:
• Stop recording
• Cancels and deletes a request
• Force a request
• Restart a deactivated request
• Disable a request to prevent it from automatically restarting
• Switch the capture file segment to review captured activity without interrupting
recording
All of these functions require information found in the request key that the batch
interface returns when you create a request. If you do not have the request key but you
know the request ID and capture file name, write the parameters directly into the job. If
you do not know this information, use the KEYS function to produce a list of existing
requests. See “Check the Status of Existing Requests” on page 10-39.
Use SQQFSAMP member DCIJCL (Figure 10-19 on page 10-25) to execute request
management functions.
Note:
DCIJCL contains the FEEDBACK DD statement that supports request creation.
Request management functions do not write output to this DD. To see request
modification messages, review the PRGLOG DD in the JES job log.
1. Insert job statement information at the top of the sample.
2. Ensure the UPROCS statement points to the procedures library that contains
DCIPROC.
3. On the SYSTSIN DD statement, specify one of the following request management
functions on the PARM keyword:
CANCEL
Cancels and deletes the request. All buffered information is also deleted, which
may result in partially recorded business transactions. To avoid losing important
Global Recording Requests and Scripts
10-41
data, STOP the request first. Wait until the request terminates before issuing the
CANCEL command.
Use ISPF file management tools to delete any repository or repository segments
created by the request.
FORCE
Terminates recording immediately and deactivates the request. This option may
result in partially recorded business transactions. To terminate capture of new
sessions, but allow capture to finish in-flight sessions, use STOP instead.
If a request contains script criteria and the suspend script creation option is not
selected, script creation begins immediately.
Note:
If the request specifies segmented repositories, the Force command will
cause an automatic switch to a new segment.
STOP
Stops capture of new sessions and deactivates the request. Global Recording
continues to capture all sessions that are in-flight at the time STOP is issued.
RESTART
Restarts the request. On requests with a start/end time, the request becomes
active as soon as the time frame specified within the request is met. Use this
option to activate an inactive request.
Note:
The initial option selected when the request was added, to either
OVERWRITE or APPEND, will be used for the restart on the repository
file.
DISABLE
Disables the request. When the Global Recording started task is brought up, all
requests, except disabled requests, are restarted.
Note:
STOP or FORCE the request prior to disabling it.
SWITCH
Closes the capture file segment that is currently being written and opens the
next segment. This option is available only if the capture file dataset name
contains a wildcard character (* or ?).
4. The request management functions require the protocol, request ID, and capture file
associated with the request. On the SYSIN DD statement, either supply the name of
the dataset containing the request key or enter the parameters in-line. For example:
// SYSIN DD * 
<LU2>
<Request_ID>
C'QA_REQ’
</Request_ID>
<Capture_File> 
<Dataset>
‘USER25.#3270.QA.REC??’
</Dataset>
</Capture_File>
</LU2>
5. Submit the job.
Note:
The batch interface does not supply an update function. Use a combination
of other functions to modify a request.
10-42
Hiperstation for VTAM User Guide
a. Use the VIEW function to retrieve the parameters from the request. See “Retrieve
the Parameters of an Existing Request” on page 10-42.
Note:
While the VIEW command functions for archive requests, it does not
show commands that are specific to archive requests.
b. Modify the parameters. See “Global Recording Request Parameters” on page
10-26 for parameter definitions.
c. Use STOP, FORCE, or CANCEL to stop recording.
d. If you use STOP or FORCE to stop recording, wait for recording to terminate,
then use CANCEL to delete the request.
e. Use the ADD function to create a new request using the modified parameters.
Execute steps c-e as separate jobs or separate steps within a single job.
Retrieve the Parameters of an Existing Request
The VIEW function writes the parameters from a specified request to a location you
define. Use it to:
• Review or validate a request’s parameters.
• Save time adding a new request. Rather than writing Global Recording request
parameters from scratch, retrieve the parameters from a similar request and modify
them to meet your needs.
• Update a request.
–
–
–
–
–
Note:
Retrieve the parameters from the request to be updated.
Modify the parameters.
STOP the request.
CANCEL the request.
ADD a new request using the modified parameters.
If there are no existing requests, you do not specify a request ID, or the specified
request ID does not exist, the VIEW function produces a request parameters
skeleton containing a complete set of parameters with default values.
Use SQQFSAMP member DCIJCL (Figure 10-19 on page 10-25) to execute the VIEW
function.
1. Insert job statement information at the top of the sample.
2. Ensure the UPROCS statement points to the procedures library that contains
DCIPROC.
3. The batch interface writes VIEW function output to the location specified on the
FEEDBACK DD. To save the VIEW output in your personal library, specify a
sequential dataset, PDS(E) and member, or a generation data group (GDG).
Note:
Allocate the GDG with a fixed block record format and an 80-byte record
length.
4. On the SYSTSIN DD statement, specify VIEW on the PARM keyword.
Note:
While the VIEW command functions for archive requests, it does not show
commands that are specific to archive requests.
5. When retrieving parameters from a specific request, the VIEW function requires the
protocol, request ID, and capture file associated with the request. On the SYSIN DD
statement, either supply the name of the dataset containing the request key or enter
the parameters in-line. For example:
Global Recording Requests and Scripts
10-43
// SYSIN DD * 
<LU2>
<Request_ID>
C'QA_REQ’
</Request_ID>
<Capture_File> 
<Dataset>
‘USER25.#3270.QA.REC??’
</Dataset>
</Capture_File>
</LU2>
6. Submit the job.
Generate a Request Parameters Skeleton
If there are no existing requests, you do not specify a request ID, or the specified request
ID is not found, the VIEW function produces a request parameters skeleton containing a
complete set of Global Recording parameters with default values. Generate a skeleton to:
• Save time creating a new request.
• See all of the available parameters.
• Reference the syntax of a particular tag.
Use SQQFSAMP member DCIJCL (Figure 10-19 on page 10-25) to execute the VIEW
function.
1. Insert job statement information at the top of the sample.
2. Ensure the UPROCS statement points to the procedures library that contains
DCIPROC.
3. The batch interface writes VIEW function output to the location specified on the
FEEDBACK DD. To save the VIEW output in your personal library, specify a
sequential dataset, PDS(E) and member, or a generation data group (GDG).
Note:
Allocate the GDG with a fixed block record format and an 80-byte record
length.
4. On the SYSTSIN DD statement, specify VIEW on the PARM keyword.
Note:
While the VIEW command functions for archive requests, it does not show
commands that are specific to archive requests.
5. On the SYSIN DD statement, supply the opening and closing protocol tags for the
type of request you want to create. For 3270 or LU0 requests:
// SYSIN DD *
<LU2>
</LU2>
Create Scripts
To maximize flexibility, the batch interface provides script create function.
• Generate scripts at any time. For example, if you are unsure of script creation criteria
when you create the recording request, suspend script creation and run it later.
• Schedule script creation to run when maximum system resources are available. For
example, if you are recording large volumes of traffic, schedule a script creation job
to run in the evening.
• Create scripts with parameters other than those specified in the recording request.
For example, the script criteria in the recording request are set up to generate stress
10-44
Hiperstation for VTAM User Guide
testing scripts. However, you also need to generate unit-testing scripts. Run an
independent script create with the appropriate criteria.
• Create scripts before recording ends if the capture file is segmented. For example, to
create a script for a recently recorded session, SWITCH repository segments and run a
script creation job against the closed segments.
To create scripts with the batch interface:
1. Define the script creation parameters. See “Script Creation Parameters” on page
10-44.
2. Use SQQFSAMP member SCJCL (Figure 10-20) to execute the SCRIPTS function.
a. Insert job statement information at the top of the sample.
b. Ensure the UPROCS statement points to the Hiperstation samples library
SQQFSAMP at your installation.
c. On the SYSTSIN DD statement, specify SCRIPTS on the PARM keyword.
d. On the SYSIN DD statement, either supply the name of the dataset containing
the script creation parameters or enter the parameters in-stream.
Notes:
1. In-stream parameters cannot exceed 80 bytes. If you edit the parameters on a
PC and copy them back to a dataset that now exceeds 80 bytes, point the DD
to the dataset rather than pasting the parameters into the job.
2. If you plan to submit the job with a REXX queue command, put the
parameters in an external file and remove all blank lines. Otherwise,
parameter values are converted to uppercase and you may receive error
messages.
3. Script create requires the availability of the LE runtime libraries for
execution.
3. Schedule or submit the job.
Figure 10-20. SQQFSAMP Member SCJCL — Sample JCL to Create Scripts
********************************* Top of Data **********************************
//* INSERT JOB CARD HERE...............................................

/*JOBPARM SYSAFF=sysn

//*********************************************************************

//* JCL TO CREATE 3270 OR APPC SCRIPTS INDEPENDENT FROM THE USER
*

//* INTERFACE.
*

//*
*

//* UPROCS:
DATASET THAT CONTAINS THE DCIPROC.
*

//*
*

//*
*

//* SYSTSIN: TSO BACKGROUND INPUT STREAM.
*

//*
ISPSTART PGM(QACDCIP) - EXECUTE THE DCI PROGRAM
*

//*
PARM(command) - IS THE COMMAND PASSED TO THE DCI
*

//*
*

//* SYSIN:
XML INPUT.
*

//*
*

//*********************************************************************

//UPROCS JCLLIB ORDER=('COMPWARE.QQF800.SQQFSAMP')
<-REVIEW

//DCI
EXEC PROC=DCIPROC

//SYSTSIN DD *

ISPSTART PGM(QACDCIP) PARM(SCRIPTS)

/*

//SYSIN
DD DISP=SHR,DSN=COMPWARE.QQF800.SQQFSAMP(SCLU2)
<-REVIEW

******************************** Bottom of Data ********************************
Script Creation Parameters
Like Global Recording request parameters, Script Creation parameters are defined in
XML. For syntax rules, see “Global Recording Request Parameter Syntax” on page 10-25.
Global Recording Requests and Scripts
10-45
A script creation job requires a protocol parameter, capture file specification parameters,
and script criteria parameters. Recording requests contain all of these parameters. You
can use the parameters from an existing recording request as the input for a script
creation job. For example, if script criteria was specified in the recording request, but
script creation was suspended, use the VIEW function to retrieve the parameters (see
“Retrieve the Parameters of an Existing Request” on page 10-42). Then use the output
from the VIEW as the input for the script creation job. The script create function ignores
irrelevant parameters.
If you intend to modify the script criteria or the request does not contain script criteria,
start with sample SCLU2 located in SQQFSAMP.
Store the parameters in a sequential dataset or a PDS member in your personal library or
write them directly in the JCL. Use a standard file-editing tool such as ISPF Edit to write
or modify the parameters.
Notes:
1. XML tags are case sensitive. Set the ISPF CAPS function to OFF when editing
parameters. Type CAPS OFF on the command line and press Enter.
2. To work with a parameters file on the PC:
– Use the IBM utility IEBGENER to copy the dataset into an HFS file.
– FTP the file to the PC. To avoid EBCDIC to ASCII translation issues, transfer the
file as 'text'.
Use an XML editor, such as Notepad, to edit the tags. Pay attention to syntax
interpretation. The Global Recording batch interface may not recognize tags that
have been reformatted based on the viewer’s interpretation. For example, some
editors format tags that have no values, such as <tag/>. Enclose blank values in single
quotes to avoid this particular interpretation issue. All tags must conform to the
syntax rules described in “Global Recording Request Parameter Syntax” on page
10-25.
To avoid record truncation when transferring the parameters back to the mainframe,
copy them into a fixed block dataset with a logical record length that supports the
longest record.
SQQFSAMP Member SCLU2 — Script Creation Parameters
This section provides an illustration of sample SCLU2 and defines all of the available
script creation parameters. Parameter hierarchy is defined within the parameter
definitions.
Protocol Parameter Tag and Capture File Specification Tags
<LU2>
<Capture_File>
<Dataset>
</Dataset>
<First_Number>
</First_Number>
<Last_Number>
</Last_Number>
</Capture_File>
'COMPWARE.SAMPLE.CAPTURE.FILE*'
'1'
'20'









LU2
Identifies the type of scripts to create. This is a parent tag to all other parameters
described in this section. Begin and end the XML input stream with opening and
closing LU2 tags (<LU2> and </LU2>).
Capture_File
Specifies the dataset containing the captured information.
10-46
Hiperstation for VTAM User Guide
The following parameters are Capture_File subparameters. Supply the applicable
parameters between the opening and closing Capture_File tags.
Dataset
The name of the dataset that contains the captured information. This is a
required parameter.
If the capture file is segmented, supply a First_Number and Last_Number tag.
First_Number
The first value to use for resolving the wildcard characters specified on the
Dataset tag. If the dataset name does not contain a wildcard character, this tag is
unnecessary.
Last_Number
The last value to use for resolving wildcard characters specified on the Dataset
tag. If the dataset name does not contain a wildcard character, this tag is
unnecessary.
Event Notification Tags
<Recording_Options>
<!-- Valid “Event_Notification' values are YES, NONE, or ERROR -->
<Event_Notification>
'NONE'
</Event_Notification>
</Recording_Options>





Recording_Options
Provides the Event_Notification setting. This function uses the same event
notification feature as the recording request ADD function. This is why the
Event_Notification tag is nested within opening and closing Recording_Options tags.
If you omit this block of tags, the batch interface sends all script creation messages to
your TSO session.
Event_Notification
Defines the type of script creation messages sent to your TSO session. Supply a
value of:
• 'ERROR' to receive error messages only.
• 'YES' to receive script creation status and error messages.
• 'NONE' to disable event notification.
If you are generating a large number of scripts, consider disabling this option or
selecting error notification to reduce the number of messages you receive.
Regardless of this setting, the batch interface sends a copy of all script creation
messages to the JESMSGLG DD in the JES Job Log. The SYSPRINT DD summarizes
script creation job messages.
Note:
To see the messages that the batch interface produces, such as parameter
verification messages or the return code for the script creation job,
review the PRGLOG DD in the JES job log. See “Troubleshoot Failed Jobs”
on page 10-48.
Global Recording Requests and Scripts
10-47
Script Criteria Tags
<Script_Criteria>
<Description>
</Description>
<Script_File>
<Dataset>
</Dataset>
<Member_Prefix>
</Member_Prefix>
<Member_Suffix>
</Member_Suffix>
<Replace_Members>
</Replace_Members>
<Session_Log_Member>
</Session_Log_Member>
'Compuware Independent Script Create'
'COMPWARE.SAMPLE.SCRIPTS'
'SCR'
'1'
'NO'
'LOG'
<Allocation>
<!-- ONLY REQUIRED TO ALLOCATE NEW SCRIPT FILE -->
<Management_Class>
''
</Management_Class>
<Storage_Class>
''
</Storage_Class>
<Volume_Serial>
''
</Volume_Serial>
<Device_Type>
'SYSDA'
</Device_Type>
<Data_Class>
''
</Data_Class>
<Space_Units>
'TRKS'
</Space_Units>
<Primary_Quantity>
'10'
</Primary_Quantity>
<Secondary_Quantity>
'5'
</Secondary_Quantity>
<Directory_Blocks>
'25'
</Directory_Blocks>
<Block_Size>
'9004'
</Block_Size>
<Record_Length>
‘256’
</Record_Length>
<!-- Valid 'Dataset_Name_Type' values are PDS or LIBRARY -->
<Dataset_Name_Type>
‘PDS'
</Dataset_Name_Type>
</Allocation>
</Script_File>













































Defines script creation parameters. These are the same parameters as the script criteria
parameters described in “Global Recording Request Parameters”. See “General Script
10-48
Hiperstation for VTAM User Guide
Criteria Tags” on page 10-33 through “Message Filter Tags” on page 10-37.
<Script_Create_Options>
<Format_The_Recording>
</Format_The_Recording>
<Record_Inputs_Only>
</Record_Inputs_Only>
<Row_Column_Format>
</Row_Column_Format>
<Use_Message_Filters>
</Use_Message_Filters>
'YES'
'NO'
'NO'
'NO'
<Message_Filters>
<!-- Valid 'Default' values are INCLUDE or EXCLUDE -->
<Default>
'INCLUDE'
</Default>
<!-- Valid 'Comments' values are YES, NO or CLEAR -->
<Comments>
'NO'
</Comments>
<REXX_Dataset>
</REXX_Dataset>
<Report_Log_Dataset>
</Report_Log_Dataset>
<Report_Log_Member>
</Report_Log_Member>
'COMPWARE.SAMPLE.REXX'
'COMPWARE.SAMPLE.REPORT'
'RPTLOG'
<Filter Record="1">
<!-- Valid 'Type' Values are INCLUDE or EXCLUDE -->
<Type>
'INCLUDE'
</Type>
<Name>
'MEMBER'
</Name>
<Parameters>
'PARMS'
</Parameters>
</Filter>
<Filter Record="2">
<Type>
</Type>
<Name>
</Name>
<Parameters>
</Parameters>
</Filter>
</Message_Filters>
</Script_Create_Options>
</Script_Criteria>
</LU2>
'INCLUDE'
'MEMBER'
'PARMS'

















































/*
Troubleshoot Failed Jobs
An ISPF background task initiates and terminates the Global Recording batch interface.
ISPF issues a return code for the background task. Do not confuse this return code with
the Global Recording batch interface’s return code. The batch interface writes its return
code to the PRGLOG DD. If your installer accepted the default, PRGLOG resides in the
JES job log.
The rest of this section provides information to help you troubleshoot recording request
and script create errors.
Recording Request Errors
The Global Recording batch interface adds and modifies recording requests based on the
parameters you supply. The Global Recording started task executes the requests. The
batch interface reports status and error messages pertaining to request creation or
modification while the started task reports status and error messages pertaining to
recording.
Global Recording Requests and Scripts
10-49
By default, the batch interface reports its status and error messages to the PRGLOG in the
JES job log.
Note:
If the messages do not appear in this location, consult your installer.
The started task writes recording error and status message in its JES job log and SYSTEM
log. However, the logs contain messages from all recording requests. To see the message
pertaining to your requests, set the recording request Event_Notification parameter,
discussed on page 10-32, to 'YES' or 'ERROR'. Global Recording sends the applicable
messages to your TSO session.
Script Create Errors
The Global Recording batch interface initiates the script create function. If it cannot
initiate script creation, it writes errors to the PRGLOG (for example, if a required
parameter is missing or the parameter’s syntax is incorrect). Otherwise, it writes a single
message to the PRGLOG indicating that script create completed with or without errors. If
the message indicates that it completed with errors, review:
• JESMSGLG in the JES job log to see script creation status and error messages.
• SYSPRINT in the JES job log to see a script creation summary.
Generating a Capture Segment Summary
The Capture Segment Summary report indicates when recording began and ended for
each segment of one or more specified capture repositories. Use it to help you identify
the information contained in each segment. For example, generate this report to script
activity that was captured on Monday morning from 8:00 am to 12:00 pm when you are
not sure which repository segment contains the information.
Import the report into a spreadsheet or database for easy manipulation. For example,
generate the report against every repository on the system, import it into a spreadsheet,
and use it as an index. Sort the spreadsheet by repository name or dates.
To generate a Capture Summary Report:
1. Locate sample member MCSREPT (Figure 10-21 on page 10-50) in the Hiperstation
samples library, SQQFSAMP, or in your site’s JCL library.
2. Insert job statement information at the top of the sample.
3. Ensure the STEPLIB DD statement points to the Hiperstation load library at your
installation.
4. To write the report to a new or existing dataset, replace SYSOUT=* on the CAPSUM
DD statement with the appropriate dataset information. The logical record length of
the dataset must be at least 132 bytes.
5. Supply report creation parameters after the SYSIN DD * statement. Put each
parameter on a separate line. Parameter definitions follow Figure 10-21.
6. Submit the job.
10-50
Hiperstation for VTAM User Guide
Figure 10-21. SQQFSAMP Member MCSREPT
********************************* Top of Data **********************************
//*....... JOB ...PLACE YOUR INSTALLATION'S JOBCARD HERE...

//********************************************************************

//*---------------------------------------------------------------- *

//*
*

//* HIPERSTATION MANAGE CAPTURE SEGMENTS REPORT EXECUTION
*

//*
*

//*---------------------------------------------------------------- *

//********************************************************************

//*
*

//* THE FOLLOWING ITEM MUST BE CHANGED FOR SITE SPECIFICS:
*

//*
*

//* NOTE 1: NAME OF THE HIPERSTATION LOAD LIBRARY.
*

//*
*

//* SYSIN DD IS USED TO PROVIDE REPORT PARAMETERS
*

//*
*

//* NOTE 2: LIST THE REPORT PARAMETERS INCLUDING
*

//*
THE REPOSITORY OR REPOSITORIES YOU WISH TO REPORT ON
*

//*
*

//********************************************************************

//REPORT
EXEC PGM=MCSREPT

//STEPLIB DD DISP=SHR,DSN=COMPWARE.QQF800.SQQFLOAD <== NOTE 1

//SYSPRINT DD SYSOUT=*

//CAPSUM
DD SYSOUT=*

//SYSIN
DD *
<== NOTE 2

GMT

DSN=USERID.TEST.MULTSEG.REPOSIT*

FIRST=1

LAST=3

DSN=USERID.TEST.REPOSITX

******************************** Bottom of Data ********************************
Report Generation Parameters
NORECALL
Prevents recall of migrated datasets for report creation. This parameter, if specified,
must precede all dataset name parameters.
GMT
Reports time stamps in Greenwich Mean Time (GMT). This is an optional parameter.
If omitted, Hiperstation reports the time values based on the system’s local time. If
you are reporting on repositories captured on systems in different time zones,
include the GMT parameter to avoid confusion about time adjustment. For example,
a repository that was captured at 8:00 AM EST is sent to an office in California. If
they run the report without the GMT parameter, the start time shows 05:00:00 due to
adjustment for the three-hour difference in time zones. With the GMT parameter, the
report shows 13:00:00 regardless of the system on which the report is generated.
This parameter, if specified, must precede all dataset name parameters.
DSN
The name of the capture repository. To report on multiple segments of a given
repository, specify the dataset name with the same wildcard characters as specified in
the Global Recording request. Then supply the FIRST and LAST parameters.
To report on multiple repositories, include a DSN parameter, and if applicable a FIRST
and LAST parameter, for each repository. The FIRST and LAST parameters must follow
the DSN to which they apply. For example,
DSN=USER25.MQ.REPOS??
FIRST=01
LAST=10
DSN=USER25.TCPIP.REPOS08
DSN=USER25.3270.REPOS??
FIRST=01
LAST=05
Global Recording Requests and Scripts
10-51
FIRST
The first value used to resolve the wildcards in the repository name specified on the
preceding DSN parameter.
LAST
The last value used to resolve the wildcards in the repository name specified on the
preceding DSN parameter.
Review the Report
Review the report with a file browsing tool such as ISPF Browse. If the report is large,
consider importing it into a spreadsheet or database application for easy manipulation.
For example, import it into a spreadsheet and sort by start time.
If you include the GMT parameter on the report creation job, ‘ALL TIMES GMT’ appears
at the top of the start date and time column.
Figure 10-22. Capture Summary Report
HIPERSTATION - CAPTURE SEGMENT SUMMARY
USER25.TEST1.REPOS01
USER25.TEST1.REPOS02
USER25.TEST1.REPOS03
Note:
ALL TIMES GMT
12/21/06 20:08:23
12/21/06 20:10:39
12/21/06 20:23:18

12/21/06 20:10:14
12/21/06 20:23:14
12/21/06 20:31:35
The reported timestamps reflect when the first and last records were written to
each repository dataset. Records are written to a repository dataset when Global
Recording flushes and processes the captured information from the ECSA buffers.
Depending on the size of the buffers and the volume of traffic on your system,
there may be a minor difference between the timestamps shown in the report
and the actual transaction times shown in the scripts. If there is a significant
difference, contact your Global Recording administrator or your installer. The
Hiperstation Installation Guide provides instructions for tuning your buffer to
optimize Global Recording performance.

In addition, a recorded session may span multiple segments. If the activity you
need to script is near the beginning or end of a given repository segment, script
the neighboring segment as well.
10-52
Hiperstation for VTAM User Guide
11-1
Chapter 11.
Archive Functions
Chap 11
Introducing the Archive Function
Hiperstation is a zSeries automated testing solution that enables systems and applications
programmers and quality assurance personnel to streamline the testing process and
improve the quality of their applications. In addition to automated testing, Hiperstation
can address other business issues as well, specifically, security monitoring.
Using Hiperstation as a Security Monitoring Tool
Today's mainframe application organizations use two standard facilities for managing
security. First, security systems prevent unauthorized users from logging on and then
controlling access privileges of authorized users. Second, monitoring facilities, such as
System Management Facilities (SMF), log a variety of activities performed by the user,
including opening datasets and logging off. Most organizations have programs that postprocess their SMF records to produce audit reports.
Hiperstation can provide what these facilities lack, which is an in-depth record of the
detail on each screen the user accessed on their terminal. Hiperstation's Auditing Archive
Recording feature allows you to record all users of a given application that you want to
monitor, select users across all of the applications that they use, and for VTAM,
document each keystroke and screen that the user sees. Hiperstation can be likened to an
electronic security camera installed directly behind the user. The user is not aware that
the recording is taking place unless the security team chooses to disclose this
information.
Hiperstation is the watchdog for users who are able to gain access to the mainframe and
are able to navigate throughout the system. Rather than relying only on security
violations and SMF records, the Hiperstation script is a true picture of what the user saw
and did.
Implementing Hiperstation for VTAM as a Security Monitoring Tool
Implementing Hiperstation as a security-monitoring tool requires analysis and agreement
between management and the system implementation team. You need to decide:
• Whether to monitor all mainframe users or just a selected group of users
• Whether to record groups or users in separate recordings or all together in one.
• Whether to record continuously
• Who will be responsible for administering the recording
• Where to store the recorded data and scripts in secured files
• Who will be accountable for the web reports
• How long to store the recorded data
• How to analyze the web reports
11-2
Hiperstation for VTAM User Guide
After you decide what to do about these issues, an implementation plan can be
developed. Although the details will vary slightly, the general task list includes the
following items:
• Set up and start Global Recording. Compuware recommends that you integrate the
Global Recording Started Task into the IPL process. This allows data capture to begin
immediately with any IPL.
• Implement your Archive Audit Request scheme (for example, how many requests
record which users, terminals or applications). Use the Name and Description fields
to help convey the probable contents of each Archive Audit Request to the users.
• Train your Search users to use the tool effectively (for example, restricting date/time
of searches to save processing time and DASD space consumption).
• Ensure that users who plan to execute the Search Tool against the Archive Audit
Requests understand the Archive Audit Request schemes.
• Ensure RACF controls are in place to provide proper access protection to the Archive
Audit Repositories.
• Encourage Search users to build a repository of shared search criteria wherever
possible.
• Set goals for report management (for example, cleanup and final disposition of Web
Reports) by the Search users.
Summary
Hiperstation can provide an organization with a comprehensive audit trail of online user
activity. Unlike other auditing processes that require looking at security logs and SMF
records, Hiperstation provides a complete audit trail of what the user executed on their
terminal with the application in question. The Archive Search Web Report capability
gives the auditor the ability to step through each screen the user viewed. The auditor will
see all traffic for that user from logon to logoff.
The benefit of using Hiperstation for security monitoring can be summed up in two
words: maximum accountability. By combining the analysis potential of Hiperstation
scripts with existing security tools, the security auditor is able to analyze and quantify
the impact of all security breaches.
Figure 11-1. Hiperstation Archive Recording Setup Screen
Hiperstation ------------Command ===>
3270 - Archive Criteria
------------------------
Press ENTER to continue, or PF1 for help, or CANCEL to exit.
Name . . . . . . . . CICSPROD
Description. . . . . Capture All Data for Region CICSPROD
Repository Registry Dataset. . . ‘CICSPROD.ALLDATA’
Terminal . . . . . . . . .
Application. . . . . . . .
Userid . . . . . . . . . .
OR
Global Record Manager List
. . *
Use an asterisk for wildcarding
. . CICSPROD the Terminal, Application or Userid
. . *
fields.
. .
MM / DD / YYYY
Start Date . . . 00 / 00 / 0000
End Date . . . . 00 / 00 / 0000
Second filter GRM List . .
HH : MM : SS
Start Time . . . 00 : 00 : 00
End Time . . . . 00 : 00 : 00
(Optional)
(Optional)


















Figure 11-1 shows the Archive Criteria setup screen. In this example, we are capturing all
of the activity for our CICSPROD region, regardless of terminal ID or user ID. Notice that
Archive Functions
11-3
there is no specified start or end date or time. Therefore, our recording will continue
24x7 as long as the Global Recording Started Task is running.
We have specified a meaningful NAME and DESCRIPTION for the request. We have also
specified a Repository Registry Dataset of CICSPROD.ALLDATA. This name will be used to
generate the Registry Dataset (VSAM file containing date/time indexes to the created
repository segments). The Repository Registry Dataset name will also be used to generate
the dataset names of the repository segments by adding a sequence number to it (for
example, #0000001, #0000002, etc.).
Searches can be performed automatically against any repository segment that has filled
up and switched, or has been switched manually, with an e-mail notification being sent
to the owner of the request.
Note:
E-mail notification is set up using Hiperstation profiles. See the Hiperstation
Installation Guide for details.
Using the Archive Function
The Archive/Search function provides the following options:
• Archive Requests — creates archive recording requests allowing you to create search
reports.
• Create Search Reports — provides IT auditors and help desk personnel with the
ability to easily locate and extract data from the repository.
• Search Report Management — manages your requests and frees up space by deleting
requests that are no longer needed.
• Global Record Manager — builds lists of applications, terminals, and user IDs to
include or exclude from recording. Global Record Manager Lists provide greater
flexibility in defining Global Recording requests.
• Global Search Manager — provides IT auditors and help desk personnel with the
ability to easily locate and extract data from the repository. This function provides
global search reports that can be used by any user with GRADMIN authority.
For complete details on how to use the Archive Function, see the Hiperstation Auditor User
Guide.
11-4
Hiperstation for VTAM User Guide
12-1
Chapter 12.
Customizing Scripts with the REXX Script Processor
Note:
Chap 12
Hiperstation for VTAM determines century dates based on the LOW_YEAR and
HIGH_YEAR parameters set by the installer. For more information, see the
Hiperstation Installation Guide.
The REXX script processor automates writing REXX routines in Hiperstation scripts and
helps you create “smart” scripts. The REXX script processor modifies previously recorded
scripts and inserts REXX instructions and routines into them. REXX provides logic in the
scripts to enhance playback. The logic in these processed scripts automatically handles
common obstacles that occur when testing applications such as SAP.
This chapter describes the REXX script processor functions, how to run the processor, the
structure of processed scripts, and tips for troubleshooting problems that may occur.
REXX Script Processor Features
The REXX script processor can perform:
• Data Replacement — When a recorded Hiperstation script contains an applicationgenerated output field on a screen (document number, invoice number, etc.) that is
later typed as input, the data replacement function replaces the user-typed field with
the new field value that is generated by the application when the script is played
back. For more information see “Data Replacement” on page 12-5.
• Date Recalculation — When a recorded Hiperstation script contains user-typed date
input fields (such as a due date or delivery date), the date recalculation function
replaces the date input fields with a new date when the script is played back. The
new date is the original input date recalculated relative to the date when you run
playback. The date recalculation function can also recalculate dates that appear on
recorded script output screens. For more information see “Date Recalculation” on
page 12-10.
• Multi-Field Date Recalculation — The multi-field date recalculation function allows
you to recalculate input and output dates that span fields, such as when the month,
day, and year are contained in different fields. For more information see “Multi-Field
Date Recalculation” on page 12-15.
• List Processing — When a recorded Hiperstation script contains a screen that
provides rows that can be selected (such as a directory), the list processing function
causes playback to select the same row that was selected when the script was
recorded. The list processing function selects the same row even if the row has
changed its location in the list. The row can even be on a different list page. For more
information see “List Processing” on page 12-20.
• Synchronization — When unexpected application messages appear randomly during
the recording or playback of a Hiperstation script, playback may get out of sync with
the application being tested. The synchronization function detects messages (such as
‘...Processing’) in the recorded script and when they appear during playback. It takes
the appropriate action to handle the message and to keep the playback synchronized
with the application. For more information see “Synchronization” on page 12-25.
Note: After making changes using any of these script processors, run the script processor
(as described in “Running the REXX Script Processor” on page 12-30) to save
your work.
12-2
Hiperstation for VTAM User Guide
Using the REXX Script Processor
Select option 1 REXX Processor on the Script Processors screen and press Enter. The
REXX Script Processor * Primary Options screen appears (Figure 12-1).
Figure 12-1. REXX Script Processor Primary Options Screen
Hiperstation --------- REXX Script Processor * Primary Options --------------
Option ===>


1 Data Replacement
3 List Processing
2 Date Recalculation
4 Synchronization
Go Begin Execution
5 Multi-Field Date Recalculation
C Convert Control File 

Specify the name of the control file below, then press Enter key 

Project . . . ETRMCPRJ
Group . . . . ETRMCGRP
Type . . . . ETRMCTYP
Member. . . . ETRMCMEM 

Other Data Set Name:
Data Set Name . . . ETRMCDSN
REXX Script Processor Control File
The REXX script processor stores user-entered information in a control file. When you
run the REXX script processor, it reads each input script and creates a new script
containing the REXX logic. The control file is also read in by the script processor. The
information in the control file tells the script processor how to write the REXX logic.
For example, for the REXX script processor to write a date recalculation routine into a
script, you must first create a date recalculation entry. This entry is stored in the control
file. The date recalculation entry contains information such as the format of the dates to
be recalculated and where the date fields are located. The script processor reads in that
information and matches it against the input script. Then it creates a new script
containing the REXX routines necessary to recalculate the selected dates. These REXX
routines execute when the script is played.
Each Hiperstation site can share a single control file or many control files. The control
file entered on the REXX Script Processor * Primary Options screen is the one used by the
script processor. Each entry in the control file creates more work for the script processor
to perform. Therefore, the script processor takes longer to run if the control file contains
many entries.
The control file can be a sequential file or a member of a partitioned dataset (PDS). There
are no specific requirements for the record length, record format, or block size of the
control file. However, fixed block record format with an 80-byte record length is
recommended.
If the chosen control file does not exist when you start the REXX script processor, the
Allocate Control File pop-up window (Figure 12-2) appears to prompt you to allocate a
new control file.
Customizing Scripts with the REXX Script Processor
12-3
Figure 12-2. Allocate Control File Pop-up Window

------------ Hiperstation REXX Script Processor * Primary Options ----------
Option ===> 1 
+------------------------ Allocate Control File -------------------------+
| Command ===>
|
|
|
Spe | Press ENTER to allocate Control file, END to exit
|
|
|
| Data Set Name . . . : ’CWX0001.CONTROL.FILE(CNTL1)’
|
|
|
| Volume Serial . . . .
|
| Space Units . . . . . TRKS
(TRKS or CYLS)
|
| Primary Quantity. . . 3
(In above units)
|
Oth | Secondary Quantity. . 1
(In above units)
|
| Directory Blocks. . . 5
(Zero for sequential data set) |
| Record Format . . . . FB
|
| Record Length . . . . 80
|
| Block Size. . . . . . 800
|
|
|
+------------------------------------------------------------------------+
Control File Conversion Utility
Both single field date recalculation and multi-field date recalculation control file entries
used by releases of Hiperstation prior to 6.1.0 need to be converted before they can be
used with Hiperstation release 6.1.0 or more current.
Note:
This applies only to single field date recalculation and multi-field date
recalculation functions. Control files used by all other functions can be used
with Hiperstation release 6.1.0 or more current without any conversion.
The Control File Conversion utility converts control files used by prior releases of
Hiperstation’s REXX script processor to the format required by Hiperstation release 6.1.0
or more current.
If the control file is a dataset, you can convert all members inside the dataset at the same
time or perform a selective conversion. Also, Hiperstation can process either in the
foreground or background (batch).
The Control File Conversion utility does not validate control file entries. Any unknown
keywords found in the control file are written as they are to the output file.
Starting the Control File Conversion Utility
1. Type C Convert Control File on the REXX Script Processor * Primary Options screen
(Figure 12-1 on page 12-2) command line and press Enter to display the Control File
Conversion Utility screen (Figure 12-3).
12-4
Hiperstation for VTAM User Guide
Figure 12-3. Control File Conversion Utility Screen
Hiperstation --------- Control File Conversion Utility ---------------
OPTION ===> 


F Initiate Processing In Foreground.
B Initiate Processing In Background. 

Specify Input Control File Name:
Dataset name
===>CNTL.FILE.OLD
Member name/pattern===>
(For PDS only)
Display Member List===>Y
(For PDS only) Y Yes,N No 

Specify Output Control File Name:
Dataset name
===>CNTL.FILE.NEW
2. Enter the Input Control File Name:
– Dataset Name is the dataset containing the control file entries to be converted.
It can be either a PDS or sequential dataset. Do not enter a member name.
– Member Name/Pattern: If the input control file is a PDS, you can enter a valid
member name pattern to limit member selection.
– Display Member List: Y displays the member selection list so you can choose
members for conversion. N indicates that the member selection list is not
required. In this case, Hiperstation processes all members matching the pattern.
3. Enter the Output Control File Name:
– Dataset Name is the dataset where you want to save the converted entries. If this
dataset does not already exist, Hiperstation creates it using the attributes of the
input control file. If this dataset already exists, it must have the same DSORG as
the input control file. You cannot change the member name for the output
control file (the same member names from the input control file are always
used).
4. Enter the F primary command to convert the control file in TSO foreground or the B
primary command to convert the control file in TSO background (batch) mode.
5. After filling in the required information, press ENTER. If you requested a member
selection list, a screen appears from which you can choose members for conversion
(Figure 12-4).
Figure 12-4. Control File Conversion Utility, Member Selection List
MEMBER LIST -- USER25.CNTL.FILE -------------------------ROW 00001
COMMAND ===>
SCROLL

END
End and process selection
CANcel End without processing 

Line Cmds: S Select member B Browse member 

Name
VV MM Created
Changed
Size Init Mod
ALL
ALLB
01.00 07/05/15 07/05/15 15:06
182
182
0
DOC
DOCMF
INP
MC
NOSEP
OPTN2
R600
SET
01.00 07/05/15 07/05/15 15:06
182
182
0
T1
**End**
OF 00011
===>PAGE
PF
PF

Customizing Scripts with the REXX Script Processor
12-5
6. Press END to process your selection or CANCEL to exit without processing your
selection. Valid line commands include S(earch) and B(rowse). See the online help for
a description of these commands.
Data Replacement
Note:
After making changes using the data replacement script processor, you must run
the script processor as described in “Running the REXX Script Processor” on page
12-30.
Use the data replacement script processor when the recorded script performs an action
that causes an application to show a unique output field on a screen that is later typed in
as input to that application. The selected value from the output field is then used to
replace matching input fields further along in the script.
Note:
The replacement data must be in output fields generated by an application, not
input fields.
Data replacement can be demonstrated with the following scenario. A user records a
script of the activities required to create a document number, and later inquires on that
document number. When the document is created, the application shows the new
document number in an output field on line 24 (Figure 12-5).
Figure 12-5. Create the Document Number during the Recording
YSHP Shipments Selected Listing
05/10/07 15:30:17
-------------------------------------------------------------------------------
Shipment Schedule ------ Consignee ------ Carr T
Number Ship Dte Name
Reference SCAC M Material Name Vehicle Id
-------------------------------------------------------------------------------
00407654 05/17/07 COMPUWARE
9999
XXXX T YYYYYYYYYYYYY ZZZZZZZZZZ 

.
.
.

OK _
I012
Document created under number 49012345
01/01
A few screens later, the application prompts for the document number (Figure 12-6).
Figure 12-6. Application’s Display Document Screen
TB03-Display Document
05/10/07
-------------------------------------------------------------------------------
Doc.No....... ?
Company Code. ? 

.
.
.

OK _
1 -42170
Type the document number as input on the Display Document screen (Figure 12-7).
12-6
Hiperstation for VTAM User Guide
Figure 12-7. Document Number Entered as Input During Recording
TB03-Display Document
05/10/07
-------------------------------------------------------------------------------
Doc.No....... 49012345
Company Code. 6 

.
.
.

OK _
1 -42170
When this recorded script is played back, the application creates a new unique document
number. But when the document number is entered as input on the Display Document
screen, the original document number (49012345) is used.
The data replacement function solves this problem by replacing the input document
number in the output field on the Display Document screen with a REXX variable. The
value of this REXX variable is the document number that the application generates
during playback.
Figure 12-8 through Figure 12-10 show the data replacement logic taking effect. During
playback, a new document number is created (49055512). This new number replaces
49012345 on the Display Document screen (Figure 12-10). The data replacement logic
handles situations where the application-generated field is typed into only one input
field or into many fields throughout the script.
Figure 12-8. New Document Number Created During Playback
YSHP Shipments Selected Listing
05/10/07 09:11:05
-------------------------------------------------------------------------------
Shipment Schedule ------ Consignee ------ Carr T
Number Ship Dte Name
Reference SCAC M Material Name Vehicle Id
-------------------------------------------------------------------------------
00407654 05/16/07 COMPUWARE
9999
XXXX T YYYYYYYYYYYYY ZZZZZZZZZZ 

.
.
.

OK _
I012
Document created under number 49055512
01/01
Figure 12-9. Application’s Display Document Screen
TB03-Display Document
05/10/07
-------------------------------------------------------------------------------
Doc.No....... ?
Company Code. ? 

.
.
.

OK _
1 -42170
Customizing Scripts with the REXX Script Processor
12-7
Figure 12-10. Original Document Number Being Replaced During Playback
TB03-Display Document
05/10/07
-------------------------------------------------------------------------------
Doc.No....... 49055512
Company Code. 6 

.
.
.

OK _
1 -42170
Starting Data Replacement
Select option 1 Data Replacement from the REXX Script Processor * Primary Options
screen (Figure 12-1 on page 12-2) to display the REXX Script Processor * Data
Replacement screen (Figure 12-11).
Use this screen to prepare the script processor to write data replacement REXX logic into
your scripts.
Figure 12-11. REXX Script Processor Data Replacement Screen



----------- Hiperstation REXX Script Processor * Data Replacement -----------
Option ===>
Scroll ===> CSR
Add Create New Data Replacement Entries
Line Cmds:
U Update
D Delete
B Browse



Field
Field
Screen ID
Location
Length
Description
-------------------------------------------------------------------------------
Document create (24,46)
08
Handle document number
Shipment create (24,46)
08
Handle shipment number
******************************* BOTTOM OF DATA ********************************
If the control file already contains data replacement entries, they are listed on the REXX
Script Processor * Data Replacement screen. Otherwise, ** NONE ** appears under Screen
ID.
The Add primary command displays the Hiperstation REXX Script Processor * Data
Replacement ADD screen (Figure 12-12 on page 12-8) where you can create new data
replacement entries.
You can also update, delete, and browse data replacement entries on this screen.
The Screen ID lists the application screen where an application-generated field appears.
Field Location indicates the Row and column location where the application-generated
field appears on the screen. Field Length specifies the number of characters that make up
the length of the application-generated field.
Adding a Data Replacement Entry
1. Type A (Add) on the REXX Script Processor * Data Replacement screen (Figure 12-11)
and press Enter to display the REXX Script Processor * Data Replacement ADD screen
(Figure 12-12). For the REXX script processor to handle our document number
scenario, a data replacement entry (such as that shown in Figure 12-12) must be
added to the control file.
12-8
Hiperstation for VTAM User Guide
Figure 12-12. Data Replacement: ADD Screen


Hiperstation --------------- Data Replacement: ADD ----------------------------
Command ===>


ENTER Add item

END
End with save of added items

CANcel End without save of added items


Enter optional data replacement entry description:
Description . . . Handle document number 
Describe where the
Screen ID . . .
ID Location . .
Field Location.
Field Length. .
system generated field is displayed:
. Document created under number
. ** , *** (Row,Col)
. 24 , 46 (Row,Col)
. 08 
Enter exact match only option:
Replace Exact Matches Only . . . N (Y/N)
2. Enter an optional data replacement entry description to describe the data
replacement entry.
3. Describe where the system-generated field is displayed:
– Screen ID is the screen where an application-generated field appears. This field is
case sensitive — the uppercase and lowercase characters must match the screen
ID in the script exactly. Wildcards are not allowed. The wildcard character is
treated as the actual screen ID.
– ID Location specifies the screen row and column location of the Screen ID text.
Enter ** (asterisks) as wildcards in the row field and *** in the column field to
indicate that the screen ID text can be found anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts, not
the position in front of the text. Do not make any adjustments to account for
attribute bytes. For example, if the screen ID text is located in the upper left
corner of the screen, the position of that text may not be row 1, column 1. There
may be an attribute character in position (1,1) with the text beginning at (1,2).
The column position must be the screen column where the first character of the
screen ID text is located.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens that must
be processed, and no script processing will occur for this entry.
– Field Location is the location of the data to be replaced. It is the screen row and
column location of the application-generated field when it appears on the screen
set on the screen ID field. You cannot use asterisks (**) as wildcards. The column
of the field location must be the screen column position where the field text
starts, not the position in front of the text. Use care when typing these values. If
the field location is incorrect, no script processing occurs for this entry.
– Field Length is the number of characters that make up the application-generated
field.
4. Enter Y or N to specify whether to Replace Exact Matches Only. The REXX script
processor replaces input fields in the script that have text that match an applicationgenerated field. Sometimes the text does not match exactly when comparing the
application-generated field with the input field.
Characters in the fields may vary between uppercase and lowercase. For example, the
application generated an order number of T1034. But when the user typed it, the
order number was recorded as t1034.
Leading zeros may not match. For example, the application-generated document
number 0000123T8. But when the user typed it later, it was recorded as 123T8.
Customizing Scripts with the REXX Script Processor
12-9
Input field filler characters may have been recorded. For example, the applicationgenerated document number is 0000123T8. But when the user typed it later, the
input field was prefilled with dashes (----------). Thus, the input field recorded in the
script appears as <I01>123T8-----. Note that only special characters (such as: - % . #)
are considered to be field filler characters.
Valid values in this field include:
– N — (No) The script processor uses the length from the control file as the length
for the comparison between the recorded data and the generated data. This
handles situations with leading zeros and similar conditions as described in the
example above.
– Y — (Yes) The script processor uses the length of the recorded data input field for
the comparison. In this case, the data replacement REXX is written only in places
where the input field exactly matches the corresponding application-generated
field, in both value and length.
The data replacement function replaces all input fields in the script that match
the system-generated or application-generated field.
5. Press Enter to add the data replacement entry and remain on the current screen to
add more entries. Enter END to return to the REXX Script Processor * Data
Replacement screen and save all added entries in the control file. Enter CANcel to
return to the REXX Script Processor * Data Replacement screen without saving added
entries.
Updating a Data Replacement Entry
1. Type U next to the desired item on the REXX Script Processor Data Replacement
Screen (Figure 12-11 on page 12-7) and press Enter to display the REXX Script
Processor * Data Replacement UPDATE screen (Figure 12-13).
Figure 12-13. REXX Script Processor Data Replacement UPDATE Screen




--------- Hiperstation REXX Script Processor * Data Replacement UPDATE --------
Command ===> 
Cancel End Update Without Save
END Update Entry 
Update optional data replacement entry description:
Description . . . Handle shipment number 
Update where the system generated field is displayed:
Screen ID . . . . Shipment created under number
ID Location . . . 24 , 16 (Row,Col)
Field Location. . 24 , 46 (Row,Col)
Field Length. . . 08 
Update exact match only option:
Replace Exact Matches Only . . . Y (Y/N)
2. Enter END to update the information in the control file for the selected data
replacement entry and return to the REXX Script Processor * Data Replacement
screen. Enter CANcel to return to the REXX Script Processor * Data Replacement
screen without updating the entry.
Deleting a Data Replacement Entry
1. Type D next to the desired item on the REXX Script Processor Data Replacement
Screen (Figure 12-11 on page 12-7) and press Enter to display the Confirm Delete
pop-up window.
2. Press Enter to delete the information from the control file for the selected data
replacement entry and return to the REXX Script Processor * Data Replacement
12-10
Hiperstation for VTAM User Guide
screen or END to return to the REXX Script Processor * Data Replacement screen
without deleting the entry.
Browsing Data Replacement Entries
1. Type B next to the desired item REXX Script Processor Data Replacement Screen
(Figure 12-11 on page 12-7) and press Enter to display the REXX Script Processor *
Data Replacement BROWSE screen (Figure 12-14).
Figure 12-14. REXX Script Processor * Data Replacement BROWSE Screen



-------- Hiperstation REXX Script Processor * Data Replacement BROWSE -------
Command ===> 
END End Browse
Next Browse Next Entry
Prev Browse Previous Entry

The information in the data replacement entry is shown below:

Description . . . HANDLE DOCUMENT NUMBER
Screen ID . . . . DOCUMENT CREATED UNDER NUMBER
ID Location . . . ** , ** (Row,Col)
Field Location. . 24 , 46 (Row,Col)
Field Length. . . 08
Replace exact matches only . . . N (Y/N)
The Next and Prev primary commands show the next and previous data replacement
entries in the control file.
2. After you have finished reviewing the replacement entries, press END to return to the
REXX Script Processor Data Replacement screen.
Note:
To run the script processor, see “Running the REXX Script Processor” on page
12-30.
Date Recalculation
Note: After making changes using the date recalculation script processor, you must run
the script processor (see “Running the REXX Script Processor” on page 12-30).
The REXX script processor date recalculation function handles situations where a script
has dates that vary based on the date of the script playback. When this happens, the
recorded date may not be valid when the script is played back, so the date recalculation
function will replace the specified dates with new dates.
Figure 12-15 and Figure 12-16 demonstrate a date recalculation scenario for an order
entry application. On May 1, 2007, a user records the entry of a new order (Figure 12-15).
During order entry, the user types 051207 in the Requested Delivery Date field.
Customizing Scripts with the REXX Script Processor
12-11
Figure 12-15. Application’s Order Entry Screen — Delivery Date Input Field




CRT IDT/Non-SAP Plsnt
-------------------------------
Order Type........... TN
Company Code......... 06
Business Area........ 00 
Requested Deliv. Date 051207
Plant in Chg.
xx
Unloading Pt _
Delivering Company... 06
Deliv. Plant
01
Consignee............ 2992
Carrier.............. _
Cust. non-pref. carr. _
Ind. Manual Cons.Addr _
Ind.Man Carrier Addr. _
Ind. Cust. pick-up... _
External Document No. _
OK _



PF: 12=Fast input
1 -12102
Two weeks later, the user plays back that script. The current date is May 15, 2007, but the
requested delivery date is still entered as 051207, just as it was recorded. This date is in
the past, and the application rejects it causing playback to fail.
The date recalculation function solves this problem by replacing the recorded date with a
REXX variable that is recalculated when the script is played back. The new date is
recalculated relative to the playback date. Thus, when this script is played back on
5/15/07, the delivery date field is entered as 052607 (Figure 12-16).
Figure 12-16. Application’s Order Entry Screen — Playback Input Screen

CRT IDT/Non-SAP Plsnt
-------------------------------
Order Type........... TN
Company Code......... 06
Business Area........ 00 
Requested Deliv. Date 052607
Plant in Chg.
xx
Unloading Pt _
Delivering Company... 06
Deliv. Plant
01
Setting a User-Defined Current Date
The date recalculation function can also set a user-defined “current date.” The date
recalculation function determines the difference between the date on which the script
was created and the input date field in the recorded script. It then adds this difference to
the current date in calculating the new input date. See “User-Defined Current Date
Recalculation REXX” on page 12-36 for an example REXX routine.
You can also use the date recalculation function to recalculate dates that appear on
recorded script output screens.
Note:
Using date recalculation to age dates appearing on output screens in recorded
scripts has the potential to change the output screens. Aging output dates can
minimize miscompares during playback. Be aware, however, of the following:
• When you recalculate very large numbers of dates, it can take a long time to
start playback because Hiperstation must resolve all date references before
loading the script for resolution.
• Any data found on the output screen that matches the control file entries is
recalculated, no matter what they mean to the application. There is no
consideration for date-like fields that are not really dates (such as invoice,
part, or serial numbers).
12-12
Hiperstation for VTAM User Guide
• Make control file entries as specific as possible to prevent unwanted changes.
• To speed up the script processor run, avoid generic screen IDs and generic
date locations.
Starting Date Recalculation
1. Type 2 Date Recalculation on the REXX Script Processor * Primary Option screen
(Figure 12-1 on page 12-2) and press Enter to display the Date Recalculation Item List
screen (Figure 12-17). This screen lets you prepare the script processor to write date
recalculation REXX logic into your scripts.
Figure 12-17. Date Recalculation Item List Screen
Hiperstation ----------- Date Recalculation Item List -------------------------
Option ===>
Scroll ===> PAGE 

Add Create New Date Recalculation Items


Line Cmds: U Update
D Delete
B Browse


Inp fld Inp Dt Date Out Dt
Wkday

Screen ID
no/locn format sep
locn
Only
Description

-------------------------------------------------------------------------------
Following
(***)
09
/
(18,047)
Y
Input date
******************************* BOTTOM OF DATA ********************************
If the control file already contains date recalculation entries, they are listed on this
screen.
2. Issue the Add primary command or one of the line commands (U)pdate, (D)elete, or
(B)rowse.
– The Add primary command displays the Date Recalculation: ADD screen (Figure
12-18 on page 12-13) where you can create new date recalculation entries. See
“Adding a Date Recalculation Entry” on page 12-12 for details.
– The (U)pdate line command displays the Date Recalculation: UPDATE screen
(Figure 12-19 on page 12-14). See “Updating a Date Recalculation Entry” on page
12-14 for details.
– The (D)elete line command displays the Confirm Delete screen. See “Deleting a
Date Recalculation Entry” on page 12-15 for details.
– The (B)rowse line command displays the Date Recalculation: BROWSE screen
(Figure 12-20 on page 12-15). See “Browsing a Date Recalculation Entry” on page
12-15 for details.
Adding a Date Recalculation Entry
1. Type ADD on the Date Recalculation Item List screen (Figure 12-17 on page 12-12)
and press Enter to display the Date Recalculation: ADD screen (Figure 12-18).
For the REXX script processor to handle the delivery date scenario, a date
recalculation entry (such as that shown in Figure 12-18) must be added to the control
file.
Customizing Scripts with the REXX Script Processor
12-13
Figure 12-18. Example Date Recalculation Entry to Handle Delivery Date
Hiperstation ------------- Date Recalculation: ADD --------------------------
Command ===>


ENTER Add item

END
End with save of added items

CANcel End without save of added items


Enter optional description . . . .


Describe the location of the date field:

Screen ID. . . . . . . . . . . .

ID Location. . . . . . . . . . . ** , *** (Row,Col)

Input field number/locn of date. ***
(For input dates only)

Output location of date. . . . .
,
(Row,Col). For output dates only. 
Overlay output area. . . . . . .
(Y/N).
For output dates only. 

Enter other date recalculation options:

Date Separator Character . . . .
(Enter N for no date separator)

Weekdays Only. . . . . . . . . . Y (Y/S/N)

Input Script Date Format . 1 (1-15)
Output Script Date Format . 1 (1-15) 
1. MMDDYY
5. MMDDYYYY
9. DDMONYY
13. YYYYMON

2. DDMMYY
6. DDMMYYYY
10. DDMONYYYY
14. MMYYYY

3. YYMMDD
7. YYYYMMDD
11. YYMON
15. MMDDY

4. YYDDD
8. YYYYDDD
12. MMYY

Note:
To process only input dates, leave the fields associated with output date
recalculation blank.
2. Enter an optional description to describe the date recalculation entry.
3. Enter the application Screen ID that contains a date input/output field. This field is
case sensitive — the uppercase and lowercase characters must match the screen ID in
the script exactly. Type * in this field to find the date on any screen.
4. Enter the screen row and column ID location of the screen ID text. Valid row
numbers are between 1 and 43. Valid column numbers are between 1 and 132. Enter
** (asterisks) in the row field and *** in the column field to indicate that the screen
ID can be found anywhere on the screen. If the Screen ID is an * (asterisk), the ID
Location must be **,***.
The column of the screen ID location must be the screen column position where the
text starts, not the position in front of the text. Use care when typing these values. If
the screen ID location is incorrect, no script processing occurs for this entry.
5. In the Input field number/locn of date field, enter the Input field number, or if the
script is recorded in row,column format, the row and column (for example, 3,3) of
the input to the screen set on the Screen ID entry. You can use this field in
combination with the Screen ID field to tell the script processor to recalculate only
certain dates in the script. Enter asterisks (***) to indicate that any input field
number can contain a date to recalculate.
Enter blanks in this field to prevent recalculation of any input dates.
6. In the Output Location of Date field, enter the row and column location of the
output date that requires date recalculation. Valid row numbers are between 1 and
43. Valid column numbers are between 1 and 132. Enter** for row and *** for column
for dates anywhere on the screen.
Enter blanks in this field to prevent recalculation of any output dates.
7. In the Overlay output area field, specify whether to overlay the screen area if it
contains attribute bytes when placing the new date on the screen. Enter Y if the
screen area can be overlaid irrespective of its contents. Enter N to reject the request if
the output field is not large enough to accept the recalculated date.
8. In the Date Separator Character field, specify the character that separates the
month, day, and year of the date. For example, for a date of 05/16/07, the date
separator character is a slash (/). Enter an asterisk (*) to indicate that the date
12-14
Hiperstation for VTAM User Guide
separator character can vary. If an asterisk is used, the date recalculation function
automatically detects the date separator character. Enter N to indicate that no date
separator character is used in the date field.
9. Specify whether to use Weekdays Only.
– Enter Y to require the recalculated date to be a weekday. If the recalculated date
is a Saturday or Sunday, Hiperstation changes it to the following Monday.
– Enter N to allow the date to be a weekday or weekend date.
– Enter S if the recalculated date will include Saturday as a weekday (MONDAY
through SATURDAY). The weekend date will move ahead to the next Monday.
10. Select an Input Script Date Format. Valid input date formats are 1 through 15 (see
Figure 12-18 on page 12-13). The format you select describes the format of the input
date field to be recalculated specifying the order of the day, month, and year date
components, and whether the year is two or four characters.
11. Select an Output Script Date Format. Valid output date formats are 1 through 15
(see Figure 12-18 on page 12-13). The format you select describes the format of the
recalculated date field, and specifies the format of the date used as input during
playback. For example, if the original script had date input fields with two-digit years
(as in format 1), but the application was changed to use four-digit years (as in format
5), enter the input date format as 1 and the output date format as 5. This
automatically handles the application change from two-digit to four-digit years.
12. Press Enter to add the date recalculation entry and remain on the current screen to
add more entries. Press END to return to the REXX Script Processor Item List screen
and save all added entries in the control file, or press Cancel to return without
saving any added entries.
Updating a Date Recalculation Entry
1. To update a date recalculation entry, type U next to the desired item on the Date
Recalculation Item List screen (Figure 12-17 on page 12-12) and press Enter. The Date
Recalculation: UPDATE screen appears (Figure 12-19).
Figure 12-19. Date Recalculation: UPDATE Screen
Hiperstation ------------ Date Recalculation: UPDATE --------------------------
Command ===>


END
End with save

CANcel End without save


Update optional description . . .


Update the location of the date field:
Screen ID. . . . . . . . . . . . Following
ID Location. . . . . . . . . . . ** , *** (Row,Col)
Input field number/locn of date. 001
For input dates only
Output location of date. . . . . 18 , 047 (Row,Col). For output dates only
Overlay output area. . . . . . . Y
(Y/N).
For output dates only 

Update other date recalculation options:

Date Separator Character . . . .
(Enter N for no date separator)

Weekdays Only. . . . . . . . . . S (Y/S/N)

Input Script Date Format . 1 (1-15)
Output Script Date Format . 1 (1-15) 
1. MMDDYY
5. MMDDYYYY
9. DDMONYY
13. YYYYMON

2. DDMMYY
6. DDMMYYYY
10. DDMONYYYY
14. MMYYYY

3. YYMMDD
7. YYYYMMDD
11. YYMON
15. MMDDY

4. YYDDD
8. YYYYDDD
12. MMYY

2. Press END to update the information in the control file for the selected date
recalculation entry and return to the REXX Script Processor Item List screen. Press
Cancel to return to the REXX Script Processor Item List screen without updating the
entry.
Customizing Scripts with the REXX Script Processor
12-15
Deleting a Date Recalculation Entry
1. Type D next to the desired item on the Date Recalculation Item List (Figure 12-17 on
page 12-12) screen and press Enter to display the Confirm Delete pop-up window ().
Use this screen to delete the selected entry.
2. Press Enter to delete the information from the control file for the selected date
recalculation entry and return to the REXX Script Processor Item List screen. Issue
the END primary command to return to the REXX Script Processor Item List screen
without deleting the entry.
Browsing a Date Recalculation Entry
1. Type B next to the desired item on the Date Recalculation Item List screen (Figure 1217 on page 12-12) and press Enter to display the Date Recalculation BROWSE screen
(Figure 12-20). Use this screen to browse the selected entry.
Figure 12-20. Date Recalculation BROWSE Screen



Hiperstation ------- Date Recalculation BROWSE -----------------
Command ===> 
END End Browse
Next Browse Next Entry
Prev Browse Previous Entry

The information in this date recalculation entry is shown below:
Description. . . . . . . . . .
Screen ID. . . . . . . . . . .
ID Location. . . . . . . . . .
Input Date flf number/location
Output date location . . . . .
Overlay output area. . . . . .
Date Separator Character . . .
Weekdays Only. . . . . . . . .
Input Script Date Format . . .
Output Script Date Format. . .

Output Date Recalc
*
** , *** (Row,Col)
***
** , *** (Row,Col)
Y
/
N (Y/S/N)
1 (1-15)
1 (1-15)
2. Press END to return to the REXX Script Processor Item List screen, Next to navigate
to the next date recalculation entry in the control file, or Prev to navigate to the
previous date recalculation entry in the control file.
Note:
To run the script processor, see “Running the REXX Script Processor” on page
12-30.
Multi-Field Date Recalculation
Note:
After making changes using the multi-field date recalculation script processor,
you must run the script processor (see “Running the REXX Script Processor” on
page 12-30).
The multi-field date recalculation function allows you to recalculate input and output
dates that span fields, such as when the month, day, and year are contained in different
fields. This function is option 5 Multi-Field Date Recalculation on the REXX Script
Processor * Primary Options screen (Figure 12-1 on page 12-2). Option 5 displays a list of
the currently defined multi-field date control entries.
The multi-field date recalculation function Add, Update, Browse and Delete options work
similarly to the REXX date recalculation options. To use these options, enter the name
and location of the screen. Asterisks (***) are allowed as wildcards in the location fields,
indicating that the screen name can appear anywhere on the output screen.
12-16
Hiperstation for VTAM User Guide
In addition, you must enter the location of the month field for both input and output
dates and the location of at least one, or optionally both, of the day and year fields. This
function supports the formats of MM YYYY or MM DD. The format of the month (for
example, numeric 1–12 or alphabetic JAN or FEB) and year (two-digit or four-digit) is
derived from the value in the script. The Weekday field ensures that the calculated date
is a weekday.
On some screens, the position of the date can vary. When a field contains an error, it is
possible that only that data field is sent to the terminal for validation. When your
application performs validation in this manner, the relative input numbers of the date
location (month, day, year) can vary based on the previous input. To compensate for this,
reformat your script using row,column format and enter the row and column of the input
field, or use multiple entries on the same screen. For example, if the same input date (for
month, day, year) can occur in fields 4, 5, and 6 or 5, 6, and 7, all that is required is the
creation of two control file entries. One control file searches fields 4, 5 and 6 and the
other searches 5, 6, and 7 for input date fields.
Note:
Using multi-field date recalculation to age dates appearing on output screens in
recorded scripts has the potential to change the output screens. Aging output
dates can minimize miscompares during playback. Be aware, however, of the
following:
• When you recalculate very large numbers of dates, it can take a long time to
start playback because Hiperstation must resolve all date references before
loading the script.
• Any data found on the output screen that matches control file entries is
recalculated, no matter what they mean to the application. There is no
consideration for date-like fields that are not really dates (such as invoice,
part, or serial numbers).
• Make control file entries as specific as possible to eliminate unwanted
changes.
• To speed up the script processor run, avoid generic screen IDs and generic
date locations.
Starting Multi-Field Date Recalculation
1. Select option 5 Multi-Field Date Recalculation from the REXX Script Processor *
Primary Options screen (Figure 12-1 on page 12-2) and press Enter to display the
Multi-Field Date Recalculation Item List screen (Figure 12-21). This screen shows a
list of the existing multi-field date entries stored in the control file. If no entries
exist, the message (** none **) appears.
Figure 12-21. Multi-Field Date Recalculation Item List Screen


Hiperstation---- Multi-Field Date Recalculation Item List ---------------------
Option ===>
Scroll ===> CSR 

Add Create New Multi-Field Date Items

Line Cmds:
U Update
D Delete
B Browse

Month
Day
Year
Month
Day
Year
ScreenID
Input
Input Input
Output Output Output Description
------------------------------------------------------
*
002
003
004
Input date cal
*
002
003
005
01,001 02,001 03,001 Inp and Out da
******************************* BOTTOM OF DATA *******************************
2. Issue the Add primary command or one of the line commands (U)pdate, (D)elete, or
(B)rowse.
Customizing Scripts with the REXX Script Processor
12-17
– The Add primary command displays the Multi-Field Date: ADD screen (Figure 1222 on page 12-17) where you can create new multi-field date entries. If entries
already exist, they are listed on this screen. See “Adding a Multi-Field Date
Entry” on page 12-17 for details.
– The (U)pdate line command displays the Multi-Field Date: UPDATE screen
(Figure 12-23 on page 12-19). See “Updating a Multi-Field Date Entry” on page
12-18 for details.
– The (D)elete line command displays the Confirm Delete screen. See “Deleting a
Date Recalculation Entry” on page 12-15 for details.
– The (B)rowse line command displays the Multi-Field Date: BROWSE screen
(Figure 12-24 on page 12-19). See “Browsing a Multi-Field Date Entry” on page
12-19 for details.
Adding a Multi-Field Date Entry
1. Type ADD on the Multi-Field Date Recalculation Item List screen (Figure 12-21) and
press Enter to display the Multi-Field Date: ADD screen (Figure 12-22).
Figure 12-22. Multi-Field Date: ADD Screen
Hiperstation --------------- Multi-Field Date: ADD -----------------------------
Command ===>


ENTER Add item

END
End with save of added items

CANcel End without save of added items


Enter Description .


Describe the message and where it is displayed.

Screen ID . . . . *

ID Location . . . 01 , 01 (Row,Col)


Describe Multi-field input date (Required when processing input dates):

Month Position. .
Input field number or location ('000' for julian) 
Day Position . .
Input field number or location

Year Position . .
Input field number or location


Describe Multi-field output date (Required when processing output dates):

Month location. .
,
(Row,Col)
(Enter 00,000 for Julian)

Day location. . .
,
(Row,Col)

Year location . .
,
(Row,Col)


Weekday?. . . . .
Y (yes) / N (no) 
2. Enter an optional Description of the multi-field date entry.
3. Enter the Screen ID for the screen where the multi-field date is input or shown. This
field is case sensitive — the uppercase and lowercase characters must match the
screen ID in the script exactly. Wildcards are not allowed. A wildcard character is
treated as the actual screen ID.
4. Enter the screen ID Location (screen row and column of the screen ID). Valid row
numbers are between 1 and 43. Valid column numbers are between 1 and 132. Enter
** (asterisks) in the row field and *** in the column field to indicate that the screen
ID can be found anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts. Do not
make any adjustments to account for attribute bytes. For example, if the screen ID is
located in the upper left corner of the screen, the position of that text may not be
row 1, column 1. There may be an attribute character in position (1,1) with the text
beginning at (1,2). In this case, specify 1,2 for the screen ID location fields.
12-18
Hiperstation for VTAM User Guide
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens to be
processed, and no script processing will occur for this entry.
5. Enter the Input dates. The Month Position is required. Either the Day Position or the
Year Position is also required, or you can use both if desired.
– Month Position is the field number or row and column location where the
month is entered on the input screen. Valid row numbers are between 1 and 43.
Valid column numbers are between 1 and 132. Enter 000 to recalculate Julian
dates. This field is mandatory when processing input dates.
– Day Position is the field number or row and column location where the day is
entered on the input screen. Valid row numbers are between 1 and 43. Valid
column numbers are between 1 and 132. Leave input day fields blank if you do
not want them processed. This field is optional if the Year Position field is used.
– Year Position is the field number or row and column location where the year is
entered on the input screen. Valid row numbers are between 1 and 43. Valid
column numbers are between 1 and 132. Leave input year fields blank if you do
not want them processed. This field is optional if the Day Location field is used.
6. Enter the Output dates. The Month Location is required. Either the Day Location or
the Year Location is also required, or you can use both if desired.
Note:
To process only input dates, leave the output date fields blank and
Hiperstation will not perform any output recalculation.
– Month Location is the field number or row and column location where the
month is entered on the output screen. Valid row numbers are between 1 and 43.
Valid column numbers are between 1 and 132. Wildcards are not allowed in this
field. Enter 00 for row and 000 column numbers to process Julian dates. This
field is mandatory when processing output dates.
– Day Location is the field number or row and column location where the day is
entered on the output screen. Valid row numbers are between 1 and 43. Valid
column numbers are between 1 and 132. Wildcards are not allowed in this field.
This field is optional if the Year Location field is used.
– Year Position is the field number or row and column location where the year is
entered on the output screen. Valid row numbers are between 1 and 43. Valid
column numbers are between 1 and 132. Wildcards are not allowed in this field.
This field is optional if the Day Location field is used.
7. Specify whether the recalculated date must be a Weekday. Y requires the recalculated
date to be a weekday. If the recalculated date is a Saturday or Sunday, Hiperstation
changes it to the following Monday. N allows the date to be either a weekday or
weekend date.
8. Press Enter to save the entry, which is stored in the control file when the END key is
pressed.
9. Press END to exit the ADD screen and save the new entries in the control file or
CANCEL to exit the ADD screen without saving new entries.
Updating a Multi-Field Date Entry
1. Type U next to the desired item on the Multi-Field Date Recalculation Item List
screen (Figure 12-21 on page 12-16) and press Enter to display the Multi-Field Date:
UPDATE screen (Figure 12-23).
Customizing Scripts with the REXX Script Processor
12-19
Figure 12-23. Multi-Field Date: Update Screen
Hiperstation ------------ Multi-Field Date: UPDATE ------------------
Command ===> 

END
End with save
CANcel End without save

Optional Description . MF date 

Update screenid and location:
Screen ID . . . . *
ID Location . . . ** , *** (Row,Col) 

Update Multi-field input date info:
Month Position. .
Input field number or location (’000’ for Julian)
Day Position . .
Input field number or location
Year Position . .
Input field number or location 

Update Multi-field output date info:
Month location. . 10 , 017 (Row,Col)
(Enter 00,000 for Julian)
Day location. . . 11 , 017 (Row,Col)
Year location . . 12 , 017 (Row,Col) 

Weekday?. . . . . N
Y (yes) / N (no)
2. Change the existing multi-field date entries as desired and press Enter.
3. Issue the END command to exit the UPDATE screen and save your changes or
CANCEL to exit without saving your changes. The field definitions are the same as
those described in “Adding a Multi-Field Date Entry” on page 12-17.
Browsing a Multi-Field Date Entry
1. Type B next to the desired item on the Multi-Field Date Recalculation Item List
screen (Figure 12-21 on page 12-16) and press Enter to display the Multi-Field Date
BROWSE screen (Figure 12-24). This screen is for viewing only, field information
cannot be changed.
Figure 12-24. Multi-Field Date BROWSE Screen






Hiperstation ------------- Multi-Field Date: BROWSE --------------------------
Command ===> 
END End Browse
Next Browse Next Item
Prev Browse Previous Item


The information in this multi-field date entry is shown below:
Description. . . . . . . Input date calc
Screen ID. . . . . . . . *
ID Location. . . . . . . ** , *** (Row,Col)
Month input num/locn . . 002
Day input num/locn . . . 003
Year input num/locn. . . 004
Month output locn. . . .
Day output locn. . . . .
Year output locn . . . .

Input number or location
Input number or location
Input number or location
,
,
,
(Row,Col)
(Row,Col)
(Row,Col)


Weekday? . . . . . . . . N
2. Issue the END command to exit the BROWSE screen, NEXT to view the next date
entry in the control file, or PREV to view the previous date entry in the control file.
12-20
Hiperstation for VTAM User Guide
Deleting a Multi-Field Date Entry
1. Type D next to the desired item on the Multi-Field Date Recalculation Item List
screen (Figure 12-21 on page 12-16) and press Enter to display the Multi-Field Date
Confirm Delete pop-up window.
2. Press Enter to delete the entry and remove it from the control file, or press END to
exit the Confirm Delete pop-up window without deleting the entry from the control
file.
Note:
To run the script processor, see “Running the REXX Script Processor” on page
12-30.
List Processing
Note:
After making changes using list processing, you must run the script processor as
shown in “Running the REXX Script Processor” on page 12-30.
The REXX script processor list processing function handles situations where the
application being tested presents a screen containing a list of rows from which the user
can select. The row originally selected during the recording may move to a different
location in the list before playback. When this happens, you can use the list processing
function to enhance playback so that the script always selects the original row, even if it
has moved within the list.
Sample List Processing Scenario
Figure 12-25 and Figure 12-26 provide a sample list processing scenario. During the
recording, the user selects member H01AC069 from the application’s ISPF member list
screen (Figure 12-25) by typing an S line command and pressing Enter.
Figure 12-25. List Row Selected
Menu Functions Utilities Help
------------------------------------------------------------------------------
EDIT
CWX0001.RYAN.JCL
Row 00024 of 00089
Command ===>
Scroll ===> CSR
Name
VV MM Created
Changed
Size Init
Mod
ID
. EXPAND
01.00 06/11/14 06/11/14 17:23
14
14
0 CWX0001
. FILE501
01.01 05/10/13 06/02/01 10:47
177
177
0 CWX9990
. FILE51
01.00 06/01/27 06/01/27 09:30
177
177
0 CWX0001
. GENERATE
01.01 05/11/17 06/01/23 16:30
55
55
0 CWX0001
. GENMASK
01.00 05/10/20 05/10/20 08:44
3
3
0 CWX0001
. GOOD
. GOOD2
. GTFPRINT
01.03 07/03/12 07/03/27 14:11
18
19
0 CWX0001
. HIPERDC2
01.00 05/09/19 05/09/19 13:26
160
160
0 CWX0001
. HIPERDOC
01.15 05/09/09 05/09/14 10:24
284
194
0 CWX0001
S H01AC069
01.02 05/02/23 07/04/04 11:08
110
76
110 CWX0001
. H01AC139
01.08 06/02/03 07/04/04 12:43
95
102
0 CWX0001
. IDCAMS
01.01 05/08/30 05/08/30 10:56
46
32
0 CWX0001
. IDCAM3
01.06 06/04/04 06/06/13 16:08
20
19
0 CWX0001
However, when this script is later played back, the rows in the member listing screen may
have changed. New members may have been added while other members may have been
deleted. The script could select a different member from the listing because H01AC069
has moved (Figure 12-26).
Customizing Scripts with the REXX Script Processor
12-21
Figure 12-26. Wrong Row Selected During Playback
Menu Functions Utilities Help
------------------------------------------------------------------------------
EDIT
CWX0001.RYAN.JCL
Row 00024 of 00089
Command ===>
Scroll ===> CSR
Name
VV MM Created
Changed
Size Init
Mod
ID
. EXPAND
01.00 06/11/14 06/11/14 17:23
14
14
0 CWX0001
. FILE501
01.01 05/10/13 06/02/01 10:47
177
177
0 CWX9990
. FILE51
01.00 06/01/27 06/01/27 09:30
177
177
0 CWX0001
. GENERATE
01.01 05/11/17 06/01/23 16:30
55
55
0 CWX0001
. GENMASK
01.00 05/10/20 05/10/20 08:44
3
3
0 CWX0001
. GTFPRINT
01.03 07/03/12 07/03/27 14:11
18
19
0 CWX0001
. HIPERDC2
01.00 05/09/19 05/09/19 13:26
160
160
0 CWX0001
. HIPERDOC
01.15 05/09/09 05/09/14 10:24
284
194
0 CWX0001
. H01AC069
01.02 05/02/23 07/04/04 11:08
110
76
110 CWX0001
. H01AC139
01.08 06/02/03 07/04/04 12:43
95
102
0 CWX0001
S IDCAMS
01.01 05/08/30 05/08/30 10:56
46
32
0 CWX0001
. IDCAM3
01.06 06/04/04 06/06/13 16:08
20
19
0 CWX0001
. IEBCOPY
01.32 05/08/30 07/09/26 15:00
27
53
0 CWX0001
. IEBGENER
01.62 05/04/29 07/09/09 15:31
14
12
0 CWX0001
The list processing function adds logic to the script so that when it is played back,
Hiperstation looks through the list rows for the original row. The script processor does
this by looking at each row in the listing and matching it with what was originally
selected. If the original row is not found on the page, the list processing logic scrolls to
the next page and continues searching. If the original row is not found anywhere in the
list, the script shows an error message and playback stops.
Starting List Processing
1. Type 3 on the REXX Script Processor * Primary Options screen (Figure 12-1 on page
12-2) and press Enter to display the Hiperstation REXX Script Processor * List
Processing screen (Figure 12-27). This screen prepares the script processor to write list
processing REXX logic into scripts. If the control file already contains list processing
entries, they appear on this screen.
Figure 12-27. Hiperstation REXX Script Processor * List Processing Screen



------------- Hiperstation REXX Script Processor * List Processing ------------
Option ===>
Scroll ===> CSR 
Add Create New List Processing Entries
Line Cmds:
U Update
D Delete
B Browse


List
Key
Key
Screen ID
Type Column Length Description
-------------------------------------------------------------------------------
PLAD1
Line C
07
31
Playback Script Directory
EDIT
Line C
04
08
ISPF EDIT
******************************* BOTTOM OF DATA ********************************
The Key Column is the screen column location of the key. The key is the data in the
list row that uniquely marks each row. Key Length is the Number of characters that
make up the key.
2. Issue the Add primary command or one of the line commands (U)pdate, (D)elete, or
(B)rowse.
– The Add primary command displays the List Processing: ADD screen (Figure 1228 on page 12-22) where you can create new list processing entries. See “Adding a
List Processing Entry” on page 12-22 for details.
– The (U)pdate line command displays the Hiperstation REXX Script Processor *
List Processing UPDATE screen. See “Updating a List Processing Entry” on page
12-23 for details.
12-22
Hiperstation for VTAM User Guide
– The (D)elete line command displays the Confirm Delete screen. See “Deleting a
List Processing Entry” on page 12-24 for details.
– The (B)rowse line command displays the Hiperstation REXX Script Processor *
List Processing BROWSE screen. See “Browsing a List Processing Entry” on page
12-24 for details.
Adding a List Processing Entry
1. Type ADD on the REXX Script Processor * List Processing screen command line
(Figure 12-27 on page 12-21) and press Enter to display the List Processing: ADD
screen (Figure 12-28) and add a new list processing entry.
Figure 12-28. List Processing: ADD Screen
Hiperstation -------------- List Processing: ADD ----------------------------
Command ===>
ENTER Add item
END
End with save of added items
CANcel End without save of added items
Enter optional list processing entry description:
Description . . . List Processing test entry
Describe the list screen:
Screen ID . . . . LISTPROC
ID Location . . . ** , ** (Row,Column)
List Location . . 10 , 20 (Top Row,Bottom Row)
Scroll Pfkeys . . PF8
, PF9
(Up,Down)
Selection Pfkey . enter
Key Location. . . +7 , 20 (Column,Length)
List Type . . . . 1 (1-2) 1. Cursor Select
2. Line Command Select
End of List ID. . 3 (1-4)
1. Scrolling Stops
2. Blank Key
3. NN/NN (Current Page/Total Pages)
4. End Of List Text
Enter processing parameters for End of List ID = 3:
SAP format N (Y/N)
Current page Row __ Col __ Len __
Total page Row __ Col __ Len __






















2. Enter an optional Description to describe the list processing entry.
3. Enter the Screen ID for the application screen that contains the list. This field is case
sensitive — the uppercase and lowercase characters must match the screen ID in the
script exactly. Wildcards are not allowed. The wildcard character is treated as the
actual screen ID.
4. Enter the ID Location. This is the screen row and column location of the screen ID
text. Enter ** (asterisks) as wildcards in the row and column fields to indicate that the
screen ID text can be found anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts. Do not
make any adjustments to account for attribute bytes. For example, if the screen ID is
located in the upper left corner of the screen, the position of that text may not be
row 1, column 1. There may be an attribute character in position (1,1) with the text
beginning at (1,2). In this case, specify 1,2 for the screen ID location fields.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens to be
processed, and no script processing will occur for this entry.
5. Enter the List Location on the screen where the list rows appear. The two list
location fields are the top row and bottom row fields. Enter the row number of the
first row in the list in the top row field and the row number of the last row in the list
in the bottom row field.
6. Enter the Scroll PFkeys that you want to use to page up/back and down/forward
through the list. Type the PF key used to scroll backward in the Up field, and type the
PF key used to scroll forward in the Down field.
Customizing Scripts with the REXX Script Processor
12-23
7. Enter the Selection Pfkey you will use when selecting a row from the list. For
example, if you select a row by typing S and pressing Enter, then Enter is the
selection PF key.
8. Enter the Key Location. The key is the data in the list row that uniquely marks each
row. Type the screen column location of the key in the key column field, and the
number of characters in the key in the key length field. For example, the key used for
the member listing scenario is the member name itself. The member name appears
starting in column 4 with a length of 8.
The key location can be entered as an absolute number (01 to 99) or as a relative
number (+1 to +9). The relative number represents the relative position from the
selected command position to the key, and can be used for multiple-column key lists.
9. Enter the End Of List ID (the number of one of the four following options) to specify
what happens when the end of the list is reached when scrolling forward:
– 1. Scrolling Stops: When you reach the end of the list, scrolling forward
repeatedly shows the same screen.
– 2. Blank Key: The end of the list can be determined when the “key” is empty (a
blank row).
– 3. NN/NN: The end of the list is a current page/total page counter. This is
commonly found on list screens in SAP applications. If you use this option,
review the current page and total page parameters in the SPPARMS member.
These parameters are described in the Hiperstation Installation Guide. If the
specification for these parameters is not SAP format, they can be entered on this
screen.
– 4. End-of-List Text: The end of the list is when you reach the text typed in the
End-of-List Text field. Be sure to correctly match the uppercase and lowercase
characters.
10. Enter the type of lists that can be handled by the script processor:
– Cursor Select: Select the row by placing the cursor on the desired row and
pressing a PF key.
– Line Command Select: Select the row by placing data in an input field on the
desired row. For example, type S in a field to select the row. The list processing
function does not handle multiple line commands. If you type S in lines 9, 10,
and 13 to select all three rows, the list processing function selects only the first
row.
11. Leave the command line blank and press Enter to add the list processing entry and
remain on the current screen to add additional entries. Press END to return to the
Hiperstation REXX Script Processor * List Processing screen and save all added entries
in the control file. Press Cancel to return to the Hiperstation REXX Script Processor *
List Processing screen without saving added entries.
Updating a List Processing Entry
1. Type U next to the desired item on the Hiperstation REXX Script Processor * List
Processing screen (Figure 12-27 on page 12-21) and press Enter to display the
Hiperstation REXX Script Processor * List Processing UPDATE screen (Figure 12-29)
and update the selected entry.
12-24
Hiperstation for VTAM User Guide
Figure 12-29. Hiperstation REXX Script Processor * List Processing UPDATE Screen
--------- Hiperstation REXX Script Processor * List Processing UPDATE --------
Command ===>


Cancel End Update Without Save

END Update Entry


Update optional list processing entry description:

Description . . . List Processing test entry

Update the list screen description:

Screen ID . . . . LISTPROC

ID Location . . . ** , ** (Row,Column)

List Location . . 10 , 20 (Top Row,Bottom Row)

Scroll Pfkeys . . PF8
, PF9
(Up,Down)

Selection Pfkey . ENTER

Key Location. . . +7 , 20 (Column,Length)

List Type . . . . 1 (1-2) 1. Cursor Select
2. Line Command Select

End of List ID. . 3 (1-4)

1. Scrolling Stops
2. Blank Key
3. NN/NN (Current Page/Total Pages)

4. End Of List Text

Update processing parameters for End of List ID = 3:

SAP format N (Y/N)

Current page Row 10 Col 11 Len 23
Total page Row 23 Col 22 Len 20 
2. Press END to update the information in the control file for the selected list
processing entry and return to the Hiperstation REXX Script Processor * List
Processing screen or Cancel to return to the Hiperstation REXX Script Processor * List
Processing screen without updating the entry.
Deleting a List Processing Entry
1. Type D next to the desired item on the Hiperstation REXX Script Processor * List
Processing screen (Figure 12-27 on page 12-21) and press Enter to display the
Confirm Delete pop-up window.
2. Press Enter to delete the information from the control file for the selected list
processing entry and return to the Hiperstation REXX Script Processor * List
Processing screen or END to return to the Hiperstation REXX Script Processor * List
Processing screen without deleting the entry.
Browsing a List Processing Entry
1. Type B next to the desired item on the Hiperstation REXX Script Processor * List
Processing screen (Figure 12-27 on page 12-21) and press Enter to display the
Hiperstation REXX Script Processor *List Processing BROWSE screen (Figure 12-30).
Field information can only be viewed, not changed, on the Browse screen.
Customizing Scripts with the REXX Script Processor
12-25
Figure 12-30. REXX Script Processor List Processing BROWSE Screen
--------- Hiperstation REXX Script Processor * List Processing BROWSE --------
Command ===>


END End Browse

Next Browse Next Entry

Prev Browse Previous Entry


The information in this list processing entry is shown below:


Description . . . . . . TESTING LIST PROCESSING

Screen ID . . . . . . . LISTPROC

ID Location . . . . . . ** , ** (Row,Col)

List Location . . . . . 10 , 20 (Top Row,Bottom Row)

Scroll Pfkeys . . . . . PF7
, PF8
(Up,Down)

Selection Pfkey . . . . ENTER

Key Location. . . . . . +7 , 20 (Col,Length)

End Of List ID. . . . . 1 (1-4)

End Of List Text. . . .

NN/NN Specification . .SAP
-- Current Page /
Total Pages -

List Type . . . . . . . LINE COMMAND SELECT
2. Use the END, Next, or Prev primary command to view another processing entry or
return to the REXX Script Processor * List Processing screen.
– END returns to the Hiperstation REXX Script Processor * List Processing screen.
– Next shows the next list processing entry in the control file.
– Prev shows the previous list processing entry in the control file.
Note:
To run the script processor, see “Running the REXX Script Processor” on page
12-30.
Synchronization
Note: After making changes using synchronization, you must run the script processor as
shown in “Running the REXX Script Processor” on page 12-30.
The REXX script processor notes situations where the application being tested
unexpectedly generates messages (such as ‘Processing...’) that say it is busy or blocked. If
these messages appear during recording and not during playback, or vice versa, playback
can get out of sync with the application. The REXX script processor notes these messages
in the recorded script and as playback runs. When such a message is encountered, the
script takes the appropriate action to handle the message and stay in sync with the
application being tested.
For example, a user records herself doing an inquiry. When the application processes the
inquiry, if the response time is good the next screen appears immediately. But if the
system is busy, the application responds with the message PLEASE WAIT, as shown at the
bottom of Figure 12-31, and the user’s terminal is free for input. Continue to press Enter
until the PLEASE WAIT message disappears and the inquiry is complete.
12-26
Hiperstation for VTAM User Guide
Figure 12-31. PLEASE WAIT Message



PLDB
INQ
11111
- ENTER FUNCTION CODE
- ENTER EMPLOYEE NUMBER (OPTIONAL FOR BROWSE)
*** COMPUWARE CORPORATION ***
CICS PLAYBACK/FX DB2 SAMPLE TRANSACTION


VALID FUNCTIONS CODES ARE:
INQ (INQUIRE), UPD (UPDATE), ADD (ADD), DEL (DELETE), BRO (BROWSE)

SOME VALID EMPLOYEE NUMBERS ARE:
11111, 22222, 33333, 44444, 55555


DATE: 07.235
TIME: 11:08:58 

MSG100 - PLEASE WAIT WHILE PROCESSING INQUIRY
If the message appears during inquiry processing, you may have to press Enter five times
before the inquiry is complete. Or, you may press Enter nine times but the message may
never appear at all. When the recorded script differs from the script that is played back,
playback can easily get out of sync.
The synchronization function solves this problem by first removing the “extra” Enter
keys from the recording, and then inserting REXX code into the script to handle the
Enter keys in case the message appears during playback.
Starting Synchronization
1. Select option 4 Synchronization on the REXX Script Processor * Primary Options
screen (Figure 12-1 on page 12-2), and press Enter to display the REXX Script
Processor * Synchronization screen (Figure 12-32). On this screen you can set up the
script processor for writing synchronization REXX logic into your scripts.
If the control file already contains synchronization entries, they appear on the REXX
Script Processor * Synchronization screen.
The REXX code to perform the synchronization is added to the output script. The
code is constantly executed during playback. Use caution when creating
synchronization entries. More entries in the control file create more REXX code in
the output script. Unnecessary synchronization entries in the control file create
unnecessary CPU usage when the script is played back.
Figure 12-32. REXX Script Processor Synchronization Screen
------------ Hiperstation REXX Script Processor * Synchronization -----------
Option ===>
Scroll ===> PAGE 

Add Create New Synchronization Entries


Perform synchronization prior to each input message


Line Cmds: U Update
D Delete
B Browse


Message

Message Text
Location
Action
Description

-------------------------------------------------------------------------------
** NONE **

******************************* BOTTOM OF DATA ********************************
2. Issue the Add primary command or one of the line commands (U)pdate, (D)elete, or
(B)rowse.
– The Add primary command displays the Hiperstation REXX Script Processor *
Synchronization screen (Figure 12-33 on page 12-27) where you can create new
Customizing Scripts with the REXX Script Processor
12-27
synchronization entries. See “Adding a Synchronization Entry” on page 12-27 for
details.
– The (U)pdate line command displays the Hiperstation REXX Script Processor *
Synchronization UPDATE screen (Figure 12-34 on page 12-29). See “Updating a
Synchronization Entry” on page 12-28 for details.
– The (D)elete line command displays the Confirm Delete screen. See “Deleting a
Synchronization Entry” on page 12-29 for details.
– The (B)rowse line command displays the Hiperstation REXX Script Processor *
Synchronization BROWSE screen (Figure 12-35 on page 12-29). See “Browsing a
Synchronization Entry” on page 12-29 for details.
3. When you select Perform synchronization prior to each input message, the script
processor places an <ADDCALL> statement at the beginning of the script, forcing
synchronization processing to be performed prior to each input message. This is
useful for applications like SAP where the point of synchronization is not known
until script execution time. When this option is not selected, the script processor
adds synchronization calls to the script based on the synchronization entries. Type a
slash to select this option.
Adding a Synchronization Entry
1. Type ADD on the Option line on the Hiperstation REXX Script Processor *
Synchronization screen (Figure 12-32 on page 12-26) and press Enter to display the
Synchronization: ADD screen (Figure 12-33).
For the script processor to handle the PLEASE WAIT scenario, you must add a
synchronization entry (such as the one shown below) to the control file.
Figure 12-33. REXX Script Processor Synchronization ADD Screen
Hiperstation -------------- Synchronization: ADD ------------------------------
Command ===>


ENTER Add item

END
End with save of added items

CANcel End without save of added items


Enter optional synchronization entry description:

Description . . . .


Describe the message and where it is displayed:

Screen ID . . . . . *

ID Location . . . . ** , ** (Row,Col)

Message Text. . . . PLEASE WAIT

Message Location. . ** , ** (Row,Col)


Describe the action to take when the message is displayed:

Action To Take. . . . . ENTER

Max Times To Repeat . . 025

Delay Time Amount . . . 00 : 10 (mm:ss)

2. Enter an optional Description to describe the synchronization entry.
3. Enter a Screen ID if you want the script processor to respond to a message only when
it appears on a specific screen. This field is case sensitive — the uppercase and
lowercase characters must match the screen ID in the script exactly.
4. Enter the ID Location (screen row and column) of the screen ID text. Enter asterisks
(**) as wildcards in the row and column fields to indicate that the screen ID text can
be found anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts. Do not
make any adjustments to account for attribute bytes. For example, if the screen ID is
located in the upper left corner of the screen, the position of that text may not be
12-28
Hiperstation for VTAM User Guide
row 1, column 1. There may be an attribute character in position (1,1) with the text
beginning at (1,2). In this case, specify 1,2 for the screen ID location fields.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens to be
processed, and no script processing will occur for this entry.
5. Enter the Message Text indicating that the system is busy or blocked. The message
text is case sensitive, so match the uppercase and lowercase characters with the
characters generated in the application message.
6. Enter the Message Location (screen row and column) of the message text. The
column of the message location must be the screen column position where the text
starts. Do not make any adjustments to account for attribute bytes. Use care when
typing these values. If the message location is incorrect, no script processing occurs
for this entry. Enter asterisks (**) in the row and column fields to indicate that the
message text can be found anywhere on the screen.
7. Enter the Action To Take when the message is encountered. Valid options include:
– AID Key: If the action is to press an AID key such as Enter, Clear, or PF6, type the
AID key in the Action To Take field.
– WAIT: If the action is to wait for a set amount of time without pressing a key,
type WAIT in the Action To Take field.
– REPEAT: If the action is to repeat the previous AID key, type REPEAT in the
Action To Take field.
8. Enter the maximum number of times to repeat the action if the message is
encountered during playback in the Max Times To Repeat field. The Action To Take
repeats until the message is gone. Entering 0 in this field sets no limit to the number
of times the action is repeated.
9. Set a Delay Time Amount for when the value in the Action To Take field is WAIT.
This sets how long playback waits when the message is encountered. If the action is
REPEAT or an AID key, you can use the delay time to pause before taking the action.
For example, if the Delay Time amount is 00,15, playback pauses for 15 seconds
before the action is taken.
10. Press Enter to add the synchronization entry and remain on the current screen to add
more entries or END to return to the REXX Script Processor * Synchronization screen
and save all added entries in the control file. Enter CANcel to return to the REXX
Script Processor * Synchronization screen without saving any added entries.
Updating a Synchronization Entry
1. Type U next to the desired item on the REXX Script Processor * Synchronization
screen (Figure 12-32 on page 12-26), and press Enter to display the Hiperstation
REXX Script Processor * Synchronization UPDATE screen (Figure 12-34).
Customizing Scripts with the REXX Script Processor
12-29
Figure 12-34. REXX Script Processor Synchronization UPDATE Screen




--------- Hiperstation REXX Script Processor * Synchronization UPDATE ---------
Command ===> 
Cancel End Update Without Save
END Update Entry 
Update optional synchronization entry description:
Description . . . . Handle Processing... condition
Update the message and
Screen ID . . . . .
ID Location . . . .
Message Text. . . .
Message Location. .

where it is displayed:
*
** , ** (Row,Col)
Processing...
24 , 05 (Row,Col) 
Update the action to take when the message is displayed:
Action To Take. . . . . ENTER
Max Times To Repeat . . 010
Delay Time Amount . . . 00 : 15 (mm:ss)
2. Enter END to update the information in the control file for the selected
synchronization entry and return to the Hiperstation REXX Script Processor *
Synchronization screen. Enter Cancel to return to the Hiperstation REXX Script
Processor * Synchronization screen without updating the entry. The field definitions
for this screen are the same as those for the Synchronization: ADD screen (see Figure
12-33 on page 12-27).
Deleting a Synchronization Entry
1. To delete an entry, type D next to the desired item on the Hiperstation REXX Script
Processor * Synchronization screen (Figure 12-32 on page 12-26). The Confirm Delete
pop-up window will appear.
2. Press Enter to delete the information from the control file for the selected
synchronization entry and return to the Hiperstation REXX Script Processor *
Synchronization screen or END to return to the Hiperstation REXX Script Processor *
Synchronization screen without deleting the entry.
Browsing a Synchronization Entry
1. To browse a synchronization entry, type B next to the desired item on the
Hiperstation REXX Script Processor * Synchronization screen (Figure 12-32 on page
12-26), and press Enter to display the Hiperstation REXX Script Processor *
Synchronization BROWSE screen (Figure 12-35).
Figure 12-35. REXX Script Processor Synchronization BROWSE Screen



--------- Hiperstation REXX Script Processor * Synchronization BROWSE ---------
Command ===> 
END End Browse
Next Browse Next Entry
Prev Browse Previous Entry

The information in this synchronization entry is shown below:
Description . . . .
Screen ID . . . . .
ID Location . . . .
Message Text. . . .
Message Location. .
Action To Take. . .
Max Times To Repeat
Delay Time Amount .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
HANDLE PROCESSING... CONDITION
*
** , ** (Row,Col)
PROCESSING...
24 , 05 (Row,Col)
ENTER
010
00 : 30 (mm:ss)

12-30
Hiperstation for VTAM User Guide
2. Press END to return to the Hiperstation REXX Script Processor * Synchronization
screen. Press Next to show the next synchronization entry in the control file. Press
Prev to show the previous synchronization entry in the control file.
Note:
To run the script processor, see the next section, “Running the REXX Script
Processor”.
Running the REXX Script Processor
After a script is recorded and the appropriate entries are made and saved in the control
file, you are ready to run the REXX script processor.
1. Enter GO on the Option line on the REXX Script Processor * Primary Options screen
(Figure 12-1 on page 12-2). The Hiperstation Script Processor * Execution screen
appears (Figure 12-36).
Figure 12-36. Hiperstation Script Processor * Execution Screen






------------------ Hiperstation Script Processor * Execution ------------------
Command ===> 
blank Continue

Type the names of the script data sets below, then press Enter key
Do not specify the script/member name 
Input Script
Project .
Group . .
Type . .
Data Set:
. . CWX0001
. . HIPER
. . SCRIPTS

Other Partitioned Data Set:
Data Set Name . . . 
Output Script Data Set:
Project . . . CWX0001
Group . . . . HIPER
Type . . . . SCRIPTS

Other Partitioned Data Set:
Data Set Name . . .
2. Enter the name of the dataset (not including the member) that contains your
recorded Hiperstation scripts in the Input Script Data Set field.
3. Enter the name of the dataset (not including the member) used to store the new
“processed” scripts in the Output Script Dataset field.
Note:
The input and output datasets can be the same or different.
4. Press Enter to continue. The Hiperstation Script Processor * Execution screen appears
(Figure 12-37).
Customizing Scripts with the REXX Script Processor
12-31
Figure 12-37. List Script Names for Processing





----------------- Hiperstation Script Processor * Execution -----------------
Option ===> 
F
B
Initiate Processing In Foreground.
Initiate Processing In Background.

Input Script Data Set: ’CWX0001.HIPER.SCRIPTS’
Output Script Data Set: ’CWX0001.HIPER.SCRIPTS’
INPUT SCRIPT NAME
TEST1
TEST2

OUTPUT SCRIPT NAME
TESTOUT1
TESTOUT2
Replace Existing Members . . . Y (Y/N)
The input and output script dataset names are prefilled from the previous screen and
cannot be changed.
5. Enter the member names of the recorded Hiperstation scripts to process in the Input
Script Name column. Enter an asterisk (*) as the script name to process all members
in the dataset.
6. Enter the member names of the new scripts to be created by the script processor in
the Output Script Name column. There must be an output script name for every
input script name. If you use the same name for both the input and output scripts,
the script processor will overwrite the original script. If you enter an asterisk (*) as
the input script name, you must also use an asterisk as the output script name.
7. Specify whether to Replace Existing Members if an output script already exists.
Enter Y to overwrite existing scripts.
8. Enter F or B on the Option line and press Enter to begin. F starts the script processor
in TSO foreground. B runs the script processor in the background (batch) freeing
your terminal while the script processor runs.
Background (Batch) Execution
1. Type B on the Hiperstation Script Processor * Execution screen (Figure 12-36 on page
12-30), and press Enter. The Hiperstation Script Processor * Background Execution
screen appears (Figure 12-38).
Figure 12-38. Script Processor Background Execution Screen
------------ Hiperstation Script Processor * Background Execution ------------
Command ===> 

Go To generate and display the JCL
End To exit without submitting 

Specify jobcard information:
//ACMJET0A JOB (’AHPBAS5.2.0MNT’,45),’JOE E. TESTER’,
//
NOTIFY=ACMJET0,CLASS=A,MSGCLASS=R
//
//
// 

Sysout Class For Output Messages . . . *
You must supply the script processor with JCL job statements for it to run in
background mode.
2. Type the job statements in the jobcard information area and enter the Go command.
This displays the JCL in edit mode.
12-32
Hiperstation for VTAM User Guide
3. To submit the JCL immediately, enter SUB on the command line. Background
processing starts and the Hiperstation Script Processors screen reappears.
When the script processor builds the background job JCL, it obtains information
from SPPARMS. SPPARMS is a member in the EXEC library of the script processor. It is
a program that contains only parameters. Refer to the Hiperstation Installation Guide for
information on the SPPARMS parameters.
4. Enter the Sysout Class For Output Messages. The script processor generates some
messages to describe the successful execution and/or errors encountered during script
processing. The messages are written to the SYSOUT queue listed by this field.
5. Press END to exit the Script Processor * Background Execution screen without
submitting the JCL.
Processed Script REXX Structures
The REXX script processor produces Hiperstation output scripts that contain REXX code.
This section describes the layout of the various REXX instructions and routines that can
be imbedded in the output script.
CAUTION:
You can easily modify the REXX code placed in the output scripts using the script
processor, but you do so AT YOUR OWN RISK.
Data Replacement REXX
There are two parts to data replacement. The first part obtains the data from the systemgenerated field on the chosen application screen. The second part uses that data as input
later in the script. The data generated during playback replaces the original input data.
When a data replacement entry is created, you define the screen where the systemgenerated field appears. When the REXX script processor runs and finds this “from”
screen, it inserts REXX instructions after it in the output script. Basically, the REXX
instructions get the data in the system-generated field off the screen and store it in an
array variable called SYSTEM_FIELD.
Figure 12-39 provides a REXX example that stores a “from” field in the variable
SYSTEM_FIELD.1.
Figure 12-39. Data Replacement REXX Storing “From” Field
<S16>......Net(H01AD02T).Rel.
.
<S17>. .Ter(EP03)
.Pri(.000.).Pag.Ins.Ati.Tti.
.
<S18>......Net(H01AD03T).Rel.
.
<S19>.+.Ter(EP04)
.Pri(.000.).Pag.Ins.Ati.Tti.
.
<S20>......Net(H01AD04T).Rel.
.
<S21>
<S22>......................................................SYSID=C054.APPLID=H01
<S23>...RESPONSE:.NORMAL.............................TIME: 10.59.50 DATE: 05.2
<S24>.PF.1.HELP.......3.END....................7.SBH.8.SFH.9.MSG.10.SB.11.SF.
</OUTPUT>
/*********************************************************/
/* Data replacement REXX inserted 10 May 2007-13:15:12
*/
/*********************************************************/
row = 23
col = 56
len = 08
system_field.1 = SUBSTR(screen,(row-1)*80+col,len)
<INPUT>0000007
<THINK>01.57.331 AT 00:02:20.421
When the REXX script processor finds an input field value that matches the original
“from” field value, it replaces that input with the matching variable name (Figure 12-40).
Customizing Scripts with the REXX Script Processor
12-33
Figure 12-40. Data Replacement REXX, Replaced Input Field
</OUTPUT>
<INPUT>0000012
<THINK>00.07.960 AT 00:02:51.723
<KEY>ENTER
<CURSOR>10,32
<I01>system_field.1
<I02>"000.00"
<I03>"000.00"
</INPUT>
Date Recalculation REXX
When the REXX script processor produces a script that contains date recalculation REXX,
REXX instructions are inserted in several places.
REXX is first added in the beginning of the script where the variable SCRIPT_BASE
initializes. This variable contains a date base (number of days elapsed since 01/01/0001)
that represents the date the original script was recorded.
Figure 12-41. Variable Script_Base
********************************************************************
* CREATED BY USER: USER25 TPF: TSO
TIME: 11:26 DATE: 01/15/07
* DESC:
********************************************************************
<VERSION>7
/*******************************************************************
/*
Date recalculation REXX inserted 15 Jan 2007 09:16:30
/*******************************************************************
script_base = 729769
REXX instructions are also added where an input and/or output date field is found in the
original script. The original date value is replaced with a REXX variable that is
recalculated during playback. Prior to using the out_date variable, the REXX statements
to call the date recalculation routine (SPDTCALC) are added to the script.
Figure 12-42. SPDTCALC - Date Recalculation Function
/*******************************************************************
/*
Date recalculation REXX inserted 22 Jan 2007 16:25:21
/*******************************************************************
out_date = SPDTCALC(’DATE’,’5’,’N’,’1’,’/’)
<I01>out_date
<I02>"John smith"
<I03>"000.00"
</INPUT>
The SPDTCALC function uses the following information to calculate a new date in the
requested format. A brief description of each follows.
•
•
•
•
•
Return type
Difference
Weekday only indicator
Date format
Date separator character
12-34
Hiperstation for VTAM User Guide
Return Type
Tells the SPDTCALC function what to return.
Format
Description
DATE
Return date in the chosen format
MM
Return 2 digit numeric month (01 through 12)
DD
Return 2 digit day (01 through 31)
YY
Return 2 digit year (01 through 99)
MON
Return 3 character alpha month (JAN, FEB,…DEC)
DDD
Return 3 digit julian day (001 through 366)
CCYY
Return 4 digit year (0001 through 9999)
Difference
This is the number of days between the script creation date and the actual date being
recalculated. SPDTCALC applies this difference to the current date to get the new
date.
Weekday only indicator
Indicator
Description
Y
The returned date must be a weekday (Monday through Friday). Weekend date
moves ahead to the next Monday.
N
The returned date need not be a weekday. In this case, the returned date could be
any day (Sunday through Saturday).
Date format
Determines the format for the returned date. This is required only for DATE type.
Date separator character
The character that separates year, month, and day for the returned date. It is required
only for DATE type.
Finally, the script processor creates the external REXX function SPDTCALC. It is placed in
the same dataset where the output script is created.
Note:
The SPDTCALC member is not created if it already exists in the output script
dataset. Do not delete or modify this member.
Figure 12-43. Sample Input Date Recalculation REXX Code
</OUTPUT>
<BASETIME>09/18/06 11:26:51.888
<INPUT>0000002
<THINK>00.03.229 AT 00:00:00.000
<KEY>ENTER
<CURSOR>03,14
/*******************************************************************
/*
Date recalculation REXX inserted 22 Jan 2007 16:25:21
/*******************************************************************
out_date = SPDTCALC(’DATE’,’5’,’N’,’1’,’/’)
<I01>out_date
</INPUT>
As you can see in Figure 12-43, the script processor replaces the actual date in the input
field with a REXX variable (for example, out_date). This variable is initialized and creates
a new date value during playback by invoking the SPDTCALC REXX function.
Customizing Scripts with the REXX Script Processor
12-35
Figure 12-44. Sample Output Date Recalculation REXX Code
/*******************************************************************
/*
Date recalculation REXX inserted 22 Jan 2007 16:56:04
/*******************************************************************
DV1=SPDTCALC(’DATE’,’15’,’N’,’1’,’/’)
/* Date=01/31/07
Col=01
S07=’<S07>
Date: ’||,
DV1||,
’
Date of shipment’ 
<OUTPUT>0000001
<RESPONSE>00.00.346
<S01>
<S02>
<S03>
<S04>
<S05>
Name: John Smith
<S06>
<ALTER>S07
<S07>
Date: 01/31/07
Date of shipment
<S08>
<S00>
<S11>
<S12>
<S13>
Month: 01
Month of shipment
<S14>
<S15>
Day : 31
Day of shipment
<S16>
<S17>
Year : 07
Year of shipment
<S18>
<S10>
<S20>
<S21>
<S22>
<S23>
<S24>
</OUTPUT>
When the REXX script processor produces a script that contains output from date
recalculation, REXX instructions are inserted in several places:
• Just before the <OUTPUT> card, the following REXX statements, that contains dates
selected for recalculation, are added:
– One REXX variable is set up for every date value found in a screen row. This
REXX variable is defined to run the SPDTCALC function and return the new date
during playback. Note that the original date and its starting column number are
placed as a comment at the end for easy reference.
– One REXX assignment statement is inserted for every screen row that contains
dates for recalculation. This assignment statement builds a string from the
original screen row by replacing all date values with REXX variables. Note that
the screen row is broken into multiple lines at date positions.
• Just before the screen row that contains a date, an <ALTER> card selected for
recalculation is inserted. During playback, the <ALTER> card replaces the original
screen row with the contents of the variable shown on the <ALTER> card.
Figure 12-45 shows the contents of the SPDTCALC REXX function.
12-36
Hiperstation for VTAM User Guide
Figure 12-45. Contents of the SPDTCALC REXX Function
/******************* REXX ***********************************/
/* Member
: SPDTCALC
*/
/* Created on: 19 Jan 2007
*/
/* Created by: Hiperstation Script Processor
*/
/*
*/
/* DESCRIPTION:
*/
/*
*/
/*
This member is a REXX program used to perform date
*/
/*
recalculation. It is called by the Hiperstation
*/
/*
Script processor. It utilizes the following REXX
*/
/*
functions supplied by Hiperstation:
*/
/*
*/
/*
1. SPBASE
- returns base for a given date
*/
/*
2. SPDATE
- returns date for a given base
*/
/*
*/
/* DIRECTIONS:
*/
/*
*/
/*
DO NOT modify the contents of this REXX program.
*/
/************************************************************/
ARG date_type,difference,wkday_only,date_format,date_sep 
UPPER date_type wkday_only
CALL dateset
/* Get today’s date*/
PARSE VAR result day ’/’ month ’/’ year /* Break it down
*/
today_base = SPBASE(year,month,day)
/* Convert to base */
new_base
= today_base + difference
/* Add difference */ 

/* Call SPDATE function to convert new base to date
*/ 

SELECT
WHEN date_type = ’DATE’ THEN
/* get date
*/
ret_value = SPDATE(new_base,wkday_only,date_format,date_sep)

WHEN date_type = ’MM’ THEN
/* get numeric month */
ret_value = SPDATE(new_base,wkday_only,’28’,’N’)

WHEN date_type = ’MON’ THEN
/* get alpha month
*/
ret_value = SPDATE(new_base,wkday_only,’29’,’N’) 

WHEN date_type = ’DD’ THEN
/* get 2 digit day
*/
ret_value = SPDATE(new_base,wkday_only,’31’,’N’) 

WHEN date_type = ’DDD’ THEN
/* get julian day
*/
ret_value = SPDATE(new_base,wkday_only,’32’,’N’) 

WHEN date_type = ’YY’ THEN
/* get 2 digit year */
ret_value = SPDATE(new_base,wkday_only,’27’,’N’) 

WHEN date_type = ’CCYY’ THEN
/* get 4 digit year */
ret_value = SPDATE(new_base,wkday_only,’26’,’N’) 

OTHERWISE
DO
SAY ’Incorrect call to routine SPDTCALC’
EXIT
END
END
RETURN ret_value

User-Defined Current Date Recalculation REXX
Hiperstation writes a DATESET script to your script dataset in addition to the scripts
processed using the REXX script processor. The DATESET script is a REXX routine that
returns the system date, if no modifications are made, but allows you to set the current
date by setting the MONTH, DAY, and YEAR variables in it. An example is shown in
Figure 12-46.
Customizing Scripts with the REXX Script Processor
12-37
Figure 12-46. Date Recalculation REXX, Example DATASET Routine
/***********************************************/
/* NOTE: There is no validation performed on
*/
/*
the date values you enter. Make sure you */
/*
enter a valid date.
*/
/***********************************************/

MONTH = ’01’
DAY = ’15’
YEAR = ’2007’ 

/******************************************/
/* DO NOT MODIFY ANYTHING BELOW THIS LINE */
/******************************************/
IF MONTH = ’’ THEN
DO
dt_string = DATE(’S’)
YEAR = SUBSTR(dt_string,1,4)
MONTH = SUBSTR(dt_string,5,2)
DAY
= SUBSTR(dt_string,7,2)
END
RETURN_VALUE = day||’/’||month||’/’||year

In Figure 12-46, the DATESET routine returns 01/15/2007 as the current date. If the
values for MONTH, DAY, and YEAR are not set, the system date is returned.
Note:
In addition to the DATASET script, Hiperstation also writes a GETBASE script to
your script dataset. Do not delete these scripts from your script dataset.
List Processing REXX
When the REXX script processor processes a list processing entry, it takes two actions.
First, it removes the original screens associated with the list from the script. It then fills
that gap with a REXX instruction that calls a routine to perform the list selection.
The script processor inserts a call statement at the place in the script where the original
list selection was made during the recording. The call instruction passes the REXX list
processor key, which marks the row originally selected.
Figure 12-47 is an example of the list processing REXX. This example shows a list of
members listed by ISPF when editing a dataset. The key is the member name,
‘H01AC069’.
Figure 12-47. List Processing REXX, Call to List Routine
</INPUT>
/*********************************************************/
/* List Processing REXX inserted 10 May 2007-17:22:27
*/
/*********************************************************/
CALL process_list1 ’H01AC069’
<OUTPUT>0000004
<RESPONSE>00.00.660
The script processor then adds the list selection routines at the end of the script (Figure
12-48). The code in this routine vary depending on the information in the list processing
entry.
12-38
Hiperstation for VTAM User Guide
Figure 12-48. List Processing REXX, Example List Selection Routine
EXIT
/*********************************************************/
/* List Processing REXX inserted 10 May 2007-17:22:27
*/
/*********************************************************/
process_list1:
ARG match_key
top_row = ’6’
bottom_row = ’24’
row_ctr = top_row - 1
DO FOREVER
CALL format_the_screen
row_ctr = row_ctr + 1
row_text=SUBSTR(the_screen,(row_ctr-1)*columns+1,columns)
key = SUBSTR(row_text,04,08)
IF key = match_key THEN
DO
row_ctr = row_ctr + 1
LEAVE
END
IF row_ctr >= bottom_row THEN
DO
liststart = (top_row - 1) * columns + 1
listend = bottom_row * columns
curr_list=SUBSTR(the_screen,liststart,listend-liststart)
IF curr_list = prev_list THEN
DO
SAY ’ERROR: Original list selection not found’
SAY ’
Original row was ’||match_key
EXIT
END
ELSE
DO
row_ctr = top_row - 1
prev_list = curr_list
<INPUT>
<KEY>PF8
</INPUT>
END
END
END
line_cmd = "s"
<INPUT>0000009
<EXECUTE>"<I("||row_ctr||",2)>"line_cmd
<KEY>ENTER
</INPUT>
RETURN
format_the_screen:
the_screen = ’’
DO text_ctr = 1 TO LENGTH(screen)
char = SUBSTR(screen,text_ctr,1)
IF char < ’40’x THEN
char = ’ ’
the_screen = the_screen||char
END
RETURN
Synchronization REXX
When the REXX script processor processes a synchronization entry, it must handle
occurrences of the application message in the recording and during playback.
The script processor handles occurrences of the message that appeared during the
recording by deleting those “extra” sections. If the original script shows a user pressing
Enter repeatedly because of a particular application message, the script processor deletes
those input and output sections in the output script.
In case the application message appears during playback, REXX code is imbedded in the
output script to handle it. This is achieved by inserting an <ADDCALL> statement in the
beginning of the output script (Figure 12-49). This <ADDCALL> statement continuously
runs a routine called SYNCH_HANDLE during playback.
Customizing Scripts with the REXX Script Processor
12-39
Figure 12-49. Synchronization REXX, <ADDCALL> Statement
************************************************************************
* CREATED BY USER: CWX0001 TPF: H01AC054 TIME: 10:58 DATE: 05/01/07
*
* DESC:
*
************************************************************************
<VERSION>7
/*********************************************************/
/* Synchronization REXX inserted 10 May 2007-13:15:12
*/
/*********************************************************/
synch_handle_ctr1 = 0
<ADDCALL>synch_handle
<OUTPUT>0000001
<RESPONSE>00.00.020
SYNCH_HANDLE is a REXX routine located at the end of the script, generated by the
synchronization script processor. It contains the logic to correctly identify the message if
it appears, and takes the appropriate action to get past it and stay in sync with the
application being tested. Figure 12-50 is an example routine that looks for the message
“PROCESSING.....” If the routine finds this message anywhere on the screen, then it
sends the Enter command until the message no longer appears.
Figure 12-50. Synchronization REXX, Example SYNCH_HANDLE Routing
/*********************************************************/
/* Synchronization REXX inserted 1 May 2007-13:15:12
*/
/*********************************************************/
EXIT
synch_handle:
CALL format_the_screen
max_synch_handle_ctr1 = 025
IF POS(’PROCESSING...’,the_screen) > 0 THEN
DO
IF synch_handle_ctr1 > max_synch_handle_ctr1 THEN
DO
SAY ’REACHED MAX REPEAT COUNTER’
RETURN
END
synch_handle_ctr1 = synch_handle_ctr1 + 1
<WAIT> 00,0
<DELCALL>
<INPUT>
<KEY>ENTER
</INPUT>
<OUTPUT>
</OUTPUT>
CALL synch_handle
RETURN
END
synch_handle_ctr1 = 0
RETURN
format_the_screen:
the_screen = ’’
DO text_ctr = 1 TO LENGTH(screen)
char = SUBSTR(screen,text_ctr,1)
IF char < ’40’x THEN
char = ’ ’
the_screen = the_screen||char
END
RETURN
Troubleshooting REXX Script Processor Problems
The following examples document some problems that can occur when using the REXX
script processor and their resolutions.
Data Replacement
If data replacement processing results in the message:
12-40
Hiperstation for VTAM User Guide
SPHPR020 TOTAL DATA REPLACEMENTS MADE: 0
then the following items can help determine why nothing happened.
Screen ID Text
This field is case sensitive — the uppercase and lowercase characters must match the
screen ID in the script exactly. If the text does not match exactly, the script processor
will not recognize the screens that require processing. Wildcards are not allowed. The
wildcard character is treated as the actual screen ID.
Screen ID Location
Screen row and column location of the screen ID text. Enter asterisks (**) as wildcards
in the row and column fields to indicate that the screen ID text can be found
anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts, not the
position in front of the text. Do not make any adjustments to account for attribute
bytes. For example, if the screen ID text is located in the upper left corner of the
screen, the position of that text may not be row 1, column 1. There may be an
attribute character in position (1,1) with the text beginning at (1,2). The column
position must be the screen column where the first character of the screen ID text is
located.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens that must be
processed, and no script processing will occur for this entry.
Note: If you determine the column of the screen ID by browsing the recorded script,
column 1 starts in the first position immediately following the <Snn>.
Field Location
Follow the same guidelines as documented for the Screen ID Location field.
Replace Exact Matches Only
Data replacement processing involves finding a system-generated field on an output
screen, and finding where the text of that field is defined as input later in the script.
This is a matching process. If an input field matches the system-generated field, it is
replaced. If none of the input fields match the system-generated field, no data
replacement occurs.
In some cases, the input field may not match the system-generated field. Leading
zeros may not match or the input field may contain extra field-filler characters. Enter
N in the Replace Exact Matches Only field to tell the script processor to handle these
conditions and still make the match. If you enter Y, the system-generated field and
the input field must match exactly or the input field is not replaced.
Date Recalculation
If date recalculation processing results in the following message:
SPHPR050 TOTAL DATES RECALCULATED: 0
then the following items can help determine why nothing happened.
Screen ID Text
This field is case sensitive — the uppercase and lowercase characters must match the
screen ID in the script exactly. If the text does not match exactly, the script processor
will not recognize the screens that require processing. Wildcards are not allowed. The
wildcard character is treated as the actual screen ID.
Customizing Scripts with the REXX Script Processor
12-41
Screen ID Location
Screen row and column location of the screen ID text. Enter asterisks (**) as wildcards
in the row and column fields to indicate that the screen ID text can be found
anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts, not the
position in front of the text. Do not make any adjustments to account for attribute
bytes. For example, if the screen ID text is located in the upper left corner of the
screen, the position of that text may not be row 1, column 1. There may be an
attribute character in position (1,1) with the text beginning at (1,2). The column
position must be the screen column where the first character of the screen ID text is
located.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens that must be
processed, and no script processing will occur for this entry.
Note: If you determine the column of the screen ID by browsing the recorded script,
column 1 starts in the first position immediately following the <Snn>.
Is the Field a Date?
As the date recalculation component processes a script, it analyzes input fields to
determine if the field is a date. If the input field is not a valid date, then it does not
recalculate. The script processor uses the date separator character field and input date
format field from the date recalculation entry to help make this determination. It
also analyzes the day, month, and year portions of the date field to see if they make
up a valid date. The parameters LOW_YEAR and HIGH_YEAR are used when
determining the validity of a two-digit year field. These parameters are documented
in the Hiperstation Installation Guide.
List Processing
If a list processing run results in the following message:
SPHPR350 TOTAL LIST SCREENS HANDLED: 0
then the following items can help determine why nothing happened.
Screen ID Text
This field is case sensitive — the uppercase and lowercase characters must match the
screen ID in the script exactly. If the text does not match exactly, the script processor
will not recognize the screens that require processing. Wildcards are not allowed. The
wildcard character is treated as the actual screen ID.
Screen ID Location
Screen row and column location of the screen ID text. Enter asterisks (**) as wildcards
in the row and column fields to indicate that the screen ID text can be found
anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts, not the
position in front of the text. Do not make any adjustments to account for attribute
bytes. For example, if the screen ID text is located in the upper left corner of the
screen, the position of that text may not be row 1, column 1. There may be an
attribute character in position (1,1) with the text beginning at (1,2). The column
position must be the screen column where the first character of the screen ID text is
located.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens that must be
processed, and no script processing will occur for this entry.
12-42
Hiperstation for VTAM User Guide
Note: If you determine the column of the screen ID by browsing the recorded script,
column 1 starts in the first position immediately following the <Snn>.
Was a Selection Made from the List?
When the list processing logic finds the list screen, it checks to see whether an item
was selected from the list. For example, it is possible that when the script was being
recorded the user brought up the list screen, scrolled forward a couple of times, but
then simply exited from the screen. Since the user did not select a row from the list,
no list processing REXX is inserted for this scenario. The list processing function
determines whether an item was selected by first analyzing the <KEY>. If the key does
not match the selection PF key field, or either of the scroll PF key fields from the list
processing entry, then it is assumed that a selection was not made. If the key matches
the selection key, list processing analyzes the entered input.
– If the list type is cursor select, the cursor location is checked using <CURSOR>
statement information, by comparing the row position where the cursor was
with the list location top and bottom row fields in the list processing entry. If the
cursor was on a row within the list, the list processing function assumes a valid
selection was made and the REXX is inserted. If the cursor position was not
within the list, list processing assumes that an item was not selected.
– If the list type is line command select, the list processing function checks
whether a list item was selected by looking for data entered in an input field
located within the list. For example, if the list processing function finds <I06>"s",
and the location of input field number 6 is within the top and bottom rows of
the list, it assumes that a valid list selection was made and the REXX is inserted.
If nothing was entered in any of the input fields, or if the input fields that had
data in them were not located in the list, the list processing function assumes
that a selection was not made.
Synchronization
Normally, if something was entered incorrectly in a data replacement, date recalculation,
or list processing entry, the REXX code is not inserted and nothing happens. For
synchronization processing, the REXX is always inserted — even if the entry is incorrect.
However, if the entry contained an error, the REXX code may not work correctly when it
starts during playback. This makes it more difficult to recognize that an error occurred.
Here are some items to check if it appears that the synchronization REXX routine is not
working properly.
Screen ID Text
This field is case sensitive — the uppercase and lowercase characters must match the
screen ID in the script exactly. If the text does not match exactly, the script processor
will not recognize the screens that require synchronization processing. Wildcards are
not allowed. The wildcard character is treated as the actual screen ID.
Screen ID Location
Screen row and column location of the screen ID text. Enter asterisks (**) as wildcards
in the row and column fields to indicate that the screen ID text can be found
anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts, not the
position in front of the text. Do not make any adjustments to account for attribute
bytes. For example, if the screen ID text is located in the upper left corner of the
screen, the position of that text may not be row 1, column 1. There may be an
attribute character in position (1,1) with the text beginning at (1,2). The column
position must be the screen column where the first character of the screen ID text is
located.
Customizing Scripts with the REXX Script Processor
12-43
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens that must be
processed, and no script processing will occur for this entry.
Note: If you determine the column of the screen ID by browsing the recorded script,
column 1 starts in the first position immediately following the <Snn>.
Message Text
The same rules apply to the Message Text field as documented above for the Screen
ID Text field. If the message text is incorrect, the REXX logic will not detect that the
message appeared during the playback, and the synchronization logic is never
started.
Message Location
The same rules apply to the message location field as documented above for the
Screen ID Location field. If the message location is incorrect, the REXX logic never
detects that the message appeared during the playback, and the synchronization
logic is never started.
12-44
Hiperstation for VTAM User Guide
13-1
Chapter 13.
Date Change and Date Find Script Processors
Chap 13
The Date Change and Date Find script processors search through Hiperstation for VTAM
scripts and find or change date fields.
Note: Hiperstation determines century dates based on the LOW_YEAR and HIGH_YEAR
parameters set by the installer. For more information about these parameters,
refer to the Hiperstation Installation Guide.
Date Change Script Processor
The date change script processor allows you to move dates forward in baseline
Hiperstation scripts. The date change script processor finds date input and output fields
(such as a delivery date) in recorded scripts, then transforms the year portion of the date
from a two-digit to a four-digit number.
For example, if a recorded delivery date field is <I01>"05/30/07", the date change script
processor automatically changes it to <I01>"05/30/2007". The change is stored in a new
output script created by the script processor.
1. Select option 2 Date Change on the Script Processors screen (Figure 13-1) to use the
Date Change Script Processor.
Figure 13-1. Script Processors Menu
Hiperstation --------------- Script Processors --------------------------------
Option ===>



1 REXX Processor
Create "Smart" Script(s)

2 Date Change
Change Year Formats for Date Testing

3 Date Find
Report Location(s) of Date Field(s)

4 Input Field Formats
Change Input Fields to Row/Column Format

5 MultiChange Processor
Update Scripts to Reflect Application Changes 
6 Security Script Processor
Locate and Modify Passwords

7 Euro
Euro Script Utility

8 GST
GST Testing Utility

9 Message Filtering
Message Filtering Utility

The Hiperstation Script Processor * Date Change Options screen appears (Figure 132).
13-2
Hiperstation for VTAM User Guide
Figure 13-2. Hiperstation Script Processor * Date Change Options Screen
------------- Hiperstation Script Processor * Date Change Options -------------
Option ===>



1 Single Field Dates Dates with separators

2 Multi-Field Dates
Month, Day and Year contained in

separate fields

3 Embedded Dates
Manipulation of Month, Day and Year

Fields separately


Userid . user25
Date . . 07/09/25
Time . . 13:16





Enter END command to return to Hiperstation Script Processor Menu.

2. Select one of the following date change options:
– 1 Single Field Dates — converts year values to four-digit format as described in
“Single Field Dates” on page 13-2.
– 2 Multi-Field Dates — converts year values to four-digit format for dates split
into more than one field as described in “Multi-Field Dates” on page 13-3.
– 3 Embedded Dates — replaces the data for a date as described in “Embedded
Dates” on page 13-5.
3. Press END to exit the date change script processor and return to the Script Processors
menu.
Single Field Dates
1. Select option 1 Single Field Dates to use the Single Field Date Script Processor. The
Single Field Date Change screen appears (Figure 13-3).
Figure 13-3. Single Field Date Change Screen
Hiperstation ------------- Single Field Date Change --------------- 
Command ===> 

Go Begin Date Change Execution
END Return to Hiperstation Script Processor Primary Option Panel 

Identify the Screen to process:
Screen ID . . . .*
ID Location . . .**,*** (Row,Col) 

Describe Input Dates to Change:
Date Separator Character. /
(Enter N for no date separator)
Date Format . . . . . . . 1
(1-8 or * for all formats) 

Describe Output Dates to Change:
Date Separator Character. /
(Enter N for no date separator)
Date Format . . . . . . . 5
(1-7)
Date Location . . . . . . **,*** (Row,Col)
Allow ATR Overlay . . . . N
(Y/N) 

Valid Date Formats are:
1. MMDDYY
3. YYMMDD
5. DDMONYY
7. MMYY
2. DDMMYY
4. YYDDD
6. YYMON
8. YY
Use this screen to change two-digit years to four-digit format for dates stored in
single fields.
2. Identify the screen to process by entering the Screen ID for the screen where the
multi-field date is input or shown. This field is case sensitive — the uppercase and
lowercase characters must match the screen ID in the script exactly. If the text does
not match exactly, the script processor will not recognize the screens that require
Date Change and Date Find Script Processors
13-3
synchronization processing. Wildcards are not allowed. The wildcard character is
treated as the actual screen ID.
3. Enter the ID Location (screen row and column location) of the screen ID text. Valid
row numbers are between 1 and 43. Valid column numbers are between 1 and 132.
Enter ** (asterisks) as wildcards in the row field and *** in the column field to
indicate that the screen ID text can be found anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts. Do not
make any adjustments to account for attribute bytes. For example, if the screen ID is
located in the upper left corner of the screen, the position of that text may not be
row 1, column 1. There may be an attribute character in position (1,1) with the text
beginning at (1,2). In this case, specify 1,2 for the screen ID location fields.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens to be
processed, and no script processing will occur for this entry.
4. Fill in the Describe Input Dates to Change and/or Output Dates to Change to
change only input fields, only output fields, or both input and output fields.
– Input Date Separator Character — divides the month, day, and year of the date.
For example, for a date of 06/01/07, the date separator character is a slash (/).
Enter an asterisk (*) to indicate that the date separator character can vary. Enter
N to indicate that no date separator character is used in the date fields.
– Input Date Format — describes the arrangement of the day, month, and year
date components. Valid values are 1 through 8, or an asterisk (*). Enter an
asterisk (*) to have the script processor handle all eight date formats.
Note:
Input date change information is optional when output date change
information is entered.
– Output Date Separator Character — divides the month, day, and year of the
date. For example, for a date of 06/01/07, the date separator character is a slash
(/). Wildcards are not allowed in this field.
– Output Date Format — describes the arrangement of the day, month, and year
date components. Valid values are 1 through 7. Wildcards are not allowed in this
field.
– Date Location — specifies the row and column location of the date on the
output screen. Row numbers must be between 1 and 43, and column numbers
must be between 1 and 132. To process dates appearing anywhere on the screen,
enter ** for row number and *** for column number.
– Allow ATR overlay — specifies whether to overlay the screen area with the
expanded year if it contains attribute bytes. Enter Y to indicate that the screen
area can be overlaid irrespective of its content. Enter N to reject the request when
the screen area contains attribute bytes.
5. Type Go and press Enter to begin date change execution or END to exit the date
change script processor and return to the Hiperstation Script Processor * Date Change
Options screen.
6. When you press Enter, the Script Processor Execution screen appears (Figure 13-6 on
page 13-6). This screen allows you to enter the datasets used in script processing as
described in “Running the Date Change Script Processor” on page 13-6.
Multi-Field Dates
1. To use the Multi-Field Date Script Processor, select option 2 Multi-Field Dates. The
Multi-Field Date Change screen appears (Figure 13-4).
13-4
Hiperstation for VTAM User Guide
Figure 13-4. Multi-Field Date Change Screen
Hiperstation -------------- Multi-Field Date Change ---------------------------
Command ===> 

Go
Begin Date Change Execution
RESet Initialize input fields
END
Return to Hiperstation Date Change Options Panel 

Identify the Screen to process:
Screen ID . . . . *CRNID
ID Location . . . ** , *** (Row,Col) 

Enter Input Date Change Information:
Month . . . . . .
Input field number or Location row,col
Day . . . . . . .
Input field number or Location row,col
Year. . . . . . .
Input field number or Location row,col 

Enter Output Date Change Information:
Month . . . . . .
,
(Row,Col)
Day . . . . . . .
,
(Row,Col)
Year. . . . . . .
,
(Row,Col)
Allow ATR overlay
(Y-Yes, N-No)
You can use this screen to change dates contained in multiple input fields on an
application screen from two-digit years to four-digit years.
2. Enter the Screen ID where the multi-field date is input or shown. This field is case
sensitive — the uppercase and lowercase characters must match the screen ID in the
script exactly. If the text does not match exactly, the script processor will not
recognize the screens that require synchronization processing. Wildcards are not
allowed. The wildcard character is treated as the actual screen ID.
3. Enter the ID Location (screen row and column location) of the screen ID text. Valid
row numbers are between 1 and 43. Valid column numbers are between 1 and 132.
Enter ** (asterisks) as wildcards in the row field and *** in the column field to
indicate that the screen ID text can be found anywhere on the screen.
If a row and column are entered into the screen ID location fields, the row and
column must be the screen row and column position where the text starts. Do not
make any adjustments to account for attribute bytes. For example, if the screen ID is
located in the upper left corner of the screen, the position of that text may not be
row 1, column 1. There may be an attribute character in position (1,1) with the text
beginning at (1,2). In this case, specify 1,2 for the screen ID location fields.
If the screen ID is an * (asterisk), the ID location must be **,***. If the screen ID
location is incorrect, the script processor will not recognize the screens to be
processed, and no script processing will occur for this entry.
4. For the input and output Month, Year, and optionally Day, specify a field number
between 1 and 999 OR its position on the screen (row number between 1 and 43 and
column number between 1 and 132, separated by a comma).
Hiperstation scripts mark input fields with the eye catcher <Ixx>, where xx is the
number of the input when specifying a field number and <I(rr,ccc)>, where rr,ccc is
the row and column number when specifying a row,column format. Enter either the
relative input numbers or the row and column numbers (when the script locates
Input by row and column position) of the year, month, and optionally the day.
5. Specify whether to Allow ATR overlay. Y indicates that the screen area can be
overlaid with the expanded year irrespective of its content even if it contains
attribute bytes (not recommended). N indicates that the request should be rejected
when the screen area contains attribute bytes (recommended).
6. Issue one of the primary commands to continue:
– GO begins the date change script processor. When you press Enter, the Script
Processor Execution screen appears (Figure 13-6 on page 13-6). This screen allows
you to enter the datasets used in script processing as described in “Running the
Date Change Script Processor” on page 13-6.
Date Change and Date Find Script Processors
13-5
– RESET changes all values on this screen to blanks.
– END exits the date change script processor and returns to the Hiperstation Script
Processor * Date Change Options screen.
Embedded Dates
1. To use the Embedded Date Script Processor, select option 3 Embedded Dates. The
Embedded Dates Change screen appears (Figure 13-5).
Figure 13-5. Embedded Dates Change Screen
Hiperstation --------------- Embedded Dates Change ----------------------------
Command ===>


Go
Begin Date Change Execution

RESet Initialize input fields

END
Return to Hiperstation Date Change Options Panel


Identify the Screen to process:


Screen ID . . . . *

ID Location . . . ** , *** (Row,Col)


Enter date change information:


Date Field

Input number or Location of Month ______ Day ______ Year ______

Position in Input Field of. Month ___
Day ___
Year ___

For a Length of . . . . . . Month _
Day _
Year _

Change To . . . . . . . . . Month ___
Day __
Year ____

Move To Position. . . . . . Month ___
Day ___
Year __

Use this screen to process the Month, Day, and Year as separate integers embedded
within a single input field. This function is only available for input dates.
2. Enter the Screen ID whose input dates are to be changed. This field is case sensitive
— the uppercase and lowercase characters must match the screen ID in the script
exactly. If the text does not match exactly, the script processor will not recognize the
screens that require synchronization processing. Enter an asterisk (*) to process all
screens.
3. Enter the ID Location (screen row and column location) of the screen ID text. Valid
row numbers are between 1 and 43. Valid column numbers are between 1 and 132.
Enter ** (asterisks) as wildcards in the row field and *** in the column field to
indicate that the screen ID text can be found anywhere on the screen.
Note:
For the date fields, the valid inputs for Month, Day, and Year include input field
number between 1 and 999 or row number between 1 and 43 and column
number between 1 and 132 separated by a comma (,).
4. In the Input number or location of field, specify the number of the input field in
which the value is contained. In the script, input fields are designated by <Inn> or
<I(rr,ccc)> where nn is the input number and rr,ccc are the row and column
positions. For example, if the script had <I01>"Dec", <I06>"25", and <I11>"2006",
enter 1 in the Month row, 6 in the Day row, and/or 11 in the Year row. In the Input
Number column, you must enter a value in each row for which you want to replace
data. This field is required.
5. Specify the Position in Input Field. This is the relative position of the data within
the input field. For example, if the script had <I01>"ACME 25DEC2006" enter 8 in
the Month row, 6 in the Day row, and/or 11 in the Year row. You do not need to enter
a value in this column if the corresponding month, day, or year data begins in the
first position of the input field. This field is optional.
6. In the For a Length Of field, specify the length of the data to be replaced. For
example, if the script had <I01>"ACME 25DEC2006" enter 3 in the Month row, 2 in
13-6
Hiperstation for VTAM User Guide
the Day row, and/or 4 in the Year row. This field is mandatory only when the
Position field is greater than 1.
7. In the Change To field, specify the value that will replace the existing data. Entries
are checked for valid day, month, or year values. In the Change To column, you must
enter a value in each row for which you want to replace data.
8. Specify the Move to Position. This is the relative position of the replacement data
within the input field. Normally, this column is used only if the length of the Month,
Day, or Year data is being changed in the For a Length Of column.
9. Issue one of the primary commands to continue:
– GO begins the date change script processor. When you press Enter, the Script
Processor Execution screen appears (Figure 13-6 on page 13-6). This screen allows
you to enter the datasets used in script processing as described in “Running the
Date Change Script Processor” on page 13-6.
– RESET changes all values on this screen to blanks.
– END exits the date change script processor and returns to the Hiperstation Script
Processor * Date Change Options screen.
Running the Date Change Script Processor
1. After entering date change requirements on one of the Hiperstation Script Processor *
Date Change screens, type GO on the command line and press Enter to continue. The
Hiperstation Script Processor * Execution screen appears (Figure 13-6).
Figure 13-6. Enter the Name of the Script Partitioned Dataset






------------------ Hiperstation Script Processor * Execution ---------- --------
Command ===> 
blank Continue

Type the names of the script data sets below, then press Enter key
Do not specify the script/member name 
Input Script
Project .
Group . .
Type . .
Data Set:
. . CWX0001
. . HIPER
. . SCRIPTS

Other Partitioned Data Set:
Data Set Name . . . 
Output Script Data Set:
Project . . . CWX0001
Group . . . . HIPER
Type . . . . SCRIPTS

Other Partitioned Data Set:
Data Set Name . . .
2. Enter the name of the dataset (not including the member) that contains the recorded
scripts to be processed and the name of the dataset (not including the member) to
use for storing the processed scripts and press Enter. The Hiperstation Script
Processor * Execution screen appears (Figure 13-7).
Date Change and Date Find Script Processors
13-7
Figure 13-7. List Script Names for Processing






----------------- Hiperstation Script Processor * Execution -----------------
Option ===> 
F
B
Initiate Processing In Foreground.
Initiate Processing In Background.

Input Script Data Set: ’CWX0001.HIPER.SCRIPTS’
Output Script Data Set: ’CWX0001.HIPER.SCRIPTS’
INPUT SCRIPT NAME
TEST1
TEST2

OUTPUT SCRIPT NAME
TESTOUT1
TESTOUT2
Replace Existing Members . . . Y (Y/N)
The input and output script datasets are prefilled from the previous screen and
cannot be changed.
3. Type the names of the recorded input scripts to be processed and the names of the
corresponding new output scripts to be created by the script processor.
– The input scripts are members of the dataset listed in the Input Script Data Set
field. Enter an asterisk (*) in this field to process all members in the dataset.
– The output scripts are members of the dataset listed in the Output Script Data Set
field. There must be an output script name for every input script name. The same
script can be both the input script and the output script. In this case, the script
processor will overwrite the original script. If you enter an asterisk (*) for the
input script name, you must also use an asterisk for the output script name.
4. Specify whether to Replace Existing Members. If an output script already exists, this
field determines whether to overwrite it. Enter Y to overwrite existing scripts.
5. Type F or B on the Option line. F initiates the script processor in TSO foreground. B
allows the script processor to run in the background (batch). Background mode frees
your terminal while the script processor runs.
Date Find Script Processor
The Date Find Script Processor is designed to assist testing applications where dates are
important. The date find script processor searches through the output screens of recorded
Hiperstation scripts and finds date fields. The date fields that it finds are listed in a
report. Figure 13-8 shows a sample Date Find Location Report.
13-8
Hiperstation for VTAM User Guide
Figure 13-8. Sample Date Find Script Processor Report
**********************************************************************
****** HIPERSTATION SCRIPT PROCESSOR DATE FIELD LOCATION REPORT ******
**********************************************************************
SCRIPT NAME: ’CWX0001.HIPERPRO.SCRIPTS(DATECH)’
DATE FORMAT: 1
DATE SEPARATOR: / 

SCRIPT MESSAGE NUMBER
DATE LOCATION (ROW,COL)
DATE FOUND
----------------------------------------------------------------------
1.
<OUTPUT>0000001
(05,30)
08/28/07
2.
** SAME **
(13,39)
8/22/07
3.
** SAME **
(15,60)
5/13/07
4.
<OUTPUT>0000005
(01,01)
09/25/07
5.
** SAME **
(23,12)
08/28/07
6.
<OUTPUT>0000007
(01,01)
01/01/07
7.
** SAME **
(23,12)
08/28/07
**********************************************************************
****** HIPERSTATION SCRIPT PROCESSOR DATE FIELD LOCATION REPORT ******
**********************************************************************
SCRIPT NAME: ’CWX0001.HIPERPRO.SCRIPTS(DATECH2)’
DATE FORMAT: 1
DATE SEPARATOR: / 

SCRIPT MESSAGE NUMBER
DATE LOCATION (ROW,COL)
DATE FOUND
----------------------------------------------------------------------
1.
<OUTPUT>0000001
(05,30)
08/28/07
2.
** SAME **
(13,39)
8/22/07
Using the Date Find Script Processor
1. Select option 3 Date Find on the Script Processor menu. The Hiperstation Script
Processor *Date Find screen appears (Figure 13-9).
Figure 13-9. Hiperstation Script Processor * Date Find Screen




----------------- Hiperstation Script Processor * Date Find -----------------
Command ===> 
Go Begin Date Find Execution
END Return to Hiperstation Script Processor Primary Option Panel

Enter date find information:
Date Separator Character. . / (Enter N for no date separator)
Input Date Format . . . . . 1 (1-14)
1. MMDDYY
5. MMDDYYYY
9. DDMONYY
13. YYYYMON
2. DDMMYY
6. DDMMYYYY
10. DDMONYYYY 14. MMYYYY
3. YYMMDD
7. YYYYMMDD
11. YYMON
4. YYDDD
8. YYYYDDD
12. MMYY 
Specify the date find report file name:

Project . . . CWX0001
Group . . . . HIPERPRO
Type . . . . SAMPLIB
Member . . . DFREPORT
Other Data Set Name:
Data Set Name . . .
2. Specify the Date Separator Character. This character divides the month, day, and
year of the date. For example, for a date of 05/01/07, the date separator character is a
slash (/). The date separator is required when the date format is 1 through 8. If the
date format is 9 through 14, the script processor automatically determines the date
separator character (if there one). Enter N to indicate that no date separator character
is used in the date fields.
3. Select a Date Format to describe the arrangement of the day, month, and year date
parts. Valid date formats are 1 through 14 (see Figure 13-9).
4. Specify the date find report file name. This is the name of the dataset used to store
the Date Find Location Report. If the file does not exist, you are prompted to provide
one with a dataset allocation screen. The dataset must be a dataset member or a
Date Change and Date Find Script Processors
13-9
sequential file. The recommended record format is fixed block with 80-byte record
length.
5. Issue one of the primary commands to continue:
– GO begins running the scripts through the date find script processor.
– END exits the date find script processor and returns to the Script Processors
menu.
Running the Date Find Script Processor
1. After entering the date separator, the date format, and the report file name on the
Hiperstation Script Processor * Date Find screen, type GO on the command line and
press Enter to continue. The Hiperstation Script Processor * Execution screen appears
(Figure 13-10).
Figure 13-10. Enter the Name of the Script Partitioned Dataset File




----------------- Hiperstation Script Processor * Execution -----------------
Command ===> 
blank Continue

Type the names of the script data set below, then press Enter key
Do not specify the script/member name 
Input Script
Project .
Group . .
Type . .
Data Set:
. . CWX0001
. . HIPER
. . SCRIPTS

Other Partitioned Data Set:
Data Set Name . . .
2. Enter the name of the dataset (not including the member/script names) containing
the recorded scripts to be processed and press Enter. The Hiperstation Script
Processor * Execution screen appears (Figure 13-11).
Figure 13-11. List Script Names For Processing



----------------- Hiperstation Script Processor * Execution -----------------
Option ===> 
F
B
Initiate Processing In Foreground.
Initiate Processing In Background.

Input Script Data Set: ’CWX0001.HIPERPRO.SCRIPTS’
Report File Data Set : ’CWX0001.HIPERPRO.SAMPLIB(DFREPORT)’

INPUT SCRIPT NAME
TEST1
TEST2
TEST3
The Input Script Data Set and Report File Data Set fields are prefilled and cannot be
changed on this screen. The Report File Dataset is the file where the Date Find
Location Report will be stored.
3. Enter the name of the recorded scripts to be processed in the Input Script Name
field. The scripts are members of the dataset listed in the Input Script Data Set field.
Enter an asterisk (*) as the script name to process all members in the dataset.
4. To begin processing, type F or B on the Option line and press Enter. F Initiates the
script processor in TSO foreground. B allows the script processor to run in the
background (batch). Background processing frees your terminal while the script
processor runs.
13-10
Hiperstation for VTAM User Guide
14-1
Chapter 14.
Input Field Reformat Script Processor
Chap 14
The Input Field Reformat Script Processor changes input field formats in Hiperstation for
VTAM scripts from the relative sequence number format, <Inn>, to the row and column
location format, <I(rr,cc)>.
Example reformat:
BEFORE
<INPUT>0000004
<THINK>00.07.922 AT 00:00:12.557
<KEY>ENTER
<CURSOR>00,04
<I01>"cemt"
</INPUT>
AFTER
<INPUT>0000004
<THINK>00.07.922 AT 00:00:12.557
<KEY>ENTER
<CURSOR>00,04
<I(1,1)>"cemt"
</INPUT>
Each format type has advantages and disadvantages. For example, the <Inn> format
makes it easy for scripts to play back correctly, even if the application input fields have a
different location on the screen, as long as the fields remain in the original sequence. The
<I(rr,cc)> format makes it easy for scripts to play back correctly, even if new input fields
are added to the application screens.
1. Select option 4 Input Field Formats from the Script Processor menu (Figure 14-1).
Figure 14-1. Script Processors Menu
Hiperstation --------------- Script Processors --------------------------------
Option ===>



1 REXX Processor
Create "Smart" Script(s)

2 Date Change
Change Year Formats for Date Testing

3 Date Find
Report Location(s) of Date Field(s)

4 Input Field Formats
Change Input Fields to Row/Column Format

5 MultiChange Processor
Update Scripts to Reflect Application Changes 
6 Security Script Processor
Locate and Modify Passwords

7 Euro
Euro Script Utility

8 GST
GST Testing Utility

9 Message Filtering
Message Filtering Utility

The Hiperstation Script Processor * Change Input Field Formats screen appears
(Figure 14-2).
14-2
Hiperstation for VTAM User Guide
Figure 14-2. Hiperstation Script Processor * Change Input Field Formats Screen
---------- Hiperstation Script Processor * Change Input Field Formats ---------
Command ===> 

Go Begin Input Field Reformat Processing
END Return to Hiperstation Script Processor Primary Option Panel 

Type the names of the script data sets below, then press Enter key
Do not specify the script/member name 

Input Script Data Set:
Project . . . CWX0001
Group . . . . HIPER
Type . . . . SCRIPTS 

Other Partitioned Data Set:
Data Set Name . . .
Output Script Data Set:
Project . . . CWX0001
Group . . . . HIPER
Type . . . . SCRIPTS 

Other Partitioned Data Set:
Data Set Name . . .
2. Type the name of the dataset containing the scripts to be processed and the dataset
name to use for storing processed scripts. Enter only file names, not member/script
names.
3. Enter one of the primary commands:
– GO processes the change request and displays the Hiperstation Script Processor *
Execution Screen (Figure 14-3).
– END exits the input field reformat script processor and returns to the Script
Processors screen.
Figure 14-3. Hiperstation Script Processor * Execution Screen






----------------- Hiperstation Script Processor * Execution -----------------
Option ===> 
F
B
Initiate Processing In Foreground.
Initiate Processing In Background.

Input Script Data Set: ’CWX0001.HIPER.SCRIPTS’
Output Script Data Set: ’CWX0001.HIPER.SCRIPTS’
INPUT SCRIPT NAME
TEST1
TEST2

OUTPUT SCRIPT NAME
TESTOUT1
TESTOUT2
Replace Existing Members . . . Y (Y/N)
The input and output script dataset names are prefilled from the previous screen and
cannot be changed on this screen.
4. Enter the names of the recorded Hiperstation scripts to be processed in the Input
Script Name fields. The scripts are members of the dataset listed in the Input Script
Dataset field. Enter an asterisk (*) as the script name to process all members in the
dataset.
5. Enter the names of the new scripts to be created by the script processor in the
Output Script Name fields. There must be an output script name for every input
script name. If you use the same name for the input script and the output script, the
script processor will overwrite the original script. If you enter an asterisk as the input
script name, you must also use an asterisk for the output script name.
Input Field Reformat Script Processor
14-3
6. Specify whether to Replace Existing Members. Enter Y to overwrite existing scripts if
an output script already exists.
7. Type F or B on the Option line and press Enter to begin processing. F initiates the
script processor in TSO foreground. B runs the script processor in background (batch)
mode to free your terminal while the script processor runs.
14-4
Hiperstation for VTAM User Guide
15-1
Chapter 15.
MultiChange Script Processor
Chap 15
The Multichange Script Processor helps prepare scripts for playback. It allows you to
change scripts to reflect application changes without re-creating those scripts. This script
processor creates and maintains these modification requests and runs them in
background or foreground mode.
Note:
Hiperstation for VTAM determines century dates based on the LOW_YEAR and
HIGH_YEAR parameters set by the installer. For more information, refer to the
Hiperstation Installation Guide.
1. To use the Multichange Script Processor, select option 5 MultiChange Processor on
the Script Processors menu (Figure 15-1) and press Enter.
Figure 15-1. Script Processors Menu
Hiperstation --------------- Script Processors --------------------------------
Option ===>



1 REXX Processor
Create "Smart" Script(s)

2 Date Change
Change Year Formats for Date Testing

3 Date Find
Report Location(s) of Date Field(s)

4 Input Field Formats
Change Input Fields to Row/Column Format

5 MultiChange Processor
Update Scripts to Reflect Application Changes 
6 Security Script Processor
Locate and Modify Passwords

7 Euro
Euro Script Utility

8 GST
GST Testing Utility

9 Message Filtering
Message Filtering Utility

The Multichange Script Facility Primary Options screen appears (Figure 15-2).
Figure 15-2. MultiChange Script Facility Primary Options Screen
Hiperstation --- Multichange Script Facility Primary Options -----
Option ===> 

1 Maintain Input Fields Values
3 Add Script
2 Modify Output Screen
4 Erase Interaction
Go Process Requests 

Specify the name of the control file below, then press Enter key 

Project . . .TSO0001
Group . . . .SP
Type . . . .CNTL
Member. . . .REENT 

Other Data Set Name:
Data Set Name . . .
2. Enter the name of the script processor control file.
The MultiChange Script Processor stores user-entered information in the control file.
For example, in order for the MultiChange Script Processor to change input field
values recorded in a script, an appropriate Maintain Input Field Value entry must be
created and will be saved in the control file.
15-2
Hiperstation for VTAM User Guide
The control file can be a PDS member or a sequential file. Although there are no
specific requirements for the record length and record format of the control file, a
fixed block record format and a record length of 80 bytes is recommended.
3. Select one of the following options:
– 1. Maintain Input Fields Values: Use this function to add, replace, delete and
move input field values recorded in the script. See “Maintain Input Field Values”
on page 15-2.
– 2. Modify Output Screen: Use this function to add new input/output fields,
delete existing input/output fields, and change screen constants. See “Modify
Output Screen” on page 15-4.
– 3. Add Script: Use this function to insert a script at existing locations within
another script. See “Add Script” on page 15-9.
– 4. Erase Interaction: An Interaction is an output from the domain destination
(business system or application) and the subsequent input from the user. Use this
function to remove specific interactions from a script (for example, a signon
screen and the subsequent user ID and password). See “Erase Interaction” on
page 15-10.
– Type GO on the Option line and press Enter to begin execution. See “Executing
MultiChange Script Processor Requests” on page 15-11.
Maintain Input Field Values
1. Select option 1 Maintain Input Fields Values on the MultiChange Script Facility
Primary Options screen (Figure 15-2 on page 15-1). The Maintain Input Field Value
Item List screen appears (Figure 15-3).
Figure 15-3. Maintain Input Field Values Screen
Hiperstation ------ Maintain Input Field Value Item List
Option ===>
--------------------
Scroll ===> PAGE 

ADD Create New Items


Line Cmds: U Update
D Delete
B Browse



SCREENID
LOCATION OPERATION INPUT-VALUE
TO-VALUE

-------------------------------------------------------------------------------
Payroll
(01,004)
A
10
******************************* BOTTOM OF DATA *********************************
If the control file already contains Maintain Input Field Value items, they appear on
the screen. If no entries exist, the message ** none ** appears.
2. Enter the ADD primary command to create a new item or use one of the line
commands to (U)pdate, (D)elete, or (B)rowse an item. The ADD command displays
the Maintain Input Field Request Types screen (Figure 15-4).
MultiChange Script Processor
15-3
Figure 15-4. Maintain Input Field Request Types Screen
Hiperstation -------- Maintain Input Field Request Types ----------------------
Command===>


Select one of the options below and press ENTER:


1 Add Input field value

2 Replace Input field value

3 Delete Input field value

4 Move Input field value

3. Select one of the following options based on the type of operation to be performed
on the script:
1. Add Input Field Value: Requests the insertion of an input field within an
input group.
2. Replace Input Field Value: Requests the change to values of existing input
within a script.
3. Delete Input Field Value: Requests the removal of an input from a script.
4. Move Input Field Value: Requests the repositioning of input fields within an
input group.
The field-level operations are used to operate on specific inputs within a script.
The fields on all four screens are the same.
4. When you request a field-level operation (add, replace, delete, or move, the
corresponding Input Field Value Item screen appears (Figure 15-5).
Figure 15-5. Add Input Field Value Item Screen
Hiperstation ----- ADD
Command ===>
-------------------


END
End with save

Cancel End without save

Enter Add Entry



Enter the Screen ID whose input will be modified:

Screen ID . . . . .
Row,Column
,

Enter the input value and location:

Input Value . . . .
Input Number

Row,Column
,

Enter the modified value:

Change To . . . . .
To Input Number

Row,Column
,

All input designations (row,column or number) must be consistent

for all requests (i.e. if one request specifies input number

all must).

Note:
Add Input Field Value Item
All input designations (row, column, or number) must be consistent for all
requests. For example, if in one request you enter row,column numbers you
must enter row,column locations for all requests.
5. Enter the Screen ID of the output screen that contains the field to be manipulated.
The value is case sensitive.
6. Enter the Row,Column location of the screen ID on the output screen. Be sure that
the row and column values specify the exact location on the application screen, not
the script location.
7. Enter the Input Value. For an add field request, this is the data contained in or to be
added to the input group, which is required. For other requests, this optional entry
provides a validating value that the existing value must match before the operation is
performed.
15-4
Hiperstation for VTAM User Guide
8. Enter either the Input Number or Row,Column.
– Input Number is the location of the input field to be manipulated.
– Row,Column is the physical screen location of the input field to be manipulated.
Note:
The Input Number and Row,Column fields are mutually exclusive, and one
or the other is required. The location must be consistent for all requests in
the control file, that is, one or the other field’s value must be used for all
requests.
9. Enter the Change To value to which the input will be changed. For a Replace Field
request, this is the new data for the input and is a required field. For any other
operation, any value in this field is invalid.
10. Enter the To Input Number or Row,Column when using the Change To field. Input
Number is the relative location of the field in the input group where the new value
input will be placed. Row,Column is the actual location where the change value is
placed.
Note:
The To Input Number and Row,Column fields are mutually exclusive, and
one or the other is required. The location must be consistent for all requests
in the control file, that is, one or the other field’s value must be used for all
requests.
Modify Output Screen
1. Select option 2 Modify Output Screen on the MultiChange Script Facility Primary
Options screen (Figure 15-2 on page 15-1) to display the Modify Output Screen Item
List screen (Figure 15-6).
Figure 15-6. Modify Output Screen Item List
Hiperstation -------- Modify Output Screen Item List -------------------
Option ===>
Scroll ===>PAGE 

ADD Create New Items 

Line Cmds: U Update D Delete B Browse


ScreenID
Location Operation Description
-----------------------------------------------------------------------
Payroll
(01,004)
AF
Add new input field
******************************* BOTTOM OF DATA ************************
If the control file already contains Modify Output Screen entries, they are listed on
the screen. If no entries exist, ** none ** appears.
2. Enter the ADD primary command to create a new item or use one of the line
commands to (U)pdate, (D)elete, or (B)rowse an item. The ADD command displays
the Modify Output Screen Item Types screen (Figure 15-7).
MultiChange Script Processor
15-5
Figure 15-7. Modify Output Screen Item Types Screen
Hiperstation--------- Modify Output Screen Item Types -----------
Command===> 

Select of the the following options and press Enter: 

1 Add field to screen
2 Delete field from screen
3 Modify screen constant
3. Select one of the following options:
– 1. Add field to screen: This option allows you to put new input or output fields
to any specified <OUTPUT> section (output screen) within a recorded script. See
“Add Field To Screen” on page 15-5 for details.
– 2. Delete field from screen: This option allows you to remove existing input or
output fields from any specified <OUTPUT> section (output screen) within a
recorded script. See “Delete Field From Screen” on page 15-7 for details.
– 3. Modify screen constant: This option allows you to modify screen constants
appearing anywhere in a specified <OUTPUT> section (output screen) within a
recorded script. See “Modify Screen Constant” on page 15-8 for details.
Add Field To Screen
1. Select option 1 Add field to screen on the Modify Output Screen Item Types screen
(Figure 15-7) and press Enter. The Add Field To Screen Item screen appears (Figure 158).
Figure 15-8. Add Field to Screen Item Screen
Hiperstation --------------ADD
Add Field To Screen Item --------------------
Command ===> 

END
End with save
CANcel End without save
Enter
Add Entry 

Description. . .Add new input field


Identify the screen to add field:
Screen ID. . . Payroll
ID location. . 01,004 (Row,Col) 

Describe the field to be added:
Field type . . I
I-Input, O-Output
Location . . . 06,019
(Row,Col)
Length . . . . 05
Maximum 60 Characters
Field value. .

Describe field attributes (Atr byte occupies 1 position just before the field):
Intensity. . . H N-Normal, H-High, D-Dark
End of Fld Marker?. Y Y/N
Numeric? . . . Y Y/N/blank
Auto skip?. . . . . N Y/N/blank
Set MDT? . . . Y Y/N
Allow Fld overlap?. N Y/N
2. Enter an optional Description of the add field entry.
3. Enter a Screen ID. This is the text that identifies the screen in the recorded script in
which the new field will be added. Wildcards are not allowed. They are treated as the
actual screen ID.
4. Enter an ID Location (row and column location of the Screen ID text). Enter ** in
the row and *** in the column field to specify that the screen ID text can appear
anywhere on the screen.
5. Enter the Field Type for the field being added. Enter I to add an input field and O to
add an output field.
15-6
Hiperstation for VTAM User Guide
6. Specify the Location (row and column location on the screen where the new field
will be added). Rows must be numbers between 1 and 43 and columns must be
numbers between 1 and 132.
Do not include the attribute byte when counting the field location. The attribute
byte occupies an additional column position just before the field on the screen. For
example, if you enter the field location as 10,20 (10th row and 20th column), then
the attribute byte is placed at column 19, followed by the actual field at column 20.
7. Specify the Length of the new field being added. The length must be numeric and
cannot exceed 60 characters. Do not count the attribute byte as part of the length. If
you enter the field length as 10, the new field will occupy 11 positions on the screen
(one extra position for attribute byte).
8. Enter the Field Value. This is the initial value to be placed as field filler when adding
output fields. For input fields, binary zeros are always used. Hiperstation appends
blanks if the value is shorter than the field length.
9. Specify the Intensity of the field being added. Enter N for normal intensity, H for
high intensity, and D for non-display.
10. In the Numeric field, enter Y to enable the keyword numeric feature. Otherwise,
enter N. When set to Y, any attempt to enter non-numeric data in this field results in
keyboard lock on supported keyboards. Applicable only for input fields — cannot be
used for output fields.
11. Enter Y to set MDT on or N to set MDT off.
12. Specify an End of Fld Marker. The End-of-field marker is a one-byte attribute byte
that marks the end of the field being added. It is placed just after the field and
occupies an additional position on the screen.
– Y specifies that an end-of-field marker is required.
– N specifies that an end-of-field marker is not required. In this case, the new field
attribute continues (even beyond the field length) until another attribute
character is encountered.
13. Specify whether you want to use Autoskip. Enter Y to enable. This causes the cursor
to jump to the next input field on the screen automatically when data is entered in
the last field position. Autoskip is applicable only for input fields; it cannot be used
for output fields.
Note:
To use Autoskip, the End of Fld Marker field must be Y.
14. Specify whether to Allow Fld Overlap. This specifies whether to process or reject the
request during execution if the new field overlays any existing attribute bytes/input
fields on the screen.
– Y adds the field to the screen no matter what the screen area contains. In this
case, any attribute bytes lost (buried) during the process are ignored. No attempt
is made to adjust the extended attribute buckets (when processing scripts
containing extended attribute bytes).
– N adds the field only if the following conditions are satisfied:
• The screen area where the new field will be placed is free of attribute bytes.
• The new field does not overlay any other existing input field on the same
screen row.
Note:
Any script records that exist between the affected row and the next will not
be retained in the new script. This includes <MASK>, comments, etc.
15. Press Enter to add the entry without exiting the Add Field to Screen Item field. After
all entries have been added, press END to save new entries into the control file or use
CANCEL to exit without saving the entries.
MultiChange Script Processor
15-7
Delete Field From Screen
1. Select option 2 Delete field from screen on the Modify Output Screen Item Types
screen (Figure 15-7 on page 15-5) and press Enter. The ADD Delete Field From Screen
Item screen (Figure 15-9) appears.
Figure 15-9. Delete Field From Screen Item
Hiperstation ---------- ADD
Delete Field From Screen Item -----------------
Command ===> 

END
End with save
CANcel End without save
Enter
Add Item 

Enter optional description:
Description . . . . Add new input field 

Identify the screen to delete field:
Screen ID. . . . . . Payroll
ID location. . . . . 01,004 (Row,Col)

Describe the field to be deleted:
Location . . . . . . 06,019 (Row,Col)
Length . . . . . . . 05
Field filler data. .
Field Stopper? . . . Y
Y-Yes, N-No
Overlay ATR bytes? . N
Y-Yes, N-No
2. Enter an optional Description of the delete field entry.
3. Enter a Screen ID. This is the text that identifies the screen in the recorded script
from which the field will be modified. This field is case sensitive — the uppercase
and lowercase characters must match the screen ID in the script exactly. Wildcards
are not allowed. The wildcard character is treated as the actual screen ID.
4. Enter an ID Location (row and column location of the Screen ID text). Enter ** in
the row field and *** in the column field to specify that the screen ID text can appear
anywhere on the screen.
5. Specify the Location (row and column location of the field to be deleted from the
screen). Rows must be numbers between 1 and 43 and columns must be numbers
between 1 and 132.
Do not include the attribute byte when counting the field location. If your field
attribute starts at column 19, and is followed by the actual field, you must enter the
column number as 20.
Note: There must be an attribute byte on the screen just before the field location or
Hiperstation rejects the request.
6. Specify the Length of the field being deleted. Field length must be numeric and
cannot exceed 60 characters. Do not count the attribute byte as part of the length.
7. Enter the Field Filler Data. This is the data value to be used to fill the field area on
the screen after the field is removed. The default value is binary zeros. If the value is
shorter than the field length, Hiperstation appends blanks.
8. Specify whether to delete any Field Stopper? field (if any) found at the end of the
field being deleted. Enter Y or N.
9. Specify whether to overlay attribute types (Overlay ATR bytes?) regardless of the
field contents. Enter Y to continue delete operation or N to reject the delete request
if attribute bytes are found within the screen area specified.
Note:
Any script records that exist between the affected row and the next will not
be retained in the new script. This includes <MASK>, comments, etc.
15-8
Hiperstation for VTAM User Guide
10. Press Enter to add the entry without exiting the Delete Field from Screen Item
screen. After all entries have been added, press END to save new entries into the
control file or use CANCEL to exit without saving the entries.
Modify Screen Constant
1. Select option 3 Modify screen constant on the Modify Output Screen Item Types
screen (Figure 15-7 on page 15-5) and press Enter to display the ADD Modify Screen
Constant Item screen (Figure 15-10).
Figure 15-10. Modify Screen Constant Screen
Hiperstation ---------- ADD
Modify Screen Constant Item ---------
Command ===> 

END
End with save
CANcel End without Save
Enter Add Item 

Enter optional description:
Description. . . . . . Modify Screen Constant 

Identify the screen where the constant is located:
Screen ID. . . . . . . Payroll
ID Location. . . . . . 01,004 (Row,Col) 

Describe Constant to be modified:
Constant Location. . . 06,019 (Row,Col)
Constant Length. . . . 11
Change FROM Value. . . Employee ID
Change TO Value. . . . Employee NO
2. Enter an optional Description of the modify field entry.
3. Enter a Screen ID. This is the text that identifies the screen in the recorded script
from which the field will be modified. Wildcards are not allowed. The wildcard
character is treated as the actual screen ID.
4. Enter an ID Location (row and column location of the Screen ID text). Enter ** in
the row field and *** in the column field to specify that the screen ID text can appear
anywhere on the screen.
5. Specify the Constant Location (row and column location on the screen area where
the constant starts). Row numbers must be between 1 and 43 and column numbers
must be between 1 and 132.
6. Enter a Constant Length (the length of the constant being modified). The constant
length must be numeric and cannot exceed 60 characters.
7. Specify the Change From Value. If you leave this field blank, any data found in that
location is replaced with the new value. The length of this field cannot exceed the
Constant Length value. If the length of this field is shorter than the Constant
Length value, Hiperstation appends blanks.
8. Specify the Change To Value (the new value to replace the screen area). The length
of this field cannot exceed the Constant Length value. If the length of this field is
shorter than the Constant Length value, Hiperstation appends blanks.
Note: The screen area being modified must be free of attribute bytes or Hiperstation
rejects the request.
9. Press Enter to add the entry without exiting the Modify Screen Constant Item screen.
After all entries have been added, press END to save new entries into the control file
or use CANCEL to exit without saving the entries.
MultiChange Script Processor
15-9
Add Script
1. Select option 3 Add Script on the MultiChange Script Facility Primary Options
screen (Figure 15-2 on page 15-1) to display the Add Script Item List screen (Figure
15-11).
Figure 15-11. Add Script Item List Screen
Hiperstation ------ ------- Add Script Item List ------- ---------------------
Option ===>
Scroll ===> PAGE 

ADD Create New Items 

Line Cmds: U Update
D Delete
B Browse


ScreenID
Location Operation Script Name
------------------------------------------------------------------------
** NONE **
******************************* BOTTOM OF DATA *************************
The Add Script request inserts a script at existing locations within another script.
2. Enter the ADD primary command to create a new item or use one of the line
commands to (U)pdate, (D)elete, or (B)rowse an item. The ADD command displays
the ADD - Add Script Item screen (Figure 15-12).
Figure 15-12. Add Script Item Screen
Hiperstation -------------- ADD
Add Script Item -------------------------
Command ===> 

END
End with save
CANcel End without save
Enter Add Item 

Enter the Screen ID and location (the script will be inserted
after this screen):
Screen ID . . . . .
Row,Column
00 , 000 

Enter the script to be added:
Add Script. . . . .
3. Enter a Screen ID. This field specifies a screen after which the script will be inserted.
This field is case sensitive — the uppercase and lowercase characters must match the
screen ID in the script exactly. Wildcards are not allowed. The wildcard character is
treated as the actual screen ID.
4. Enter the location (Row,Column) of the screen ID on the output screen. The Screen
ID and Row,Column entries identify the screen where the input values will be
manipulated. For example, you might wish to add a script following the Order Entry
screen. Screen ID and Row,Column would be used to identify the Order Entry screen.
5. In the Add Script field, specify the dataset and script name to be inserted.
6. Press Enter to add the entry without exiting the Add Script Item screen. After all
entries have been added, use END to exit the Add Script Item screen and save the
new entries in the control file or use CANCEL to exit without saving the entries.
15-10
Hiperstation for VTAM User Guide
Erase Interaction
An interaction is an output from the TPF and the subsequent input from the user. Use
the erase interaction request to remove specific interactions from a script (for example, a
signon screen and the subsequent user ID and password).
1. Select option 4 Erase Interaction on the MultiChange Script Facility Primary
Options screen (Figure 15-2 on page 15-1) to display the Erase Interaction screen
(Figure 15-13).
Figure 15-13. Erase Interaction Screen
Hiperstation ------ --------- Erase Interaction -------Option ===>
--------------------
Scroll ===> PAGE 

ADD Create New Items


Line Cmds: U Update
D Delete
B Browse



SCREENID
LOCATION OPERATION DATAID
DATAID-LOC

-------------------------------------------------------------------------------
** NONE **

******************************* BOTTOM OF DATA ********************************
2. Enter the ADD primary command to create a new item or use one of the line
commands to (U)pdate, (D)elete, or (B)rowse an item. The ADD command displays
the Erase Interaction Request: ADD/Update screen (Figure 15-14).
Figure 15-14. Erase Interaction Request: ADD/UPDATE Screen
Hiperstation ------- Erase Interaction Request: ADD/UPDATE --------------------
Command ===>


END
End with save

CANcel End Without save

Enter Add Entry


Enter the Screen ID and location (optional):

Screen ID . . . . . TEST
Row,Column. . . 01 , 001


Enter the Data ID and location (required):

Data ID. . . . . .
Row,Column. . .
,

Insert a PAUSE statement?
Erase OUTPUT only?

Pause?. . . . . . . N
Output Only?. . N

3. Enter a Screen ID for the screen for which you want to create an erase interaction
request. This field is case sensitive — the uppercase and lowercase characters must
match the screen ID in the script exactly. Wildcards are not allowed. The wildcard
character is treated as the actual screen ID.
4. Enter the position (Row,Column) of the Screen ID on the output screen.
Note: The Screen ID and Row,Column are optional for this request. If entered, only
those interactions beginning with an output group containing the specified
screen ID in that row and column are considered for deletion.
5. Enter the Data ID (data that further identifies the output screen).
6. Enter the position (Row,Column) of the data on the output screen.
Note:
The Data ID and Row,Column fields are required. Output screens and their
subsequent inputs are deleted when they contain the specified data ID in
that row and column.
MultiChange Script Processor
15-11
7. Specify whether to insert a Pause statement. Enter Y to replace the interaction being
removed with a <PAUSE> statement.
8. Specify whether to erase Output Only. Enter Y only if you want to remove the
output screens.
Executing MultiChange Script Processor Requests
1. Enter GO from the MultiChange Script Facility Primary Options screen (Figure 15-2
on page 15-1). The initial Hiperstation Script Processor * MultiChange Execution
screen appears (Figure 15-15).
Figure 15-15. Initial Script Processor MultiChange Execution Screen
------------ Hiperstation Script Processor * MultiChange Execution ----------
Command ===> 

Enter to continue 

Specify the dataset which contains the scripts:
Project . . . TSO0001
Group . . . . TEST
Type . . . . SCRIPTS 

Other Data Set Name:
Data Set Name . . . 

Specify the dataset to which the modified scripts will be written:
Project . . . TSO0001
Group . . . . RESULT
Type . . . . SCRIPTS 

Other Data Set Name:
Data Set Name . . .
Enter only the file names on this screen, not the script/member names. The input
and output datasets can be the same file or different files.
2. Enter the name of the dataset containing the existing scripts (Project, Group, Type).
Use Other Dataset Name if your dataset name does not follow standard ISPF naming
conventions. This input dataset must exist.
3. Enter the name of the dataset to which the modified scripts will be written (Project,
Group, Type). Use Other Dataset Name if your dataset name does not follow
standard ISPF naming conventions. If this output dataset does not exist, an
allocation screen will appear when you press Enter to continue.
4. Press Enter. A second Multichange Execution screen appears (Figure 15-16).
Figure 15-16. Hiperstation Script Processor * MultiChange Execution Screen
----------- Hiperstation Script Processor * MultiChange Execution ---- ------
Command===> 

F Initiate Processing In Foreground.
B Initiate Processing In Background. 

Input Script Data Set:
TSO0001.TEST.SCRIPTS
Output Script Data Set: TSO0001.RESULT.SCRIPTS 

Input Script Name
Output Script Name
ORDERS1




Replace Existing Members . . . Y (Y/N)
15-12
Hiperstation for VTAM User Guide
5. Enter the Input Script Name (the scripts from the input dataset to be processed).
Enter an asterisk (*) to process all members in the dataset.
6. Enter the Output Script Name (the names of the modified scripts stored in the
output dataset). If no name is entered, the modified script is stored under the same
name as the input script.
7. Specify whether you want to Replace Existing Members. Enter Y to overwrite an
existing script.
8. Use one of the primary commands (F or B) to select the type of processing. Select F to
process the script or scripts in TSO foreground. Select B to process the script or scripts
in TSO background (batch).
Background Processing
1. When you select B (Background Processing), the Script Processor MultiChange
Background Execution screen (Figure 15-17) appears. This screen contains job
statement information, region size, message class, and script processor library dataset
prior to generating the JCL. You can confirm or modify this information, then enter
the GO command to generate the JCL for this background process.
Figure 15-17. MultiChange Script Processor Screen
Script Processor ------------- ------- 


Go To generate and display the JCL

End To terminate background processing


Job Statement Information:


//XXXXXXXA JOB ('ACCOUNT',5M-0000),'HIPERSTN',

//
CLASS=L,MSGCLASS=R,NOTIFY=&SYSUID

/* JOBPARM ROOM='DTW 5TH FLOOR MONROE'

//PRINTER OUTPUT ROOM='DTW 5TH FLOOR MONROE'



Region Size. . . . . . . . . 4096K

Sysout Class . . . . . . . . *

Script Processor Library . . 'VP.TECH.QQF800.SQQFEXEC'

Hiperstation ------------- MultiChange
Command ===>
2. Enter the Job Statement Information JCL for the job run.
3. Enter the Region Size for the job.
4. Enter the Sysout Class for background processing messages.
5. Enter the Script Processor Library that contains your multichange script processor
programs.
16-1
Chapter 16.
Security Script Processor
Chap 16
As scripts age, the passwords they contain can become invalid when users change their
passwords. If a script contains obsolete passwords, you cannot play them back without
user intervention, and you cannot play them back in unattended mode.
To correct this, use the Security Script Processor to search for and update obsolete
passwords.
1. Select option 6 Security Script Processor on the Script Processors menu (Figure 161).
Figure 16-1. Script Processors Menu
Hiperstation --------------- Script Processors --------------------------------
Option ===>



1 REXX Processor
Create "Smart" Script(s)

2 Date Change
Change Year Formats for Date Testing

3 Date Find
Report Location(s) of Date Field(s)

4 Input Field Formats
Change Input Fields to Row/Column Format

5 MultiChange Processor
Update Scripts to Reflect Application Changes 
6 Security Script Processor
Locate and Modify Passwords

7 Euro
Euro Script Utility

8 GST
GST Testing Utility

9 Message Filtering
Message Filtering Utility

The Security Script Processor screen appears (Figure 16-2).
Figure 16-2. Security Script Processor Screen
Hiperstation - - - - - - - Security Script Processor - - - - - - - - - - - Command ===>
Enter to continue
Specify the dataset which contains the scripts:
Project . . . . . . USER2312
Group . . . . . . . TEST
Type . . . . . . . SCRIPTS
Other DSN. . . . . .
Member. . . . . . .
(Blank or ’*’ to process all members
or pattern for member selection list)
Specify the dataset to which the modified scripts will be written:
Project . . . USER2312
Group . . . . RESULTS
Type . . . . SCRIPTS
Other DSN . .


















2. Enter one or more of the following on this screen:
– Names of the source scripts whose passwords have expired
– Script or script name pattern (for example, MYSCR*)
– Name of the dataset where Hiperstation stores the scripts
3. Press Enter. If all entries are valid, the Security Password Modification screen appears
(Figure 16-3).
16-2
Hiperstation for VTAM User Guide
Figure 16-3. Security Password Modification Screen
------------- Security Password Modification --- Row 1 to 7 of 813 


F Process in Foreground
ALL Select all the scripts

B Process in Background
END Return to the previous screen


Script Datasets:
Replace Existing Members. N (Y/N)


Input Script Data Set. VP.AT.COMMON.PROCESS.SCRIPT

Output Script Data Set VP.AT.COMMON.PROCESS.SCRIPT


User ID/Password Information:

User ID USER25


Old Password


New Password


In Script Out Script
Changed
ID


CICS
06/11/10 11:47 USER25

CICSLOFF
07/03/21 15:34 USER15

CICSOFF1
06/08/29 10:16 USER24

CICSOLD
06/07/02 13:38 USER15

CICSX
06/12/21 08:11 USER25

CICS1
06/08/29 10:16 USER24

GETPSWD
07/05/10 08:27 USER25

ISPFLMSG
06/08/22 18:33 USER24 
Hiperstation
Command ===>
The Input Script Dataset and Output Script Dataset are preset from the previous
screen and cannot be changed on this screen. All of the scripts from the Input Script
Dataset are listed in the In Script column.
4. Specify whether to Replace Existing Members. Enter Y to overwrite an existing
script.
5. Enter the User ID. The User ID is initially set to the user ID from the current TSO
session.
6. Enter the Password contained in the script and the New Password to replace the
current password. These fields are required.
7. Select the scripts to process in the In Script column by typing an S or a slash (/) in
the Action column. The following primary commands help you locate the desired
scripts:
– ALL selects all of the listed scripts.
– DOWN displays the next page of scripts.
– UP displays the previous page of scripts.
You can select more than one script to process at one time.
8. In the Out Script column, specify the names of the modified scripts to store in the
output dataset. If you do not enter a name, Hiperstation stores the modified script
with the same name as the input script.
9. Issue one of the following primary commands on the Command line to continue:
– Type F and press Enter for foreground script processing
– Type B and press Enter for background script processing. If you issue B, the
Security Script Processor background processing screen appears (Figure 16-4).
– END cancels password modification and returns to the Security Script Processor
screen.
10. Verify the password by retyping it and pressing Enter. After the password is
successfully verified, processing begins.
Security Script Processor
16-3
11. When processing is complete, Hiperstation places an asterisk (*) in the Action
column next to the processed scripts. If Hiperstation did not find the old password in
a selected script, the message **No match found** appears.
If you chose to process in the background, Figure 16-4 appears.
Figure 16-4. Security Script Processor Background Processing
Hiperstation ------------------ Security Script Processor ------------------
Command ===> 

Go To generate and display the JCL
End To terminate background processing 

Job Statement Information: 

//JOBJAH0G JOB (’OVPBAS7.0.0DEV’,84),’J.HARTMAN’,MSGCLASS=R,
//
REGION=2048K,CLASS=P,NOTIFY=USR2503






Region Size. . . . . . . . . 4096K
Sysout Class . . . . . . . . *
Script Processor Library . . ’VP.TECH.QQF800.SQQFEXEC’
12. Modify the job statement information to your site standards.
13. Type GO on the command line and press Enter to generate and display the JCL.
14. Submit the JCL for processing.
16-4
Hiperstation for VTAM User Guide
17-1
Chapter 17.
Hiperstation for VTAM EURO Script Utility
Chap 17
The Euro script utility is an optional feature. If you are not licensed for the Euro
script utility, you will not be able to access it.
The EURO script utility is a feature that allows you to change Hiperstation for VTAM
3270 formatted scripts. It searches selected scripts for any user-defined currencies and, if
desired, makes the conversion from one currency to another. This utility enables you to
add, delete, alter, copy, and move fields within a screen. The fields can be part of an
OUTPUT or INPUT message. The utility is able to add new screens as well.
The EURO script utility presents a series of ISPF screens in a preset sequence. These
screens are used to set up the following:
•
•
•
•
Input Hiperstation script
Output Hiperstation script
Control cards
Currency cards
Note:
If no Hiperstation output script is present, the EURO script utility runs in report
mode. Report mode executes all of the control cards given, but does not save any
changes to the scripts.
After setting up these items, you can run the utility in TSO foreground or background
(batch) mode.
Using the EURO Script Utility
1. Select option 7 Euro from the Script Processors menu (Figure 17-1).
Figure 17-1. Script Processors Screen
Hiperstation --------------- Script Processors --------------------------------
Option ===>



1 REXX Processor
Create "Smart" Script(s)

2 Date Change
Change Year Formats for Date Testing

3 Date Find
Report Location(s) of Date Field(s)

4 Input Field Formats
Change Input Fields to Row/Column Format

5 MultiChange Processor
Update Scripts to Reflect Application Changes 
6 Security Script Processor
Locate and Modify Passwords

7 Euro
Euro Script Utility

8 GST
GST Testing Utility

9 Message Filtering
Message Filtering Utility

The EURO Script Utility screen appears (Figure 17-2).
17-2
Hiperstation for VTAM User Guide
Figure 17-2. EURO Script Utility Screen
Hiperstation ------------ EURO Script Utility -------------------------
Command ===> 

Input Script:
Data Set Name . . . ’USER25.TEST.SCRIPTS’
Member Name . . .
(Blank or pattern for member selection list,
"*" for all members) 

Output Script:
Data Set Name . . . ’USER25.RESULT.SCRIPTS’ 

Control File:
Data Set Name . . . ’USER25.EURO.CNTL’
Member Name . . . CVRTEUR 

Currency File:
Data Set Name . . .
Member Name . . . 

_ Replace Like Script Member(s)
_ Update control file only
_ Update currency file only
2. Enter the Input Script Data Set Name (the script dataset that the EURO script utility
will use as input). This dataset must be a PDS or PDSE.
Enter the Member Name of the desired input script. If you enter a mask or leave this
field blank, a selection list appears. You can use this selection list to limit the scripts
to be processed.
3. Enter Output Script Data Set Name (the script dataset where you want the EURO
script utility to write scripts). This dataset must be a preallocated PDS or PDSE. If this
field is left blank or errors occur, a message informs you that the utility will run in
report mode and no changes are saved.
4. Enter the Control File Data Set Name. This optional dataset contains the EURO
script utility control and currency cards. It can be a PDS, PDSE, or sequential file. If
the currency file and control file are different datasets, they must have the same
record format, record length, and blocksize.
Enter the Member Name of the desired control file dataset. If no dataset and member
are entered, the control cards generated will not be saved.
Note: LRECL must be 80 characters. Do not put the control file member in the same
PDS as the scripts.
5. Enter the Currency File Data Set Name. This optional dataset contains the EURO
script utility currency cards. It can be a PDS, PDSE, or sequential file. If the currency
file and control file are different datasets, they must have the same record format,
record length, and blocksize.
Enter the Member Name of the desired currency file dataset. If no dataset and
member are entered, but a control file is entered above, the currency cards save to
that control file. If both currency and control file fields are left blank, the currency
cards generated will not be saved.
Note:
LRECL must be 80 characters. Do not put the currency file member in the
same PDS as the scripts.
6. To select the following options, type a slash in the Action column:
– Replace Like Script Member(s): Replaces a script if a script with the same name
currently exists in the output script file. If you do not select this option, the
EURO script utility prompts you to enter a new name for the duplicate script at
the time the member list is presented.
Hiperstation for VTAM EURO Script Utility
17-3
– Update control File only: Performs updates to the control file. If the control file
contains currency cards, they can also be updated at that time.
– Update currency file only: Performs updates to the currency file.
Using Member Lists
The Script Selection List screen (Figure 17-3) appears when you press Enter on the EURO
Script Utility screen and one of the following conditions exists:
• The Input Script Member Name field is left blank or contains a mask.
• A duplicate script is found, and Replace Like Script Member(s) was not selected.
Note:
If neither condition exists, the EURO script utility displays the Control File Item
List screen (Figure 17-6 on page 17-5). See “Using Control Files” on page 17-4 for
details.
Figure 17-3. Script Selection List Screen
Hiperstation -------------- Script Selection List ---------------------------
Command ===> _
Scroll ===> PAGE

Row 00001 of 00132
Input Script . . : ’USER2312.TEST.SCRIPTS’
Output Script . . : 

Enter END to process selections or CANCEL to exit member list. 

Name
New Name
VV MM Created
Changed
Size Init
Mod
ID
_ ADD054
00.00 07/04/12 07/04/12 09:19
5
0
0 USER2312
_ ADD055
00.00 07/04/09 07/04/09 12:09
5
0
0 USER2312
_ APPCSTRT
01.00 07/02/03 07/02/03 07:45
30
30
0 USER2312
_ APPCTERM
01.00 07/02/03 07/02/03 07:45
20
20
0 USER2312
_ APP00000
00.00 07/05/31 07/05/31 16:19
116
3
0 HPR0055
_ APP00001
00.00 07/05/31 07/05/31 16:56
95
3
0 HPR0055
_ BETA600
00.00 07/06/09 07/06/09 12:16
646
16
0 USER2312
_ BETA600K
00.00 07/06/09 07/06/09 12:20
642
16
0 USER2312
_ BPNBETA
01.00 07/07/13 07/07/13 07:44
306
306
0 USER2312
_ CDRT0034
00.00 07/02/10 07/02/10 10:45
418
14
0 TACN109
_ CICSCLR
00.00 07/02/12 07/02/12 12:30
405
12
0 USER2312
_ CICSCLR2
00.00 07/03/01 07/03/01 09:25
290
6
0 USER2312
_ CONTINUE
00.00 07/01/21 07/01/21 11:56
257
8
0 USER2312
_ DEMOCONV
01.00 07/07/14 07/07/14 14:05
234
234
0 USER2312

The Input Script field displays the input dataset name, and the Output Script field
displays the output dataset name. If no output dataset name was entered on the EURO
Script Utility screen, the Output Script field is blank.
On this screen, you can select which scripts to process. If a duplicate script is found
(Figure 17-4), you can choose a new member name for your script.
17-4
Hiperstation for VTAM User Guide
Figure 17-4. Member List Screen with Duplicate Member Names
Hiperstation -------------- Script Selection List ---------------------------
Command ===>
Scroll ===> PAGE

Row 00001 of 00132
Input Script . . : ’USER2312.TEST.SCRIPTS’
Output Script . . : ’USER2312.RESULT.SCRIPTS’ 

Enter END to process selections or CANCEL to exit member list. 

Name
New Name
VV MM Created
Changed
Size Init
Mod
ID
_ ADD054
<==Duplicate Member Name Located 7
0
0 USER2312
_ ADD055
00.00 07/04/09 07/04/09 12:09
5
0
0 USER2312
_ APPCSTRT
01.00 07/02/03 07/02/03 07:45
30
30
0 USER2312
_ APPCTERM
01.00 07/02/03 07/02/03 07:45
20
20
0 USER2312
_ APP00000
00.00 07/05/31 07/05/31 16:19
116
3
0 HPR0055
_ APP00001
00.00 07/05/31 07/05/31 16:56
95
3
0 HPR0055
_ BETA600
00.00 07/06/09 07/06/09 12:16
646
16
0 USER2312
_ BETA600K
00.00 07/06/09 07/06/09 12:20
642
16
0 USER2312
_ BPNBETA
01.00 07/07/13 07/07/13 07:44
306
306
0 USER2312
_ CDRT0034
00.00 07/02/10 07/02/10 10:45
418
14
0 TACN109
_ CICSCLR
00.00 07/02/12 07/02/12 12:30
405
12
0 USER2312
_ CICSCLR2
00.00 07/03/01 07/03/01 09:25
290
6
0 USER2312
_ CONTINUE
00.00 07/01/21 07/01/21 11:56
257
8
0 USER2312
_ DEMOCONV
01.00 07/07/14 07/07/14 14:05
234
234
0 USER2312

To change your script name, type S (Select) next to the duplicate name identified on this
screen, then press Tab to advance to the New Name column. Type your new script name
and press Enter. The screen updates to show that the change has been accepted (Figure
17-5).
Figure 17-5. Member List Screen with Changed Member Name
Hiperstation -------------- Script Selection List ---------------------------
Command ===>
Scroll ===> PAGE

Row 00001 of 00132
Input Script . . : ’USER2312.TEST.SCRIPTS’
Output Script . . : ’USER2312.RESULT.SCRIPTS’ 

Enter END to process selections or CANCEL to exit member list. 

Name
New Name
VV MM Created
Changed
Size Init
Mod
ID
_ ADD054
<==Duplicate Member Name Located 7
0
0 USER2312
_ ADD055
00.00 07/04/09 07/04/09 12:09
5
0
0 USER2312
_ APPCSTRT
01.00 07/02/03 07/02/03 07:45
30
30
0 USER2312
_ APPCTERM
01.00 07/02/03 07/02/03 07:45
20
20
0 USER2312
_ APP00000
00.00 07/05/31 07/05/31 16:19
116
3
0 HPR0055
_ APP00001
00.00 07/05/31 07/05/31 16:56
95
3
0 HPR0055
_ BETA600
Selected - New Name: PROD600
12:16
646
16
0 USER2312
_ BETA600K
00.00 07/06/09 07/06/09 12:20
642
16
0 USER2312
_ BPNBETA
01.00 07/07/13 07/07/13 07:44
306
306
0 USER2312
_ CDRT0034
00.00 07/02/10 07/02/10 10:45
418
14
0 TACN109
_ CICSCLR
00.00 07/02/12 07/02/12 12:30
405
12
0 USER2312
_ CICSCLR2
00.00 07/03/01 07/03/01 09:25
290
6
0 USER2312
_ CONTINUE
00.00 07/01/21 07/01/21 11:56
257
8
0 USER2312
_ DEMOCONV
01.00 07/07/14 07/07/14 14:05
234
234
0 USER2312

Using Control Files
The Control File Item List screen (Figure 17-6) appears immediately when you press Enter
on the EURO Script Utility screen (Figure 17-2 on page 17-2) or after any required
changes have been made on the Script Selection List screen (Figure 17-3 on page 17-3).
The Control File Item List screen lists the control items currently defined for the session.
Defined control items include those read in from the control dataset and those you add.
Hiperstation for VTAM EURO Script Utility
17-5
Figure 17-6. Control File Item List Screen
Hiperstation ------------- Control File Item List ---------------------------
Command ===>
Scroll ===> PAGE 

USERID1.EURO.CNTL(CVRTEUR )
Row 00001 of 00001 

Select Action or Enter "/" to Display Action List 

Item
Script
Number Type
Msg Type Action Description
_ 00001
3270
OUTPUT
X
Convert in place to EURO
*************************** Bottom of Control File ***************************
The ADD primary command adds a new control item. CURRENCY displays a list of EURO
script utility currencies.
The (A)dd, (B)rowse, (D)elete, (R)epeat, (U)pdate, and / (slash) line commands are valid
on this screen. The A, B, and D commands display the Maintain Control File Item screen
(Figure 17-7 on page 17-5) in the specified mode.
R displays the Maintain Control File Item screen in Add mode. This command is similar
to the A line command, but Hiperstation fills in data from the control item where the
command was entered. U updates the entry. / displays a screen showing these
commands.
Control Items
The Maintain Control File Item screen (Figure 17-7) appears when you type an A, B, D, R,
or U line command next to a control item on the Control File Item List screen (Figure 176) and press Enter.
Figure 17-7. Maintain Control File Item Screen
Hiperstation - Update Control File Item -------------------------------------
Command ===> 

Message Type . . . OUTPUT
Operation . . . . . X
Description . . . . Convert in place to EURO 

Screen Identification
Text . . . . . . ’Ac’
(Row, Column) . . 2
, *
Rows (1-43) Columns (1-132) 

From
Text . . . . . .
Currency . . . . FRF
(Row, Column) . . 9
, 29
Rows (1-43) Columns (1-132)
To
Text . . . . . .
Currency . . . . EUR
(Row, Column) . . 9
, 29
Rows (1-43) Columns (1-132)
The Update Control File Item screen allows you to add, browse, update, or delete control
cards. The current operating mode is indicated in the upper left corner of the screen.
Field Definitions
Message Type
The type of messages against which control operations are performed. Valid message
types are INPUT, OUTPUT, and BOTH (INPUT and OUTPUT).
Operation
The operation the utility will perform. All operations affect a single screen. To move
a field to a different screen you must delete the field from the currency screen, then
17-6
Hiperstation for VTAM User Guide
insert the field on the new screen. To display a list of valid operations, leave this field
blank and press Enter. Valid operations include:
D: Delete a field from a screen
I: Insert a field in a screen
IS: Insert a new screen
A: Alter a field on a screen
C: Copy a field on a screen
CX: Copy a field on a screen and convert it to a chosen currency
M: Move a field on a screen
MX: Move a field on a screen and convert it to a chosen currency
X: Convert a field on a screen to a chosen currency.
Description
A brief description of what the control card does.
Screen Identification
Group of fields that defines the screen against which the utility performs the
operation. Designate a screen for the INSERT (I) and INSERT SCREEN (IS) operations.
If you enter a string in the Text field, you must also enter values in the (Row,
Column) field.
– Text: Used to enter a description of the screen literal.
Note:
If text is entered in this field, a case-sensitive process identifies which
screens match this control entry. For example, if the screen in the
<OUTPUT> group in the script is identified by My screen in row 4,
column 4, then entering MY SCREEN in this field will not select that
screen for processing.
– (Row, Column): Used to enter on the EURO script utility the location of the
screen literal in the Text field. You can use an asterisk (*) as a wildcard character
in either field.
From
Group of fields that defines the data to be altered, copied, converted, deleted, or
moved. Values must be entered for any of the following operations:
D: Delete a field from a screen
A: Alter a field on a screen
C: Copy a field on a screen
CX: Copy a field on a screen and convert it to a chosen currency
M: Move a field on a screen
MX: Move a field on a screen and convert it to a chosen currency
X: Convert a field on a screen to a chosen currency.
Text: Contains the data used by the EURO script utility to verify the location
before performing the chosen operation. This field is ignored for the MX (move
and convert field currency) and X (convert field currency) operations.
Currency: Used to choose the currency to be copied, moved, and/or converted.
You can use an asterisk (*) as a wildcard character in either field. To display a
selection list of defined currencies, type ? in the Currency field and press Enter.
Hiperstation for VTAM EURO Script Utility
17-7
(Row, Column): Used to choose the location of the data on the screen. For the X
(convert field currency) operation, an asterisk (*) wildcard character can be used
in these fields.
To
Group of fields that defines where the new or copied data will be placed. Values must
be entered for any of the following operations:
A: Alter a field on a screen
C: Copy a field on a screen
CX: Copy a field on a screen and convert it to a chosen currency
M: Move a field on a screen
MX: Move a field on a screen and convert it to a chosen currency
X: Convert a field on a screen to a chosen currency.
Text: Define the data that the EURO script utility replaces with the data defined
by the From fields. This field is ignored for the CX, MX, and X operations.
Currency: Define the currency to which the EURO script utility will convert the
currency defined in the From fields.
(Row, Column): Define the location on the screen in which the EURO script
utility will place the data.
Using Currency Cards
The EURO Currency Card List screen (Figure 17-8) is the next screen displayed when you
press Enter on the Maintain Control File Item screen (Figure 17-7 on page 17-5).
The EURO Currency Card List screen lists the currency cards currently defined for the
session. Defined currency cards include those read in from the control and/or currency
datasets and those you add.
Figure 17-8. EURO Currency Card List Screen
Hiperstation ------------- EURO Currency Card List --------------------------
Command ===>
Scroll ===> PAGE

ACMJET0.EURO.CURRENCY(DEMO2
)
Row 00001 of 00016

Select Action or Enter "/" to Display Action List 

Rounding Decimal
Conversion
Name Symbol P Format Factor
Position Value
_ EUR
$$
P . ,
4
3
1.000000
_ FRF
$$$
S . ,
4
2
0.222200
_ GBR
#
S . ,
4
3
2.220000
_ TNT
)))
P . ,
4
3
0.200000
_ DC1
>>>
P . ,
4
1
1.000000
_ DEC
)))
P . ,
4
2
10.000000
_ USA
$
P . ,
6
2
0.950000
_ RM1
%%
P . ,
1
4
0.400000
_ RM2
%%
P . ,
2
4
0.400000
_ RM3
P . ,
3
4
0.400000
_ RM4
&&
P . ,
4
4
0.400000
_ RM5
**
P . ,
5
4
0.400000


Note: The high-lighted symbol is the default symbol


The ADD primary command adds a new currency.
The A(dd), D(elete), R(epeat), S(elect), U(pdate) and / (slash) line commands are valid on
this screen.
17-8
Hiperstation for VTAM User Guide
A adds a currency card and displays the Maintain EURO Currency Card screen in Add
mode (Figure 17-9 on page 17-8). D deletes a currency card and displays the Maintain
EURO Currency Card screen in Delete mode. R repeats a currency card and displays the
Maintain EURO Currency Card screen in Add mode. This command is similar to the A
line command, but Hiperstation fills in data from the currency card where the command
was entered. S selects a currency card. This command is available only when updating a
EURO control item. U updates a currency card and displays the Maintain EURO Currency
Card screen in Update mode. / displays a screen showing these commands.
Individual Currency Cards
The Maintain EURO Currency Card screen (Figure 17-9) appears when you type an A, B,
D, R, or U line command next to a currency card on the EURO Currency Card List screen
(Figure 17-8 on page 17-7) and press Enter.
Figure 17-9. Maintain EURO Currency Card Screen
Hiperstation - Add
EURO Currency Card ------------------------------------
Command ===> 

Currency Name . . . . . DEC
Currency Symbol . . . . )))
Symbol Position . . . . P
P Prefix
S Suffix 

Format Characters
Decimal . . . . . . . .
Grouping . . . . . . , 

Rounding Factor . . . . 4
1 Nearest whole number
2 Least whole number
3 Highest whole number
4 Nearest decimal number
5 Least decimal number
6 Highest decimal number
Decimal Positions . . . 2
Conversion Value . . . 10 

Default Currency
This screen allows you to add, browse, update, or delete individual currency cards. The
current operating mode is indicated in the upper left corner of the screen.
Field Definitions
Currency Name
Three-character field used to enter a name for the currency.
Currency Symbol
Three-character field used to enter a symbol for the currency.
Symbol Position
The positioning of the currency symbol. Valid values are:
P: Prefix. The symbol is located before the numerics.
S: Suffix. The symbol is located after the numerics.
Note:
If a number is matched with a symbol, the utility ignores the decimal
position checking.
Format Characters
Characters for formatting numbers.
Hiperstation for VTAM EURO Script Utility
17-9
Decimal: Character used to enter decimal position within a number. Examples
are a period (.) or a comma (,).
Grouping: Character used to separate groupings of numbers, such as the commas
(,) in 1,000,000 or the space in 10 000.
Rounding Factor
The type of rounding the utility will perform on a number. For example, the number
12.3416 with 3 decimal positions is rounded as follows for each of the six available
options:
•
•
•
•
•
•
Nearest whole number: 12.000
Least whole number: 12.000
Highest whole number: 13.000
Nearest decimal number: 12.342
Least decimal number: 12.341
Highest decimal number: 12.342
Decimal Positions
The maximum number of decimal positions to display for a number.
Note:
The number of decimal positions is used as a condition for locating a
currency field when the currency symbol is not defined. If the currency
symbol is not found, the number of decimal positions in the field (contained
in the script) must match the number of decimal positions in this field to be
considered a valid currency field.
Conversion Value
The value the utility multiplies by during conversion from one currency to the
EURO. Ensure that this number is in relationship to the currency from which you are
converting. For example, if 1 EURO = 0.630000 pounds, the conversion value to go
from pounds to EUROs is 0.630000.
Note:
Conversion from one currency to another is performed with no rounding of
intermediate results. The calculation is performed as follows:
(From Currency Amount / From Currency Conversion Value)  To
Conversion Value = To Currency Amount
Default Currency
Select this option by entering a slash (/) next to it. The utility considers any number
that does not have a symbol as a match. The number still needs to qualify as a match
based on formatting characters and number of decimals.
Note:
You do not need to enter a default currency if currency fields are explicitly
identified in the script by row and column coordinates. The Default
Currency option identifies currency fields when you enter an asterisk (*) or
generic location in the From Currency field on the Maintain Control File
Item screen (Figure 17-7 on page 17-5).
If intermediate result rounding is required, then define two conversion operations as
follows:
1. Define an intermediate currency (for example, INT) with a conversion value of 1 and
the number of decimals you want to round the intermediate result.
2. Define a conversion (for example, create a control file entry) from the currency
entered on the input script to the INT currency.
3. Define a conversion from the Intermediate (INT) currency to the target currency.
17-10
Hiperstation for VTAM User Guide
Submitting EURO Script Utility Jobs
To submit a Euro Script Utility job, press Enter on the Maintain EURO Currency Card
screen (Figure 17-9 on page 17-8). The Euro Script Utility Execution screen (Figure 17-10)
appears allowing you to choose whether to run the utility in TSO foreground or TSO
background (batch) mode.
Figure 17-10. EURO Script Utility Execution Screen
Hiperstation ---------- EURO Script Utility Execution -----------------------
Command ===> 

Press ENTER to continue submit


/ Execute Script Utility in foreground 

Report Information:
SYSOUT Class . . .
DEST ID . . . . .
Data Set Name . . ’SYS2.CONVERSN.REPORT’ 

Job Statement Information:
===> //*
===> //*
===> //*
===> //*
===> //* 

Hiperstation Load Library Information:
===> SYS2.COMPWARE.QVP700.LOADLIB
Field Definitions
Execute Script Utility in foreground
If you enter / in front of this option, the EURO script utility executes in TSO
foreground.
Report Information
Use these fields to choose the destination for the EURO script utility report. You must
choose either a SYSOUT class or a dataset name. If you choose a dataset, it must have
a record length of 133 and formatting of Variable Blocked ASCII (LRECL=133,
RECFM=VBA). If the dataset does not exist, the EURO script utility allocates it.
SYSOUT Class: Enter the SYSOUT class to which you want the report written.
This field is not used if you enter a value in the Data Set Name field.
DEST ID: Enter the printer ID where you want the report to print. This field is
optional and is not used if you enter a value in the Data Set Name field.
Data Set Name: Enter the name of the report dataset. This field is optional, but
any value entered must be a valid dataset name.
Job Statement Information
Use this area to enter jobcard information for submitting batch jobs. If the option
Execute Script Processor in foreground is selected, the jobcard information is
ignored.
Hiperstation Load Library Information
Displays load library in which program SPEURO resides. Modify this field if the
library displayed is not the library in which the EURO script utility is installed. If the
option Execute Script Processor in foreground is selected, the load library
information is ignored.
Hiperstation for VTAM EURO Script Utility
17-11
EURO Script Utility Currency Location and Conversion
When a EURO script utility job that includes a control file request for currency
conversion is run, the currency is located and converted each time all three of the
following conditions are met:
1. Any screen identification entered on the Maintain Control File Item screen is found
(Figure 17-7 on page 17-5).
2. The desired currency is located, based on at least one of the following conditions:
– The currency symbol is found with a numeric value in the currency field
– The number of decimal positions in a row and column location matches the set
value
– The number of decimal positions in a generic location (for example, if you
entered an asterisk (*) for row or column) matches the set value and the default
currency option was selected on the Maintain EURO Currency Card screen
(Figure 17-9 on page 17-8).
3. The field containing the currency is large enough to hold the converted currency
value.
Control Cards
The EURO script utility uses the control cards described in this section.
<CURR-xxx>
Currency card defining a currency to the EURO script utility. The format is 
<CURR-aaa>bcccdefg h i where:
– aaa is the currency name
– b indicates whether this is the default currency (Y=yes)
– ccc is the currency symbol
– d indicates whether the symbol is a prefix (P) or suffix (S) to the numerics
– e is the decimal character
– f is the grouping character
– g is the rounding factor where:
•
•
•
•
•
•
1
2
3
4
5
6
is
is
is
is
is
is
nearest whole number
least whole number
highest whole number
nearest decimal number
least decimal number
highest decimal number.
– h is the number of decimal places
– i is the conversion value.
<CONTROL>, </CONTROL>
Control cards that define the start and end of another control card.
<DESC>
Description card that provides a short description of the operation this control card
performs.
17-12
Hiperstation for VTAM User Guide
<SCRTYPE>
Screen Type card that lists the Hiperstation for VTAM scripts on which the operation
will be performed. The format is <SCRTYPE>a where a is 3270.
<MSGTYPE>
Message Type card that lists the messages on which the operation will be performed.
The format is <MSGTYPE>a where a is INPUT, OUTPUT, or BOTH.
<OPER>
Operation card that specifies what operation to perform. The format is <OPER>a
where a is one of the following:
D: Delete a field from a screen
I: Add a field into the screen
IS: Add a new screen
A: Alter a field within a screen
C: Copy a field
CX: Copy a field and convert to requested currency
M: Move a field
MX: Move a field and convert to requested currency
X: Convert a field to requested currency
<SCRID>
Screen ID card that limits the screens against which the operation is performed.
<SCRPOS>
Screen Position card that specifies where on the screen to look for the screen ID.
<SCROFF>
Screen Offset card that specifies where on the screen to look for the screen ID. This is
reserved for future use.
<FROMVAL>
From Value card containing text describing the field for the operation.
<FROMCURR>
From Currency card that describes the currency from which the conversion is being
performed.
<FROMPOS>
From Position card that specifies where on the screen to find the field for the
operation.
<TOVAL>
To Value card that conveys the new data for the field.
<TOCURR>
To Currency card that describes the currency on which the conversion is being
performed.
<TOPOS>
To Position card that specifies where on the screen to place the new field.
18-1
Chapter 18.
GST (Goods and Services Tax) Testing Utility
Note:
Chap 18
The GST Testing Utility is an optional feature. If you are not licensed for the
GST Testing Utility, you will not be able to access it.
The GST Testing Utility locates up to five fields that you specify on output screens and
makes them available for use in REXX routines that you write. The fields include an item
code, three user-defined fields, and an actual result.
The GST Testing Utility also allows you to read a VSAM file in a REXX routine. The VSAM
read command, HSCMDS "GETVSAMR", allows random access of an external VSAM file.
1. To start the GST testing utility, select option 8 GST from the Script Processors menu
(Figure 18-1).
Figure 18-1. GST Testing Utility Main Options Screen
Hiperstation --------------- Script Processors --------------------------------
Option ===>



1 REXX Processor
Create "Smart" Script(s)

2 Date Change
Change Year Formats for Date Testing

3 Date Find
Report Location(s) of Date Field(s)

4 Input Field Formats
Change Input Fields to Row/Column Format

5 MultiChange Processor
Update Scripts to Reflect Application Changes 
6 Security Script Processor
Locate and Modify Passwords

7 Euro
Euro Script Utility

8 GST
GST Testing Utility

9 Message Filtering
Message Filtering Utility

The REXX Script Processor * GST Testing Utility screen appears (Figure 18-2).
Figure 18-2. GST Testing Utility Main Options Screen
Hiperstation --- REXX Script Processor * GST Testing Utility --- ------------
Option ===>
1 GST Testing Utility
Go Begin Execution
Specify the name of the control file below, then press Enter key
Project
Group .
Type .
Member.
.
.
.
.
.
.
.
.
.
.
.
.
USER25
HIPER
CONTROL
GST0001
Other Data Set Name:
Data Set Name . . .
Execution Parameters:
GST VSAM DATASET NAME . . .
(full name)
User GST Proc Name
. . .
(Default: GSTPROC)



















2. Enter a GST VSAM Dataset Name — the VSAM dataset the new script will retrieve. If
you do not provide this name, Hiperstation inserts ‘xxxxxxxx.xxxxxxxx.xxxxxxxx’.
18-2
Hiperstation for VTAM User Guide
3. Enter a User GST Proc Name — the REXX routine name and member name of the
output script dataset to call from the new script. If you do not provide this name,
Hiperstation uses GSTPROC.
4. Select whether you want to execute an existing request or go to an entry screen to
create or update GST requests.
– 1 accesses the Hiperstation REXX Script Processor - GST screen (Figure 18-3),
where you can add, update, delete, or browse GST requests.
– GO executes the GST request. This creates a new script containing the
information specified in the GST request.
Figure 18-3. Hiperstation REXX Script Processor * GST Screen
-------------------- Hiperstation REXX Script Processor * GST -----------------
Option ===>
Scroll ===> PAGE 

Add Create New GST Entries


Line Cmds: U Update
D Delete
B Browse


Message
Variables

Message Text
Location
in LIST
Description

-------------------------------------------------------------------------------
** NONE **

******************************* BOTTOM OF DATA ********************************
5. Select whether to Add, Update, Delete, or Browse the GST request.
Add a Request
The Hiperstation REXX Script Processor * GST screen (Figure 18-3 on page 18-2) displays
existing GST entries stored in the control file. If no entries exist, ** NONE ** is displayed.
1. To add a new entry, type ADD on the command line and press Enter. The
Hiperstation REXX Script Processor * GST ADD screen appears (Figure 18-4). If you
have an existing request, the new request will carry over the old request’s
information. If not, all of the fields will be blank.
Figure 18-4. GST Add New Entry Screen
----------------- Hiperstation REXX Script Processor * GST ADD ----------------
Command ===>


ENTER Add item
END
End with save of added items

CANcel End without save of added items


Enter optional GST entry description:

Description . . . .


Describe the GST screen id and Message text:

Screen ID . . . . . *

ID Location . . . . ** , ** (Row,Col)

Message Text. . . .

Message Location. . ** , ** (Row,Col)


Describe the GST variables: Are the variables in a list? . . . N (Y or N)

If Yes: Top Row . .
Bottom Row . .


GST Item Location . . .
,
(Row,Col) GST Item Length . . .

Value A Location . . .
,
(Row,Col) Value A Length . . .

Value B Location . . .
,
(Row,Col) Value B Length . . .

Value C Location . . .
,
(Row,Col) Value C Length . . .

Result
Location . . .
,
(Row,Col) Result
Length . . .

GST (Goods and Services Tax) Testing Utility
18-3
2. Enter a brief Description of the GST request. This field is optional.
3. Enter the name of the screen where the information is located in the Screen ID field.
This field is case sensitive — the uppercase and lowercase characters must match the
screen ID in the script exactly. Wildcards are not allowed. The wildcard character is
treated as an actual screen ID.
4. In the ID Location field, specify where the Screen ID name is found on the screen, in
row,column format.
5. Enter the Message Text you want to find.
6. In the Message Location field, specify where the message text is located on the
screen, in row,column format.
7. Enter Y or N in the Are the Variables in a List? field.
– If all of the items you are looking for are in a list, enter Y. If you enter Y, also
include the top and bottom row of the list. You will be prompted to include this
information if you do not add it before pressing Enter. In addition, if you enter Y,
Hiperstation will clear all information in the Row area of the locations at the
bottom of this screen.
– If the items you are looking for are not in a list, enter N.
8. Enter the row and column location of the items you want to find in the Location
fields. You do not need to use all five variables — you can use any combination of the
five.
9. Enter the length of the items you want to find in the Length fields.
10. Press Enter to add the request. Hiperstation will prompt you for any missing
information.
11. Press End to save all changes and return to the Hiperstation REXX Script processor *
GST screen (Figure 18-3 on page 18-2), or press Cancel to leave the screen without
saving your changes.
Update a Request
The Hiperstation REXX Script Processor * GST screen (Figure 18-3 on page 18-2) displays
existing GST entries stored in the control file. If no entries exist, ** NONE ** is displayed.
1. To update a request, type U next to the request and press Enter. The Hiperstation
REXX Script Processor * GST UPDATE screen appears (Figure 18-5) allowing you to
change any of the specified information and resave the request.
18-4
Hiperstation for VTAM User Guide
Figure 18-5. GST Update Screen
-------------- Hiperstation REXX Script Processor * GST UPDATE --------------
Command ===>
Cancel End Update Without Save
END Update Entry
Enter optional GST entry description:
Description . . . . GST test entry
Describe the GST screen id and Message text:
Screen ID . . . . . GST1
ID Location . . . . 01 , 01 (Row,Col)
Message Text. . . . GST Method 1
Message Location. . 05 , 01 (Row,Col)
Describe the GST variables: Are the variables in a list? . . . N (Y or N)
If Yes: Top Row . .
Bottom Row . .
GST Item
Value A
Value B
Value C
Result
Location
Location
Location
Location
Location
.
.
.
.
.
.
.
.
.
.
. 06 , 07
. 06 , 15
.
,
.
,
. 06 , 30
(Row,Col)
(Row,Col)
(Row,Col)
(Row,Col)
(Row,Col)
GST Item
Value A
Value B
Value C
Result
Length
Length
Length
Length
Length
.
.
.
.
.
.
.
.
.
.
. 05
. 07
.
.
. 07






















2. Enter a brief Description of the GST request. This field is optional.
3. Enter the name of the screen where the information is located in the Screen ID field.
Together, the screen ID and message text determine the output screen where the (up
to) five fields you selected are. This field is case sensitive — the uppercase and
lowercase characters must match the screen ID in the script exactly. Wildcards are
not allowed. The wildcard character is treated as an actual screen ID.
4. In the ID Location field, specify where the Screen ID name is found on the screen, in
row,column format.
5. Enter the Message Text you want to find. Together, the screen ID and message text
determine the output screen where the (up to) five fields you selected are.
6. In the Message Location field, specify where the message text is located on the
screen, in row,column format.
7. Enter Y or N in the Are the Variables in a List? field.
– If all of the items you are looking for are in a list, enter Y. If you enter Y, also
include the top and bottom row of the list. You will be prompted to include this
information if you do not add it before pressing Enter. In addition, if you enter Y,
Hiperstation will clear all information in the Row area of the locations at the
bottom of this screen.
– If the items you are looking for are not in a list, enter N.
8. Enter the row and column location of the items you want to find in the Location
fields. You do not need to use all five variables — you can use any combination of the
five.
9. Enter the length of the items you want to find in the Length fields.
10. Press Enter to update the request. Hiperstation will prompt you for any missing
information.
11. Press End to save all changes and return to the Hiperstation REXX Script processor *
GST screen (Figure 18-3 on page 18-2), or press Cancel to leave the screen without
saving your changes.
GST (Goods and Services Tax) Testing Utility
18-5
Browse a Request
The Hiperstation REXX Script Processor * GST screen (Figure 18-3 on page 18-2) displays
existing GST entries stored in the control file. If no entries exist, ** NONE ** is displayed.
1. To browse a request, type B next to the request and press Enter. The Hiperstation
REXX Script Processor * GST BROWSE screen appears (Figure 18-6) allowing you to
view all of the information pertaining to a request. You cannot change any of the
information on this screen.
Figure 18-6. GST Browse Screen
--------------- Hiperstation REXX Script Processor * GST BROWSE ---------------
Command ===>


END End Browse

Next Browse Next Entry

Prev Browse Previous Entry


The information in this GST entry is shown below:


Description . . . . . . GST TEST WITH PLAS

Screen ID . . . . . . . PLAS

ID Location . . . . . . 01 , 02 (Row,Col)

Message Text. . . . . . EXECUTING

Message Location. . . . 10 , 05 (Row,Col)

Variables in a List . . N

Top Row of the List . .
Bottom Row of the List . .

GST item Location . . . 06
, 22
(Row,Col)
Length . . 05

Value A Location . . . 07
, 22
(Row,Col)
Length . . 15

Value B Location . . . 08
, 26
(Row,Col)
Length . . 04

Value C Location . . . 09
, 26
(Row,Col)
Length . . 07

Result
Location . . . 10
, 26
(Row,Col)
Length . . 07
2. Press NEXT to view the next GST request, press PREV to view the previous GST
request, or press End to return to the GST Entry Listing screen.
Delete a Request
The Hiperstation REXX Script Processor * GST screen (Figure 18-3 on page 18-2) displays
existing GST entries stored in the control file. If no entries exist, ** NONE ** is displayed.
1. To delete a request, type D next to the request and press Enter. The Confirm Delete
screen appears.
2. Press End to cancel the delete and return to the previous screen, or leave the
command line blank and press Enter, to delete the request.
Execute the Requests
When you execute the GST utility, Hiperstation runs all existing requests. If you do not
want to run a specific request, you must delete it before you execute the utility.
1. To execute the GST utility, on the Hiperstation REXX Script Processor * GST screen
(Figure 18-3 on page 18-2), type GO on the command line and press Enter. The GST
Execution screen (Figure 18-7) appears.
18-6
Hiperstation for VTAM User Guide
Figure 18-7. Hiperstation Script Processor * Execution Screen
------------------ Hiperstation Script Processor * Execution ------------------
Command ===>


blank Continue


Type the names of the script data sets below, then press Enter key

Do not specify the script/member name


Input Script Data Set:

Project . . . USER25

Group . . . . TRAINING

Type . . . . SCRIPTS


Other Partitioned Data Set:

Data Set Name . . .


Output Script Data Set:

Project . . . USER25

Group . . . . TRAINING

Type . . . . SCRIPTSX

Other Partitioned Data Set:

Data Set Name . . .

2. Enter the Input Script Data Set (PDS containing the recorded script), Other
Partitioned Data Set, and Output Script Data Set (PDS to contain the processed
output script. Do not specify the script/member name.
3. Press Enter to continue. The Hiperstation Script Processor * Execution Processing
screen (Figure 18-8) appears.
Figure 18-8. Hiperstation Script Processor * Execution Processing Screen
------------------ Hiperstation Script Processor * Execution ------------------
Option ===>


F Initiate Processing In Foreground.

B Initiate Processing In Background.


Input Script Data Set: 'USER25.TRAINING.SCRIPTS'

Output Script Data Set: 'USER25.TRAINING.SCRIPTSX'


INPUT SCRIPT NAME
OUTPUT SCRIPT NAME

PLAS
PLAS











Replace Existing Members . . . Y (Y/N)
4. The Input Script Data Set field specifies the script from the input PDS to be
processed. Enter an asterisk (*) to process all members in the PDS.
5. The Output Script Data Set field specifies the processed output script name to be
stored in the output PDS. If an * is specified as the input script, then you must also
specify an * in the output script name field.
6. Enter Y in the Replace Existing Members field to overwrite an existing member.
7. When you are ready to begin processing, type F on the command line and press Enter
to process the script in TSO foreground, or type B to process the script in TSO
background.
GST (Goods and Services Tax) Testing Utility
18-7
Examples
Following are examples of an original script, a script processed using the GST utility, and
a userproc created by the GST utility.
Figure 18-9. Original Script
************************************************************************
* CREATED BY USER: USER25 TPF: H01AC054 TIME: 14:35 DATE: 02/16/07
*
* DESC: GST utility demo script using plas transaction
*
************************************************************************
* LU: CW010002
TPF: H01AC054
LOGMODE: SNX32702
*
************************************************************************
<VERSION>7
<IMSUNLOK>N
<OUTPUT>0000001
<RESPONSE>00.00.011
<S01>
<S02>
<S03>
<S04>
<S05>
<S06>
<S07>
<S08>
<S09>
<S10>
<S11>
<S12>
<S13>
<S14>
<S15>
<S16>
<S17>
<S18>
<S19>
<S20>
<S21>
<S22>
<S23>
<S24>
</OUTPUT>
<BASETIME>02/16/07 14:35:54.677
<INPUT>0000002
<THINK>00.04.238 AT 00:00:00.000
<KEY>ENTER
<CURSOR>00,04
<I01>"plas "
</INPUT>
<OUTPUT>0000002
<RESPONSE>00.00.605
<S01>PLAS_____- ENTER EMPLOYEE NUMBER
<S02>
<S03>
*** COMPUWARE CORPORATION ***
<S04>
CICS PLAYBACK SAMPLE TRANSACTION
<S05>
<S06>
ENTER DESIRED EMPLOYEE NUMBER ABOVE:
<S07>
VALID EMPLOYEE NUMBERS ARE:
<S08>
11111
<S09>
22222
<S10>
33333
<S11>
44444
<S12>
55555
<S13>
<S14>
<S15>
<S16>
<S17>
DATE: 02/17/07
<S18>
TIME: 14:35:55
<S19>
<S20>
<S21>
<S22>
<S23>
<S24>
COPYRIGHT (C) 2007 COMPUWARE CORP. ALL RIGHTS RESERVED
</OUTPUT>
18-8
Hiperstation for VTAM User Guide
<INPUT>0000011
<THINK>00.02.312 AT 00:00:45.583
<KEY>ENTER
<CURSOR>00,06
<I01>"55555"
</INPUT>
<OUTPUT>0000011
<RESPONSE>00.00.125
<S01>PLAS
<S02>
<S03>
***COMPUWARE CORPORATION ***
<S04>
CICS PLAYBACK SAMPLE TRANSACTION
<S05>
<S06>
EMPLOYEE NUMBER: 55555
<S07>
EMPLOYEE NAME: MR. JOE GREEN
<S08> HOURS WORKED:
50
<S09> HOURLY RATE:
9.50
<S10> GROSS PAY:
475.00
<S11>
<S12>
<S13>
<S14>
<S15>
<S16>
<S17>
DATE: 02/16/07
<S18>
TIME: 14:36:41
<S19>
<S20>
<S21>
*** TRANSACTION COMPLETE ***
<S22>
PRESS ENTER TO CONTINUE
<S23>
OR CLEAR TO END
<S24>
</OUTPUT>
<INPUT>0000013
<THINK>00.04.318 AT 00:00:52.490
<KEY>CLEAR
</INPUT>
GST (Goods and Services Tax) Testing Utility
Figure 18-10. Script Processed Using GST Utility
* DATE: 05/29/07 TIME:10:26:08 VERSION: 01
*
* THIS SCRIPT HAS BEEN MODIFIED BY THE HIPERSTATION SCRIPT PROCESSOR
*
************************************************************************
************************************************************************
* CREATED BY USER: USER25 TPF: H01AC054 TIME: 14:35 DATE: 02/17/07
*
* DESC: GST utility demo script using plas transaction
*
************************************************************************
* LU: CW010002
TPF: H01AC054
LOGMODE: SNX32702
*
************************************************************************
<VERSION>7
/**********************************************************************/
/*
GST Processing REXX inserted 29 Jun 2007 10:26:07
*/
/**********************************************************************/
CALL gst_handle_init
<IMSUNLOK>N
<OUTPUT>0000001
<RESPONSE>00.00.011
<S01>
<S02>
<S03>
<S04>
<S05>
<S06>
<S07>
<S08>
<S09>
<S10>
<S11>
<S12>
<S13>
<S14>
<S15>
<S16>
<S17>
<S18>
<S19>
<S20>
<S21>
<S22>
<S23>
<S24>
</OUTPUT>
<BASETIME>02/17/07 14:35:54.677
<INPUT>0000002
<THINK>00.04.238 AT 00:00:00.000
<KEY>ENTER
<CURSOR>00,04
<I01>"plas "
</INPUT>
<OUTPUT>0000002
<RESPONSE>00.00.605
<S01>PLAS_____- ENTER EMPLOYEE NUMBER
<S02>
<S03>
*** COMPUWARE CORPORATION ***
<S04>
CICS PLAYBACK SAMPLE TRANSACTION
<S05>
<S06>
ENTER DESIRED EMPLOYEE NUMBER ABOVE:
<S07>
VALID EMPLOYEE NUMBERS ARE:
<S08>
11111
<S09>
22222
<S10>
33333
<S11>
44444
<S12>
55555
<S13>
<S14>
<S15>
<S16>
<S17>
DATE: 02/17/07
<S18>
TIME: 14:35:55
<S19>
<S20>
<S21>
<S22>
<S23>
<S24>
COPYRIGHT (C) 2007 COMPUWARE CORP. ALL RIGHTS RESERVED
18-9
18-10
Hiperstation for VTAM User Guide
</OUTPUT>
<INPUT>0000003
<THINK>00.02.312 AT 00:00:45.583
<KEY>ENTER
<CURSOR>00,06
<IO1>”55555”
</INPUT>
<OUTPUT>0000003
<RESPONSE>00.00.125
<S01>PLAS
<S02>
<S03>
** COMPUWARE CORPORATION ***
<SO4>
CICS PLAYBACK SAMPLE TRANSACTION
<S05>
<S06>
EMPLOYE NUMBER: 55555
<S07>
EMPLOYE NAME:
MR. JOE GREEN
<S08>
HOURS WORKED:
50
<S09>
HOURLY RATE:
9.50
<S10>
GROSS PAY:
475.00
<S11>

<S12>

<S13>

<S14>

<S15>

<S16>

<S17>
DATE: 02/16/07
<S18>
TIME: 14:36:41
<S19>

<S20>

<S21>
*** TRANSACTION COMPLETE ***
<S22>
PRESS ENTER TO CONTINUE
<S23>
OR CLEAR TO END
<S24>
</OUTPUT>
CALL gst handle
<INPUT>0000004
<THINK>00.04.318 AT 00:00:52.490
<KEY>CLEAR
</INPUT>
/***************************************************************
/*
GST Processing REXX inserted 29 Jun 2007 10:26:07
*
/***************************************************************
gst_handle_exit:
/*GST VSAM file will be freed with ddname GSTVSAM.*/
ADDRESS HSCMDS “FREE F(GSTVSAM)”
EXIT

gst_handle_init:
/* GST VSAM file will be allocated with ddname GSTVSAM.*/
/*Verify and correct VSAM dataset name
*/
ADDRESS HSCMDS “ALLOC F(GSTVSAM) DA(USER25.TRAINING.GSTKSDS) SHR REUSE”
HS_VSAM_DD=’GSTVSAM’
RETURN

gst_handle:
IF TPFNAME = '' THEN RETURN
/* Session Demo */
CALL format_the_screen
IF SUBSTR(the_screen,(01-1)*columns+02,4) = 'PLAS' &,
SUBSTR(the_screen,(10-1)*columns+05,5) = 'GROSS' THEN
DO
CALL gst_process_1
RETURN
END
IF SUBSTR(the_screen,(01-1)*columns+02,4) = 'PLAS' &,
SUBSTR(the_screen,(10-1)*columns+05,5) = 'GROSS' THEN
DO
CALL gst_process_2
RETURN
END
RETURN
GST (Goods and Services Tax) Testing Utility
gst_process_1:
/*Assigning GST variables */
gst_process_id = 1
gst_list_proc = ‘N’
item_no = SUBST(the_screen.(06-1)*columns+22.05)
value_a = SUBST(the_screen.(07-1)*columns+22.15)
value_b = SUBST(the_screen.(08-1)*columns+26.04)
value_c = SUBST(the_screen.(09-1)*columns+26.07)
value_r = SUBST(the_screen.(10-1)*columns+26.07)
IF item_no <> ‘ ‘ THEN
CALL process_a_gst_item
RETURN

gst_process_2:
/* Assigning GST variables */
gst_process_id = 2
gst_list_proc = 'Y'
gst_top_row
= 10
gst_bottom_row = 18
DO gi = gst_top_row to gst_bottom_row
item_no = SUBSTR(the_screen,(gi-1)*columns+22,05)
value_a = SUBSTR(the_screen,(gi-1)*columns+22,15)
value_b = SUBSTR(the_screen,(gi-1)*columns+26,04)
value_c = SUBSTR(the_screen,(gi-1)*columns+26,07)
value_r = SUBSTR(the_screen,(gi-1)*columns+26,07)
IF item_no = ' ' THEN LEAVE
CALL process_a_gst_item
END
RETURN

process_a_gst_item:
/*************************************************/
/* Now set parm to call PLASPROC .
*/
/* PLASPROC is first generated by the GST feature */
/* in the OUTPUT script dataset and
*/
/* may be modified by the client
*/
/*************************************************/
parm = item_no||'~'||value_a||'~'||value_b||'~'|| ,
value_c||'~'||value_r||'~'||
,
gst_process_id||'~'||OUTPUTNUM||'~'
,
gst_list_proc||'~'||gi||'~'
CALL PLASPROC
parm
RETURN

format_the_screen:
the_screen = TRANSLATE(screen,,XRANGE('00'x,'3F'x))
RETURN













18-11
18-12
Hiperstation for VTAM User Guide
Figure 18-11. USERPROC Created by the GST Utility
/********************* REXX ********************/
/* MEMBER: PLASPROC
*/
/* CREATED: 29 JUN 2007
*/
/* DESCRIPTION: This member is a REXX program */
/* used to process GST related information.
*/
PLASPROC
PARSE ARG arg_parm
PARSE VAR arg_parm item_no ‘~’ value_a ‘~’ value_b ‘~’,
value_c ‘~’ value_r ‘~’.
gst_process_id ‘~’ OUTPUTNUM ‘~’,
gst_list_proc ‘~’ gi ‘~’
/*now process a gst item */
say ‘ ******* GST variables ******************’
say ‘ gst_process_id = ‘gst_process_id
say ‘ get_list_proc = ‘gest_list_proc
say ‘ gi (row)
= ‘gi
say ‘ Variables
Length
Data
‘
say ‘ ---------------'
say ‘ item_no
:
LENGTH(item_no) ‘
‘ item_no
say ‘ value_a
:
LENGTH(value_a) ‘
‘ value_a
say ‘ value_b
:
LENGTH(value_b) ‘
‘ value_b
say ‘ value_c
:
LENGTH(value_c) ‘
‘ value_c
say ‘ value_r
:
LENGTH(value_r) ‘
‘ value_r
say ‘*****************************************’
HS_VSAM_DD = ‘GSTVSAM’

HS_VSAM_KEY = item_no
HS_VSAM_RC = 9999 /* set as bad return code */
ADDRESS HSCMDS “GETVSAMR”
/*****************************************/
/* HS_VSAM_RC :
Notes
*/
/*
0
;
Successful
*/
/*
4
;
No record found
*/
/*
8
;
HS_VSAM_DD problem
*/
/*
12
;
HS_VSAM_KEY problem
*/
/*
16
;
HS_VSAM_REC problem
*/
/*
20
;
HS_VSAM_DD OPEN error
*/
/*
24
;
Not licensed
*/
/*****************************************/
IF HS_VSAM_RC <> 0 then
DO
say ‘ Non-zero HS_VSAM_RC received : ‘HS_VSAM_RC
say ‘ Return code of 4 means NO RECORD FOUND.’
END
say “HS_VSAM_REC : ‘HS_VSAM_REC
/*add the code to use HS-VSAM REC here */
RETURN_VALUE = 0

RETURN RETURN_VALUE
19-1
Chapter 19.
Unattended Message Filters
Chap 19
Hiperstation for VTAM’s Unattended Message Filtering function creates new scripts by
taking existing scripts and removing certain messages. This function determines which
messages to include and which to exclude. You can use this function to:
• Simplify testing by producing scripts that contain a single message allowing you to
test one message at a time
• Remove messages that contain confidential data
• Reduce script size by eliminating messages of no interest
To filter a script, choose the messages to include or exclude by describing the screens in
those messages. You do not have to describe the screens exactly, and you do not have to
describe every screen. Often, you can describe just the first and last screens of a message,
and Hiperstation includes or excludes everything in between.
In addition to filtering based on screen descriptions, you can filter based on the user
input contained in the script, such as pressed function keys and typed data. For example,
If you know that a message starts when the user types PAYR and presses Enter, you can
have Hiperstation start including screens from the script when those conditions are met.
The message filter function can also filter unformatted scripts. These types of scripts are
usually produced for sessions involving LU0 devices, such as financial terminals. In these
cases, there are no recorded screens. You choose the start and end of the messages by
describing the content of the unformatted data streams.
How the Message Filter Works
The message filter program (EHSFLTR) starts with a source script dataset containing
already-recorded scripts. It processes this dataset and produces a target script dataset that
contains the new scripts. You can select a single member of a source dataset, a list of
members, or all members in the dataset for processing.
Tell Hiperstation how to process the scripts by supplying:
• A list of the messages to be included or excluded in the filter process
• A small REXX exit program for each message (you can either use interactive panels to
create the program or write your own).
The REXX exit program examines screen images in the scripts to decide if they match the
list of “filter” messages. Hiperstation for VTAM calls each exit for every input and output
contained in the source script, and then passes information on the current screen
contents to your exit program. The exit then decides whether the current screen is a
match for your filter message.
Hiperstation uses the results of your exit program to decide if the series of inputs and
outputs should be included or excluded from your target script dataset.
A description of an example message filtering batch job is provided in “Sample Message
Filtering Job” on page 19-23.
19-2
Hiperstation for VTAM User Guide
REXX Exit Processing
Every time Hiperstation sees an <INPUT> or <OUTPUT> group of script tags, it calls your
exit programs, one at a time, in the same order as you listed them in the SYSIN data. Each
exit looks at every piece of <INPUT> and <OUTPUT> data.
You supply the exit program with several REXX variables that it uses to decide if the
current screen (or input) matches something of interest. REXX variables are special
names that contain data from the Hiperstation script.
You can type the variable names in lowercase or uppercase. However, the case of the data
contained in the variables may be important.
Your exit program determines whether the current screen or input matches one of your
messages by setting the HS_MATCH variable. If the current screen or input is a match, set
HS_MATCH = 1. If not, set HS_MATCH = 0.
After all of your exit programs have run for a particular screen or user input, Hiperstation
looks at each HS_MATCH value set by each of your exits (the INCLUDE and EXCLUDE
statements). It stops as soon as HS_MATCH = 1 is found. Hiperstation starts with the
bottom exit in your list and works towards the top exit.
If HS_MATCH = 1 is not found, Hiperstation includes the screen or user input by default
and copies it to your target script dataset. You can change this default to exclude rather
than include by changing it to “CONTROL DEFAULT=EXCLUDE”.
If HS_MATCH = 1 is found, Hiperstation includes or excludes the screen or user input,
based on whether an INCLUDE or EXCLUDE exit is set on HS_MATCH.
If you supply more than one exit, the results from each exit (to include or exclude a
screen) may conflict. One exit might say INCLUDE a screen while another exit might say
EXCLUDE. Hiperstation resolves these conflicts with this rule: the exit closest to the
bottom that decides a screen is a match is the one that is used. For an EXCLUDE exit, the
screen is not copied to the target script dataset. For an INCLUDE exit, the screen is copied
to the target script dataset.
Deciding What Screens Are in a Message
You have probably already thought of a message to focus on from your collection of
scripts, perhaps to simplify testing you are about to perform. For example, you would like
to produce a new set of scripts that contain only the single message you have in mind.
After you have located the script dataset containing those scripts, the next step is to
decide what features in those scripts mark the start and end of your message.
Here are some guidelines for identifying the start of your message:
• If your message is always started with a unique command typed on the screen, you
can use an HS_INPUT.n variable in your REXX exit program to test for the command.
When you see the command, set HS_MATCH = 1.
• If your message is always started by typing a selection value from a menu, you can
look for that value in an HS_INPUT.n variable while also checking that the screen
contents (a title, for example) are what you expect (with an HS_OUTPUT.n variable).
• If your message is started by placing your cursor on a menu item and pressing Enter
or a PF key, you can test both of those items in your exit. Test the cursor location
with the HS_ROW and HS_COLUMN variables and test the key pressed with HS_KEY.
Also check that the screen contents (a title, for example) are what you expect (with
an HS_OUTPUT.n variable).
• If your message is started by pressing a PF key, test the HS_KEY variable in your exit.
Here are some guidelines for identifying the end of your message:
Unattended Message Filters
19-3
• If your message always includes screens that have a unique title or identification
label, you can look for that set of characters in your exit with an HS_OUTPUT.n
variable. As soon as you do not see that special set of characters, you can set
HS_MATCH = 0 as the signal to Hiperstation that the message is over.
• If your message always includes screens that have one of several identification labels,
you can put code in your exit that looks for any of those labels. Your exit contains a
list of the possible labels that are part of your message. You can use a REXX “DO
loop” to see if the current screen contains any of those labels. If your “DO loop”
never finds a match, you know that your message has ended and you let Hiperstation
know by setting HS_MATCH = 0.
• If your message ends when the user presses a unique PF key, you can test for that key
(with the HS_KEY variable) in your exit.
The most important part about deciding where your message starts and ends is knowing
what the screens look like in your message. The technique that you decide to use depends
on the nature and appearance of your message’s screens. You can use Hiperstation’s
session demo from ISPF to review the screens in your scripts. Session demo helps you
visualize the screen features that are good test items in your REXX exit programs.
There are two ways to filter Hiperstation messages. Use interactive forms to guide you
through the process, or write your own REXX exit program. Whichever method you
choose, the message filter works in the same way.
Interactive Message Filtering
With interactive message filtering, you fill in forms that help you write a REXX exit
program that filters the messages (see previous sections). It also gives you the option of
running in foreground or background mode.
1. To access message filtering, select Script Processors from the Hiperstation - Main
Menu. Then select option 9 Message Filtering on the Script Processors screen and
press Enter. The Message Filtering * Primary Options screen appears (Figure 19-1).
Figure 19-1. Message Filtering * Primary Options Screen
Hiperstation ----------- Message Filtering * Primary Options -------------------
Option ===>


Enter Filter dataset name and select option, then press ENTER


Filter dataset . . GMF.FILTERS


1 Generate Message Filtering REXX exit for
Formatted Scripts

2 Generate Message Filtering REXX exit for Unformatted Scripts

3 Execute Message Filtering

4 Override Defaults
2. Enter the name of a PDS to hold the filters in the Filter dataset field.
3. Select the option you wish to use, and press Enter. If the dataset name you have
entered does not exist, the Allocate Filter Dataset screen appears (Figure 19-2). The
filter dataset is the dataset that will contain the REXX exit programs you will use to
filter your scripts.
19-4
Hiperstation for VTAM User Guide
Figure 19-2. Allocate Filter Dataset Screen
Hiperstation ----------- Message Filtering * Primary Options ----------------
Option ===> 1
Ent ------------------------ Allocate Filter Dataset ------------------------+------------------------------------------------------------------------+
| Command ===>
|
|
|
1 | Press Enter to allocate the dataset, END to exit
|
2 |
|
3 | Data Set Name . . . : 'USER25.SE2.FILTERS'
|
4 |
|
| Volume Serial . . . .
|
| Space Units . . . . . TRKS
(TRKS or CYLS)
|
| Primary Quantity. . . 5
(In above units)
|
| Secondary Quantity. . 5
(In above units)
|
| Directory Blocks. . . 20
(Zero for sequential data set) |
| Record Format . . . . FB
|
| Record Length . . . . 80
|
| Block Size. . . . . . 6160
|
|
|
|
|
+------------------------------------------------------------------------+





















4. Enter the volume serial, space units, primary and secondary quantities, directory
blocks, record format, record length, and block size.
5. Press Enter to allocate the dataset, or use END to exit this screen without saving the
information.
Note: Specifications (the information you type or select on the various message filtering
forms) are contained in a control script located in a member with the same name
as your message/transaction, prefixed by a # sign. For example, if your
message/transaction is named test1, the control script for this dataset is named
#test1.
These scripts are created when you use the GO primary command to create the
REXX exit program that will filter your scripts. If this control script already
exists, Hiperstation reads it when you enter the Message/Transaction name you
supply in the next step, and will display the specifications on all subsequent
screens for you to view or change.
The Message Filter Primary Options screen reappears.
6. Type one of the following option numbers on the Option line and press Enter:
– Option 1: See “Generate Message Filtering REXX Exit for Formatted Scripts” on
page 19-4 for details.
– Option 2: See “Generate Message Filtering REXX Exit for Unformatted Scripts” on
page 19-7 for details.
– Option 3: See “Message Filtering Execution” on page 19-9 for details.
– Option 4: See “Override Defaults” on page 19-11 for details.
Generate Message Filtering REXX Exit for Formatted Scripts
Type 1 on the Option line of the Message Filtering * Primary Options screen (Figure 19-1
on page 19-3) and press Enter to filter formatted scripts. The Describe Start of Message for
Formatted Scripts screen appears (Figure 19-3).
Describe Start of Message for Formatted Scripts
Use this screen to specify how the formatted script messages you are looking for begin.
Unattended Message Filters
19-5
Figure 19-3. Describe Start of Message for Formatted Scripts Screen
Hiperstation --------- Describe Start of Message for Formatted Scripts---------
Command ===>


Describe the first screen of the transaction or message.

When completed, enter OK to proceed to the End of Message procedure

Other commands: DEFAULT, RESET, EDIT, CANCEL and GO(generate the REXX exit)


Name for Message/Transaction:

Filter dataset . . SES.FILTERS

Message or Transaction name . .
Replace . .
(Y,N)

Description:


Output:
Edit more than two output lines? N (Y,N)

AND/OR
EQ/NE
Row Col
Output Text





Input:
Edit more than two input lines?
N (Y,N)

AND
EQ Input Cursor Field

/OR /NE
Key Row Col No
Input Text
1. Enter the Message/Transaction Filter dataset member name. This field accepts a
maximum of seven characters.
2. Specify whether to Replace an output script member of the same name. Enter Y to
replace the member or N to keep the member.
3. Enter an optional Description that is written into the script.
4. Specify whether to edit more than two output lines.
– Enter N to use only the two lines that appear on this screen.
– Enter Y if you have more than two Boolean operations to perform. When you
press Enter, a multi-line screen appears where you can enter more than two
Boolean operations.
5. Enter your output:
– Enter your AND/OR boolean operator.
– Enter EQ to filter script text that is the same as the entered text or NE to filter
script text that is not the same as the entered text.
– Enter the row and column location of the output text. Shortcuts are R for right,
and B for bottom.
– Enter the Output Text you want to match. This field accepts characters and hex
(‘....’x). Leading and trailing blanks are removed unless used within quotes (‘).
6. Enter your input:
– Enter your AND/OR boolean operator.
– Enter EQ to filter script text that is the same as the entered text or NE to filter
script text that is not the same as the entered text.
– Enter the Input Key (valid 3270 attention keys).
– Enter the Cursor Row,Col location of the input text. Valid 3270 input cursor
numbers begin at 0.
– Enter the Input Field Number. Non-numeric is any wildcard. Field numbers begin
at 1.
– Enter the Input Text you want to match. This field accepts characters and hex
(‘....’x). Leading and trailing blanks are removed unless used within quotes (‘).
7. Perform one of the following actions to continue:
– Press Enter to verify the fields and remain on the current screen.
19-6
Hiperstation for VTAM User Guide
– Type OK on the command line and press Enter to advance to the Describe End of
Message for Formatted Scripts screen (Figure 19-4).
– Type GO and press Enter to create the REXX exit program and control script. The
Start of Message screen appears.
– Type Default and press Enter to advance to the Override Defaults screen.
– Type Edit and press Enter to invoke the ISPF editor for the specified REXX exit
program.
– Type Reset and press Enter to reset the ISPF variables.
– Type Cancel and press Enter to exit this screen and return to the Message
Filtering * Primary Options screen without saving your changes.
– Press END to return to the previous screen.
Describe End of Message for Formatted Scripts
Use this screen to specify how the formatted script messages you are looking for end.
Figure 19-4. Describe End of Message for Formatted Scripts Screen
Hiperstation --------- Describe End of Message for Formatted Scripts---------
Command ===>
Describe the last screen of the transaction or message.
When completed, enter GO to generate the REXX exit
Other commands: DEFAULT, RESET, EDIT, CANCEL and END(Start of Message)
Name for Message/Transaction:
Filter dataset . . SES.FILTERS
Message or Transaction name . . TEST2
Description:
Replace . . Y
Input:
AND
EQ
/OR /NE
Edit more than two input lines?
Input Cursor Field
Key Row Col No
Input Text
Output:
AND/OR
EQ/NE
Edit more than two output lines?
Row Col
Output Text
N (Y,N)
N (Y,N)



















The fields on this screen are the same as those on the Describe Start of Message for
Formatted Scripts.
1. See “Describe Start of Message for Formatted Scripts” on page 19-4 for the steps to
follow to fill in this screen.
2. After you have entered all of the information you need on this screen, type GO on
the command line and press Enter. Hiperstation runs the JCL to create the REXX exit
program, and returns messages similar to those below.
13:50:55
13:50:56
13:50:56
13:50:56
13:50:57
13:50:57
13:50:57
***
SPGMF035 WRITING CONTROL INFO: 'USER25.SES.FILTERS(#TEST1)'
SPGMF036 CONTROL INFO WRITE COMPLETE
SPGMF030 BEGINNING MESSAGE FILTER CREATION PROCESS
SPGMF031 WRITING REXX EXIT: 'USER25.SES.FILTERS(TEST1)'
SPGMF034 REXX EXIT WRITE COMPLETE
SPGMF035 REXX EXIT CREATION FINISHED.
RETURN CODE = 0
3. After these messages appear, press Enter. The previous screen appears and the
message “REXX exit created” appears on the screen.
4. Press End until you return to the primary message filtering screen. At this point, you
can create additional REXX exit programs by repeating this process, or choose option
Unattended Message Filters
19-7
3 Execute Message Filtering to run the REXX exit program you just created (see
“Message Filtering Execution” on page 19-9).
Note:
The DEFAULT, RESET, EDIT, CANCEL, AND END primary commands work the
same as those on the Describe Start of Message for Formatted Scripts. See step 7
on page 19-5 for details.
Generate Message Filtering REXX Exit for Unformatted Scripts
Type 2 on the Option line of the Message Filtering * Primary Options screen (Figure 19-1
on page 19-3) and press Enter to filter unformatted scripts. The Describe Start of Message
for Unformatted Scripts screen appears (Figure 19-5).
Describe Start of Message for Unformatted Scripts
Use this screen to specify how the unformatted script messages you are looking for begin.
Figure 19-5. Describe Start of Message for Unformatted Scripts Screen
Hiperstation -------- Describe Start of Message for Unformatted Scripts--------
Command ===>


Describe the first screen of the transaction or message.

When completed, enter OK to proceed to the End of Message procedure

Other commands: DEFAULT, RESET, EDIT, CANCEL and GO(generate the REXX exit)


Name for Message/Transaction:

Filter dataset . . SES.FILTERS

Message or Transaction name . .
Replace . .
(Y,N)

Description:


Output:
Edit more than two output lines? N (Y,N)

AND/OR
EQ/NE
Offset Output Text





Input:
Edit more than two input lines?
N (Y,N)

AND/OR
EQ/NE
Offset Input Text
1. Enter the Message/Transaction Filter dataset member name. This field accepts a
maximum of seven characters.
2. Specify whether to Replace an output script member of the same name. Enter Y to
replace the member or N to keep the member.
3. Enter an optional Description that is written into the script.
4. Specify whether to edit more than two output lines.
– Enter N to use only the two lines that appear on this screen.
– Enter Y if you have more than two Boolean operations to perform. When you
press Enter, a multi-line screen appears where you can enter more than two
Boolean operations.
5. Enter your input and output:
– Enter your AND/OR boolean operator.
– Enter EQ to filter script text that is the same as the entered text or NE to filter
script text that is not the same as the entered text.
– Enter the start position (Offset) of the target text, with numbering beginning at
1. Use a blank space as a wildcard, indicating any offset.
– Enter the Input Text and Output Text you want to match. This field accepts
characters and hex (‘....’x). Leading and trailing blanks are removed unless used
within quotes (‘).
19-8
Hiperstation for VTAM User Guide
6. Perform one of the following actions to continue:
– Press Enter to verify the fields and remain on the current screen.
– Type OK on the command line and press Enter to advance to the Describe End of
Message for Unformatted Scripts screen (Figure 19-6).
– Type GO and press Enter to create the REXX exit program and control script. The
Start of Message screen appears.
– Type Default and press Enter to advance to the override Defaults screen.
– Type Edit and press Enter to invoke the ISPF editor for the specified REXX exit
program.
– Type Reset and press Enter to reset the ISPF variables.
– Type Cancel and press Enter to exit this screen and return to the Message
Filtering * Primary Options screen without saving your changes.
– Press END to return to the previous screen.
Describe End of Message for Unformatted Scripts
Use this screen to specify how the formatted script messages you are looking for end.
Figure 19-6. Describe End of Message for Unformatted Scripts Screen
Hiperstation -------- Describe End of Message for Unformatted Scripts--------
Command ===>
Describe the last screen of the transaction or message.
When completed, enter GO to generate the REXX exit
Other commands: DEFAULT, RESET, EDIT, CANCEL and END(Start of Message)
Name for Message/Transaction:
Filter dataset . . SES.FILTERS
Message or Transaction name . . TEST1
Description:
Replace . . Y
Input:
AND/OR
Edit more than two input lines?
Offset Input Text
N (Y,N)
EQ/NE
Output:
AND/OR
Edit more than two output lines?
Offset Output Text
N (Y,N)
EQ/NE


















The fields on this screen are the same as those on the Describe Start of Message for
Unformatted Scripts screen.
1. See “Describe Start of Message for Unformatted Scripts” on page 19-7 for the steps to
follow to fill in this screen. Then proceed to the next step.
2. Type GO on the command line and press Enter. Hiperstation runs the JCL to create
the REXX exit program, and returns a message similar to the one below.
13:50:55
13:50:56
13:50:56
13:50:56
13:50:57
13:50:57
13:50:57
***
SPGMF035 WRITING CONTROL INFO: 'USER25.SES.FILTERS(#TEST1)'
SPGMF036 CONTROL INFO WRITE COMPLETE
SPGMF030 BEGINNING MESSAGE FILTER CREATION PROCESS
SPGMF031 WRITING REXX EXIT: 'USER25.SES.FILTERS(TEST1)'
SPGMF034 REXX EXIT WRITE COMPLETE
SPGMF035 REXX EXIT CREATION FINISHED.
RETURN CODE = 0
3. After these messages appear, press Enter. The previous screen appears and the
message “REXX exit created” appears on the screen.
Unattended Message Filters
19-9
4. Press End until you return to the primary message filtering screen. At this point, you
can create additional REXX exit programs by repeating this process, or choose option
3 Execute Message Filtering to run the REXX exit program you just created (see
“Message Filtering Execution” on page 19-9).
Note: The DEFAULT, RESET, EDIT, CANCEL, and END primary commands work the same
as those on the Describe Start of Message for Formatted Scripts. See step 7 on
page 19-5 for details.
Message Filtering Execution
1. Type 3 Execute Message Filtering on the Option line of the Message Filtering *
Primary Options screen (Figure 19-1 on page 19-3) and press Enter to run the REXX
exit program created from the information you entered in earlier screens. The
Hiperstation Message Filtering * Execution screen appears (Figure 19-7).
Figure 19-7. Message Filtering Execution Screen 1
----------------- Hiperstation Message Filtering * Execution ----------------
Command ===>
blank Continue
Type the names of the script data sets below, then press Enter key
Do not specify the script/member name
Input Script
Project .
Group . .
Type . .
Data Set:
. . USER25
. . GMF
. . SCRIPTS
Other Partitioned Data Set:
Data Set Name . . .
Output Script Data Set:
Project . . . USER25
Group . . . . GMFOUT
Type . . . . SCRIPTS
Other Partitioned Data Set:
Data Set Name . . .




















2. Enter the name of the PDS containing the recorded scripts to be processed, and the
name of the PDS to use for storing the output scripts created by message filtering. Do
not enter script or member names on this screen, only file names.
The input PDS and the output PDS can be the same file, but must already exist, and
must be PDSs. If you enter an invalid PDS, an error message appears when you press
Enter. Press PF1 for a more detailed explanation of the error, including which PDS is
invalid.
3. Press Enter to continue. Figure 19-8 appears.
19-10
Hiperstation for VTAM User Guide
Figure 19-8. Message Filtering Execution Screen 2
----------------- Hiperstation Message Filtering * Execution ----------------
Option ===>
F
B
Initiate Processing In Foreground.
Initiate Processing In Background.
CONTROL DEFAULT
REPLACE
COMMENT
. . . . INCLUDE
. . . . NO
. . . . NO
Report File ...
*
Input Script Data Set: 'USER25.GMF.SCRIPTS'
Output Script Data Set: 'USER25.GMFOUT.SCRIPTS'
Select the Scripts to be processed (* for entire Dataset)
Message filters
TYPE
NAME


















PARM
If you entered the same dataset name for both the input and output script datasets and
did not change the REPLACE field to YES, an error message appears when you select
either F (process the scripts in TSO foreground) or B (process the scripts in TSO
background) and press Enter. The error message, OUTPUT SCRIPT EXISTS, can be cleared
by:
• Returning to the original execution screen (Figure 19-7 on page 19-9) and changing
one of the dataset names to another dataset that exists and is a PDS,
OR
• Changing the REPLACE field to YES. The original input script dataset is then
overwritten by the output script dataset.
1. Enter the Control Default information. This setting controls the first step in message
filtering — either to include everything in the script or to exclude everything in the
script.
– INCLUDE retains all of the information from the original script.
– EXCLUDE discards all of the information in the original script.
See Message filters below if you want to retain or exclude only a portion of the
information from the original script.
2. Enter the Control Replace information. Y replaces existing scripts with the same
name in the target dataset. N keeps existing scripts with the same name.
3. Enter the Control Comments information. Y converts screens and inputs into
comments within your scripts. N removes screens and inputs while leaving a single
comment line.
4. Enter the Report File name. This dataset must be preallocated. Enter an * to use
SYSOUT or terminal.
5. Enter the Input Script and Output Script dataset names from the input PDS to
process. Enter * to process all members in the PDS.
6. Type INCLUDE or EXCLUDE in the Message Filters TYPE column.
You will always use the INCLUDE Message filter with the EXCLUDE Default
parameter. You will always use the EXCLUDE Message filter with the INCLUDE
Default parameter. If you use INCLUDE for both, or EXCLUDE for both, they will
cancel each other out, and filtering will either include everything in the original
script or nothing.
For example, if you want a new script to include only the information that matches
the filter, specify EXCLUDE in the Default parameter (to exclude everything) and
specify INCLUDE in Message filters to include the information set by the filter. The
Unattended Message Filters
19-11
end result is that only the information from the INCLUDE filter is included in the
new script — nothing from the original script is included.
If you want a new script to include everything except what matches the filter, specify
INCLUDE in the Default parameter (to include everything) and specify EXCLUDE in
Message filters to exclude the information set by the filter. The end result is that
everything from the original script is included except the information set in the
EXCLUDE filter.
7. Type the REXX program name in the Message Filters NAME column. See “Example
2: Find Only Output Screens” on page 19-13 for a sample REXX program.
8. Fill in the PARM column with any constant data needed by your REXX program.
9. Type either an F (foreground) or B (background) on the option line and press Enter to
generate the REXX program.
– In foreground execution, the message filtering program EHSFLTR generates a
summary report and messages that appear on your screen during execution.
– In background execution, the Message Filtering Background Execution screen
appears (Figure 19-9).
Figure 19-9. Message Filtering Background Execution Screen
----------- Hiperstation Message Filtering * Background Execution -----------
Command ===>
Go To generate and display the JCL
End To Exit without submitting
Specify jobcard information:
// USER25 JOB (ACCT#)
//
//
//
//












Sysout Class For Output Messages . . . *
10. Enter the JCL jobcard information to use for the background message filtering job on
this screen.
11. Enter the Sysout Class for Output Messages. The message filtering program EHSFLTR
generates a summary report and some messages. This field specifies the SYSOUT class
to store these outputs. These outputs appear on the user’s screen during foreground
execution.
12. Type GO on the option line to build and display the JCL for execution.
Override Defaults
To override defaults set for message filtering, specify option 4 Override Defaults on the
Option line of the Message Filtering Primary Option screen. You can also access these
defaults by typing DEFAULT on the command line of any message filtering screen and
pressing Enter. The Override Defaults screen appears (Figure 19-10).
19-12
Hiperstation for VTAM User Guide
Figure 19-10. Override Defaults Screen with Sample Settings
Hiperstation ------------------------ Override Defaults------------------------
Command ===>


Review and modify the defaults that determine which inputs and outputs will be 
included in your filtered message. Press PF3 to save and exit.

Type RESET to restore default values.

Press PF1 for an explanation of the settings.


Filter Definition
Default

Start of message is described by outputs only
PREVIOUS

Start of message is described by inputs only
CURRENT

Start of message is described by outputs and inputs
CURRENT


End of message is described by outputs only
CURRENT

End of message is described by inputs only
PREVIOUS

End of message is described by inputs and outputs
CURRENT


Output text is Case Sensitive
Y

Output text attribute sensitive
Y

Input text is Case Sensitive
N
In REXX exit processing, there are three important values — HS_EXITTYPE, HS_MATCH,
and HS_WHICH. Hiperstation assumes that a series starts with an input and a series
finishes with an output. The default value of HS_WHICH is set to follow these rules.You
can override this value by entering either CURRENT, PREVIOUS, or, NEXT. These values
are dependent on the values for HS_EXITTYPE shown below.
For:
Enter:
Start of message is described by outputs only
PREVIOUS
Start of message is described by inputs only
CURRENT
Start of message is described by outputs and inputs
CURRENT
End of message is described by outputs only
CURRENT
End of message is described by inputs only
PREVIOUS
End of message is described by outputs and inputs
CURRENT
In addition to HS_EXITTYPE, HS_MATCH, and HS_WHICH, you can also override
defaults for:
For:
Enter:
Output text is case sensitive
Y or N (Default is Y)
Output text is attribute sensitive
Y or N (Default is Y)
Input text is case sensitive
Y or N (Default is N)
HS_EXITTYPE is assigned based on how you describe start of message and the end of
message. This value is fixed (you cannot change these values) as shown below:
For:
Enter:
Start of message is described by outputs only
OUTPUT
Start of message is described by inputs only
INPUT
Start of message is described by outputs and inputs
INPUT
End of message is described by outputs only
OUTPUT
End of message is described by inputs only
INPUT
End of message is described by outputs and inputs
OUTPUT
Unattended Message Filters
19-13
HS_MATCH=1 for start of message and HS_MATCH=0 for end of message, based on how
you described the start and end of messages.
Manual Message Filtering - Coding Examples
REXX has powerful features that save you time and effort. This section provides examples
of REXX exit programs for use by the Message Filtering Utility. These examples
demonstrate some REXX coding techniques that can help you write your own exits.
For a complete description of the REXX language, see the IBM REXX manuals.
Tips
• REXX provides the TRACE statement to help you understand and debug your exit
programs. To see information about your exits and the data they are manipulating,
add a TRACE R statement to the beginning of your exit programs.
• You cannot call any other routines from within your exit program. In addition, you
cannot put any labels (name followed by a colon) in your exit program. The REXX
INTERPRET statement runs your exit statement. For details, see the description of the
INTERPRET statement in the REXX manuals.
• Your exit program is not called as a subroutine. You do not need to issue a PARSE
ARG statement in your exit program to access the variables provided by Hiperstation.
• You cannot have a label or a PROCEDURE statement within your exit.
• Continue lines within your exit by using the REXX continuation character, which is
a comma (,). If you want to continue lines, the comma must be the last non-blank
character on the line. You cannot put any comments (/* … */) after the comma if you
want the comma interpreted as the continuation character.
Note:
This convention differs from normal REXX code.
Example 1: Find All Screens with a Common Eyecatcher
We want to find all screens in our scripts that have a certain “eyecatcher” (a set of
characters that help you recognize a screen) on the top left corner. The example shown in
Figure 19-11 looks for the eye catcher: EDIT.
Figure 19-11. Look for a Common Eyecatcher
/* Hiperstation 3270 filter: All screens with the eye catcher ’EDIT’ */ 

if hs_exittype = ’OUTPUT’ then do
if SUBSTR(hs_output.1,1,4) = ’EDIT’ then
hs_match = 1
end
else
hs_match = 0
Example 2: Find Only Output Screens
The code in Figure 19-12 finds only output screens that contain PLAF on the first line.
Then set Default to EXCLUDE and set the filter type to INCLUDE. To include all
messages except output screens that contain PLAT on the first line, use the same filter, but
set Default to INCLUDE and the filter type to EXCLUDE.
See Figure 19-8 on page 19-10 and the description of the Default and Message Filters field
definitions on page 19-10 for detailed information on how to use the Default parameter
and the INCLUDE and EXCLUDE filters.
19-14
Hiperstation for VTAM User Guide
Figure 19-12. Find Only Output Screens that Contain PLAF on the First Line
IF (hs_exittype = 'OUTPUT') & (POS('PLAF',hs_output.1) > 0) THEN
hs_match = 1 
ELSE 
hs_match = 0 
Example 3: Find All Screens from a List
The code in Figure 19-13 finds all screens in our scripts that have an eye catcher on row
24 that matches a list of known words.
Figure 19-13. Look for a Set of Screens
/* Hiperstation 3270 filter: All screens in a list */

mine.0 = 5
mine.1 = ’ISD011’
mine.2 = ’ISD023’
mine.3 = ’ISD042’
mine.4 = ’ISD043’
mine.5 = ’ISD049’ 

if hs_exittype = ’OUTPUT’ then do
hs_match = 0
do i = 1 to mine.0 while hs_match = 0
eyecatcher = mine.i
if SUBSTR(hs_output.24,1,6) = eyecatcher then
hs_match = 1
end
end
else
hs_match = 0

Example 4: Convert a Script to Inputs Only
Figure 19-14 converts a script from its standard form of inputs and outputs into a new
script containing only inputs. An “inputs only” script is useful for stress testing if you are
not concerned with data comparisons at playback time. Eliminating the outputs saves
space in the script dataset.
Figure 19-14. Convert to Inputs Only
/* Hiperstation 3270 filter: Inputs only */

if hs_exittype = ’INPUT’ then
hs_match = 1
else do
hs_match = 0
hs_which = ’Previous’
end

Example 5: Check for a Combination of Screen Items
Figure 19-15 keeps a message that starts with a screen containing several specific eye
catchers. This ensures that we do not get any screens that look similar but are not exactly
right.
Unattended Message Filters
19-15
Figure 19-15. Look at Several Areas on the Screen
/* Hiperstation 3270 filter: Look at several areas on the screen */

if hs_exittype = ’OUTPUT’ then do
row_count
= hs_output.0
/* Number of rows on screen
col_count
= length(hs_output.1)
/* Number of cols on screen

upper_left
= substr(hs_output.1,2,4)
/* 2: 5
upper_right = substr(hs_output.1,col_count-3,3)
/* 77:79
lower_left
= substr(hs_output.row_count,2,6)
/* 2: 7
lower_right = substr(hs_output.row_count,col_count-7,8) /* 73:80

if upper_left = ’EDIT’
&,
upper_right = ’072’
&,
lower_left = ’******’
&,
lower_right = ’********’
then
hs_match = 1
end
else
hs_match = 0

*/
*/

*/
*/
*/
*/

Message Filter REXX Variables
This section describes the message filter REXX variables available for exit programs.
Note:
The variable names are not case sensitive. You can type them in lowercase or
uppercase.
HS_MATCH
HS_MATACH defines whether screens (and inputs) are part of the messages that you want
to filter. When your exit is called the first time for a particular script, HS_MATCH
contains the value 0. Before your exit returns, you set HS_MATCH to a value of 1 if the
current input or output is a match for your message. You set it to a value of 0 if the
current input or output does not match your message. If your exit cannot tell if the
current input or output matches your message, leave HS_MATCH set at its value on entry.
On each subsequent entry to your REXX exit program, HS_MATCH contains the last
value (0 or 1) set by you.
The value of HS_MATCH, by itself, does not indicate inclusion or exclusion. This value
indicates only whether an input or output matches a message that you want to process
further. Deciding what to do with a matching message depends on whether your exit is
named on an INCLUDE or EXCLUDE statement. Hiperstation tries to create a script that
can be played back successfully. By default, Hiperstation starts a series with an input and
finishes a series with an output.
• If you start a series (HS_MATCH = 1) on an input, that input is the first in your series.
• If you start a series (HS_MATCH = 1) on an output, the previous input (or output) is
the first in your series.
• If you finish a series (HS_MATCH = 0) on an output, that output is the last in your
series.
• If you finish a series (HS_MATCH = 0) on an input, the previous output (or input) is
the last in your series.
Hiperstation takes these default actions in an attempt to group an entire message, which
is defined as an initial input, any number of intervening outputs and inputs, and then a
final output.
The value of HS_MATCH is the indication that a series of inputs and outputs is starting or
finishing. The details of whether the current or previous input or output is part of that
19-16
Hiperstation for VTAM User Guide
series is handled as described above. There might be some circumstances where you want
a series of inputs and outputs to follow a different behavior than the default. You can
change the default action for a series of inputs and outputs by setting the HS_WHICH
variable in your exit, as described below.
HS_WHICH
HS_WHICH is set by your exit if you want to change the default behavior of Hiperstation
when starting or finishing a series of inputs and outputs. HS_WHICH is the null string
when passed to your exit. You can set HS_WHICH to a value of “Previous”, “Current”, or
“Next” to change the default action that Hiperstation takes when you are starting or
finishing a series of inputs and outputs.
HS_WHICH = “Previous” makes the previous input or output a part of the series.
HS_WHICH = “Current” makes the current input or output a part of the series.
HS_WHICH = “Next” makes the next input or output a part of the series.
• If you start a series (HS_MATCH = 1) on an input, HS_WHICH = "Current" is the
default action.
• If you start a series (HS_MATCH = 1) on an output, HS_WHICH = "Previous" is the
default action.
• If you finish a series (HS_MATCH = 0) on an output, HS_WHICH = "Current" is the
default action.
• If you finish a series (HS_MATCH = 0) on an input, HS_WHICH = "Previous" is the
default action.
You need to supply only the first character for the HS_WHICH value in either lowercase
or uppercase (HS_WHICH = “C”, etc.). If you want Hiperstation to use its default action,
leave the HS_WHICH variable set to the null string.
HS_EXITTYPE
Contains either the word INPUT or the word OUTPUT, in uppercase. If HS_EXITTYPE is
INPUT, then your exit is being called because Hiperstation saw an <INPUT> group in the
current script. If HS_EXITTYPE is OUTPUT, then your exit is being called because
Hiperstation saw an <OUTPUT> group in the current script.
HS_KEY
Contains the name of the key the user pressed that caused the <INPUT>. HS_KEY
contains one of the following values, in uppercase: ENTER, PF1, …, PF24, PA1, PA2, PA3,
CLEAR.
If HS_EXITTYPE is INPUT, then HS_KEY is for the current <INPUT>.
If HS_EXITTYPE is OUTPUT, then HS_KEY is for the previous <INPUT>. If there has been
no previous <INPUT> in the script, HS_KEY is set to the null string (a string length of 0,
for example, HS_KEY = ‘’).
If the script is unformatted, HS_KEY is the null string.
HS_ROW
Contains the row number where the terminal cursor is located. For the cursor location,
this row number begins at 0.
If HS_EXITTYPE is INPUT, then HS_ROW is for the current <INPUT>.
If HS_EXITTYPE is OUTPUT, then HS_ROW is for the previous <INPUT>. If there has been
no previous <INPUT> in the script, HS_ROW is set to the null string.
Unattended Message Filters
19-17
If the script is unformatted, HS_ROW is the null string.
HS_COLUMN
Contains the column number where the terminal cursor is located. For the cursor
location, this column number begins at 0.
If HS_EXITTYPE is INPUT, then HS_COLUMN is for the current <INPUT>.
If HS_EXITTYPE is OUTPUT, then HS_COLUMN is for the previous <INPUT>. If there has
been no previous <INPUT> in the script, HS_COLUMN is set to the null string.
If the script is unformatted, HS_COLUMN is the null string.
HS_INPUT.0
Contains the number of the last input field on the screen that the user changed. This
value can be from 0 to the total number of input fields on the screen (not necessarily the
number of fields on the screen that the user changed). For example, if the screen contains
20 input fields and the user typed in two fields, numbered 5 and 10, then HS_INPUT.0 is
set to 10.
If HS_EXITTYPE is INPUT, then HS_INPUT.0 is for the current <INPUT>.
If HS_EXITTYPE is OUTPUT, then HS_INPUT.0 is for the previous <INPUT>. If there has
been no previous <INPUT> in the script, HS_INPUT.0 is set to 0.
If the script is unformatted, HS_INPUT.0 is set to 0.
HS_INPUT.n
Contains the data the user typed in input field number “n” on the screen. The data the
user typed can be a mixture of lowercase and uppercase.
The part of the variable name after the dot can be from 1 to the number of the last input
field on the screen. These variable names are HS_INPUT.1, HS_INPUT.2, and so forth.
Each variable name represents a different input field on the screen.
If the user did not change any data in the input field, the value is the null string. If the
user cleared the input field with the Erase to End-of-Field (Erase EOF) key, the value is the
null string.
If HS_EXITTYPE is INPUT, then HS_INPUT.n is for the current <INPUT>.
If HS_EXITTYPE is OUTPUT, then HS_INPUT.n is for the previous <INPUT>. If there has
been no previous <INPUT> in the script, HS_INPUT.n is the null string.
If the script is unformatted, HS_INPUT.n is the null string.
HS_OUTPUT.0
Contains the number of rows on the screen. For example, with a Model 2 terminal that
contains 24 rows and 80 columns, HS_OUTPUT.0 is 24.
If HS_EXITTYPE is OUTPUT, then HS_OUTPUT.0 is for the current <OUTPUT>.
If HS_EXITTYPE is INPUT, then HS_OUTPUT.0 is for the previous <OUTPUT>. If there has
been no previous <OUTPUT> in the script, HS_OUTPUT.0 is set to 0.
If the script is unformatted, HS_OUTPUT.0 is set to 0.
19-18
Hiperstation for VTAM User Guide
HS_OUTPUT.n
Contains the content of row number “n” on the screen. The data in this variable can be a
mixture of lowercase, uppercase, special characters, blanks (‘40’x), nulls (‘00’x), and 3270
field attribute bytes.
If a byte is ‘02’x, it represents a 3270 field attribute value of ‘00’x. It is shown as ‘02’x
rather than ‘00’x so you can distinguish between a null character and a zero-valued
attribute byte.
All attribute bytes have their upper two bits set to 0 (bits 0 and 1). Therefore, a byte might
be an attribute if its value is less than ‘40’x, but not ‘00’x. Some characters that are not
attribute bytes can appear in the screen image with a value less than ‘40’x, such as the
SUB character (‘3F’x).
The part of the variable name after the dot can be from 1 to the value in the
HS_OUTPUT.0 variable. These variable names are HS_OUTPUT.1, HS_OUTPUT.2, etc.
Each variable name represents a different row on the screen.
If HS_EXITTYPE is OUTPUT, then HS_OUTPUT.n is for the current <OUTPUT>.
If HS_EXITTYPE is INPUT, then HS_OUTPUT.n is for the previous <OUTPUT>. If there has
been no previous <OUTPUT> in the script, HS_OUTPUT.n is the null string.
If the script is unformatted, HS_OUTPUT.n is the null string.
HS_PARM
Contains the value supplied on the INCLUDE or EXCLUDE statement with the PARM
keyword. This value can contain any characters other than blanks (‘40’x), commas
(‘6B’x), and parentheses (‘4D’x and ‘5D’x).
HS_SCRIPT
Contains the name, in uppercase, of the script currently being processed.
HS_FORMAT
Contains the value 1 if the script is formatted or the value 0 if the script is unformatted
(contains the <HEX> tag).
If HS_FORMAT is 1, then HS_INPUT.n and HS_OUTPUT.n contain relevant values and
HS_INPUT_STREAM and HS_OUTPUT_STREAM are set to the null string.
If HS_FORMAT is 0, then HS_INPUT.n and HS_OUTPUT.n do not contain relevant values
but HS_INPUT_STREAM and HS_OUTPUT_STREAM do.
HS_INPUT_SEQUENCE
Contains a number that shows how many <INPUT> groups have been seen in the script
so far. This value starts at 0. This value is not necessarily the same as the value on the
<INPUT> tag.
HS_OUTPUT_SEQUENCE
Contains a number that shows how many <OUTPUT> groups have been seen in the script
so far. This value starts at 0. This value is not necessarily the same as the value on the
<OUTPUT> tag.
Unattended Message Filters
19-19
HS_INPUT_STREAM
Contains the contents of the unformatted data stream for the most recent <INPUT>. The
value is the true binary contents of the <HEX> tag, not the human readable translation.
For example, you might test its contents like this:
if hs_input_stream = ’610101’x then ...
If the script is formatted, HS_FORMAT is set to 1 and HS_INPUT_STREAM is the null
string.
HS_OUTPUT_STREAM
Contains the contents of the unformatted data stream for the most recent <OUTPUT>.
The value is the true binary contents of the <HEX> tag, not the human readable
translation. For example, you might test its contents like this:
if hs_output_stream = ’610101’x then ...
If the script is formatted, HS_FORMAT is set to 1 and HS_OUTPUT_STREAM is the null
string.
Message Filter Statements
Following is a complete list of the statements you can choose as the SYSIN input to the
filter program.
Syntax Rules
The syntax rules for message filter statements are:
• Enter statements beginning in any column.
• If an asterisk (*) is the first non-blank character in a statement, that statement is a
comment and is not interpreted.
• You can continue statements, including comment statements, on subsequent lines by
supplying a comma as the last non-blank character on the line.
• Any place you can use a blank, you can also use a comma instead.
• The statement name must be separated from the first keyword by one or more blanks.
• You can use a keyword only once on a statement.
• Exactly one equal sign (=) must separate a keyword from its value. You can put any
number of blanks on either side of the equal sign.
• If a keyword is permitted to have several values, supply those values surrounded by
parentheses and separated by any number of blanks on either side of the parentheses.
If this is the last keyword on the statement, you can omit the closing parenthesis.
• Subsequent keywords on the same statement must be separated from the values of
the previous keyword by one or more blanks.
• The value for a keyword cannot contain any blanks, commas, or parentheses since
these are used to delimit statement names, keywords, and values.
• Single and double quotation marks do not have any special significance. If they are
supplied as part of a keyword’s value, they are interpreted as part of the value.
19-20
Hiperstation for VTAM User Guide
CONTROL Statement
Use this statement to set options for the filter program. This statement is optional, and
can be supplied only once.
DEFAULT=INCLUDE|EXCLUDE
Indicates whether to include or exclude source script screens and user inputs from
the target script dataset if no exit program makes that decision. If you do not supply
a DEFAULT keyword, DEFAULT=INCLUDE is used. All screens and user inputs are
included in the target script dataset.
REPLACE=NO|YES
Indicates whether existing scripts are replaced in the target script dataset. If you do
not supply a REPLACE keyword, REPLACE=NO is used. Existing scripts in the target
script dataset are not replaced.
COMMENT=NO|YES
Indicates whether excluded lines in a script are changed into comments in the target
script dataset. If you do not supply a COMMENT keyword, COMMENT=NO is used.
Excluded lines are removed from the target script dataset rather than changed into
comments. Enter COMMENT=YES if you want to see all of the script lines that
Hiperstation has excluded because of your message filtering requests. The excluded
lines all start with the Hiperstation script comment character, which is the asterisk
(*).
INDD=input_script_ddname
The JCL ddname of the source script dataset. This is where your original scripts are
located. If you do not supply an INDD keyword, INDD=INPUT is used.
OUTDD=output_script_ddname
The JCL ddname of the target script dataset. This is where the new scripts are written.
If you do not supply an OUTDD keyword, OUTDD=OUTPUT is used.
REXXDD=rexx_exit_ddname
The JCL ddname of the dataset containing your REXX exit programs. If you do not
supply a REXXDD keyword, REXXDD=REXX is used.
REPORTDD=report_ddname
The JCL ddname of the sequential file (DASD or SYSOUT) where Hiperstation will
write the summary report. The summary report specifies which scripts were processed
and the number of <INPUT> and <OUTPUT> tags excluded from each script. If you
do not supply a REPORTDD keyword, Hiperstation uses REPORTDD=SYSPRINT.
Unattended Message Filters
19-21
SELECT Statement
Use this statement to select the scripts from the source script dataset to process. This
statement is optional, and can be supplied only once. If you do not supply a SELECT
statement, the entire source script dataset is used.
SCRIPT=(member_1 member_n)
Supplies the list of scripts to be processed. If you want to process a single script,
enclosing it in parentheses is optional. If you want to process a list of scripts, you
must enclose the list in parentheses. Separate each member with a blank.
INCLUDE Statement
Use this statement to choose screens and user inputs to include in the target script
dataset. At least one INCLUDE or EXCLUDE statement must be supplied. You can supply
this statement any number of times.
TRAN=name
Supplies the name of the REXX exit program, which you have written, that decides
what screens and user inputs are copied to the target script dataset. Since “name” is a
member in a dataset, it must conform to the naming requirements for dataset
members. This keyword is required.
You can process a list of messages on a single INCLUDE statement by enclosing the
list of names in parentheses. Separate each name with a blank.
PARM=exitparm
Supplies a value that can be used by the exit program you have written. You can
supply any value that does not contain blanks, commas, or parentheses. The PARM
keyword is optional.
You might use the PARM keyword if you have written a general purpose REXX exit
program, and the exit needs special control information passed to it. If you want to
supply a value that is made up of several logical parts, you can use a character such as
a slash (/) to delimit the parts. For example:
INCLUDE TRAN=X@FIND PARM=/dick/jane/bill/sally/
Your exit must do any “parsing” necessary to handle pieces of the PARM value.
EXCLUDE Statement
Use this statement to exclude screens and user inputs from the target script dataset. At
least one EXCLUDE or INCLUDE statement must be supplied. You can supply this
statement any number of times.
19-22
Hiperstation for VTAM User Guide
TRAN=name
Supplies the name of the REXX exit program, which you have written, that decides
what screens and user inputs are excluded from the target script dataset. Since
“name” is a member in a dataset, it must conform to the naming requirements for
dataset members. This keyword is required.
You can process a list of messages on a single EXCLUDE statement by enclosing the
list of names in parentheses. Separate each name with a blank.
PARM=exitparm
Supplies a value that can be used by the exit program you have written. You can
supply any value that does not contain blanks, commas, or parentheses. The PARM
keyword is optional.
Running the Message Filter Program
The message filter program is run as a TSO command processor, normally in a batch job.
The input to the program is a set of control statements and a set of DD statements. The
control statements are pointed to by the SYSIN DD statement. If you wish, you can use a
different ddname. To use a different ddname, supply that ddname as the first parameter
to the EHSFLTR program, as follows:
000400 //IEFPROC
…
001400 //MYCNTL
EXEC PGM=IKJEFT01,PARM=’EHSFLTR MYCNTL’
DD *
(<--- instead of SYSIN)
The program IKJEFT01 is IBM’s TSO terminal monitor program for MVS. By submitting a
batch job that runs IKJEFT01, you are running TSO as a batch job. The EHSFLTR program
supplied by Compuware uses features that are available only under TSO. TSO is necessary
to run the EHSFLTR program.
The three DD statements in the JCL list the source script dataset, the target script dataset,
and the REXX dataset containing your exit programs. By default, the DD names for these
three datasets are INPUT, OUTPUT, and REXX, respectively. The message filter program
does not support multiple dataset names per ddname. Each DD statement you supply
must name a single dataset, not a concatenation of datasets.
Message Filter Summary Report
The message filter program produces a summary report that shows the names of all of the
processed scripts, how many <INPUT> and <OUTPUT> groups were in each script, and
how many of those groups were excluded from the target script dataset.
The last column in the report indicates whether Hiperstation detected any REXX code
within the script (Y = Yes, blank = No). If your script contains REXX code, that REXX
code can have dependencies on the INPUT and OUTPUT groups within the script.
Excluding lines from such a script with the message filter function can produce an
invalid script. You must carefully review each script in the target script dataset for
validity if that script contains REXX code.
Unattended Message Filters
19-23
Figure 19-16. Message Filter Summary Report
Hiperstation Message Filtering

Script
Name
-------A
CICS01
CICS02
FOREIGN
HEX01
TEST01
TSO01
-------Total
----- Inputs ----Excluded
Total
-------- -------0
10
0
14
6
15
3
7
0
9
2
11
0
10
-------- -------11
76

----- Outputs ---Excluded
Total
-------- -------11
11
18
18
13
15
9
9
0
9
3
12
11
11
-------- -------65
85
REXX in
script?
--------
Y
Y
Y
--------
Sample Message Filtering Job
The message filter job shown in Figure 19-17 is designed to eliminate all screens from a
script except those that are part of the PAYROLL message. While in the PAYROLL
message, all SALARY screens must be excluded because they contain confidential data.
You submit a batch job that runs the EHSFLTR filter program using JCL like that shown in
Figure 19-17. The job statements are described below.
The EHSFLTR program is a REXX EXEC contained in the SQQFSAMP sample dataset. JCL
to run the message filtering job is in the SAMPLIB member EHSFLTRJ.
Figure 19-17. Sample JCL for Message Filter Program
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT
USRJXG0.H.CNTL(EHSFLTR) - 01.26
Columns 00001 00072
Command ===>
Scroll ===> CSR
****** ***************************** Top of Data ******************************
000100 //USRJXG0A JOB (’OVPBAS5.4DEV’,66),’GALT, JOHN’,NOTIFY=USRJXG0,
000200 //
MSGCLASS=X,CLASS=L
000300 //* -------------------------------------------------------------------
000400 //IEFPROC EXEC PGM=IKJEFT01,PARM=’EHSFLTR’
000500 //SYSPROC DD DISP=SHR,DSN=COMPWARE.QVP700.SQVPSAMP <--- HS SAMPLE LIBRARY
000600 //*
000700 //INPUT
DD DISP=SHR,DSN=USRJXG0.HS.INPUT
<--- INPUT SCRIPT PDS
000800 //OUTPUT
DD DISP=SHR,DSN=USRJXG0.HS.OUTPUT
<--- OUTPUT SCRIPT PDS
000900 //REXX
DD DISP=SHR,DSN=USRJXG0.HS.EXEC
<--- USER REXX LIBRARY
001000 //*
001100 //SYSTSIN DD DUMMY
001200 //SYSTSPRT DD SYSOUT=*
<--- MESSAGES
001300 //SYSPRINT DD SYSOUT=*
<--- HS SUMMARY REPORT
001400 //SYSIN
DD *
<--- HS CONTROL PARMS
001500
CONTROL DEFAULT=EXCLUDE
001600
SELECT
SCRIPT=TEST001
001700
INCLUDE TRAN=PAYROLL
001800
EXCLUDE TRAN=SALARY
001900 /*
****** **************************** Bottom of Data ****************************
• The INPUT DD statement on line 700 lists the source script dataset.
• The OUTPUT DD statement on line 800 lists the target script dataset that contains
the filtering results.
• The REXX DD statement on line 900 lists the library that contains the REXX exit
programs.
• The CONTROL statement on line 1500 excludes screens from the target script dataset
unless included by subsequent INCLUDE exits.
19-24
Hiperstation for VTAM User Guide
• The SELECT statement on line 1600 lists the scripts you want to process from the
source script dataset. Here, we are processing a single script. You can also process a
list of several scripts or the entire dataset.
• The INCLUDE statement on line 1700 lists a message to be included in the target
script dataset (kept). TRAN=PAYROLL names the REXX exit program that performs
the filtering.
• The EXCLUDE statement on line 1800 is similar to the INCLUDE statement. The
difference is that screens matching the filtering criteria are excluded from the target
script dataset (discarded).
The values supplied on the TRAN keyword of the INCLUDE and EXCLUDE statements are
the names of REXX exit programs that you write modeled on templates supplied by
Compuware. This example shows two exits, PAYROLL and SALARY, that identify the first
and last screens in the PAYROLL and SALARY messages.
Multiple INCLUDE and EXCLUDE statements can appear, indicating each of the messages
to be included or excluded. Because you control what the exits do, you can write a single
exit that makes filtering decisions for several messages, not just one.
The PAYROLL exit might look like that shown in Figure 19-18.
Figure 19-18. PAYROLL Exit Program
/* Hiperstation 3270 filter: All PAYROLL messages */ 

if hs_exittype = ’INPUT’ then do
if hs_key = ’ENTER’ & TRANSLATE(SUBSTR(hs_input.1,1,4)) = ’PAYR’ then
hs_match = 1
end
else do
if SUBSTR(hs_output.2,12,13) = ’SESSION ENDED’ then
hs_match = 0
end
This PAYROLL exit is called for each <INPUT> and <OUTPUT> group in a script. You have
determined that the PAYROLL message starts whenever the user types the PAYR message
code and presses Enter. By setting HS_MATCH = 1, this exit signals Hiperstation that this
is the start of the PAYROLL message. Hiperstation begins including screens in the target
script dataset.
The next lines of this exit look at the second row of each screen for a message created by
the PAYROLL message when it is finished. When this message is seen on a screen,
HS_MATCH = 0 is the signal to Hiperstation that the PAYROLL message finishes.
Hiperstation begins excluding screens from the target script dataset.
• TRANSLATE is a REXX function that converts a character string to all uppercase
letters. You can use TRANSLATE when you are looking for words on a screen and you
do not care if the letters are uppercase or lowercase.
• SUBSTR is a REXX function that examines a portion of a longer character string. It is
useful for looking at only a small part of the screen.
The SALARY exit shown in Figure 19-19 is also called for each <INPUT> and <OUTPUT>
group in a script.
Unattended Message Filters
19-25
Figure 19-19. SALARY Exit Program
/* Hiperstation 3270 filter: All SALARY screens */ 

if hs_exittype = ’OUTPUT’ then do
if TRANSLATE(SUBSTR(hs_output.1,1,3)) = ’SAL’ then
hs_match = 1
else
hs_match = 0
end
You have determined that all of the SALARY screens in the PAYROLL message have an
eyecatcher of SAL at row 1, column 1. By setting HS_MATCH = 1, this exit specifies that
this is the first of the set of SALARY screens, and to exclude the screens.
If the eyecatcher does not appear on the current screen, the SALARY screens are finished,
which you specify by setting HS_MATCH = 0.
The result of these two exits and the SYSIN parameters is to create scripts in the target
script dataset that contain only user input and screens for the PAYROLL message. Any
screens within the PAYROLL message that pertain to SALARY information are excluded.
19-26
Hiperstation for VTAM User Guide
20-1
Chapter 20.
3270 Reporting
Chap 20
This chapter describes Hiperstation for VTAM reporting options:
• Transaction journal
• Reports — Automated documentation and summary reports
• Logs — Comparison, exception, and REXX logs
These utilities provide a method of tracking test scripts and testing data.
“Print” datasets in Hiperstation for VTAM are the comparison log, exception log,
transaction journal, REXX log, summary report, AutoDoc, and trace. Hiperstation can
write print data as members of a Partitioned Data Set Extended (PDSE) or as a sequential
dataset.
If you want your print datasets to be members of a partitioned dataset, you must use
PDSEs rather than PDSs. Using members of a PDSE allows you to group related output
within a single dataset, simplifying the management of printed output.
If you supply the same dataset and member prefix across several GROUP statements, or
across several keywords within one GROUP statement, what is contained in the
overlapping members is undefined. This situation is not flagged as an error. Choose
dataset and member names so that such an overlap does not occur.
Sequential datasets are deleted and reallocated if REUSE=NO is set in the Hiperstation
defaults table. Sequential datasets are overwritten if REUSE=YES is set.
PDSEs used for print files are never deleted by Hiperstation, regardless of the REUSE value
contained in the Hiperstation for VTAM defaults table. Hiperstation creates a PDSE if it
does not already exist. Members created by Hiperstation that already exist within a
dataset are overwritten and no warning message is issued. If you want an existing PDSE
to contain only members from the current execution of Hiperstation, you must empty
the PDSE before running Hiperstation.
Transaction Journal
The transaction journal produces an audit trail of all transactions entered into the system
and the responses received while the journal is active.
The transaction journal produces two screen images per transaction. The first screen
image shows the output from the previous interaction. The second image has the user
input mapped into the output screen image.
The JOURNAL command starts and stops the transaction journal. OFF stops the current
transaction journal.
The Transaction Journal screen allows you to start or stop the transaction journal.
20-2
Hiperstation for VTAM User Guide
The transaction journal records all inputs and outputs of a user’s session. The journal
shows the inputs and outputs in screen image format for easy reference. It also shows the
user’s think time, the system’s response time, and the session’s elapsed time.
The journal is recorded on DASD for online review or subsequent printing. Figure 20-3 on
page 20-3 shows a sample transaction journal report.
Start the Transaction Journal
To start the transaction journal, connect to the domain destination, type J on the
command line, and press Enter. The Transaction Journal Setup screen appears (Figure 201). Change the transaction journal dataset name by typing over the name in the DATA
SET NAME field. Standard TSO prefixing is performed.
Figure 20-1. Transaction Journal Setup



----------------- Hiperstation - TRANSACTION JOURNAL SETUP -----------------
OPTION ===> 
JOURNAL OUTPUT DATA SET NAME (may be sequential or PDSE):
DATA SET NAME ===> HIPERJRN.LIST 
STOP Journaling
===> N
Press ENTER to begin journaling,
(Y - Yes, N - No)

END to cancel setup.
Stop the Transaction Journal
The transaction journal is automatically stopped at the end of each domain traveler
session, that is, every time you are returned to the Domain Traveler Setup screen.
Move the cursor to the STOP Journaling field, type a Y, and press Enter to stop
journaling. You can also stop the transaction journal at any time by entering the J OFF or
JOURNAL OFF primary command on the Domain Traveler screen.
Figure 20-2. Stop the Transaction Journal



----------------- Hiperstation - TRANSACTION JOURNAL SETUP -----------------
OPTION ===> 
JOURNAL OUTPUT DATA SET NAME (may be sequential or PDSE):
DATA SET NAME ===> HIPERJRN.LIST 
STOP Journaling
===> Y
Press ENTER to begin journaling,
(Y - Yes, N - No)

END to cancel setup.
Transaction Journal Report
The transaction journal report shown in Figure 20-3 provides you with a record of screen
inputs and outputs.
3270 Reporting
20-3
Figure 20-3. Transaction Journal Sample Report
-- COMPUWARE CORPORATION --
TRANSACTION JOURNAL TERMINAL ID: EHPR0004 TPF NAME: CICS41A TIME: 09:19 :35 DATE: 07/06/27
OUTPUT SCREEN IMAGE
RESPONSE TIME: 00.00.008
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
CEBR
TS QUEUE CEBRH104 RECORD
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>
These commands are available to you (abbreviations in UPPER CASE):
Find /string/
- Keyword optional. Final delimiter optional if
string has no blanks. Any other delimiter is OK.
Line line-number
Column column-number
Top
Bottom
TERMinal terminal-id
- Browse temp. storage queue for another terminal.
Queue temp-stg-queue
- Browse a named temp. storage queue
(name may be in hex - e.g., X’C134’)
Put
transient-data-queue - Copy current queue into a transient data queue.
Get
transient-data-queue - Fetch a transient data queue for browsing.
PURGE
- Destroy the current queue. 

************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE ***************************** 

TEMPORARY STORAGE QUEUE CEBRH104
IS EMPTY
PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE
PF4 : VIEW TOP
PF5 : VIEW BOTTOM
PF6 : REPEAT LAST FIND
PF7 : SCROLL BACK HALF
PF8 : SCROLL FORWARD HALF PF9 : UNDEFINED
PF10: SCROLL BACK FULL
PF11: SCROLL FORWARD FULL PF12: UNDEFINED
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
USER INPUT AND PREVIOUS OUTPUT MERGED
THINK TIME: 00.03.216
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
CEBR
TS QUEUE CEBRH104 RECORD
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>
These commands are available to you (abbreviations in UPPER CASE):
Find /string/
- Keyword optional. Final delimiter optional if
string has no blanks. Any other delimiter is OK.
Line line-number
Column column-number
Top
Bottom
TERMinal terminal-id
- Browse temp. storage queue for another terminal.
Queue temp-stg-queue
- Browse a named temp. storage queue
(name may be in hex - e.g., X’C134’)
Put
transient-data-queue - Copy current queue into a transient data queue.
Get
transient-data-queue - Fetch a transient data queue for browsing.
PURGE
- Destroy the current queue. 

************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE ***************************** 

TEMPORARY STORAGE QUEUE CEBRH104
IS EMPTY
PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE
PF4 : VIEW TOP
PF5 : VIEW BOTTOM
PF6 : REPEAT LAST FIND
PF7 : SCROLL BACK HALF
PF8 : SCROLL FORWARD HALF PF9 : UNDEFINED
PF10: SCROLL BACK FULL
PF11: SCROLL FORWARD FULL PF12: UNDEFINED
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 
INPUT FIELDS DEFINED: 13
INPUT FIELDS MODIFIED: 0
TEXT FIELDS DEFINED: 43
TEXT FIELDS MODIFIED: 0
ATTENTION IDENTIFIER: PF3
ELAPSED TIME
: 00.31.653 
Transaction Journal Report Field Definitions
This section defines the highlighted fields at the bottom of Figure 20-3
Input/Text Fields — Number of unprotected and protected fields as defined by 3270
SF and SFE orders, and those where the modified data tag bit is set to one.
Attention Identifier — The key that the user pressed to transmit the input.
Elapsed Time — Elapsed clock time since session was started.
Note: The journal does not reflect a script name until Hiperstation encounters an input.
20-4
Hiperstation for VTAM User Guide
Reports
Automated Documentation
Automated Documentation greatly assists in the production of documentation for online
systems. AutoDoc can automatically create document skeletons or boilerplates consisting
of document format characters, a running title, screen images, user input data, and short
titles leading to the screen’s description. It can be:
• Printed on an impact or laser printer
• Used as input to DCF or SCRIPT
• Transferred to a PC and used as input to a word processing program such as Microsoft
Word or WordPerfect.
When AutoDoc begins, it records all of the screen images and places them, one per page,
in the designated output dataset. The AutoDoc output can be created while a script is
running or manually while you are interacting with the domain destination. Figure 20-5
on page 20-6 shows a sample AutoDoc report.
Start AutoDoc
AutoDoc is controlled by the DOC command, which can be issued from the Domain
Traveler screen. OFF closes the current AutoDoc dataset.
Auto Documentation Setup Screen
1. To set up Auto Documentation, enter the DOC command after connecting to the
domain destination. The Auto Documentation Setup screen (Figure 20-4) appears.
This screen lets you start, stop, and set options for AutoDoc, or terminate any
documentation in progress.
Figure 20-4. Auto Documentation Setup Screen
---------------------- Hiperstation * Auto Documentation Setup ----------------
COMMAND ===>


FILE FORMAT ===> 3

1 Printer Control Characters

2 DCF (Script) Tags

3 None


RECORD ===> 2

1 Output screens

2 Input data with output

3 Both


Screens "boxed" ===> Y (Y-yes, N-no)


Running Title
===>


AUTO DOCUMENTATION OUTPUT DATA SET NAME (may be sequential or PDSE):

DATA SET NAME ===> HIPERDOC.LIST


STOP Documentation
===> N
(Y - Yes, N - No)


Press ENTER to begin logging, END to cancel setup. 
2. Specify a FILE FORMAT. This determines how the AutoDoc output is generated. Valid
entries include:
3270 Reporting
20-5
– 1 Printer Control Characters: AutoDoc output is generated for direct printing.
Carriage control characters are generated to ensure proper page ejects. The
format is also compatible with Waterloo SCRIPT.
– 2 DCF (Script) Tags: AutoDoc output is generated for use by IBM’s Document
Composition Facility (DCF), or SCRIPT.
– 3 None: No data, other than the screen images, is placed in the output dataset.
This format is most useful as input to a PC word processing program.
3. Select the information to be recorded. Valid entries include:
– 1 Output screens: Only output from the domain destination is recorded.
– 2 Input data with output: Only the domain destination output screen image
with the data input from the user is recorded.
– 3 Both: Both output and output/input merged screens are recorded, one per
page.
4. Select whether you want boxes around the screens. Enter Y or N.
– Y (Yes): A ruled box is placed around the screen image
– N (No): The screen image is output with no surrounding box.
5. Enter the Running Title that will appear at the head of each page. The title can
contain up to 57 characters.
6. Enter the AUTO DOCUMENTATION OUTPUT DATA SET NAME. This is the sequential
dataset or PDSE and member that will contain the output.
– If you specify a dataset that already exists, it must be the correct record format
for the selected FILE FORMAT option. If you select option 1, the dataset must be
VBA. Otherwise, it must be VB.
– If you specify a dataset name that does not already exist, Hiperstation allocates it
as a sequential dataset with either a VB or VBA record format, depending on the
FILE FORMAT selection.
7. Specify whether to STOP Documentation. Enter Y or N.
– Y (Yes): Terminates any documentation in process.
– N (No): Begins the documentation process when you press Enter.
AutoDoc Report
The AutoDoc report is shown in Figure 20-5.
20-6
Hiperstation for VTAM User Guide
Figure 20-5. Sample AutoDoc Report
THIS IS THE USER DEFINED TITLE 
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
CEBR
TS QUEUE CEBRH104 RECORD
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>
These commands are available to you (abbreviations in UPPER CASE):
Find /string/
- Keyword optional. Final delimiter optional if
string has no blanks. Any other delimiter is OK.
Line line-number
Column column-number
Top
Bottom
TERMinal terminal-id
- Browse temp. storage queue for another terminal.
Queue temp-stg-queue
- Browse a named temp. storage queue
(name may be in hex - e.g., X’C134’)
Put
transient-data-queue - Copy current queue into a transient data queue.
Get
transient-data-queue - Fetch a transient data queue for browsing.
PURGE
- Destroy the current queue. 

************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE ***************************** 
TEMPORARY STORAGE QUEUE CEBRH104
IS EMPTY
PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE
PF4 : VIEW TOP
PF5 : VIEW BOTTOM
PF6 : REPEAT LAST FIND
PF7 : SCROLL BACK HALF
PF8 : SCROLL FORWARD HALF PF9 : UNDEFINED
PF10: SCROLL BACK FULL
PF11: SCROLL FORWARD FULL PF12: UNDEFINED
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 
DESCRIPTION OF OPTIONS AND FUNCTIONS:
3270 Summary Report
The 3270 summary report, such as the example in Figure 20-6, displays performance and
mismatch information from running 3270 scripts using unattended playback. This report
summarizes the activities by script and virtual terminal within a group.
Figure 20-6. 3270 Summary Report
For information on the parameters that activate the summary report, refer to the SUMMARY keyword under “Unattended Mode
Statements” on page 7-3. An explanation of the report fields are given below.
3270 Reporting
******************************** Top of Data ********************************************************************************************
COMPUWARE CORPORATION

HIPERSTATION - SUMMARY REPORT
TERMINAL ID: ** NA ** TPF NAME: CICS41A TIME: 10:32:24 DATE: 07/25/07 PAGE: 0001

COMPARISON CHECKS

SCRIPT
PORT TERM-ID
TRANS.
MIN RESP
AVG RESP
MAX RESP AVG THINK
ELAPSED TRANS/SEC SCREENS
CHARS
MASKED

-----------------------------------------------------------------------------------------------------------------------------------------

CICSON
5 CW010009
3 00:00.127 00:00.487 00:01.108 00:01.000 00:00:04.727
0
5
1,623
8000004
CICSON
4 CW010008
4 00:00.058 00:00.395 00:01.029 00:00.750 00:00:05.938
0
1
5
1000005
CICSON
3 CW010007
4 00:00.083 00:00.400 00:00.975 00:00.751 00:00:06.156
0
1
5
1000006
CICSON
2 CW010006
3 00:00.132 00:00.485 00:01.102 00:01.000 00:00:05.354
0
5
1,623
8000005
CICSON
1 CW010005
4 00:00.073 00:00.399 00:01.007 00:00.750 00:00:10.452
0
1
5
1000010
*SCR-TOT
18 00:00.058 00:00.427 00:01.108 00:00.834 00:00:32.627
0
13
3,261
19000032

CICSCEBR
4 CW010008
28 00:00.000 00:00.079 00:01.035 00:01.024 00:00:34.823
0
24
185
0000034
CICSCEBR
1 CW010005
28 00:00.000 00:00.079 00:01.055 00:01.019 00:00:34.403
0
24
185
0000034
CICSCEBR
3 CW010007
28 00:00.000 00:00.078 00:01.078 00:01.024 00:00:34.426
0
24
185
0000034
CICSCEBR
5 CW010009
28 00:00.000 00:00.039 00:00.202 00:01.026 00:00:32.046
0
27
25,676
160000032
CICSCEBR
2 CW010006
28 00:00.000 00:00.036 00:00.191 00:01.032 00:00:32.060
0
27
25,676
160000032
*SCR-TOT
140 00:00.000 00:00.062 00:01.078 00:01.025 00:02:47.758
0
126
51,907
320000247

CICSCEMT
4 CW010008
24 00:00.000 00:00.010 00:00.085 00:01.009 00:00:26.044
0
22
132
0000026
CICSCEMT
3 CW010007
24 00:00.000 00:00.011 00:00.086 00:01.013 00:00:26.223
0
22
132
0000026
CICSCEMT
1 CW010005
24 00:00.000 00:00.006 00:00.059 00:01.007 00:00:26.510
0
22
132
0000026
CICSCEMT
2 CW010006
24 00:00.000 00:00.001 00:00.010 00:01.033 00:00:27.064
0
23
24,631
184000027
CICSCEMT
5 CW010009
24 00:00.000 00:00.001 00:00.009 00:01.027 00:00:27.008
0
23
24,631
184000027
*SCR-TOT
120 00:00.000 00:00.006 00:00.086 00:01.018 00:02:12.849
0
112
49,658
368000212

CICSCEBR
3 CW010007
28 00:00.000 00:00.005 00:00.023 00:01.008 00:00:29.442
0
24
188
0000029
CICSCEBR
1 CW010005
28 00:00.000 00:00.007 00:00.079 00:01.008 00:00:29.402
0
24
188
0000029
CICSCEBR
4 CW010008
28 00:00.000 00:00.005 00:00.017 00:01.008 00:00:29.445
0
24
188
0000029
CICSCEBR
2 CW010006
28 00:00.000 00:00.002 00:00.014 00:01.009 00:00:29.041
0
26
24,889
208000029
CICSCEBR
5 CW010009
28 00:00.000 00:00.002 00:00.029 00:01.002 00:00:29.115
0
26
24,889
208000029
*SCR-TOT
140 00:00.000 00:00.004 00:00.079 00:01.007 00:02:26.445
0
124
50,342
416000226

CICSOFF
3 CW010007
1 00:00.021 00:00.021 00:00.021 00:01.000 00:00:01.165
0
0
0
0000001
CICSOFF
4 CW010008
1 00:00.000 00:00.000 00:00.000 00:01.001 00:00:01.073
0
0
0
0000001
CICSOFF
1 CW010005
1 00:00.000 00:00.000 00:00.000 00:01.002 00:00:01.046
0
0
0
0000001
CICSOFF
5 CW010009
1 00:00.048 00:00.048 00:00.048 00:01.018 00:00:01.175
0
0
0
0000001
CICSOFF
2 CW010006
1 00:00.023 00:00.023 00:00.023 00:01.015 00:00:01.182
0
0
0
0000001
*SCR-TOT
5 00:00.000 00:00.018 00:00.048 00:01.007 00:00:05.641
0
0
0
0000005


*GRP-TOT
423 00:00.000 00:00.042 00:01.108 00:01.009 00:08:05.320
0
375 155,168
1,123000805
******************************* Bottom of Data *****************************************************************************************
20-7
20-8
Hiperstation for VTAM User Guide
Note:
On the header line of Figure 20-6, the Terminal ID is listed as ** NA ** because
multiple terminals are listed in the report. The terminal IDs are listed
individually in the TERM-ID column.
General Information
Script
The script being run. Two special script names, *SCR-TOT and *GRP-TOT, denote
script and group totals, respectively.
Port
Each terminal is assigned a port ID. A port ID is associated with the script.
Term-ID
The terminal ID associated with the terminal or port.
Performance Information
Trans
Transaction count - defined as the number of inputs (Enter, PF, PA, or Clear key)
processed by the terminal for the script.
Min Resp
Minimum response time for this transaction and terminal within the script.
Avg Resp
Average response time is calculated from the sum of all terminal response time,
divided by the total number of terminal transactions.
Max Resp
Maximum response time for this transaction and terminal within the script.
Avg Think
Average think time is calculated from the sum of all terminal think times, divided by
the terminal’s total number of transactions.
Elapsed
Elapsed time is calculated based on the total amount of time it took the terminal nd
the application to process the total number of transactions.
For *SCR-TOT, this is the maximum elapsed time of the individual scripts. For *GRPTOT, this is the sum of the *SCR-TOT elapsed times.
Tran/Sec
Transaction per second rate is calculated by dividing the number of terminal
transactions by the total elapsed time for the terminal.
Note:
The *SCR-TOT appears only for reports generated from multiple terminal
simulation. The ports within a script group are listed in the order in which
Hiperstation processed the port. This gives you additional information about
script processing.
Comparison Check Information
Screens
Number of screens with at least one comparison check.
Chars
Total number of comparison check bytes.
3270 Reporting
20-9
Masked
The number of masked comparison check bytes.
Note:
The comparison check information fields do not appear in the report shown in
Figure 20-6 on page 20-7.
Logs
The comparison log can be activated during script playback to show, in hardcopy format,
each of the received and expected screens. The exception log can be activated during
playback to show, in hardcopy format, only those received and expected screens that had
mismatches.
The received screen is the screen that came from the domain destination. The expected
screen is the screen recorded in the script.
Note:
The comparison and exception logs are mutually exclusive. Only one can be
active at a time.
Any comparison differences are shown on the log.
The log is written to a DASD dataset. It can be reviewed online using ISPF browse, or the
log can be printed using ISPF option 3.6 (initiate hardcopy output) or equivalent.
Comparison Log
Start the Comparison Log
The comparison log is activated through the Domain Traveler screen.
Figure 20-7. Domain Traveler Screen - Bring Up the Comparison Log Setup Screen
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> CL
SCROLL ===> HALF

Record OFF Play OFF Journal OFF Compare Log OFF autoDoc OFF

1. Type CL on the command line and press Enter to display the Comparison Log Setup
screen (Figure 20-8).
2. On the Setup screen, enter the name of the dataset to which you want to write the
comparison log output. This dataset can be either a sequential dataset or a PDSE.
From this screen, you can also stop any comparison in progress.
The default dataset name for the comparison log is HIPERLOG.LIST.
20-10
Hiperstation for VTAM User Guide
Figure 20-8. Activate the Comparison Log






------------------------ Hiperstation - Comparison Log Setup ------------------
OPTION ===> 
COMPARISON LOG OUTPUT DATA SET NAME (may be sequential or PDSE):
DATA SET NAME ===> HIPERLOG.LIST 
STOP Compare Log
===> N
Press ENTER to begin logging,
(Y - Yes, N - No)

END to cancel setup.
3. To activate the comparison log, press Enter. You will return to the Domain Traveler
entry screen. The status line shows that the comparison log is active and the total
number of pages written.
Stop the Comparison Log
The comparison log is automatically stopped at the end of each Domain Traveler session,
that is, each time you return to the Domain Traveler Setup screen.
From the Setup screen, move the cursor to the STOP Compare Log field, type Y, and press
Enter to stop the log. You can also stop the comparison log at any time by typing CL OFF
on the command line on the Domain Traveler screen and pressing Enter.
Comparison Log Report
The comparison log report shown in Figure 20-9 provides you with a view of the actual
screen that was received and the expected screen that was recorded. Both screens appear
even if no comparison mismatches are present.
3270 Reporting
20-11
Figure 20-9. Comparison Log Report
-- COMPUWARE CORPORATION --
TRANSACTION COMPARISON LOG TERMINAL ID: EHPR0001 TPF NAME: CICS41A TIME: 12:26:25 DATE: 07/06/27
ACTUAL RECEIVED SCREEN #:0000003
SCRIPT: CICSCEBR
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
CEBR
TS QUEUE CEBRH101 RECORD
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>
These commands are available to you (abbreviations in UPPER CASE):
Find /string/
- Keyword optional. Final delimiter optional if
string has no blanks. Any other delimiter is OK.
Line line-number
Column column-number
Top
Bottom
TERMinal terminal-id
- Browse temp. storage queue for another terminal.
Queue temp-stg-queue
- Browse a named temp. storage queue
(name may be in hex - e.g., X’C134’)
Put
transient-data-queue - Copy current queue into a transient data queue.
Get
transient-data-queue - Fetch a transient data queue for browsing.
PURGE
- Destroy the current queue. 

************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE ***************************** 

TEMPORARY STORAGE QUEUE CEBRH101
IS EMPTY
PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE
PF4 : VIEW TOP
PF5 : VIEW BOTTOM
PF6 : REPEAT LAST FIND
PF7 : SCROLL BACK HALF
PF8 : SCROLL FORWARD HALF PF9 : UNDEFINED
PF10: SCROLL BACK FULL
PF11: SCROLL FORWARD FULL PF12: UNDEFINED
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
EXPECTED SCREEN #:0000003
SCRIPT: CICSCEBR
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
CEBR
TS QUEUE CEBRH103 RECORD
1 OF
0
COL
1 OF
0
ENTER COMMAND ===>
These commands are available to you (abbreviations in UPPER CASE):
Find /string/
- Keyword optional. Final delimiter optional if
string has no blanks. Any other delimiter is OK.
Line line-number
Column column-number
Top
Bottom
TERMinal terminal-id
- Browse temp. storage queue for another terminal.
Queue temp-stg-queue
- Browse a named temp. storage queue
(name may be in hex - e.g., X’C134’)
Put
transient-data-queue - Copy current queue into a transient data queue.
Get
transient-data-queue - Fetch a transient data queue for browsing.
PURGE
- Destroy the current queue. 

************************** TOP OF QUEUE *******************************
************************* BOTTOM OF QUEUE ***************************** 

TEMPORARY STORAGE QUEUE CEBRH103
IS EMPTY
PF1 : HELP
PF2 : SWITCH HEX/CHAR
PF3 : TERMINATE BROWSE
PF4 : VIEW TOP
PF5 : VIEW BOTTOM
PF6 : REPEAT LAST FIND
PF7 : SCROLL BACK HALF
PF8 : SCROLL FORWARD HALF PF9 : UNDEFINED
PF10: SCROLL BACK FULL
PF11: SCROLL FORWARD FULL PF12: UNDEFINED
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
ATTENTION IDENTIFIER: PF1
The Attention Identifier is the key that the user pressed to which the domain destination
responded.
Note:
Screen lines with mismatches are flagged with an asterisk (*) on the right side of
the screen box. Asterisks within the body of the screen denote differences in
attribute bytes.
Exception Log
Start the Exception Log
The exception log is activated through the Domain Traveler screen and only lists
miscompares.
20-12
Hiperstation for VTAM User Guide
Figure 20-10. Domain Traveler Screen - Bring Up the Comparison Log Setup Screen
ZOOM:PF23 ---------------------- Hiperstation ------------------- LINE 1 OF 24
COMMAND ===> XL
SCROLL ===> HALF

Record OFF Play OFF Journal OFF Compare Log OFF Autodoc OFF

1. Type XL on the command line and press Enter to display the Comparison Log Setup
screen (Figure 20-11).
Figure 20-11. Activate the Exception Log






------------------- Hiperstation - Comparison Log setup -------------------
OPTION ===> 
COMPARISON LOG OUTPUT DATA SET NAME (may be sequential or PDSE):
DATA SET NAME ===> HIPERLOG.LIST 
STOP Compare Log
===> N
Press ENTER to begin logging,
(Y - Yes, N - No)

END to cancel setup.
2. Enter the name of the dataset to which you want to write the comparison log output.
From here, you can also stop any comparison in progress. The default dataset name
for the exception log is HIPERLOG.LIST.
3. To activate the log, press Enter. You return to the Domain Traveler screen. The status
line shows that the exception log is active and the total number of pages written.
Stop the Exception Log
The exception log automatically stops at the end of each domain traveler session, that is,
every time you return to the Domain Traveler Setup screen.
From the Setup screen, move the cursor to the STOP Compare Log field, type Y, and press
Enter to stop the log. You can also stop the exception log at any time by typing XL OFF
on the command line on the Domain Traveler screen and pressing Enter.
REXX Log
The REXX log records the text of REXX SAY statements. These statements can track script
progress.
1. Enter the RLOG command on the Domain Traveler screen. Hiperstation displays the
REXX Output Setup screen (Figure 20-12).
3270 Reporting
20-13
Figure 20-12. REXX Output Setup Screen









--------------------- Hiperstation - REXX OUTPUT SETUP --------------------
COMMAND ===> 
DATA SET TO BE CREATED (may be sequential or PDSE):
DATA SET NAME ===> _
OR SYSOUT CLASS:
SYSOUT CLASS
===> *
Note: An asterisk ’*’ allocates the terminal.

If both data set name and SYSOUT class are specified, the SYSOUT
class will take precedence.
Press ENTER to create environment,
END to cancel setup.
Use this screen to choose a dataset or SYSOUT class that acts as the repository for any
REXX SAY statements you inserted into a script.
You can enter the RLOG command only when you are connected from a domain
traveler session to a domain destination, such as TSO, CICS, or IMS.
2. To designate the REXX log location, choose one of the following options:
– Enter an asterisk (*) to list log data on the terminal (default).
– Enter a dataset name
– Enter a SYSOUT class for the log
3. After you make a selection, press Enter. Hiperstation allocates the dataset you
selected or creates the appropriate SYSOUT. Pressing Enter also initiates the logging
process.
20-14
Hiperstation for VTAM User Guide
21-1
Chapter 21.
Text-to-Web Compare and Exception Log Converter
Chap 21
Convert Comparison Logs, Exception Logs, and Onelogs to interactive Web-based
reports.
Note:
For the remainder of the chapter, “compare log” refers to Compare, Exception or
Onelogs.
Converting Logs
Hiperstation for VTAM provides sample JCL to run the conversion as a batch job. Just
open the sample member, modify the necessary DD statements and input parameters,
and submit the job.
To convert log datasets to Web-based reports:
1. In an ISPF Edit session, open member CLOGGEN (Figure 21-1), located in the
system-level reporting library or the samples library (SQQFSAMP).
2. Insert a job card at the top and provide the necessary DD statements and input
parameters.
3. Submit the job.
21-2
Hiperstation for VTAM User Guide
Figure 21-1. CLOGGEN JCL Sample
//*....... JOB ...PLACE YOUR INSTALLATION'S JOBCARD HERE...
//*
//CLOGGEN EXEC PGM=IKJEFT01,PARM='CLOGGEN'
//SYSEXEC DD DISP=SHR,DSN=COMPWARE.QQF800.SQQFEXEC <- QAC REXX LIBRARY
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
//*********************************************************************
//* DESCRIPTION OF DD STATEMENTS:
*
//* SYSEXEC
= Change this to the location of your REXX library.
*
//* DESCRIPTION OF INPUT PARMS:
*
//* Required:
*
//* CLOG
= Fully qualified dataset name of compare log, no quotes*
//*
Dataset can be sequential or PDSE(member). Rightmost *
//*
* wildcard can be used i.e. HIPER.CLOGPDSE(A01*)
*
//* CLOGDIR
= Path/directory to store compare log reports. You may *
//*
add one new node to an existing path to be created.
*
//* Optional:
*
00011005
00020001
00030000
00031005
00040005
//* TRANS
= Row, column, and length of trans id displayed.
*
//* LISTVIEW = How to present data in screen summary page. Values:
*
//*
SCREENS (default) - Listed with screens numbered
*
//*
TRANS - Listed with trans id.
*
//*
BOTH - listed with trans id AND screen number.
*
//* LISTMAX
= maximum number of screens to list on one summary page.*
//* DELETE
= Delete web compare log specified in CLOGDIR.
*
//* REPLACE
= YES|NO to replace common subdirectory. NO is default. *
//* SEARCH
= Code SEARCH(NO) if CGI search facility not installed. *
//* RESPONSE = Set a percent for allowable actual response times
*
//*
when compared to original response times in the
*
//*
script. For example, to identify response times that *
//*
are more than 10% longer that original, specify:
*
//*
RESPONSE(10), for 20% use RESPONSE(20), and so on.
*
//*
The default is to ignore response times.
*
//*********************************************************************
//PARMS
DD *
00042005
CLOG(COMPWARE.HIPER.CLOG)
00043007
CLOGDIR(/u/HIPERSTATION/log)
00044008
TRANS(1,9,20)
00044008
LISTVIEW(BOTH)
00044008
LISTMAX(300)
00044008

/*
CLOGGEN DD Statements and Input Parameters
PARM on CLOGGEN EXEC Statement
Identifies the program to use for conversion. Hiperstation provides both a compiled
and an interpreted version of the REXX program. Complete the PARM= clause with:
– 'CLOGGEN' to use the interpreted REXX version. Use this version if you do not
have the REXX on zSeries compiler.
– 'CLOGGENX' to use the compiled version, which executes much more quickly.
SYSEXEC DD
Identifies the dataset containing the CLOGGEN program. Point it to your
Hiperstation REXX library.
CLOG(dsn)
Identifies the log dataset to be converted. Specify a fully qualified sequential dataset
or PDSE. Place the PDSE member in parentheses.
To convert multiple logs, enter the first part of the dataset or member name followed
by an asterisk (*). For example, USR2503.SYNC* converts all log datasets beginning
with USR2503.SYNC and USR2503.SYNCH.CLOG(P*) converts all members in
USR2503.SYNCH.CLOG that begin with the letter “P”. The conversion program
ignores datasets or members that do not contain a Compare, Exception, or Onelog.
Text-to-Web Compare and Exception Log Converter
Note:
21-3
Do not use the asterisk wildcard if you specify the DELETE parameter.
CLOGDIR(HFSpath)
Identifies a location for the output files. Complete this parameter with the desired
HFS path and directory.
Note:
You must have authorization to create HFS files.
TRANS(row,column,length)
Optional parameter that assigns an area of the screen for CLOGGEN to use to create
transaction identifiers. For example, create transaction IDs from the application’s
screen titles or from certain fields on the screen to help you easily detect when and
where the application returned an unexpected value. Specify the screen row and
column where the transaction ID is located and supply the length of the value to
return. For example, TRANS(1,4,10) returns 10 characters from row one, beginning at
column four.
Use it to generate a Transaction Summary at the beginning of the report. If the view
option is set to TRANS or BOTH, transaction IDs also appear in the navigation pane
on the left side of the detail screens.
LISTVIEW(view options)
Optional parameter that determines what information to display in the navigation
pane. The view options are:
– SCREENS presents the list of compared screens with the screen numbers.
– TRANS presents the list of compared screens with the transaction IDs found on
those screens.
– BOTH presents the list of compared screen with both the screen number and
transaction ID.
CLOGGEN generates the reports in SCREENS view if LISTVIEW is not specified.
LISTMAX(number)
Optional parameter that controls the maximum number of screens listed on a single
summary page. Smaller values reduce the amount of time it takes for the browser to
load the summary page but may result in multiple summary pages. CLOGGEN
generates additional pages if there are more screens than the LISTMAX value. If
LISTMAX is not specified, CLOGGEN uses 300.
DELETE
Deletes a specified Web-based compare log. Use the CLOG parameter to identify the
sequential dataset or PDSE and member of the originating log file and the CLOGDIR
parameter to identify the HFS path and directory containing the Web-based report to
delete. CLOGGEN deletes the associated HTML files.
Note:
Do not wildcard the DSN or PDSE member name when using DELETE.
REPLACE(YES|NO)
Replaces the common directory containing HTML files that are shared by all compare
logs. The common directory is built during the first conversion and typically does
not require rebuilding. If you experience navigation/display issues, or suspect file
corruption, specify REPLACE(YES) to rebuild the common directory. REPLACE(NO) is
the default.
SEARCH(NO)
Disables the report’s “search” feature. Specify SEARCH(NO) to prevent the search
field from appearing on the Summary page.
21-4
Hiperstation for VTAM User Guide
RESPONSE
Set a percent for allowable actual response times when compared to original response
times in the script. For example, to identify response times that are more than 10%
longer that original, specify: RESPONSE(10), for 20% use RESPONSE(20), and so on.
The default is to ignore response times.
Accessing Reports
To access the Web-based Compare or Exception Log:
1. Open a supported Web browser.
2. In the address bar at the top, type:
http://<URL of mainframe><directory path specified on CLOGDIR
parm>/index.html
3. Press Enter. The browser displays an index (Figure 21-2) of all Compare Logs,
Exception Logs, and Onelogs found in the specified directory.
Figure 21-2. Compare Log Index Page
4. Click the desired log, or in the case of a Onelog, the desired terminal. The summary
page for the selected log/terminal appears. See the next section for navigation
instructions and a detailed description of each page in the report.
Reading and Navigating Web-Based Reports
The Web-based Compare Log initially displays a summary page. Access comparison detail
from links on the summary page. Access the search feature from either the summary or
detail pages.
Report Summary
The Web-based Compare Log Report initially displays a Summary page (Figure 21-3).
• Click Return to return to the list of available reports.
• Click View all screen to access comparison detail.
To learn about the search feature, see “Search and Find Features” on page 21-8.
If you used the TRANS parameter, the Transaction Summary tables provides a list of all
transaction IDs found in the log dataset.
• Click Sequence (column header) to sort the table by transaction sequence.
• Click Transaction ID (column header) to sort the table alphabetically and
numerically by transaction ID.
Text-to-Web Compare and Exception Log Converter
21-5
• Click the transaction ID text in the table to view the first screen containing the given
transaction ID.
Figure 21-3. Web-based Compare/Exception Report Summary
Compare Log Summary Fields
Original Compare Log Dataset
Displays the selected sequential dataset or PDSE member used to generate the report.
Date Created
Displays the date that the original log dataset was created.
Total Mismatches
Displays the number of mismatches found in the given log dataset or PDSE member.
Total Screens
Displays the total number of screens in the given log dataset or PDSE member.
Total Transactions
Displays the total number of unique transaction IDs found in the given log dataset or
PDSE member. If the TRANS parameter was not used during report conversion, this
field shows zero.
TPF
Displays the region name (VTAM LU name) of the transaction processing facility
against which the script was played back.
Transaction Summary Fields
Sequence
Displays the sequence in which the unique transaction IDs were captured. CLOGGEN
processes the log file from beginning to end. It looks at the screen location specified
on the TRANS parameters and increments the sequence number when that location
contains unique information. If all screens contained the same information in the
specified location, only one transaction would be listed.
Transaction ID
Displays the unique transaction ID found in the specified screen location.
Total Screens
Displays the total number of screens containing the specified transaction ID.
21-6
Hiperstation for VTAM User Guide
Total Mismatches
Displays the total number of mismatches for the given transaction ID.
Report Detail
Access comparison detail (Figure 21-4) from the Compare Log Summary page. The detail
screen is comprised of two panes:
• The navigation pane on the left side of the screen (see Figure 21-4).
• The detail pane that shows the “actual” and “expected” screens for the currently
selected comparison entry (see Figure 21-5 on page 21-7).
Figure 21-4. Compare Log Navigation and Detail Panes
Navigation Pane
This pane provides information about the selected comparison entries and easy access to
the selected comparison screens.
If you access detail via a transaction ID link, the navigation pane lists all screens
containing the given transaction ID. If you access detail via the View all screens link, it
shows all screens in the log.
Text-to-Web Compare and Exception Log Converter
21-7
Figure 21-5. Compare Log Detail Navigation Pane
The navigation pane can contain any or all of the following comparison entry
information and links:
• << (back) and >> (forward) move you through the listed comparisons
(actual/expected screen pairs).
• return returns you to the summary page.
• find initiates the find feature. See “Search and Find Features” on page 21-8.
• +script name (x/y) is an expandable/collapsible list of all actual and expected screens
for the given script. x is the number of mismatched screens and y is the total number
of screens pairs from the given script. Click the plus sign (+) to view or hide the list
of screen pairs belonging to the given script.
• +NE indicates the selected actual/expected screens do not match. It is followed by the
screen number, the transaction ID, or both depending on the LISTVIEW value
supplied during conversion.
– If you specified SCREENS on the LISTVIEW parameter or you did not specify the
LISTVIEW parameter, NE is followed by the screen number.
– If you specified TRANS, it is either followed by the transaction ID or “unknown”
if nothing is in the defined screen location.
– If you specified BOTH, it is followed by both the screen number and transaction
ID.
Click the plus sign to view or hide the following detail information and links:
– trans id field displays the transaction ID for the given screen pair.
– key field displays the input function key, if any, used to generate the screen
during recording and playback.
– actual and expected links position the detail window to the actual or expected
screen for the given comparison.
• +EQ indicates the selected actual/expected screens match. This plus sign link (+)
behaves the same way and displays the same information as NE.
• continue appears at the bottom of the list if there are more screens in the log dataset
than the LISTMAX parameter value. Click continue to go to the next set of screens.
Once there, the previous link appears at the top of the list. Use it to return to the
previous set of screens.
Detail Pane
The detail pane shows the set of “actual” and “expected” screens for the selected
comparison entry (Figure 21-4 on page 21-6). By default, the report highlights differences
21-8
Hiperstation for VTAM User Guide
in the screens. The screen number displays in the upper left corner of each screen and the
script dataset appears across the top.
The >> (forward) and << (back) links that appear in the upper right corner of the screen
title bars toggle the view from the “actual” screen to the “expected” screen and vice
versa. The same links appear above the screens. However, they move you through all of
the screens in the log.
Figure 21-6. Top of Compare Log Detail Pane
• Click change settings to change the color scheme and font size of the report. See
“Customizing Report Presentation” on page 21-9.
• Click highlight on/off to turn difference highlighting on and off. This is useful for
viewing screens that have many differences.
• Click print to print the current page.
The ATTENTION IDENTIFIER that appears at the bottom of the comparison entry detail
(see Figure 21-4 on page 21-6) lists the input function key, if any, used to generate the
screen during recording and playback.
Search and Find Features
Web-based Compare Logs offer the Search and Find features.
• Search appears on the summary page if you did not specify SEARCH(NO) in the
conversion JCL. Use it to search all of the screens in the selected log.
• Find appears at the top and bottom of the list of comparison entries in the report
detail navigation pane. Use it to find specified text in the comparison entries.
Following are instructions for using each of these features.
To search all screens in the log:
1. On the Compare Log Summary page, enter the desired text in the Search field and
click Search. The Search Results page (Figure 21-7) appears and, if applicable,
provides a list of all screens containing the specified text.
Text-to-Web Compare and Exception Log Converter
21-9
Figure 21-7. Compare Log Search Results
2. Click a screen number. The actual and expected screens appear.
3. To return to the Search Results page, click the browser’s back button. Repeat screen
selection as needed.
4. Click Return at the top of the Search Results page to return to the Compare Log
Summary page.
To find specified text in the comparison entries:
1. From the report detail, click find, which is located at the top or bottom of the
comparison entries in the navigation pane. The Find Text dialog appears (Figure 218).
Figure 21-8. Find Text Dialog Box
2. Enter the text you wish to find. This feature is case sensitive.
If there is a continue link at the bottom of the comparison entries list, check the
Continue find to next page without prompting box to search the rest of the
comparison entries in the file without interruption. Otherwise, the browser prompts
for confirmation each time it opens the next list. To search a previous list, start the
search from the beginning of that list.
3. Close the dialog by clicking the X button in the upper right corner.
Customizing Report Presentation
This section discusses the change settings feature that allows you to customize the
presentation of the comparison screens. It also provides system-setting information for
optimizing report viewing.
21-10
Hiperstation for VTAM User Guide
Report Settings
Web-based Compare Logs offer the following options for changing the appearance of the
reports:
• change settings to change the screen color, the highlighting color, and the screen
text color and size.
• highlight on/off to turn screen difference highlighting on and off.
When you exit the report, the browser saves your settings as cookies. Each report has its
own set of cookies to allow you to create different settings for each report.
To change the appearance of a report:
1. Navigate to the report detail screen.
2. Click change settings, which is above the “Actual” screen in the detail pane (Figure
21-4 on page 21-6). The Change Settings dialog appears.
Figure 21-9. Change Settings Dialog Box
3. Click the desired color button for the screen, text, and highlighting. Click the down
arrow to choose text size from a list. Changes take effect immediately.
4. To exit the dialog, click close or the X button in the upper right corner.
5. To turn difference highlighting on or off, click the highlight on/off link located
above the “Actual” screen in the detail pane.
System Display Settings
View Web-based Compare Logs at any display resolution. However, lower resolutions
result in a larger display of the report. If scrolling up and down to see the “actual” and
“expected” screens is too tedious, consider:
• Increasing screen resolution to 1280 X1024 pixels. Refer to your operating system
help to learn how to adjust the display resolution.
• Maximize the browser window by clicking the middle button on the upper right
corner of the browser window.
• Reduce the screen text size using either the browser settings or the report settings.
Browser settings affect all text displayed in the browser window. Report settings
affect only the text that appears on the comparison screens.
22-1
Chapter 22.
Hiperstation for VTAM Profile Defaults
Chap 22
Domain Traveler Profile Defaults
Domain Traveler provides an interactive connection from ISPF to the application or
subsystem you are testing. Use it to record your activity, play back recorded scripts,
compare recorded scripts to live activity, and dub new testing scripts.
1. Select option 1 Domain Traveler from the Hiperstation Profile screen (Figure 22-1).
Figure 22-1. Hiperstation Profile Screen
Hiperstation
OPTION ===>
-------------- Hiperstation Profile ----------------------------

More:
+ 
Primary commands: menu-number, ALL, CANCEL

Line commands: S or / to select options.


Active Profile:

Dataset
===> 'USER2312.HIPER.PROFILE'

Member
===> HIPER

Description
===> changed description


_ 1 Domain Traveler Recording and Playback defaults

_ 2 APPC
Global Record and Script Create settings

_ 3 3270/LU0
Global Record and Script Create settings

_ 4 WebSphere MQ
Global Record and Script Create settings

_ 5 TCP/IP
Global Record and Script Create settings

_ 6 Auditing 3270
Auditing defaults for 3270

_ 7 Auditing MQ
Auditing defaults for WebSphere MQ

_ 8 Auditing TCP/IP Auditing defaults for TCP/IP

_ 9 Playback MQ
MQ Playback parameter defaults

_ 10 Playback TCP
TCP Playback parameter defaults

_ 11 ATV Manager
Test Vehicle defaults


Should changes made elsewhere to Profile values be saved?

Profile Autosave
===> Y
(Y = YES, N = NO OR A = ASK)


Should changes made elsewhere to dataset names be saved?

DSN Autosave
===> Y
(Y = YES, N = NO)


Email address: _______________________________________________________________ 

Codepage: ISO8859-1


Job statement information for batch jobs:

===> //XXXXXXXA JOB ('ACCOUNT',5M-0000),'HIPERSTN',

===> //
CLASS=Q,MSGCLASS=R,NOTIFY=&SYSUID

===> //*

> //*
The Domain Traveler Defaults screen appears (Figure 22-2).
Note: For easier display, the initial Profile screens have been combined. Figure 22-1
shows the profile selection screen. The Domain Traveler screens in this
section have been combined. Figure 22-2 on page 22-2 shows the Session
Options and PF key translations settings. Figure 22-3 on page 22-3 shows the
remainder of the Domain Traveler settings. On your actual screen, press
FORWARD (PF8) or BACKWARD (PF7) to view all of the fields.
22-2
Hiperstation for VTAM User Guide
Figure 22-2. Domain Traveler Defaults - Session Options and PF Key Translations



More:
+ 
Default Domain
===> TSO
(Recording Domain)


Session Options

Logon data
===> LOGON DATA

ZOOM mode
===> N
(Y=yes, N=No)

ZOOM key
===> PF23

LU name
===> ________ (Terminal name used to login to application) 
Logmode
===> ________ (Overrides model, SNA and Queriable options) 
3270 model
===> 5
(1=12x40, 2=24x80, 3=32x80, 4=43x80, 5=27x132)
SNA
===> Y
(Y=yes, N=no)

Queriable
===> Y
(Y=yes, N=no)

Trailing Blanks ===> 1
(1 = Single, Y = keep all, N = keep none)

Infirst
===> Y
(Y = No Welcome Screen From Domain Dest.)

DBCS
===> N
(Y = support DBCS)

Edit Application

Profiling
===> _
(/ to edit Application Profiling)


The following PF key translations apply to the Domain Destination when

in non-Zoom mode:

PF01 = F1
PF04 = F4
PF07 = F7
PF10 = F10
PA1 = _____

PF02 = F2
PF05 = F5
PF08 = F8
PF11 = F11
PA2 = _____

PF03 = F3
PF06 = F6
PF09 = F9
PF12 = F12
CLEAR= _____

Hiperstation
------------ Domain Traveler Defaults
Profile: HIPER
Profile Dataset: 'USER2312.HIPER.PROFILE'
OPTION ===> _________________________________________________
2. Default Domain allows you to stay within ISPF and access Domain Destinations
such as CICS, IMS/DC regions, etc. under which your business applications are run.
Enter the desired default domain.
3. The Domain Traveler Session Options are fairly straightforward. Fill in or change the
desired fields.
– Logon data, if entered, will be supplied to the Domain Destination with your
connection request.
– ZOOM MODE. In non-Zoom mode, ISPF fills all fields with trailing blanks. Enter
Y to initiate session in ZOOM mode and save all trailing blanks, N to initiate
session in ISPF mode and remove all trailing blanks, or 1 to remove all but one
trailing blank.
– ZOOM Key specifies the key that will toggle between ZOOM and ISPF modes.
– LU name is the LU (terminal name) used when establishing a session with the
application.
– Logmode describes the characteristics of the terminal (for example, rows and
columns) when establishing a session with the Domain Destination. This entry
must be defined to VTAM.
– 3270 model describes the type of 3270 device.
– SNA specifies whether Hiperstation is emulating an SNA device.
– Queriable specifies whether Hiperstation is emulating a queriable device.
– Trailing Blanks specifies whether Hiperstation will save or remove trailing
blanks. Y will keep all trailing blanks, N will remove all trailing blanks, and 1 will
keep one trailing blank.
– Infirst specifies whether to provide a welcome screen from the domain
destination. Y prevents the welcome screen from appearing.
– DBCS. Select Y to support double byte character sets.
– Edit Application Profiling. Enter a (/) to view or modify your Edit Application
Profiling settings. Application Profiling examines components of each
datastream received from the application and compares it against previously
received datastreams to better anticipate the next action the application will take
(for example, to send more data or wait for input).
Hiperstation for VTAM Profile Defaults
4. The default PF key translations apply to the Domain Destination when in nonZoom mode. Make changes if desired.
PF01 = F1
PF02 = F2
PF03 = F3
PF04 = F4
PF05 = F5
PF06 = F6
PF07 = F7
PF08 = F8
PF09 = F9
PF10 = F10
PF11 = F11
PF12 = F12
PA1 =
PA2 =
CLEAR=


Figure 22-3. Remainder of Domain Traveler Defaults
Hiperstation
------------ Domain Traveler Defaults --------------------------
Profile: HIPER
Profile Dataset: USER2312.HIPER.PROFILE

OPTION ===> _______________________________________________

More:
- + 
Recording Parameters: __________________________________________________

Script dataset
===>

Replace Members? ===> Y
(Y=Yes, N=No)

Format Recording ===> Y
(Y=Yes, N=No)

Record Inputs

Only?
===> N
(Y=Yes, N=No)

Script Recovery ===> Y
(Y=Yes, N=No)

Input fields
===> N
(in row,column format? Y or N)


Playback Parameters:

Repetition Count ===> 1
(1 to 999)

Zoom Mode
===> N
(Y)es, (N)o, (R)esume

Dubbing
===> N
(Y)es, (N)o, (C)hange

Suppress Play

Screen(s)
===> _
(Y=Yes, N=No)

Stop Play
===> _
(Y=Yes, N=No)

Play/Think Time ===> 1
( 1. Play interactively,

2. Play at full speed,

3. Play at think time recorded on script,

4. Play at user specified think time)

Identify inputs whose processing should be delayed:

===> __________________________________________________

Think Time

Seconds
===> 11
(If Play/Think Time

Hundreths
===> 50
option 4 selected)

Percentage
===> 100
(If Play/Think Time is 3 or 4)


Comparison Options:

Stop/mark
===> 1
(1. any compare check

2. alpha character differences

3. field number mismatches

4. Ignore all compare differences)


Initial mismatch ===> ______
(ACTUAL,DIFFER, or DELTA)


Ignore numeric

differences
===> N
(Y=Yes, N=No)

Compare Last

Image Only
===> N
(Y=Yes, N=No)

Dub encrypted masks

as character

masks
===> Y
(Y=Yes, N=No)

Use encrypted

masks during

Compare
===> Y
(Y=Yes, N=No)

Identify outputs whose compare processing should be bypassed:


===> __________________________________________________

Auto Documentation Parameters:

Dataset name
===> ____________________________________________

File Format
===> _
(1 = Printer Control Characters

2 = DCF (Script) Tags

3 = None)

Record
===> _
(1 = Output screens

2 = Input data with output

3 = Both)

Screens "boxed" ===> _
(Y-yes, N-no)

Running Title
===> ______________________________________________________ 

Other Datasets:

Journal Dataset ===> HIPERJRN.LIST

Log Dataset
===> HIPERLOG.LIST

5. Fill in or change the Recording Parameters fields.
22-3
22-4
Hiperstation for VTAM User Guide
– Script dataset specifies where you want to store created scripts on DASD. This
must be a fully qualified dataset name up to 44 characters and defined as a PDS
or PDSE. If the dataset does not exist, you will be prompted to allocate it.
– Replace Members? Enter Y to replace existing scripts with dubbed scripts.
– Format Recording specifies whether to create a formatted script. Enter a Y to
create a formatted script.
– Record Inputs Only? Enter a Y to record only the input entries. If selected,
screen images will not be recorded. Enter an N to also record screen images.
– Script Recovery specifies whether to use script recovery. Enter a Y to use script
recovery.
– Input fields specifies whether to record the physical row and column of the
input rather than the relative input number. Enter a Y to record the physical row
and column.
6. Fill in or change the Playback Options fields.
– Repetition Count specifies the number of times to repeat. Enter 1 to 999.
– Zoom Mode specifies whether the script will play in zoom or non-zoom mode.
Enter Y for zoom mode, N for non-zoom mode, and R to play the script in zoom
mode, but return to non-zoom mode when the script is finished.
– Dubbing allows you to record a new script during the play process.
• Enter Y to invoke the Standard Recording Setup screen. This activates the
normal recording mode. The status line will change to indicate that
recording is active.
or
• Enter C to invoke the change-only Recording Setup screen during execution
setup. This activates a background recording that is only saved if the original
script encounters a comparison check. The status line is not changed.
– Suppress Play Screens:
• Enter Y to invoke the standard Recording Setup screen. This will activate the
normal recording mode. The status line will change to indicate that
recording is active.
• Enter C to invoke the change-only Recording Setup screen. This will activate
a background recording that will only be saved if the original script
encounters a comparison check. The status line is not changed.
– Stop Play: enter Y to halt activity during playback.
– Play/Think Time specifies the think time to be used during playback. The
options include:
1. Play interactively: Playback pauses before each screen of data is sent to the
Domain Destination.
2. Play at full speed: Transactions are played back as fast as the system can
execute them.
3. Play at Think Time recorded on script: Think time is simulated using the
time recorded on the script.
4. Play at user specified think time: Think time for all transactions will be the
time specified in the “Time (ss th)=>” field.
Identify inputs whose processing should be delayed: Enter a range of <INPUT>
groups whose playback should be delayed. Use this option when the application
takes an unusually long time to build the screen into which the <INPUT> group
is placed. Only use this field if prior playbacks failed because Hiperstation
processed these particular <INPUT> groups too quickly.
Hiperstation for VTAM Profile Defaults
22-5
• Think Time (when option 4 is selected): The Think Time for each
transaction specified in seconds, tenths, and hundredths of a second. For
example, “00 75" specifies 3/4 of a second think time.
• Percentage applies a percentage figure to the Think Time. This option is
applicable when the Play/Think Time is set to 3 or 4. For example to play
back a script with half the original think time, enter Play/Think Time
===> 3 and Percentage ===> 50.
7. Fill in or change the Comparison Options fields.
– The Stop/Mark Comparison Option (COPT) specifies an unattended comparison
option that is effective only when used in conjunction with the LOG or XLOG
parameters. Choices include:
1. Any compare check: Mark all comparison checks in the log.
2. Alpha character differences: Mark only alpha character differences. Ignore
differences in screen attribute bytes.
3. Field number mismatches: Mark comparison checks only if there is a
difference in the number of fields on the received and expected screens.
4. Ignore all compare differences: Ignore all comparison checks.
– Initial mismatch specifies which screen is to be placed when a mismatch is
detected.
• ACTUAL$: The ACTUAL screen displays the contents of the buffer that
Hiperstation received from the application.
• DELTA $: The DELTA screen displays an overlay of the position that is
different from the actual screen versus the expected screen.
• DIFFER$: The DIFFER screen displays an overlay of the differences between
the actual screen versus the expected screen. This overlay is on top on the
ACTUAL screen.
– Ignore numeric differences (IGND) specifies that numeric values will not be
considered when testing for comparison checks. The IGND keyword is only in
effect when used in conjunction with the LOG or XLOG parameters. Hiperstation
considers the following conditions as matching:
• Actual character and expected character are both numeric.
• Actual character is numeric and the expected character is blank or null.
• Actual character is blank or null and the expected character is numeric.
All other conditions are mismatches.
– Compare last image only compares the scripted screen image and the screen
image received from the application only after the application has sent all data
required to build the final screen. For example, many applications send a map
filled with data followed by a map containing only a message. Enter a slash (/) in
this field to eliminate comparison of the first data only map but to allow
comparison when the full screen image is built from both the data and the
message maps.
– Dub encrypted masks as character masks dubs encrypted masks (<MSK>NNN
tags) in the script being played back to the new script as both encrypted masks
and as an additional record of “I” character masks when you select Y. Select N to
prevent additional character masks from being added to your dubbed script.
– Use encrypted masks during compare to prevent miscompares on dark fields.
Deselect this option to disable encrypted masks and allow identification of
miscompares within dark fields. Deselecting this option does not cause data
within dark fields to appear on Actual/Expected screens. This option affects only
encrypted masks. All other forms of masking are still valid and in effect for dark
fields.
22-6
Hiperstation for VTAM User Guide
– Identify inputs whose compare processing should be bypassed bypasses
compare processing for <OUTPUT> groups that fall within the specified range.
For example, enter 1-3,6,77 to bypass compare processing for <OUTPUT> groups
0000001, 0000002, 0000003, 0000006, and 0000077.
8. Fill in or change the Auto Documentation Parameters fields.
– Dataset name specifies whether the output generated by the AutoDoc facility is
directed to a SYSOUT class or DASD dataset. If you enter a single character, the
documentation produced by the AutoDoc feature is allocated to a SYSOUT class.
If you enter more than one character, the documentation is allocated to a dataset
file.
– File Format specifies the AutoDoc format that will be generated in standard print
formatting and carriage control (PCC), Document Composition Facility script
(DCF), or neither of these formats. Enter 1 (PCC), 2 (DCF), or 3 (NONE).
– Record can produce AutoDoc documentation for the output images, screen
images with the entered input, or both. Enter 1 (output screens), 2 (input data
with output), or 3 (both).
– Screens “boxed” produces documentation with or without borders. Enter Y to
produce documentation with borders or N for no borders.
– Running Title specifies the title that will appear at the top of each page. You can
use up to 57 characters.
9. Fill in or change the Other Datasets fields.
– Journal Dataset specifies that a transaction journal will be generated for the
3270 group. If the specified value is a single character, the journal is allocated to
a SYSOUT class. The SYSOUT goes to the class specified by that character. If the
value is more than one character, the transaction journal is allocated to a
permanent file with that dataset name. By default, no transaction journal report
is produced.
– Log Dataset specifies that a comparison log for each terminal in the group will
be allocated. If the specified value is a single character, the comparison log is
allocated to a SYSOUT dataset. The SYSOUT dataset is in the class specified by
that character. If the value is more than one character, the comparison log is
allocated to a permanent file with the name: dataset.Pnnnn, where nnnn is the
port number assigned to the terminal. Wild cards (* or ?) can be used for the port
number (nnnn). A member can also be supplied.
3270/LU0 Profile Defaults
The 3270/LU0 - Record and Script Create Defaults screen specifies the Terminal LU,
Applid, and/or User ID you want to record.
1. Select option 3 3270/LU0 from the Hiperstation Profile screen (Figure 22-4).
Hiperstation for VTAM Profile Defaults
22-7
Figure 22-4. Hiperstation Profile Screen
Hiperstation
OPTION ===>
-------------- Hiperstation Profile ----------------------------

More:
+ 
Primary commands: menu-number, ALL, CANCEL

Line commands: S or / to select options.


Active Profile:

Dataset
===> 'USER2312.HIPER.PROFILE'

Member
===> HIPER

Description
===> changed description


_ 1 Domain Traveler Recording and Playback defaults

_ 2 APPC
Global Record and Script Create settings

_ 3 3270/LU0
Global Record and Script Create settings

_ 4 WebSphere MQ
Global Record and Script Create settings

_ 5 TCP/IP
Global Record and Script Create settings

_ 6 Auditing 3270
Auditing defaults for 3270

_ 7 Auditing MQ
Auditing defaults for WebSphere MQ

_ 8 Auditing TCP/IP Auditing defaults for TCP/IP

_ 9 Playback MQ
MQ Playback parameter defaults

_ 10 Playback TCP
TCP Playback parameter defaults

_ 11 ATV Manager
Test Vehicle defaults


Should changes made elsewhere to Profile values be saved?

Profile Autosave
===> Y
(Y = YES, N = NO OR A = ASK)


Should changes made elsewhere to dataset names be saved?

DSN Autosave
===> Y
(Y = YES, N = NO)


Email address: _______________________________________________________________ 

Codepage: ISO8859-1


Job statement information for batch jobs:

===> //XXXXXXXA JOB ('ACCOUNT',5M-0000),'HIPERSTN',

===> //
CLASS=Q,MSGCLASS=R,NOTIFY=&SYSUID

===> //*

> //*
The 3270/LU0 Record and Script Create Defaults screen appears (Figure 22-5).
Note: For easier display, the initial Profile screens have been combined. Figure 22-4
shows the profile selection screen. The 3270/LU0 screens in this section have
been combined. Figure 22-5 shows all of the 3270/LU0 Record and Script
Create Defaults settings. On your actual screen, press FORWARD (PF8) or
BACKWARD (PF7) to view all of the fields.
22-8
Hiperstation for VTAM User Guide
Figure 22-5. 3270/LU0 Record and Script Create Defaults Screen
Hiperstation ---- 3270/LU0 Record and Script Create Defaults ------------------
Profile: HIPER
Profile Dataset: 'USER2312.HIPER.PROFILE'

OPTION ===>

More:
+ 
--------------------------------Record Settings--------------------------------
_ Message Filters
(/ for Filter panel)


Capture Criteria:

Terminal
===> *_______ Use an asterisk for wildcarding

Application
===> *_______ the Terminal, Application or Userid

User ID
===> *_______ fields.

OR

Global Record Manager List ===> ________
_ select to edit list

Second Filter GRM List
===> ________
_ select to edit list


Start and End Times:

Date and Time
HH : MM : SS
MM / DD / YY

Start Time
===> 00 : 00 : 00 Start Date
00 / 00 / 00

End Time
===> 00 : 00 : 00 End Date
00 / 00 / 00


Repository Dataset:

Dataset Name
===> 'USER2312.HIPER.REPOSIT'

First Number
===> _______
(if wildcard in dataset)

Last Number
===> _______
(if wildcard in dataset)

Replace or Append ===> _
(1 = Replace, 2 = Append)


Recording Options: (Enter "/" to select)

_ Suspend Script Creation

_ Reuse Repositories

_ FORCE Request at 'End Time'

_ Normal Event Notification

_ Error Event Notification

_ Record From LOGON Only


-----------------------------Script Create Settings----------------------------
Script Dataset:

Dataset Name
===> 'USER2312.HIPER.SCRIPT'

Description
===> ____________________________________________________ 
Member Prefix
===> ______
(1 - 6 character prefix)

Member Suffix
===> _______ (2 - 7 numeric suffix)

Session Log
===> ________ (1 - 8 character member name)

Replace?
===> _
(/ = Yes, Blank = No)


Script Format Options:
(Enter "/" to select)

_ Generate Formatted Script
Blank to generate unformatted

_ Input Only
Blank to capture input and output

_ Input Field Formats
Change Input Fields to Row/Column Format


Message Filtering Options:
(Enter "/" to select)

_ Use Message Filters
(Use REXX Script(s))


_ Filter Default
(I = Include, E = Exclude)

Script Create Execution Options:

Select Processing Option:
(Enter number to select)

_ 1. Submit Batch Job

2. TSO

2. Entering a slash (/) to select Message Filters displays the 3270/LU0 - Message Filters
screen. See the Hiperstation for VTAM User Guide or the online help for information
about creating these filters.
3. The Capture Criteria fields specify what you want to capture. Fill in the Terminal,
Application, and/or User ID fields or the Global Record Manager List field.
– Terminal specifies the logical unit (LU) name of the VTAM terminal to record.
– Application specifies the ID of the VTAM application to record.
– User ID specifies the mainframe User ID to capture.
For Terminal and Application, you can enter a fully qualified 8-character name. For
User IDs you can enter a fully qualified 7-character name. You can also use a wildcard
(*) to capture all terminals, Applids, and User IDs or you can specify a group of
terminals, Applids, and User IDs starting with the same prefix (for example, TEST*).
Hiperstation for VTAM Profile Defaults
22-9
If you prefer, you can specify a Global Record Manager List and, optionally, a
Second filter GRM List instead of the Terminal, Application and User ID fields. These
fields can only be specified if the Terminal, Application and User ID fields are left
blank.
– Global Record Manager List and Second Filter GRM List specify the name of a
Global Record Manager INCLUDE or EXCLUDE list. If you specify a list that does
not exist, when the user reaches this point in the record process, the Global
Record Manager * Add List screen will appear to allow the user to create the list
before the capture criteria is accepted. To use the Second Filter GRM List, you
must first have specified the Global Record Manager List. The second filter will
be applied to the result of the first filter.
4. Start and End Date and Time are optional fields that specify the date and time of
day that you want the capture request to be started or stopped. If you enter a Start
Time you must enter a Start Date. If you enter an End Time you must enter an End
Date.
5. Repository Dataset specifies the name of the dataset where captured data will be
stored on DASD. You can enter a fully qualified dataset name up to 44 characters in
this field to allocate a fixed repository. You can also enter a dataset name with a
wildcard of “*” or “?” that will result in the allocation of a repository set. This set is
defined by a range of numbers entered in the First and Last number fields.
Enter the dataset name and First Number and Last Number fields, if required.
– Asterisk (*): Inserts an incremented value into the dataset name qualifier in
which the asterisk appears. This wildcard pads the incremented value with
enough zeros to ensure an eight-character qualifier. For example,
USER.#3270.REC* with first=1 and last=3 creates capture the following
repositories:
USER.#3270.REC00001
USER.#3270.REC00002
USER.#3270.REC00003
– Question mark (?): Inserts the incremented value into the dataset name qualifier
where the question marks appear. Enter at least one question mark for each digit
of the greatest value in the range fields. For example, USER.#3270.REC?? with
first=9 and last=11 creates the following capture repositories:
USER.#3270.REC09
USER.#3270.REC10
USER.#3270.REC11
Note: Begin each segment of the dataset name with an alpha character (A-Z) or
@#$ including segments with wildcard characters.
– First Number and Last Number define the range for wildcard characters entered
in the Repository Dataset field. You can enter any range from 0 to 9999999.
These fields are required only if you enter a wildcard in the repository dataset
name.
– Replace or Append specifies whether the captured data will be appended to a
dataset of the same name or replace it. Enter 1 to replace or 2 to append.
6. Recording Options control the way your capture request will generate scripts,
process the repository, stop your requests, send normal and/or error messages, and
capture in flight session data.
Enter a slash (/) to select an option.
– Suspend Script Creation controls automatic script creation. To prevent script
creation at the end of the recording request, enter a slash (/) in this field and
press Enter. It also defers the entry of script creation criteria to a later time. If you
leave this field blank you will be guided through the script creation criteria
22-10
Hiperstation for VTAM User Guide
screens prior to your capture request being activated. This will also cause
automatic script creation to execute when your capture request is stopped.
– Re-use Repositories controls whether repository sets will be reused when the last
dataset in the sequence is filled. Enter a slash (/) to reuse your repository sets. For
example, if you enter a First and Last number of 0000001 through 0000010,
when segment number 10 is full, the data recorder will close segment 10 and
reopen segment 1 replacing the oldest captured activity with the newest. Leave
this field blank to terminate recording when the last segment is full.
– FORCE Request at 'End Time' controls whether your capture request will be
forced rather then stopped when it reaches the End Time you specified in your
request. FORCE terminates recording of all sessions including in-flight sessions.
Script creation begins immediately unless the Suspend script creation option is
selected. Be aware that you may lose buffered data resulting in partially recorded
sessions.
If you do not select this option, a STOP command is issued at the request’s
specified end time. It stops recording new sessions but continues to record any
active sessions. After all in-flight sessions end, recording terminates and script
creation begins unless the Suspend script creation option is selected. Although
this ensures complete session captures, it may delay script creation.
Note:
This field can only be selected if you entered an End Time in your
request.
Enter a slash (/) to select.
– Normal Event Notification and Error Event Notification control whether
normal and error event messages are generated and sent to your TSO session. If
you are recording a large number of sessions, consider disabling Normal event
notification to reduce the number of messages you receive.
Enter a slash (/) to receive these messages at your terminal or leave blank to
disable sending messages.
– Record From LOGON Only controls whether to start capturing sessions that are
already in flight when the request is started. If you leave this field blank, then
your capture request will start capturing data for sessions that have already been
logged on and meet your capture filter criteria. If you enter a slash (/), then your
request will only capture sessions that logon after the request is started.
7. Specify the Script Create Settings.
– Script Dataset Name, Member Prefix, and Member Suffix specify the fully
qualified dataset and member names where you want to store your scripts. Enter
a 1-6 character prefix and/or a 2-7 numeric suffix. Enter a Description if desired.
– Session Log specifies the name of the log file for this session. Enter a 1-8
character member name.
– Replace? specifies whether the script dataset will replace a dataset of the same
name. A slash (/) = yes and blank = no.
8. Specify the Script Format Options.
– Generate Formatted Script specifies whether formatted or unformatted scripts
will be generated. Enter a slash (/) to generate formatted scripts or leave blank to
generate unformatted scripts.
– Input Only specifies whether to capture input only or input and output. Enter a
slash (/) to capture input only or leave blank to capture input and output.
– Input Field Formats allows you to change input fields to a row/column format.
Enter a slash (/) to select.
9. Specify the Message Filtering Options. Message Filtering lets you filter the data in
your 3270 or LU0 sessions so that only the inputs and outputs you are interested in
Hiperstation for VTAM Profile Defaults
22-11
are stored in the script. You typically use Message Filtering to limit the size of your
scripts and to create scripts containing only specific messages or transactions. You
write short programs in REXX to tell Hiperstation the parts of a session to keep and
parts to ignore. REXX programs that you write can examine the screen images and
user input that flow during a session. You then set indicators in your REXX programs
to identify the screen images and user input Hiperstation should keep or ignore.
Enter a slash (/) to select.
– Use Message Filters controls the formatting of your scripts. Enter a slash (/) to
apply message filters to your captured data during script creation. Leave blank,
and message filters will not be used during script creation even if you specified
them in the 3270/LU0 - Message Filters screen.
– Filter default. Enter I to include or E to Exclude.
10. Script Create Execution Options specifies whether you want background (batch) or
foreground processing to be your default. Sample JCL is provided for a batch job,
which you can change if desired. Select one of the following:
– 1 Submit Batch Job (background). If you select this option, you must specify a
valid OS JCL jobcard in the Job statement information for batch job field.
– 2 TSO (foreground). This option will execute script creation as a foreground task
under your TOS session. Your session will remain locked until script creation
processing completes.
Auditing 3270 Profile Defaults
The “Auditing Defaults for 3270 Screen” specifies the terminal LU, APPLID, and/or User
ID you want to search.
1. Select option 6 Auditing 3270 from the “Hiperstation Profile Screen” (Figure 22-6).
22-12
Hiperstation for VTAM User Guide
Figure 22-6. Hiperstation Profile Screen
Hiperstation
OPTION ===>
-------------- Hiperstation Profile ----------------------------

More:
+ 
Primary commands: menu-number, ALL, CANCEL

Line commands: S or / to select options.


Active Profile:

Dataset
===> 'USER2312.HIPER.PROFILE'

Member
===> HIPER

Description
===> changed description


_ 1 Domain Traveler Recording and Playback defaults

_ 2 APPC
Global Record and Script Create settings

_ 3 3270/LU0
Global Record and Script Create settings

_ 4 WebSphere MQ
Global Record and Script Create settings

_ 5 TCP/IP
Global Record and Script Create settings

_ 6 Auditing 3270
Auditing defaults for 3270

_ 7 Auditing MQ
Auditing defaults for WebSphere MQ

_ 8 Auditing TCP/IP Auditing defaults for TCP/IP

_ 9 Playback MQ
MQ Playback parameter defaults

_ 10 Playback TCP
TCP Playback parameter defaults

_ 11 ATV Manager
Test Vehicle defaults


Should changes made elsewhere to Profile values be saved?

Profile Autosave
===> Y
(Y = YES, N = NO OR A = ASK)


Should changes made elsewhere to dataset names be saved?

DSN Autosave
===> Y
(Y = YES, N = NO)


Email address: _______________________________________________________________ 

Codepage: ISO8859-1


Job statement information for batch jobs:

===> //XXXXXXXA JOB ('ACCOUNT',5M-0000),'HIPERSTN',

===> //
CLASS=Q,MSGCLASS=R,NOTIFY=&SYSUID

===> //*

> //*
The “Auditing Defaults for 3270 Screen” appears (Figure 22-7).
Note: For easier display, the initial Profile screens have been combined. Figure 22-6
shows the profile selection screen. The Auditing screens in this section have
been combined. Figure 22-7 shows all of the Auditing profile settings. On
your actual screen, press FORWARD (PF8) or BACKWARD (PF7) to view all of
the fields.
Hiperstation for VTAM Profile Defaults
22-13
Figure 22-7. Auditing Defaults for 3270 Screen
Hiperstation
----------- Auditing Defaults for 3270 -------------------------
Profile: HIPER
Profile Dataset: 'USER2312.HIPER.PROFILE'

OPTION ===> _________________________________________________

More:
+ 
Datasets:

Registry DSN
===> ______________________________________________

Description
===> __________________________________________

Replace Existing

Repositories?
===> _
1 = Yes, 2 = Terminate


Archive Request Criteria:

Terminal
===> ________ Use an asterisk for wildcarding

Application
===> ________ the Terminal, Application or Userid

User ID
===> ________ fields.

OR

Global Record

Manager List
===> ________

Second GRM List
===> ________


Recording Date and Time
HH : MM : SS
(Optional)
MM / DD / YYYY

Start Time
===> __ : __ : __
Start Date
__ / __ / ____

End Time
===> __ : __ : __
End Date
__ / __ / ____

____

Search Request Information:

Terminal
===> ________ Use an asterisk for wildcarding

Application
===> ________ the Terminal, Application or Userid

Userid
===> ________ fields.


Search Date and Time
HH : MM : SS
(Optional)
MM / DD / YYYY

Start Time
===> __ : __ : __
Start Date
__ / __ / ____

End Time
===> __ : __ : __
End Date
__ / __ / ____

2. Specify your Datasets information.
– Registry DSN specifies the name of the dataset that contains the index to this
archive recording request. You can enter a fully qualified dataset name up to 35
characters in length to allocate the repository registry. Repositories created by
this archive record request will be based on the repository registry dataset name
(i.e. a repository registry dataset of A.B.C would result in repositories being
created from A.B.C.#0000001 to A.B.C.#9999999).
– Description is an optional field that describes the archive record request. This
description will be provided to the user when the user specifies an archive record
request in the Create Search Reports function.
– Replace Existing Repositories? specifies what should occur when archive record
attempts to switch to a new repository segment and a dataset already exists that
matches that repository segment dataset name. Select 1 or 2. 

1. Yes deletes the existing dataset and creates a new dataset with the same name
that is allocated with the same options as the initial repository dataset segment.
Specify this option if it is imperative that the archive record request remain
active. 

2. Terminate terminates the archive record request. The archive record request
will not start if any datasets exist that match the repository dataset specification.
3. Archive Request Criteria specifies the terminal LU, APPLID and User ID for which
you want to create an audit record request.
– Terminal is the logical unit name of the VTAM terminal to record.
– Application specifies the VTAM Application ID to record.
– User ID specifies the mainframe User ID to capture.
For Terminal, Application, and User ID, you can specify one of the following:
• A specific terminal or application up to eight characters or user ID up to
seven characters.
22-14
Hiperstation for VTAM User Guide
• An asterisk (*) to select all terminals, applications, or user IDs.
• A terminal, application, or user ID prefix followed by an asterisk to select a
group. For example, H8606* selects all terminals beginning with H8606.
4. Global Record Manager List and Second GRM List specify the name of a Global
Record Manager INCLUDE or EXCLUDE list. If the specified name does not exist, the
user will be presented with the “Global Record Manager * Add List Screen” to create
the list before the search criteria is accepted. These fields can only be specified if the
Terminal, Application and Userid fields are left blank.
5. The Recording Start and End Date and Time fields are optional. For a user profile,
leaving the date and time blank is most useful. When a user specifies a time frame for
the request, it becomes active at the designated start time. If no time frame is
specified, it becomes active immediately. Capture begins when all of the criteria for
an active request are met. If you enter a Start Time, you must enter a Start Date. If
you enter an End Time, you must enter an End Date. Times are entered in a 24-hour
clock. The range of acceptable year values is 2000 to 2040, and the end date and time
must be later than the start date and time.
6. Search Request Information allows you to subset the Archive Search to either an
individual session or a specific group of sessions, rather than the thousands of
sessions a long-running archive might potentially contain. The three filter criteria
provided match those available on the originating archive capture request. They are:
– Terminal - The VTAM LU name of the terminal session.
– Application - The VTAM LU name of the in-session application associated with a
terminal session.
– Userid - The signed on user ID of the user associated with a session. The user ID
tracking facility of Global Recording must be active for user IDs to be captured in
an Archive.
All filter criteria can be completely wildcarded by specifying just an asterisk (*).
Criteria can also be partially wildcarded by using an asterisk suffix (for example,
Application: H01AC* selects those application names beginning with H01AC).
7. The Search Start and End Date and Time fields are optional. See step 5 above. For
more details, see the online help.
A-1
Appendix A.
Customer Support Diagnostics
Appendix A.
App A
The Customer Support Diagnostic Report produces a list of PTFs that have been applied
to your installation. Customer Support may ask you to generate the report to aid in
diagnosing an issue.
Note:
Generating this report requires READ access to the SMP/E datasets. Consult with
your Security Administrator if you do not have the proper authority.
To generate the Customer Support Diagnostic:
1. On the Hiperstation Product Menu, type PTFS on the Option Line and press Enter.
The “Hiperstation - Diagnostics Screen” appears (Figure A-1).
Figure A-1. Hiperstation - Diagnostics Screen
---------------------- Hiperstation - Diagnostics ------------------Command ===>
Specify the install and output datasets, then press ENTER to continue.
Input datasets to use:
Global CSI dataset . . 'COMPWARE.QQF800.GLOBAL.CSI'
Target Zone . . . . . . QQF800
Output datasets to use:
PTF output list . . . . 'JSMITH.PTFS.REPORT'
Job statement information for batch job:
===> //USER05 JOB ('ACCOUNT',99),'J.SMITH',REGION=0M,
===> //
NOTIFY=&SYSUID,CLASS=A,MSGCLASS=R,USER=JSMITH
===> //*
===> //*


















The Global CSI dataset is the SMP/E Global CSI dataset. The Target Zone is the
SMP/E Target Zone. These fields default to the dataset name and target zone
established by your installer. The PTF output list is the sequential dataset to contain
the report.
2. Complete the PTF output list field, insert a job card, and press Enter. Hiperstation
submits the job.
3. Once the job has completed, view the report with ISPF. Figure A-2 shows a sample
report.
A-2
Hiperstation for VTAM User Guide
Figure A-2. Customer Support Diagnostic Report
********************************* Top of Data **********************************
+---------------------------------------------------------------+

|
Hiperstation PTF list 05/10/07 15:32:08
|

|
Loadlib: SYS2.HIPER.SQQFLOAD
|

+---------------------------------------------------------------+

QF43181 QF44415 QF45463 QF46350 QF47331 QF47364 QF47687 QF47857

QF48238 QF48264 QF48286 QF48302 QF48428 QF48749 QF48753 QF48864

QF48915 QF48950 QF48953 QF49143 QF49175 QF49197 QF49312 QF49420

QF49423 QF49451 QF49580 QF49647 QF50149 QF50220 QF50276 QF50354

QF50457 QF50731

******************************** Bottom of Data ********************************
B-1
Appendix B.
Hiperstation Script Tags
Appendix A.
App B
Script File Format
For ease of use and data manipulation, script data is recorded in a dataset. Some terminal
control characters are recorded in the dataset. During edit, these control characters can
cause a caution message to appear, which states that the data contains invalid (nondisplay) characters. Ignore this message.
All records in a script begin with a script tag except comments, which begin with an
asterisk (*). Script tags consist of a left bracket (<), a right bracket (>), and the characters
between the brackets. These tags specify the type of data that follows. Data in the
recorded script falls into three basic categories: control, input, and output. Use the
following script tags to divide categories of data:
<INPUT> and </INPUT>
Specify the beginning and ending of the current input data group.
<OUTPUT> and </OUTPUT>
Indicate the beginning and ending of the current output data group.
Within the input and output data groups, script tags indicate which PF key was used, the
data entered, and in what field it was entered. In the output groups, the data recorded
includes the response time and the screen output data.
Control Script Tags
* (asterisk)
Comment tag. The remainder of the record is ignored.
<ADDCALL>
Adds a call to a REXX exec before each subsequent <INPUT> section. The user inserts
this tag. For example, to call a routine CHECKER that takes an argument — SCREEN
— type <ADDCALL>CHECKER SCREEN. If the REXX exec needs multiple
arguments, concatenate them into one argument, pass the argument to the REXX
exec, then parse the argument into its separate variables in the REXX exec.
Note: Only one exec can be active at a time. If another <ADDCALL> occurs before a
<DELCALL>, the routine it specifies replaces the first <ADDCALL>.
<DELCALL>
Removes a REXX exec added with <ADDCALL>. The user inserts this tag.
<LOGICAL>
Indicates that the script contains one <OUTPUT> group for a set of transmissions
from the application rather than several <OUTPUT> groups per set of transmissions.
This is inserted in your script by Hiperstation if you set option ETRMLOGI equal to Y.
Note:
The LOGICAL setting causes Hiperstation for VTAM to unlock the keyboard.
B-2
Hiperstation for VTAM User Guide
<VERSION>
Identifies the version of the Hiperstation for VTAM script creation program that
created the script. For example:
The VERSION tag appears only once in a script.
Notes:
a. Do not modify the version tag value. Doing so can cause unpredictable results
during playback.
b. The version number may be different than the product release number.
<IMSUNLOK>c
Specifies whether special keyboard unlock processing will be performed. This
processing is generally (but not always) associated with IMS. Valid values for c are Y
(Yes) or N (No).
<BASETIME>
Specifies the date and time of the first input. <BASETIME> is used by the TIMESYNC
parameter in unattended mode processing.
<PAUSE>
Temporarily stops or pauses the script during playback. Playback continues when you
issue the RESUME command. The user inserts the <PAUSE> tag between an output
and input group in the script:
</OUTPUT>
<PAUSE>
<INPUT>
<PAUSEI>
Temporarily stops or pauses the script during playback. The pause takes place for
only one interaction. The user inserts this tag to temporarily stop playback to insert
sensitive or changing data, such as a password. Insert the <PAUSEI> tag between an
output and input group in the script:
</OUTPUT>
<PAUSEI>
<INPUT>
<WAIT>
Allows a script to be paused in batch. Optionally, you can send a message to the
operator console. The user inserts this tag.
A <WAIT> script tag causes a script to pause for a number of minutes and seconds.
The tag can be placed anywhere in the script, but the WAIT is issued following the
next OUTPUT group and before the next input is sent to the domain destination.
Additionally, you can choose to send a message to either the batch session log, the
MVS console operator, or both.
Hiperstation Script Tags
B-3
The amount of time Hiperstation for VTAM waits is the sum of the minutes and
seconds specified on the WAIT statement. If the WAIT tag is in the script without a
wait time, messages are still issued but without waiting.
Use the text operand with the WTO or LOG operand, or both. If WTO or LOG is
specified without a message text, Hiperstation for VTAM uses the message:
EHSB142I: SCRIPT PAUSED BY USER REQUEST.
Operand
Description
mmmm
Specifies a number of minutes to wait. A valid range is 0 through 9999.
ss
Specifies a number of seconds to wait. A valid range is 00 through 60.
WTO
Indicates a message will be sent to the operator’s console.
LOG
Indicates a message will be sent to the batch session log. This operand is ignored
during an online script playback.
text
Specifies the message text that will be sent to the operator’s console and the session
log depending on the specification of the WTO or LOG operands. The message text
must appear in quotes (single or double quotes), and the maximum length of the
message text is 79 characters.
WAIT examples include:
<WAIT>
<WAIT>
<WAIT>
00,30 WTO "WE ARE PAUSED FOR 30 SECONDS"
5 WTO LOG "NOW WAITING"
5 WTO LOG "Now waiting for 5 minutes"
<MASK>
Allows specification of one or more generic or picture masks as described in “Masking
Script Information” on page 5-16. The user inserts this tag.
Comments are optional. The syntax elements are described below.
Note: If neither row nor col are specified, the values default to all rows or columns. If
present, the (row,col) identifier must begin in column 1 or be placed
immediately after the <MASK> tag with no intervening space.
row
A specific row, or asterisk (*) for any row.
col
A specific column, or asterisk (*) for any column.
literal
Text enclosed in single or double quotes.
picture-string
A string of characters that represent data to be isolated. “Generic Masking
Examples” on page 5-20 shows sample picture-string masks. Picture-string fields
can begin in any column.
IGNORE
B-4
Hiperstation for VTAM User Guide
(Optional). Specifies that if a mismatch occurs in the area that matches the
literal/picture at the specified row and column, Hiperstation ignores the
mismatch. IGNORE is the default.
SKIP
(Optional). Specifies that if the text on the actual screen matches the
literal/picture at the specified row and column, Hiperstation will skip this screen
during comparison.
AND
(Optional). Specifies that additional masking conditions exist on the next mask
statement. These additional conditions must be true for the first mask tag to take
effect. The syntax for these additional masking conditions does not include the
IGNORE and SKIP parameters:
Input Script Tags
<INPUT>
Indicates the beginning of the input data.
<THINK>
User’s think time in minutes, seconds, and thousandths of a second. The format of
the tag’s value is MM.SS.TTT, where TTT is thousandths of a second.
<CURSOR>
The row and column position of the cursor when an attention key (such as Enter)
was pressed. The row and column are relative to zero.
<ICURSOR>
Inserts data at the cursor. Its initial position is specified by the <CURSOR> script tag.
<HOME>
Moves the cursor to the first unprotected screen field. The user inserts this script tag.
<TAB>
Moves the cursor to the next unprotected screen field. The user inserts this script tag.
<BACKTAB>
Moves the cursor to the previous unprotected screen field. The user inserts this script
tag.
<KEY>
Indicates the Attention Identifier (AID) key sent to the domain destination.
<Inn>
Places data in an unprotected field. The nn designates the input field number on the
screen, relative to one (1).
<I(row,col)>
Places data in an unprotected field at the specified row and column. The row and
column are relative to one. The user inserts this script tag.
Hiperstation Script Tags
B-5
<Cnn>
A continuation of the previous input field (<Inn>).
<C(row,col)>
Places data in an unprotected field. Indicates that a continuation of the previous
input data be placed at the specified row and column. The row and column are
relative to one. The user inserts this script tag.
<Nnn>
Places Hiperstation encrypted data in an unprotected field. The nn designates the
field number on the screen, relative to one (1).
<N(row,col)>
Places Hiperstation encrypted data in an unprotected field. Specifies that the
encrypted input data be placed at the specified row and column. The row and
column are relative to one (1). The user inserts this script tag.
<Pnn>
Places Hiperstation encrypted data in an unprotected field. The nn designates the
input field number on the screen, relative to one (1). Input fields are recorded in this
manner only when they are modified using the light pen or the Hiperstation PEN
command and the cursor is used to select the data.
<P(row,col)>
Places Hiperstation encrypted data in an unprotected field. Indicates that the
encrypted input data be placed at the specified row and column. The row and
column are relative to one (1). Input fields are recorded in this manner only when
they are modified using the light pen or the Hiperstation PEN command and the
cursor is used to select the data. The user inserts this script tag.
</INPUT>
Indicates the end of the current input data group.
Output Script Tags
<OUTPUT>
Shows the beginning of the output data.
<SECOND>
Placed between consecutive output screens. Indicates that even though the previous
output from the application specified keyboard unlock, the application sent another
output.
There are 3 requirements that must be met in order for the <SECOND> tag to be
produced. They are:
Requirement 1: The output message is followed by another output message instead
of an input message.
Requirement 2: When the first output message is sent, at least one of these three
events must happen:
1. The message itself has a bit turned on, which means to restore the keyboard.
2. VTAM is in conversation mode and is using bracketing, and the end bracket
bit is turned on.
3. VTAM has issued a change of direction.
B-6
Hiperstation for VTAM User Guide
Note:
When the “KB RESTORE ACTION” (In Domain Traveler, 'Change
Session Options, on the 'Application Profile Settings' panel) is set to
“2”, then only events (2) and (3) are checked.
Requirement 3: Hiperstation has waited at least a certain amount of time, per timing
settings in Domain Traveler or parameter keywords in Unattended Playback if
dubbing is specified, without detecting the next output message.
<RESPONSE>
Shows the domain destination’s response time in minutes, seconds, and thousandths
of a second.
<Snn>
An output screen line record. The nn designates the row number of the screen,
relative to one (1).
<Cnn>
A continuation of the previous output line (<Snn>). The nn designates the row
number of the screen, relative to one (1).
<HEX>
An input or output line represented in hexadecimal format. These lines represent the
true image of the application data stream. Each <HEX> tag includes a character
representation of the data stream as a comment ( /*...*/ ).
<MSK>
Encrypted mask positions in the previous line. This is used with the <Nnn> input
script tag to indicate encrypted positions.
I<Snn>
An output screen line record. The I prefix indicates that line nn on this screen will be
ignored during comparison. See “Using Row Masks” on page 5-16 for more
information.
Note: Hiperstation provides this at record time. However, it can be edited out of the
script to modify playback control.
G<Snn>
An output screen line record. The G prefix ignores the line nn on this and all
following screens during comparison. See “Using Row Masks” on page 5-16 for more
information.
Note: Hiperstation provides this tag at record time. However, it can be edited out of
the script to modify playback control.
X<Snn>
An output screen line record. The X prefix removes or resets any previous global
masking (G) for this line (nn). See “Using Row Masks” on page 5-16 for more
information.
Note: Hiperstation provides this tag at record time. However, it can be edited out of
the script to modify playback control.
</OUTPUT>
Indicates the end of the current output data group.
Hiperstation Script Tags
B-7
Individual Character Mask Script Tag
The individual character mask script tag is another masking tag that contains no prefix.
It consists of the letter I, which is placed in the rows immediately below those characters
to be masked. This mask tag specifies which characters on the immediately preceding
record of the output screen to ignore during comparison. See “Mask Individual
Characters” on page 5-18 for more information.
Edit Function Commands
Edit function commands include SCUT and SPASTE described below.
SCUT 1|nn
Screen Cut places one or more screen images on an ISPF clipboard for later use by the
SPASTE command.
‘nn’ indicates the number of screen images to place on the clipboard. The default is 1.
When more than one screen is cut, they are gathered from the previous screens to
the one currently displayed. For example, SCUT 5 places five screen images on the
clipboard. If you are currently displaying screen number 17 and enter SCUT 3,
screens 15, 16, and 17 are cut. BOX draws a box around the screen image.
SPASTE
Screen Paste copies one or more screen images from the ISPF clipboard and places
them in the current Edit session. The screen images are then deleted from the
clipboard.
Note:
The SPASTE command is available only in ISPF Edit.
DELETE
Deletes the screens from the clipboard after they are copied. The default is DELETE.
KEEP
Keeps the screens on the clipboard after they are copied.
Script Initialization
Compuware added the <INIT SECTION> tag to the end of the script to accommodate
application profiling. <INIT SECTION> contains control information that is gathered
during recording, and is useful during playback. <INIT SECTION> currently includes
query reply (<QREPLY>) buffers.
Do not modify <INIT SECTION>.
B-8
Hiperstation for VTAM User Guide
Note: <INIT SECTION> is optional. It is not required for playing back scripts that do not
use application profiling.
G-1
Glossary
job must be processed to completion before the
following job can begin execution. Batch is the
converse of an interactive or online task.
This glossary gives a brief description of
Hiperstation for VTAM terms, and other related
terms referred to in this document.
capture segment summary report. A report that
indicates when recording began and ended for
each segment of one or more specified capture
repositories. You can use it to help you identify
the information contained in each segment. For
example, generate this report to script activity that
was captured on Monday morning from 8:00 am
to 12:00 pm if you are unsure which repository
segment contains the information. You can import
the report into a spreadsheet or database for easy
manipulation.
3270 script. A series of input and output groups.
The input group represents the actions taken at
the terminal by the user. It records the data
entered in each of the input fields and the PF key
that was pressed to transmit the data. The output
group records the output from the transaction.
This data includes the output screen images and
the response time of the transaction.
3270 summary report. A report that details performance and mismatch information from running 3270 scripts using unattended playback. This
report summarizes the activities by script and virtual terminal within a group.
abend. ABnormal END of task. The termination
of a job, prior to normal completion, due to an
unresolved error condition.
APPC. Advanced Program-to-Program Communications. A protocol in a distributed environment
that allows programs to talk to each other and
interconnected systems to communicate and share
the processing of programs.
APPC conversation. The activity that occurs
between ALLOCATE and DEALLOCATE.
archive/search function. A Hiperstation option
that allows you to create archive record requests. A
request is started and repositories are generated
based on filter criteria. The registry dataset contains entries that indicate the date and time ranges
of each generated repository segment so that the
Archive/Search function can locate specific datasets by date and time.
autodoc. Automated Documentation. A feature
that helps you produce documentation for online
systems. Autodoc automatically creates document
skeletons or boilerplates consisting of document
format characters, a running title, screen images,
user input data, and short titles leading to the
screen’s description. You can print autodoc-created datasets or transfer them to a PC for use as
word-processing input.
batch. Processing in which jobs are submitted
and processed in the background. The jobs run
unattended and are executed sequentially. Each
CICS. Customer Information Control System. An
IBM-licensed program that enables transactions
entered at remote terminals to be processed concurrently by user-written application programs. It
includes facilities for building, using, and maintaining databases.
CNOS. Change Number of Sessions.
command. Request from a terminal to execute an
operation or program.
COMMAND field. Field in which you enter commands to execute an operation or program.
comparison log. A log that is activated during
script playback to show, in hardcopy format, each
of the received and expected screens as well as
identifying miscompares.
control file conversion utility. A utility to convert control files used by prior releases of Hiperstation for VTAM’s REXX script processor to the
format required by Hiperstation for VTAM 6.1 and
more current releases. If the control file is a dataset, you can convert all members inside the dataset at the same time, or perform a selective
conversion. Also, Hiperstation for VTAM can process either in the foreground or background
(batch). The Control File Conversion utility does
not validate control file entries.
CPIC. Common Programming Interface for Communications.
customer support diagnostics report. A report
that produces a list of PTFs that have been applied
to your installation. Customer Support may ask
you to generate the report to aid in diagnosing an
issue.
G-2
Hiperstation for VTAM User Guide
CSV. Comma Separated Value. A report format
that is available for custom Playback reports. Some
basic reports support only HTML while others support TEXT and HTML.
DASD. Direct Access Storage Device. Any peripheral device that is directly addressable, such as a
disk or drum.
data replacement. A script processor to be used
when the recorded script performs an action that
causes an application to show a unique output
field on a screen that is later used as input to that
application. The selected value from the output
field is then used to replace matching input fields
further in the script. The data to be replaced must
be in output fields generated by an application,
not input fields.
dataset. Refers to files stored on an IBM mainframe computer. Datasets can be organized in various ways, such as logical record and block
structures.
date change script processor. A date change
script processor that allows you to move dates forward in baseline Hiperstation for VTAM scripts.
The date change script processor finds date input
and output fields (such as a delivery date) in
recorded scripts, then transforms the year portion
of the date from a two-digit to a four-digit number.
date find script processor. A script processor
that is designed to assist testing applications
where dates are important. The date find script
processor searches through the output screens of
recorded Hiperstation for VTAM scripts and finds
date fields. The date fields that it finds are listed in
a report.
date recalculation function. A function of the
REXX script processor that handles situations
where a script has dates that vary based on the
date of the script playback. When this happens,
the recorded date may not be valid when the
script is played back. See also, multi-field date recalculation.
DB2. DATABASE 2. IBM’s database management
system that provides a relational model of data.
DB2 runs as a subsystem of MVS and on other
platforms.
DBCS. Double Byte Character Set. Used primarily
to display Japanese Kanji characters during 3270
testing.
domain destination. A software application or
subsystem designed to facilitate interactive transactions.
Domain Traveler. Provides an interactive connection to the application or subsystem you are
testing. Use it to record your activity, play back
recorded scripts, compare recorded scripts to live
activity, and dub new testing scripts.
dubbing. A Hiperstation for VTAM feature that
allows you to create new test scripts using previously recorded sessions. This is useful when adding new transactions to an existing script or
rerecording screen images to a new script. Hiperstation for VTAM can be set to automatically
record the new script while playing back the existing script. You can also instruct Hiperstation for
VTAM to record the new script only when a mismatch occurs. Dubbing provides many ways for
you to customize scripts, allowing you to combine
multiple scripts into a single script, update an
existing script with new screen images, append
transactions to the middle or end of a script,
update an existing script with new or additional
input, and update masked data.
dump. Hexadecimal representation of storage
that may contain data useful for diagnosing an
error.
end-user recording. An option that automates
capture of end-user activity and allows individuals
with no knowledge of TSO to create recordings or
scripts for later use in regression testing.
Enterprise Common Components (ECC). The
shared components of mainframe Compuware
products, that provide Compuware License Management System.
ESDS. Entry-Sequenced Dataset. VSAM dataset
whose records are loaded in sequence. Unlike a
normal sequential dataset, ESDS records can be
accessed randomly by their addresses.
EURO script utility. A utility that allows you to
change Hiperstation for VTAM 3270 formatted
scripts. It searches selected scripts for any currencies defined by the user and, if desired, makes the
conversion from one currency to another. This
utility enables you to add, delete, alter, copy, and
move fields within a screen. The fields can be part
of an OUTPUT or INPUT message. The utility is
able to add new screens as well. The Euro script
utility is an optional feature that requires a license
to access it.
exception. (1) An abnormal situation that may
occur during a program’s execution that may
cause a deviation from the normal execution
sequence, and for which facilities exist in the programming language to define, recognize, ignore,
or handle it. (2) An abnormal condition such as an
I/O error encountered in processing a dataset or
file.
G-3
exception log. A log that is activated during
playback to show, in hardcopy format, only those
received and expected screens that had mismatches. It is activated through the Domain Traveler screen.
explicit dubbing. Records a new script while
playing back another script. Using explicit dubbing, you start a record, then start your playback.
file. Set of related records that are organized and
treated as a unit.
GDG. Generation Data Group.
generic masks. A parsed string that allows you to
make conditional masking decisions based on
screen content.
global masking. A technique for masking each
screen in a script. Often, fields such as userID, terminal ID, or date and time appear in the same area
of the screen. Global masking allows you to mask
the fields in the beginning of the playback script.
Hiperstation for VTAM retains the masked status
of the screen area throughout playback.
global record manager. A Hiperstation for VTAM
function that builds lists of applications, terminals, and user IDs to include or exclude from
recording. Global Record Manager Lists provide
greater flexibility in defining Global Recording
requests.
global recording. An option that captures the
activity of one or more users. This option writes
the activity to a repository that generates testing
scripts. It records LU0 and3270 traffic to generate
stress tests or to archive activity for audit purposes. It also captures LU6.2, TCP/IP and MQ data.
You can record while groups of users perform their
daily routines and choose the exact terminals,
applications, and time frames to record. You can
choose to include or exclude certain messages
from recording based on a predefined list of messages. Message filtering provides a script that contains a subset of the messages from the 3270
session. You can also create and reuse lists of user
IDs, logical unit (LU) names, or applications that
can be included or excluded from a session.
implicit dubbing. Creates a new version of an
existing script. You can add transactions to the
new script, change the inputs, and update the
masks. Implicit dubbing does not allow you to
combine multiple scripts into one because the
dubbing ends when the script ends. Using implicit
dubbing, you start playback and set dubbing=y.
IMS. Information Management System. IBM’s
hierarchical database information management
system and transaction processor capable of managing complex databases and networks.
input field reformat script processor. A
processor to change input field formats in
Hiperstation for VTAM scripts from the relative
sequence number format, <Inn> to the row and
column location format <I(rr,cc)>.
interactive playback. Stops at each screen to let
you review the input and output data. In interactive mode, input data can be changed allowing
you to modify playback activity without having to
rerecord the script.
interactive recording. Hiperstation for VTAM’s
recording option (in Domain Traveler) that captures single-user activity on a keystroke-by-keystroke basis during a session and stores it in a
script as a dataset member. You can start and stop
recording at any time during the session.
ISPF screen mode. An interactive screen mode.
The screen image from the domain destination
appears in an ISPF window. With a domain destination in an ISPF window, you can use the same
physical 3270 for both your ISPF session and your
domain destination session. Normal SPLIT and
SWAP keys let you go back and forth between sessions. The ISPF print command allows domain
destination screens to be recorded in the ISPF list
dataset. All of the functions of a 3270 terminal are
available in ISPF mode.
JCL. Job control language. A job or task control
language that describes how a job or task will be
executed. All non-operating system tasks (batch or
online) use JCL to execute in MVS/JES2.
line command. Command that is typed directly
on the line to be processed.
GMT. Greenwich Mean Time.
GST utility. Goods and Services Tax Utility. An
optional script processor option that requires a
license for access. The GST utility locates up to
five fields that you specify on output screens and
makes them available for use in REXX routines
that you write. The GST utility also lets you read a
VSAM file in a REXX routine.
IGND. Ignore Numeric Differences.
list processing function. A function of the REXX
script processor that handles situations where the
application being tested presents a screen containing a list of rows from which the user can select. It
is possible that the row originally selected during
the recording moves to a different location in the
list before playback. When this happens, you can
use the list processing function to enhance playback so the script always selects the original row,
even if it has moved within the list.
G-4
Hiperstation for VTAM User Guide
LU type. Logical Unit type. Choices for Hiperstation for VTAM include 3270 or APPC.
masking. A function that instructs Hiperstation
for VTAM to ignore certain screen information,
such as date and time fields, during comparison.
Hiperstation for VTAM can also generically mask
selected alphanumeric characters on a screen. You
can mask when recording or dubbing a script or
with ISPF edit. You can also globally mask out
screen information for the entire script. There are
two basic mask types: row masks and generic
masks.
message filtering. A function that allows you to
create a new script by taking an existing script and
removing certain transactions or messages. Using
REXX code, you choose which messages to include
and exclude in the new script. You can filter messages from Global Record or from the unattended
(batch) message filter program. With message filtering, you can simplify testing by producing
scripts that contain a single message for testing
one message at a time, remove messages that contain confidential data, reduce script size by eliminating messages of no interest.
monitor requests. An option for creating, managing, and monitoring Global Recording requests.
You can record all of the APPC, 3270, or LU0 traffic on the system or specify the logical unit names,
network IDs, logmodes, TP names, terminals,
applications, or user IDs to record. You can set up
the recording request to initiate script creation
when the recording request ends or suspend script
creation and generate scripts later. Monitor
requests is also an option for creating, managing,
and monitoring TCP/IP data that passes through
this MVS system.
multichange script processor. A script processor
that allows you to change scripts to reflect application changes without re-creating those scripts.
This script processor creates and maintains these
modification requests and runs them in background or foreground mode.
multi-field date recalculation. A REXX script
processor function that allows you to recalculate
input and output dates that span fields, such as
when the month, day, and year are contained in
different fields. The multi-field date recalculation
function has Add, Update, Browse and Delete
options that work similarly to the REXX date
recalculation options. See also date recalculation function.
MVS. Multiple Virtual Storage. The primary operating system used on large IBM mainframe computers. It is packaged as the operating system
component of OS/390 and z/OS. It was packaged
separately as MVS/XA (eXtended Architecture),
MVS/ESA (Enterprise Systems Architecture), and
OS/MVS. Through its evolution, the core operating system has remained fundamentally the same.
Most programs written for MVS can run on z/OS
without modification.
non-stop playback mode. You see each screen as
it occurs in the script. The keyboard is locked to
prevent data input. Three non-stop playback
options are provided:
• Full Speed: Transactions are replayed as
quickly as the system can play them.
• Recorded Think Time: Think time, the amount
of time between each recorded user action, is
simulated using the think-time value recorded
in the script.
• Chosen Think Time: You set a think-time value
for each transaction — in seconds or as a
percentage of the recorded value.
When Hiperstation for VTAM encounters a mismatch, script playback stops. When you resume
playback, it continues in non-stop mode. In this
mode, you see screens only when a mismatch
occurs. This eliminates the need to review screens
that have not changed.
offset. A relative location or position within a
data area.
operating system. Software that controls the
execution of jobs. It may provide resource allocation and scheduling.
operation exception. An operation exception
occurs when the CPU attempts to execute an
instruction with an invalid operation code. The
operation code may be unassigned, or the instruction with that operation code may not be installed
on the CPU.
OS. Operating System.
PIU. Path Information Units.
PDS. Partitioned Dataset.
PDSE. Partitioned Dataset Extended.
PF keys. Program Function keys. ISPF uses PF keys
for many commonly used functions such as
<End>, <Repeat Find>, and <Scroll>. For example,
pressing the PF3 key in ISPF usually sends the
<End> command to the application. Most terminals have 24 PF keys.
PF key mapping. A method for assigning functions to your PF keys. If your terminal has 24 PF
keys, you can assign some of them to the domain
destination. ISPF uses the rest of the keys. Gener-
G-5
ally, PF1 through PF12 are mapped to PF1 through
PF12 for the domain destination, and PF13
through PF24 are seen directly by ISPF. This map
correspondence is established on the Session
Options screen.
PIU. VTAM Path Information Units.
PLU. Primary Logical Unit. The logical unit that
is being accessed by the SLU. See SLU.
primary command. Command that provides a
general function and is entered in the COMMAND
field.
playback. A function that allows you to play
back scripts online in either interactive or batch
mode without manually rekeying transactions.
Online playback allows you to play back previously recorded scripts in interactive or non-stop
(full-speed) modes. In addition, you can play back
scripts in a batch environment using unattended
playback.
quick play. Initiates interactive playback without
accessing Domain Traveler. Quick Play can display
a list of all scripts in a selected dataset if you are
unsure of the name of the script you wish play.
You can also browse or edit scripts from Quick
Play.
recorded think time. A non-stop playback
option. Think time, the amount of time between
each recorded user action, is simulated using the
think-time value recorded in the script.
review repository. An option for viewing a list of
the sessions captured in a given recording. You can
generate scripts from selected sessions or for entire
capture repositories. You can save the specified
script creation criteria in the affiliated recording
request or discard it after script creation.
REXX log. A log that records the text of REXX
SAY statements. These statements can be used to
track script progress.
REXX script processor. A processor that automates writing REXX routines in Hiperstation for
VTAM scripts. It helps you create “smart” scripts.
The REXX script processor modifies previously
recorded scripts and inserts REXX instructions and
routines into them. REXX provides logic in the
scripts to enhance the playback process. The logic
in these processed scripts automatically handles
common obstacles presented when testing applications such as SAP.
row masks. Characters inserted into a script to
mask an entire screen row or selected columns
within the row.
script association. An association between a File
Manager item and a Hiperstation for VTAM script.
script association version. An association
between a single script and more than one piece of
JCL to access multiple sources of information
(such as multiple databases) before recording. This
is helpful during regression testing.
script language tokens. Consist of variable
names, arithmetic operators, constants, and other
language constructs.
script tags. Tags that specify the type of data that
follows. Script tags consist of characters between a
left bracket < and a right bracket >. Data in a
recorded script falls into three basic categories:
control, input, and output.
security script processor. A processor that
searches for and updates obsolete passwords in
scripts. As scripts age, the passwords they contain
can become invalid if users change their passwords. If a script contains obsolete passwords, you
cannot play them back without user intervention,
and you cannot play them back in unattended
mode.
session demo. A script demonstration tool that
plays 3270 scripts without initiating the application from which the scripts were derived. Use it
for inspecting a script’s contents, training personnel, demonstrating the screen flows of application
prototypes. Session Demo supports interactive and
non-interactive demonstration. Use Session Demo
commands to move backward and forward
through the screens in the script, locate a specific
screen, and copy and paste screen images into an
ISPF Edit session.
STIME. Start time. STIME indicates the date and
time when a script was originally recorded. STIME
is used on the GROUP statement in the 3270 session log by Global Record. STIME is used in conjunction with USESTIME.
storage. A functional unit into which data can be
placed and from which it can be retrieved.
subtask. Task initiated and terminated by a
higher order task.
suppress play screens. A function that allows
you to play a script in a pseudo-background mode.
The screens from the domain destination will not
be displayed on your physical terminal. Your keyboard will remain locked and a message will
appear on your screen indicating that play is in
progress.
synchronization. A situation where the application being tested unexpectedly generates messages
G-6
Hiperstation for VTAM User Guide
saying that it is busy or blocked (such
as ‘Processing...’). If these messages appear during
the recording and not the playback, or vice versa,
the playback can get out of sync with the application. The REXX script processor notes these messages in the recorded script and as the playback
runs. When such a message is encountered, the
script takes the appropriate action to get past the
message without getting out of sync with the
application. This is a REXX script processor
option.
TCP/IP. Transmission Control Protocol/Internet
Protocol. Communication protocols on which the
Internet and most commercial networks run.
terminal input substitution. A method for substituting or assigning constants and variables to
the input of a Hiperstation for VTAM script. In
stress testing, where multiple terminal sessions are
involved, systems often require unique user ID
and password data for each session. Hiperstation
for VTAM’s table processing and variable substitution allows a table of users to be read in and substituted based on criteria such as the session’s
terminal ID or port number.
think time. The amount of time between each
recorded user action.
THOPT. Think option. A playback parameter that
forces the group to play back at approximately the
same speed as it was recorded. THOPT in APPC is
used on the ALLOCATE/ACCEPT statements.
THOPT in TCP/IP is used on the CONTROL statement and/or the SOCKET statement.
trace. Record of the execution of a computer program; it exhibits the sequences in which the
instructions were executed.
transaction. A unit of processing, which consists
of one or more application programs, begun by a
single request (usually from a terminal).
transaction journal. A Hiperstation for VTAM
feature that produces an audit trail of all transactions entered into the system and the responses
received while the journal is active. It records all
inputs and outputs of a user session in screenimage format for easy reference. It shows the user’s
think time, the system’s response time, and the
session’s elapsed time. The journal is recorded on
DASD for online review or subsequent printing.
unattended comparison. An unattended batch
comparison program that compares two scripts
with the same name, one in the DUBLIB (actual),
one in the SYSLIB (expected). Unattended comparison reports are then produced by this batch program, which is called ETRMCMPR.
unattended dubbing. A feature that allows you
to dub scripts during unattended playback. With
unattended dubbing, you can combine all scripts
for a group into one script or create a dubbed
script for each script within a group.
unattended message filtering function. An
option in the script processor that creates new
scripts by taking existing scripts and including or
excluding certain messages. This function simplifies testing by producing scripts that contain a single message allowing you to test one message at a
time, removing messages that contain confidential
data, and reducing script size by eliminating messages of no interest.
unattended mode statements. Input control
statements for Hiperstation for VTAM’s unattended playback, dubbing, and comparison functions. It includes statements for LU0 or 3270
processing. The statements control variables such
as domain destination selection, the number of
terminals, and the scripts to run.
unattended playback. A function that allows
you to play back scripts containing the recorded
activity using JCL in a batch environment. Unattended playback can play back multiple scripts on
one or more virtual terminals. These virtual terminals can be signed on to one or more VTAM-based
domain destinations. Unattended playback eliminates the need for weekend and after-hours testing. By running a batch job, you can perform
regression, concurrency, and stress tests. You can
also perform tests with multiple online regions for
capacity planning and performance tuning. If your
script contains REXX logic, you can use data from
an external file to generate additional input data
to populate your database.
USESTIME. Use Start Time. A playback CONTROL
statement parameter that forces playback of the
groups relative to each group’s STIME (a parameter
that indicates when that first transaction in the
group began). Apply the USESTIME parameter and
modify the STIME to stagger playback. USESTIME
is on the CONTROL STATEMENT for APPC and on
the CONTROL and/or SOCKET statement for
TCP/IP.
VSAM. Virtual Storage Access Method. An access
method for direct or sequential processing of fixed
and variable length records on direct access
devices.
VTAM. Virtual Telecommunications Access
Method. Set of programs that control communication between terminals and application programs.
Web-based compare log. A compare log that initially presents a summary page. You can then
access comparison detail from links on the sum-
G-7
mary page. Access the search feature from either
the summary or detail pages.
WebSphere MQ. An IBM network communication technology that is part of a suite of WebSphere products. It provides the ability for
independent programs on a distributed system to
communicate with each other. Formerly called
MQSeries.
XLN. Exchange Log Name.
XML. Extensible Markup Language. A language
that is capable of describing many different kinds
of data. The XML file can contain the data as well
as the data description or structure. Its purpose is
to share data across different systems.
z/OS. IBM enterprise mainframe suite of product
components, one of which is the MVS operating
system. It is used to build and deploy Internet and
Java-enabled applications, providing a comprehensive and diverse application execution environment.
Zoom mode. An alternate to ISPF screen mode.
When in Zoom mode, all PF keys are passed
through to the domain destination, so no PF key
mapping is necessary. In addition, because Zoom
mode takes over the whole screen, the entire
screen shows so you do not need to scroll. To toggle back and forth between the ISPF and Zoom
modes, press the Zoom key, PF23. You can use
Zoom mode at any time while interacting with the
domain destination. From Zoom mode, press PF23
to return to ISPF mode.
G-8
Hiperstation for VTAM User Guide
I-1
Index
Numerics
3270
application testing, 5-1
generate statements, 6-2
recording scripts, 5-1
reporting, 20-1
summary report, 20-6
unattended processing, 6-1
3270/LU0
capture criteria, 10-4
A
accessibility, xxiii
font and font size, xxiv
keyboard shortcuts, xxv
windows accessibility features, xxiv
active sessions, view, 10-14
add
data replacement entry, 12-7
date recalculation entry, 12-12
dubbing to end of a script, 5-22
Global Record Manager list screen, 10-21
Global Recording request, 10-3, 10-14
GST request, 18-2
list processing entry, 12-22
multi-field date recalculation, 12-17
synchronization entry, 12-27
<ADDCALL> control script tag, B-1
<ADDCALL> statement, 12-27, 12-38
Adobe Reader, xix
AID key, 7-12
allocate
comparison log, 7-15
REXX log, 7-17
REXX script processor control file, 12-2
script dataset, 2-1–2-2
trace, 7-19
transaction journal, 7-14
<ALTER> card, 12-35
application profile, 7-12
settings, 3-4
archive function, 11-1
overview, 1-2
requests, 1-2, 11-3
archive/search, 1-2
assets
reusability, 4-1
ATTENTION key
interrupt non-stop/screen suppression modes, 5-10
ATV
copy, 4-1
ATV Manager, 1-2, 4-1
overview, 4-1
auto display mode, session demo, 9-4
auto documentation parameters, 22-6
AutoDoc facility, 22-6
automated documentation, 1-7, 20-4
autodoc setup, 20-4
automated documentation utility, 9-3
output dataset name, 20-5
sample report, 20-5
start, 20-4
Automated Testing Vehicle (ATV) Manager, 1-2
B
background execution
REXX script processor, 12-31
<BACKTAB> input script tag, B-4
<BASETIME> control script tag, B-2
batch
message filter, unattended, 19-1
XML parser, 10-24
batch jobs, 22-11
bind wait time interval, 7-7
browse
data replacement entry, 12-10
date recalculation entry, 12-15
GST request, 18-5
list processing entry, 12-24
multi-field date recalculation, 12-19
reports, 10-51
synchronization entry, 12-29
build JCL, unattended processing, 6-11
C
CACHE EXCLUDE statement parameters, 6-9
CACHE INCLUDE statement parameters, 6-9
CACHEXCL statement, 7-4
CACHINCL statement, 7-4
cancel
Domain Traveler session, 3-7
Global Recording request, 10-13, 10-40
recording, 5-4
capture criteria, 3270/LU0, 10-4
capture file parameter tags, 10-30
capture file specification tags, 10-45
Capture Segment Summary Report, 10-49
CLOGGEN DD statements, 21-2
column key lists, 12-23
comment control script tag, B-1
COMPANY statement, 7-4
parameters, 6-9
compare last image only, 7-15
compare log
index, 21-4
navigation pane, 21-6
system display settings, 21-10
compare log summary
report detail, 21-6
COMPARE statement, 7-4
parameters, 6-8
compare test results, 1-4
I-2
Hiperstation for VTAM User Guide
comparison and exception logs, 20-9
allocate comparison log, 7-15
comparison log, 7-5
convert to HTML reports, 21-1
log report, 20-10
start, 20-11
start comparison log, 20-9
stop, 20-10, 20-12
comparison check, 20-8
comparison function, 5-11
mask screen areas, 5-16
mismatch condition, 5-11
option settings, 5-12
comparison options, 5-12
control file conversion utility, 12-3
input control file name, 12-4
output control file name, 12-4
start, 12-3
control file, REXX script processor, 12-2
CONTROL statement, 7-7
LU0, 7-31
message filter parameters, 19-20
parameters, 6-3
CONTROL TRACE keyword, 7-22
create
Global Recording request, 10-2
Global Recording scripts, 10-43
scripts, 10-15
search reports, 1-2, 11-3
currency file, Euro, 17-2
current date, user-defined, 12-11
<CURSOR> input script tag, B-4
<CURSOR> statement, 12-42
customer support, xxvi
Customer Support Diagnostic Report, G-1
diagnostic report, A-1
customize scripts, 1-5
D
data replacement
add entry, 12-7
browse entry, 12-10
delete entry, 12-9
REXX script processor, 12-5
start, 12-7
troubleshoot, 12-39
update entry, 12-9
datasets
manage script dataset allocation, 2-1
recover migrated, 2-2
reuse, 2-2
store captured information, 10-5
date
format, 7-10
start and end, 10-29
user-defined, 12-11
date change script processor, 13-1
run, 13-6
date find script processor, 13-7
use, 13-8
date recalculation, 12-10
add entry, 12-12
browse entry, 12-15
delete entry, 12-15
multi-field, 12-15
start, 12-12
troubleshoot, 12-40
update entry, 12-14
user-defined current date, 12-36
DBCS support, 1-7
DCIADXL2 sample, 10-27
DCIJCL
check status of requests, 10-39
create Global Recording request, 10-24
generate parameters skeleton, 10-43
manage Global Recording requests, 10-40
VIEW function, 10-42
<DELCALL> control script tag, B-1
delete
data replacement entry, 12-9
date recalculation entry, 12-15
GST request, 18-5
list processing entry, 12-24
multi-field date recalculation entry, 12-20
multichange script processor field, 15-7
repository, 10-13
repository datasets, 10-41
synchronization entry, 12-29
delta screen mismatches, 5-14
demonstrate scripts with session demo, 9-1
Differences screen mismatches, 5-15
disable Global Recording request, 10-14, 10-41
DLOG, 7-13
documentation
master index, xix
domain destination
communicate with, 3-5
contact from Hiperstation for VTAM, 3-2
send data to, 3-7
Domain Traveler, 3-2
application profile settings, 3-5
cancel session, 3-7
Destination Entry screen, 5-1
domain destination, 3-2, 3-5
end a session, 3-7
entry screen, ISPF mode, 3-6
screen, 3-3
send data to the domain destination, 3-6
session options, 3-3
session status area, 3-6
status line, 3-6
virtual terminal display, 3-7
virtual terminal presentation space, 3-6
dubbing, 1-5, 22-4
add to the end of a script, 5-22
exclude scripts from dubbing, 7-25
explicit dubbing, 5-22
function commands, 5-27
GROUP statement parameters, 6-7
implicit dubbing, 5-26
insert in the middle of a script, 5-23
log, 7-13
scripts, 5-22
unattended, 7-1
unattended playback, 7-1
unattended processing, 1-5
DUBTITLE statement, 7-10
parameters, 6-9
I-3
E
edit function, 5-28
<WAIT> script tag, B-2
commands, B-7
PDS file format, 5-28, B-1
script initialization, B-7
edit scripts, 1-4
EHSB074I message, 7-10, 7-19
EHSB075I message, 7-7, 7-17, 7-21
EHSB098I message, 7-29
EHSB142I message, B-3
EHSBATCH unattended mode program, 7-1, 7-4
EHSDFLT parameters, 2-2, 2-4
EHSFLTR message filter program, 19-1, 19-11, 19-22–
19-23
EHSSRCVY script recovery utility, 2-3
embedded dates, 13-5
EMTRM051 message, 7-8, 7-14
EMTRM054 message, 7-8, 7-14
end
date and time, 10-29
end of message
formatted scripts, 19-6
unformatted scripts, 19-8
end-user recording, 1-3
error event notification
Global Recording, 10-6
errors
recording request, 10-48
script create, 10-49
ETRMCMPR batch program, 7-1
ETRMLOGI option, B-1
ETRMSPAR member, 3-4
ETRMSPAR screen, 7-9
Euro script processor, 17-1
control card descriptions, 17-11
control files, 17-4
currency cards, 17-7
currency conversion, 17-11
member lists, 17-3
submit script utility job, 17-10
update control file item, 17-5
use, 17-1
Euro script selection list, 17-3
event notification, 10-32, 22-10
tags, 10-46
exception log, 7-19, 20-9
start, 20-11
stop, 20-12
exception log converter
sample JCL, 21-1
text-to-Web compare, 21-1
EXCLUDE statement
message filter parameters, 19-21
exit processing
REXX message filter, 19-2
Expected screen, 5-15
explicit dubbing, 5-22
F
FEEDBACK DD
request keys, 10-39
VIEW, 10-42–10-43
filter messages, 19-1
filters, script creation, 10-11
first number
3270/LU0, 22-9
font and font size, accessibility, xxiv
force
at end time option, 10-29, 10-32
Global Recording request, 10-5–10-6, 10-13, 10-41
report consolidation, 7-7
FORCE request, 22-10
foreground execution
REXX script processor, 12-31
formatted scripts
end of message, 19-6
start of message, 19-4
FrontLine, xx
support Web site, xxvi
full-screen (zoom) mode, 1-8
G
general script criteria tags, 10-33
GETVSAMR, 18-1
global CSI dataset, A-1
global masking, 5-18
global record manager, 1-2, 10-1, 11-3
add list screen, 10-21
copy an include/exclude list, 10-22
copy list screen, 10-22
define lists, 10-19
include/exclude lists, 10-20
list, 10-4, 10-19
new list, 10-21
Global Recording, 1-3
access, 10-1
add request, 10-3, 10-14, 10-23
administrator access, 10-22
batch interface, 10-23
begin capture, 10-2
cancel request, 10-13, 10-40
Capture Segment Summary Report, 10-49
check status of request, 10-39
create request, 10-2, 10-23
create scripts, 10-43
define script creation criteria, 10-7
disable request, 10-14, 10-41
error event notification, 10-6
force request, 10-13, 10-41
generate request parameters skeleton, 10-43
include/exclude lists, 10-19, 10-21
KEYS function, 10-39
lost transactions, 10-15
manage requests, 10-40
message filters, 10-9
monitor requests, 10-1, 10-3, 10-12
parameter syntax, 10-25
protocol parameter, 10-27
request parameters, 10-26
requests, 10-1
restart request, 10-13, 10-41
retrieve parameters from existing request, 10-42
review repository, 10-1
script create parameters, 10-44
session log, 10-10
stop request, 10-13, 10-41
I-4
Hiperstation for VTAM User Guide
switch segments, 10-14, 10-41
troubleshoot failed jobs, 10-48
update request, 10-14, 10-41
VIEW, 10-42
view active sessions, 10-14
view sessions being captured, 10-14
global search manager, 11-3
GMT (Greenwich Mean Time), 10-50
GROUP statement, 7-11
LU0, 7-32
GROUP statement parameters, 6-4
connection, 6-5
documentation, 6-5
dubbing, 6-7
timing, 6-6
GST (Goods and Services Tax) utility, 18-1
add request, 18-2
browse request, 18-5
delete request, 18-5
examples, 18-7
execute request, 18-5
update request, 18-3
H
help
Hiperstation customer support, xxvi
online information, 1-7
<HEX> output script tag, B-6
<HEX> records, 5-18
<HEX> script tag, 5-18
<HEX> tag, 19-18
Hiperstation for VTAM
access, 3-1
end session, 3-7
features overview, 1-1
ISPF mode, 1-7
main menu, 3-2
overview, 1-1–1-9
product conventions, 1-7
product overview, 1-1
using PF keys, 1-8
zoom mode, 1-8
<HOME> input script tag, B-4
HPERPMSK, 5-20, 7-3
HS_COLUMN REXX variable, 19-17
HS_EXITTYPE REXX variable, 19-16
HS_FORMAT REXX variable, 19-18
HS_INPUT_SEQUENCE REXX variable, 19-18
HS_INPUT_STREAM REXX variable, 19-19
HS_INPUT.0 REXX variable, 19-17
HS_INPUT.n REXX variable, 19-17
HS_KEY REXX variable, 19-16
HS_MATCH REXX variable, 19-15
HS_OUTPUT_SEQUENCE REXX variable, 19-18
HS_OUTPUT_STREAM REXX variable, 19-19
HS_OUTPUT.0 REXX variable, 19-17
HS_OUTPUT.n REXX variable, 19-18
HS_PARM REXX variable, 19-18
HS_ROW REXX variable, 19-16
HS_SCRIPT REXX variable, 19-18
HS_WHICH REXX variable, 19-16
HSCMDS, 18-1
HSSCREAT
script create procedure, 10-7
HTML documentation files, xx
I
<ICURSOR> input script tag, B-4
implicit dubbing, 5-26
<IMSUNLOK> control script tag, B-2
INCLUDE statement
message filter parameters, 19-21
include/exclude lists
Global Recording, 10-19
index, master, xix
input field reformat script processor, 14-1
<INPUT> group, 19-16
<INPUT> groups, 7-21
<INPUT> script tag, B-4
<INPUT> tag, 5-29, B-1
interactive display mode, 1-7
interactive message filter, 19-3
execution, 19-9
override defaults, 19-11
REXX exit, formatted scripts, 19-4, 19-7, 19-9
REXX exit, unformatted scripts, 19-7
interactive playback, 1-3, 5-9, 5-25
initiate, 8-1
interactive recording, 1-2
ISPF display mode, 1-7
J
JCL
background message filtering, 19-11
background processing, 12-31, 15-12, 16-3
batch processing, 21-1
build unattended statements, 6-10
CLOGGEN sample, 21-2
compare all specified scripts in group, 7-26
compare multiple groups, 7-27
create Global Recording scripts, 10-44
create REXX exit program, 19-6
dub all scripts in group, 7-25
dub and combine scripts, 7-26
dub multiple groups, 7-26
exclude scripts from dubbing, 7-25
Global Recording requests, 10-25
message filter program, 19-23
play back and compare scripts, 7-25
play back multiple scripts, single terminal, 7-23
play back multiple scripts, terminals, transaction
processing, 7-24
play back single script, single terminal, 7-23
prepare, 7-2
run unattended statements, 6-1, 6-11
script datasets, 19-22
script recovery, 2-3
unattended comparison, 7-1, 7-8, 7-14
unattended processing samples, 7-23
JOURNAL command, 20-1
jump function, 1-8
K
Kanji
DBCS support, 1-7
I-5
<KEY> input script tag, B-4
key lists
multiple column, 12-23
keyboard shortcuts, accessibility, xxv
keyboard unlock, 3-4
keyboard-restore flag, 7-15
KEYS command, 10-39
L
last number
3270/LU0, 22-9
list processing
add entry, 12-22
browse entry, 12-24
delete entry, 12-24
REXX script processor, 12-20, 12-37
start, 12-21
troubleshoot, 12-41
update entry, 12-23
log, REXX, 20-12
<LOGICAL> control script tag, B-1
logs
convert to HTML reports, 21-1
See comparison and exception logs
lost transactions, 10-15
LU0, 7-31
capture criteria, 10-4
considerations, 7-32
CONTROL statement, 7-31
GROUP statement, 7-32
<LU2> protocol parameter, 10-26, 10-45
LU2 protocol parameter, 10-27
M
manage datasets, 2-1
management features, 1-6
masking, 5-16, 7-3, 7-13
encrypted, 7-7
examples, 5-20
generic masking, 1-5, 5-20
GENMASK member in ISPPLIB, 5-20
global masking, 5-18
hexadecimal characters, 5-18
HPERPMSK DD, 5-20
individual characters, 5-18, 7-8, B-7
<MASK> control script tag, B-3
mask entire line, 5-17
reset all masks, 5-19
row masks, 5-16, 5-19
screen information, 1-4
masks, 22-5
MCSREPT, 10-49
message filter, 1-5, 10-9
CONTROL, 19-20
EXCLUDE, 19-21
execution, 19-9
INCLUDE, 19-21
INCLUDE/EXCLUDE, 19-10
interactive, 19-3
override defaults, 19-11
REXX exit, formatted scripts, 19-4
REXX exit, processing, 19-2
REXX exit, program examples, 19-13
REXX exit, unformatted scripts, 19-7
REXX variables, 19-15
run the program, 19-22
sample job, 19-23
screen filter decisions, 19-2
SELECT, 19-21
statements, 19-19
summary report, 19-22
syntax rules, 19-19
tags, 10-37
unattended, 19-1
message filtering options, 22-10
message filters, 22-8
messages
EHSB074I, 7-10, 7-19
EHSB075I, 7-7, 7-17, 7-21
EHSB098I, 7-29
EHSB142I, B-3
EMTRM051, 7-8, 7-14
EMTRM054, 7-8, 7-14
migrated datasets
recover, 2-2
mismatch, 5-13
delta screen, 5-14
differences screen, 5-15
expected screen, 5-15
modular scripts, create, 1-6
monitor requests, 10-3, 10-12
<MSK> output script tag, B-6
multi-field date recalculation, 12-15
add, 12-17
browse, 12-19
delete, 12-20
REXX script processor, 12-15
start, 12-16
update, 12-18
multi-field dates, 13-3
multichange script processor, 15-1
add field to screen entry, 15-5
add scripts, 15-9
background processing, 15-12
delete field from screen entry, 15-7
erase interaction, 15-10
field-level operations, 15-3
maintain input field values, 15-2
modify output screen entries, 15-4
modify screen constant entry, 15-8
run requests, 15-11
multiple-column key lists, 12-23
N
non-stop mode, interrupt, 5-10
non-stop playback, 1-3
notation conventions, screens and commands, xxi
notification, 22-10
numeric differences, ignore, 7-5
O
online help, 1-7
<OUTPUT> group, 17-6, 19-16
<OUTPUT> groups, 5-13, 7-21
I-6
Hiperstation for VTAM User Guide
OUTPUT SCRIPT EXISTS error message, 19-10
<OUTPUT> script tag, 19-2, B-5
<OUTPUT> tag, 5-29, B-1
<OUTPUT> groups, 9-3
P
PA1 key
interrupt non-stop and screen suppression modes,
5-10
parameters
capture file parameter tags, 10-30
general request parameter tags, 10-27
generate Global Recording request skeleton, 10-43
Global Recording request syntax, 10-25
protocol parameter tag, 10-27, 10-45
recording option parameter tags, 10-32
report generation, 10-50
retrieve parameters from Global Recording request,
10-42
scheduled capture parameter tags, 10-29
script creation, 10-44
wait time, 3-4
pause a script, B-2
<PAUSE> control script tag, B-2
<PAUSE> statement, 15-11
<PAUSEI> control script tag, B-2
PDS members, 7-8
performance testing, 4-1
PF keys, 22-3
map, 1-8
simulate, 1-9
PLAY command, 5-5
play/think time, 22-4
playback function, 1-3
commands, 5-10
interactive playback, 5-9
mismatch, 5-13
non-stop playback, 5-9
play back scripts, 5-5
play setup, 5-5
playback modes, 5-9
run a playback, 5-7
screen suppression, 5-10
terminate playback, 5-10
unattended playback, 7-1
playback options, 22-4
<POP> record, 9-3
PRGLOG DD, 10-48
print file naming conventions, 7-22
protocol parameter tag, 10-27, 10-45
PTFS, A-1
Q
Quick Play, 8-1
script dataset screen, 8-1
R
record ALL 3270 sessions, 10-17
recording, 5-2
recording function, 1-2
cancel a recording, 5-4
commands, 5-4
recording option parameter tags, 10-32
recording options, 5-2, 5-6
recording process screen, 5-3
recover recordings ended in error, 2-3
script recovery, 5-2
set up recording, 5-1
recording options, 22-9
recording parameters, 22-3
recording request errors, 10-48
regression testing, 4-1
Reports
3270 Summary Report, 20-6
Autodoc Report, 20-5
Capture Segment Summary, 10-49
Capture Summary Report, 10-49
Comparison Log Report, 20-10
Date Find Location Report, 13-7
Date Find Script Processor Report, 13-8
Message Filter Summary Report, 19-22
Transaction Journal Report, 20-2
Web-based Compare Log, 21-4
Web-based Compare/Exception Report Summary,
21-5
reports
3270, 20-1
accessing, 21-4
archive search, 1-2, 11-3
browse, 10-51
consolidation, 7-7
convert compare, exception, and onelogs to HTML,
21-1
create script reports, 1-6
create with SAY statement, 1-6
Customer Support Diagnostic Report, A-1
customizing presentation, 21-9
report generation parameters, 10-50
report settings, 21-10
report summary, 21-4
review, 10-51
web-based, 21-4
repositories
reuse, 22-10
repository
delete, 10-13
repository datasets
delete, 10-41
segment the repository, 10-5
switch segments, 10-14, 10-41
view session list, 10-15
request key, 10-39
<RESPONSE> output script tag, B-6
restart
Global Recording request, 10-13, 10-41
return codes
unattended mode 3270 processing, 7-29
unattended playback, 7-30
reuse dataset screen, 2-3
review repository, 10-15
session list, 10-18
REXX exit
formatted scripts, 19-4
message filter, unformatted scripts, 19-7
program, 19-1
REXX exit program examples
check for combination of screen items, 19-14
I-7
convert a script to inputs only, 19-14
find all screens from a list, 19-14
find all screens with common eyecatcher, 19-13
find only output screens, 19-13
REXX functions
SUBSTR, 19-24
TRANSLATE, 19-24
REXX log, 20-12
allocate, 7-17
REXX message filter variables, 19-15
REXX script processor
access, 12-2
advanced testing, 1-6
background execution, 12-31
control file, 12-2
control file conversion utility, 12-3
data replacement, 12-1, 12-5
date recalculation, 12-1, 12-10
facilities overview, 12-1
foreground execution, 12-31
list processing, 12-1, 12-20
multi-field date recalculation, 12-1, 12-15
processed script REXX structures, 12-32
run, 12-30
start data replacement, 12-7
synchronization, 12-1, 12-25
troubleshoot problems, 12-39
REXX statements
INTERPRET, 19-13
SAY, 1-6, 20-12
REXX structures, processed scripts, 12-32
data replacement REXX, 12-32
date recalculation REXX, 12-33
list processing REXX, 12-37
synchronization REXX, 12-38
row masks, 1-5, 5-16
row,column format, 10-36, 12-13, 12-16, 18-3
run
REXX script processor, 12-30
S
sample jobs
compare all specified scripts in a group, 7-26
compare multiple groups, 7-27
dub all scripts in group, 7-25
dub and combine scripts, single group, 7-25
dub multiple groups, 7-26
exclude scripts from dubbing, 7-25
LU0 script, 7-27
play back a single script, single terminal, 7-23
play back and compare all scripts in group, 7-24
play back multiple scripts, multiple terminals, 7-24
play back multiple scripts, multiple terminals, domain destinations, 7-24
play back multiple scripts, single terminal, 7-23
SAY statement, 1-6, 20-12
scheduled capture, 10-29
SCJCL - execute SCRIPTS function, 10-44
screen
suppression in playback, 5-10
suppression mode, interrupt, 5-10
script
allocate dataset, 2-2
bad dataset screen, 2-3
comparison function, 5-11
create, 10-43
creation parameters, 10-44
criteria tags, 10-47
define creation criteria, 10-7
editing, 5-28
PDS file format, 5-28, B-1
script tags (record types), 5-29, B-1
formatted, 22-10
generate, 10-16–10-17
generate from selected sessions, 10-18
initialize, B-7
message filter REXX exits, 19-2, 19-13
message filters, 10-11
pause a script, B-2
processing screen, 10-17
recover migrated datasets, 2-2
recovery, 5-2
recovery JCL, 2-3
script create errors, 10-49
script datasets, 2-3
script file tags, 10-34
script recovery utility, 2-3
unformatted, 19-7, 22-10
script create
execution options
3270/LU0, 22-11
fails, 10-9
HSSCREAT, 10-7
script create option tags, 10-36
settings, 22-10
suspend, 22-9
script format options, 22-10
script processors, 1-5
data replacement, 12-5
date change, 13-6
date change script processor, 13-1
date find script processor, 13-7
date recalculation, 12-10
date separator character, 13-3, 13-8
embedded dates, 13-5
Euro script processor, 17-1
input field reformat, 14-1
list processing, 12-20
multi-field dates, 13-3
multichange script processor, 15-1
processed script REXX structures, 12-32
REXX script processor, 12-1
run date find, 13-9
run REXX script processor, 12-30
script processors menu, 13-1
single field dates, 13-2
synchronization, 12-25
SCRIPT statement, 7-20
parameters, 6-7
script tags
control script tags, B-1
<HEX> script tag, 5-18
individual character mask script tag, B-7
<INIT SECTION>, B-7
<INPUT>, 5-29, 19-2, B-1
input script tags, B-4
<MASK>, 5-20, B-3
<MASK> examples, 5-21
<OUTPUT>, 5-29, 19-2, B-1
output script tags, B-5
SCUT command, 9-5, B-7
search report management, 1-2, 11-3
search reports, 1-2, 11-3
I-8
Hiperstation for VTAM User Guide
<SECOND> output script tag, B-5
security monitoring, 11-1
audit trail, 11-2
security script processor
**no match found** message, 16-3
password modification, 16-2
passwords, 16-1
SELECT statement
message filter parameters, 19-21
sequence number, <INPUT> and <OUTPUT> tags, 5-29
session demo, 1-7, 9-1
access, 9-1
auto display mode, 9-4
automated documentation utility, 9-3
commands, 9-4
pop-up window guidelines, 9-3
pop-ups, 9-3
setup, 9-2
think time, 9-2
session list
review repository, 10-18
session log, 10-8, 10-10
session log for global recording, 10-9
session options
modify, 3-3
single field dates, 13-2
SMP/E
global CSI dataset, A-1
target zone, A-1
SPASTE command, 9-5, B-7
SPDTCALC function, 12-34
SPPARMS parameters, 12-32
SQQFSAMP, 10-45
SQVPPENU library, 3-4
stall detection timer, 7-16
start
date and time, 7-17, 10-29
date recalculation, 12-12
list processing, 12-21
multi-field date recalculation, 12-16
synchronization, 12-26
start and end date and time, 22-9
start of message, formatted scripts, 19-4
statements, unattended mode
3270 testing
CACHEXCL, 7-4
CACHINCL, 7-4
COMPANY, 7-4
COMPARE, 7-4
CONTROL, 7-7
DUBTITLE, 7-10
GROUP, 7-11
SCRIPT, 7-20
message filter
CONTROL, 19-20
EXCLUDE, 19-21
INCLUDE, 19-21
SELECT, 19-21
stop
Global Recording request, 10-13, 10-41
STOP command, 10-6
summary reports, 3270, 20-6
generate, 7-18
suspend script creation, 10-7
switch Global Recording request segments, 10-41
synchronization
add entry, 12-27
browse entry, 12-29
delete entry, 12-29
REXX, 12-38
REXX script processor, 12-25
start, 12-26
troubleshoot, 12-42
update entry, 12-28
syntax
conventions, xxii
diagrams, xxii
T
<TAB> input script tag, B-4
tags
capture file parameter, 10-30
capture file specification, 10-45
event notification, 10-46
general request parameter, 10-27
general script criteria, 10-33
message filter, 10-37
protocol parameter, 10-27
recording option parameter, 10-32
scheduled capture parameter, 10-29
script create option, 10-36
script criteria, 10-47
script file, 10-34
terminal input, substitution, 1-6
test cases, 4-1
testing
3270 applications, 5-1
using REXX, 1-6
text-to-Web compare
exception log converter, 21-1
<THINK> input script tag, B-4
think time, 22-5
options, 7-18
percentage, 7-18
playback options, 5-7
session demo, 9-2
set, 7-18
time
start and end, 10-29
trace, allocate, 7-19
transaction journal, 1-7, 20-1
allocate, 7-14
elapsed time, 20-3
start, 20-2
stop, 20-2
transaction journal report, 20-2
troubleshoot
data replacement, 12-39
date recalculation, 12-40
Global Recording batch jobs, 10-48
list processing problems, 12-41
REXX script processor problems, 12-39
synchronization, 12-42
TSO jump function, 1-8
U
unattended comparison, 7-4
unattended message filters
See message filter, unattended
unattended mode 3270 processing
I-9
comparison overview, 7-1
dubbing overview, 7-1
identify domain destination, 7-2
identify scripts to run, 7-2
playback overview, 7-1
prepare JCL, 7-2
prepare scripts, 7-2
procedures for use, 7-2
return codes, 7-29
sample jobs, 7-23
script playback, dubbing, and comparison, 7-1
statement sequencing, 7-3
statements
CACHEXCL, 7-4
CACHINCL, 7-4
COMPANY, 7-4
COMPARE, 7-4
CONTROL, 7-7
DUBTITLE, 7-10
GROUP, 7-11
SCRIPT, 7-20
storage requirements, 7-2
unattended processing
build unattended statements and JCL, 6-10
define statement parameters, 6-3
dubbing, 1-5
playback, 1-4
restrict script datasets, 6-12
starting, 6-1
statement parameters
CACHE INCLUDE/EXCLUDE, 6-9
COMPANY, 6-9
COMPARE, 6-8
connection GROUP, 6-5
CONTROL, 6-3
define unattended, 6-3
documentation GROUP, 6-5
dubbing GROUP, 6-7
DUBTITLE, 6-9
GROUP, 6-4
SCRIPT, 6-7
timing GROUP, 6-6
unattended comparison, 1-4
unattended statements, generate, 6-2
unformatted scripts, end of message, 19-8
unlock time interval, 7-8
update
date recalculation entry, 12-14
Global Recording request, 10-14
list processing entry, 12-23
multi-field date recalculation, 12-18
synchronization entry, 12-28
V
<VERSION> control script tag, B-2
VIEW function, 10-42–10-43
virtual terminal display, 3-7
W
<WAIT> control script tag, B-2
wait time, 7-17
interval, 7-8
parameters, 3-4, 7-13
wildcard characters
segment a repository, 10-5, 22-9
X
XTRMPRFX variable, 7-9
Z
zoom mode, 1-8
I-10
Hiperstation for VTAM User Guide