Sunteți pe pagina 1din 178

webMethods Mainframe

Developer’s Guide

VERSION 6.5

webMethods, Inc.
South Tower
3877 Fairfax Ridge Road
Fairfax, VA 22030
USA
703.460.2500
http://www.webmethods.com
ICU License - ICU 1.8.1 and later
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1995-2002 International Business Machines Corporation and others
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the
Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the
Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO
EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this
Software without prior written authorization of the copyright holder.

webMethods Administrator, webMethods Broker, webMethods Dashboard, webMethods Developer, webMethods Fabric, webMethods Glue, webMethods
Installer, webMethods Integration Server, webMethods Mainframe, webMethods Manager, webMethods Mobile, webMethods Modeler, webMethods
Monitor, webMethods Optimize, webMethods Portal, webMethods Trading Networks, and webMethods Workflow are trademarks of webMethods, Inc.
webMethods and the webMethods logo are registered trademarks of webMethods, Inc.
Acrobat, Adobe, and Reader are registered trademarks of Adobe Systems Incorporated. Amdocs is a registered trademark, and ClarifyCRM is a trademark of
Amdocs Inc. Ariba is a registered trademark of Ariba, Inc. BEA and BEA WebLogic Server are registered trademarks, and BEA WebLogic Platform is a
trademark of BEA Systems, Inc. BMC Software and PATROL are registered trademarks of BMC Software, Inc. BroadVision is a registered trademark of
BroadVision, Inc. ChemeStandards and CIDX are registered trademarks of Chemical Industry Data Exchange. Unicenter is a trademark of Computer
Associates International, Inc. PopChart is a registered trademark of CORDA Technologies, Inc. Kenan and Arbor are registered trademarks of CSG Software,
Incorporated. SNAP-IX and Data Connection are registered trademarks of Data Connection Corporation. DataDirect, DataDirect Connect, and SequeLink are
registered trademarks of DataDirect Technologies Corp. D & B and D-U-N-S are registered trademarks of Dun & Broadstreet, Inc. Entrust is a registered
trademark of Entrust, Inc. Hewlett-Packard, HP, HP-UX, and OpenView are trademarks of Hewlett-Packard Company. i2 is a registered trademark of i2
Technologies, Inc. AIX, AS/400, CICS, DB2, Domino, IBM, Infoprint, Lotus, Lotus Notes, MQSeries, OS/390, OS/400, RACF, RS/6000, S/390, System/390, VTAM,
z/OS, and WebSphere are registered trademarks; and Informix, SQL/400, Communications System for Windows NT, IMS, MVS, SQL/DS, and Universal
Database are trademarks of IBM Corporation. InnoDB is a trademark of Innobase Oy. JBoss is a registered trademark, and JBoss Group is a trademark of JBoss
Inc. JD Edwards is a registered trademark of J.D. Edwards & Company and OneWorld is a registered trademark of J.D. Edwards World Source Company.
Linux is a registered trademark of Linus Torvalds. X Window System is a trademark of the X.org Foundation. MetaSolv is a registered trademark of Metasolv
Software, Inc. ActiveX, Microsoft, Outlook, Visual Basic, Windows, and Windows NT are registered trademarks; and SQL Server is a trademark of Microsoft
Corporation. MySQL is a registered trademark of MySQL AB, Ltd. Teradata is a registered trademark of NCR International, Inc. Netscape is a registered
trademark of Netscape Communications Corporation. ServletExec is a registered trademark, and New Atlanta is a trademark of New Atlanta
Communications, LLC. CORBA is a registered trademark of Object Management Group, Inc. UNIX is a registered trademark of X/Open Company Ltd. Oracle
is a registered trademark of Oracle International Corporation. PeopleSoft and Vantive are registered trademarks, and PeopleSoft Pure Internet Architecture
and WorldSoftware are trademarks of PeopleSoft, Inc. Infranet and Portal are trademarks of Portal Software, Inc. RosettaNet is a trademark of RosettaNet, a
non-profit organization. SAP and R/3 are registered trademarks of SAP AG. Siebel is a registered trademark of Siebel Systems, Inc. SPARC is a registered
trademark, and SPARCStation is a trademark of SPARC International, Inc. SSA Global and SSA Baan are trademarks of SSA Global Technologies, Inc. EJB,
Enterprise JavaBeans, Java, JavaServer, JDBC, JSP, J2EE, Solaris, and Sun Microsystems are registered trademarks; and Java Naming and Directory Interface,
SOAP with Attachments API for Java, JavaServer Pages and SunSoft are trademarks of Sun Microsystems, Inc. SWIFT and SWIFTNet are registered
trademarks of Society for Worldwide Interbank Financial Telecommunication SCRL. Sybase is a registered trademark of Sybase, Inc. UCCnet and
eBusinessReady are registered trademarks of Uniform Code Council, Inc. Verisign is a registered trademark of Verisign, Inc. VERITAS is a registered
trademark of VERITAS Operating Corporation, and VERITAS Software and VERITAS Cluster Server are trademarks of VERITAS Software Corporation. W3C
is a registered trademark of Massachusetts Institute of Technology.
All other marks are the property of their respective owners.
Copyright © 2002–2004 by webMethods, Inc. All rights reserved, including the right of reproduction in whole or in part in any form.

Document ID: MF-DG-650-20050415


Contents

Contents

About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9


Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Chapter 1. Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


Basic Steps for Using Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Before You Use Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Starting Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Defining a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Creating a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Assigning the Properties of a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Defining Sessions in the Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Defining a Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Creating a Transaction Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Defining Input and Output Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Assigning Transaction Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Associating a Transaction with a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Chapter 2. Working with Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


What is a Host Connection Pool? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Creating a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Creating Host Connection Pools Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Generating Host Connection Pools from XML Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Assigning Host Connection Pool Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Summary of Host Connection Pool Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Code Pages in Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Custom End Bracket Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Restart Session on Transaction Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Creating and Modifying Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Defining General Information about a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Summary of Session Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Hiding Columns in a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Defining Session Information Specific to a Host Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Summary of Session Information Specific to a Host Type . . . . . . . . . . . . . . . . . . . . . . . . . 35
Start Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Model Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Common TN3270E Gateway Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

webMethods Mainframe Developer’s Guide Version 6.5 3


Contents

Host Connection Pool Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40


Enabling or Disabling Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Uploading Host Connection Pools without Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Viewing Validation Errors for Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Host Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Exporting Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Chapter 3. Working with Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


What are Transaction Services? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Creating a Transaction Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Creating Transaction Services Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Generating Transaction Services from XML Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Creating and Modifying Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Adding and Deleting Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Shifting Fields Up and Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Configuring Input and Output Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Populating or Modifying the Columns of a Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Modifying Field Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Modifying the Properties of Multiple Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Configuring Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Summary of the Columns in a Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Summary of Properties for Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Using a COBOL OCCURS Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Record Counter Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Calculating Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Creating Transactions for APPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Send-Receive Model for APPC and DPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Assigning Transaction Service Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Summary of Transaction Service Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Code Pages in Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Using the Auto Calculate Option for Message-Based Transactions . . . . . . . . . . . . . . . . . . 71
Startup Sequence for LU 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Synchronization Level for APPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Transaction Name for IMS Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Associating a Transaction with a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Transaction Service Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Enabling or Disabling Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Uploading Transaction Services without Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Viewing Validation Errors for Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Exporting Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4 webMethods Mainframe Developer’s Guide Version 6.5


Contents

Chapter 4. Converting Source Code into Transaction Services . . . . . . . . . . . . . . . . . . . . 79


What are Transaction Source Files? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Auto-Conversion of Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Manual Conversion of Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Adding and Deleting Transaction Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Adding Transaction Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Deleting Transaction Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Converting from Source Files to Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Dragging to the Tree Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Dragging to the LU2 Screen Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Using the Tree Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Using the LU2 Screen Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
The LU2 Screen Target Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Performing Actions in the LU2 Screen Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Kinds of Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
The Structure of BMS Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
The Structure of MFS Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
The Structure of COBOL Copybooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Source-Target Pairs for Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Dragging BMS Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Dragging MFS FMT Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Dragging MFS MSG Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Dragging COBOL Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Chapter 5. Capturing a Live 3270 Terminal Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103


What is the Live 3270 Feature? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A 3270 Screen Versus a 3270 Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Preparations for Live 3270 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Procedure for Capturing a Live 3270 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
How Data is Formatted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Field Fill Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Creating a Live 3270 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Using Automatic Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Using Manual Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
The Live 3270 Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Live 3270 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Changing Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3270 AID Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Capture Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

webMethods Mainframe Developer’s Guide Version 6.5 5


Contents

Moving the Cursor in the 3270 Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118


Host Connection Pool Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Modifying Transactions During Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Naming Transaction Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Selecting and Clearing Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Selecting Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Clearing Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Setting Static Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Viewing Field Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Logical Units of Work and Screen Settling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
The Rules Used for Field Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Chapter 6. Using Transaction Groups for Parallel Transactions . . . . . . . . . . . . . . . . . . . . 127


What are Parallel Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Creating Transaction Groups Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Generating Transaction Groups from XML Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Managing Transactions in a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Transaction Group Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Error Handling for Parallel Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Exporting Transaction Group Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Chapter 7. Working with Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135


Managing Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Developing a Publishable Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Creating a Flow Service for Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Subscribing a Flow Service to a Transaction Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

Chapter 8. Setting Options for webMethods Mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . 139


Setting Options for Source File Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Excluding COBOL REDEFINES Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Making Imported Fields Optional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Naming Conventions for Input and Output Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Selecting Default Host Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Source File Logging Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Setting Options for the LU2 Screen Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Color Information for the LU2 Screen Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Hiding Static Field Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Changing Font Information for the LU2 Screen Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Setting Options for String Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Field Justification Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Field Fill Value Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

6 webMethods Mainframe Developer’s Guide Version 6.5


Contents

Code Page Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149


Managing Custom Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Adding Custom Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Deleting Custom Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Setting Screen Options for a Live 3270 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Color Information for the Live 3270 Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Changing Font Information for the Live 3270 Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Setting Additional 3270 Screen Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Setting Capture Options for a Live 3270 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Capturing all Protected and Unprotected Fields as Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Capture the Entire Output Screen in One Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Changing Capture Mode for the Live 3270 Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Changing Field Fill Values Sent to the Mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Prefix for Transaction Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Setting Input and Output Field Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Appendix A. LU 2 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159


Keywords for LU 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Aid Identification Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

webMethods Mainframe Developer’s Guide Version 6.5 7


Contents

8 webMethods Mainframe Developer’s Guide Version 6.5


About This Guide

About This Guide

The webMethods Mainframe Developer’s Guide is intended for anyone who needs to use
webMethods Developer to create and modify host transactions for webMethods
Mainframe.
This guide assumes you are familiar with the following:
The features of Developer,

The operating system of the computer on which you have installed Developer.

The mainframe computer with which webMethods Mainframe is to communicate.

Document Conventions

Convention Description
Bold Identifies elements on a screen.
Italic Identifies variable information that you must supply or
change based on your specific situation or environment.
Identifies terms the first time they are defined in text. Also
identifies service input and output variables.
Narrow font Identifies storage locations for services on the webMethods
Integration Server using the convention folder.subfolder:service.
Typewriter Identifies characters and values that you must type exactly or
font messages that the system displays on the console.
UPPERCASE Identifies keyboard keys. Keys that you must press
simultaneously are joined with the “+” symbol.
\ Directory paths use the “\” directory delimiter unless the
subject is UNIX-specific.
[] Optional keywords or values are enclosed in [ ]. Do not type
the [ ] symbols in your own code.

Additional Information
The webMethods Advantage Web site at http://advantage.webmethods.com provides you
with important sources of information about the webMethods Integration Platform:
Troubleshooting Information. webMethods provides troubleshooting information for
many webMethods components in the webMethods Knowledge Base.

webMethods Mainframe Developer’s Guide Version 6.5 9


About This Guide

Documentation Feedback. To provide documentation feedback to webMethods, go to the


Documentation Feedback Form on the webMethods Bookshelf.
Additional Documentation. All webMethods documentation is available on the
webMethods Bookshelf.

10 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 1
Getting Started

Basic Steps for Using Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Before You Use Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Starting Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Defining a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Defining a Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Associating a Transaction with a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

webMethods Mainframe Developer’s Guide Version 6.5 11


CHAPTER 1 Getting Started

Basic Steps for Using Developer


webMethods Developer is an integrated development environment. When used with
webMethods Mainframe, Developer allows you to define, modify, and manage the
transactions sent to and received from a mainframe computer. When you define
transactions, you should keep in mind that you are probably reproducing the client end of
interactions that already exist.
When you use Developer to create transaction services, the basic work flow is as follows:
1 You need to start Developer and open a session with an instance of Integration Server.
See “Starting Developer” on page 13.
2 Define host connection pools to be used by webMethods Mainframe.
A host connection pool is a group of sessions of a similar type. A session is a logical
pipe that defines the characteristics of a connection to a host application region on the
mainframe; sessions are used to send and receive data. See “Defining a Host
Connection Pool” on page 14.
3 Define transactions to be used by webMethods Mainframe.
A transaction service describes the input and output fields for an interaction with the
mainframe computer. See “Defining a Transaction” on page 18.

Note: You can reverse the order of steps 2 and 3.

4 Associate transaction services with host connection pools.


By making an association, you specify that sessions of a particular host connection
pool can be used to send and receive transactions of a certain type. A transaction
service can be associated with only one host connection pool at a time, but you can
switch the association from one host connection pool to another. Doing so makes it
easy to move from a test region to a production region on the mainframe. See
“Associating a Transaction with a Host Connection Pool” on page 22.
Because you define transactions and host connection pools separately, you can choose the
order in which you create definitions. This freedom allows you to create definitions as
information is available or to divide work according to the expertise of your development
staff.
The remainder of this chapter contains a simplified overview of how to use Developer to
develop transaction services. Subsequent chapters provide more detailed information.

12 webMethods Mainframe Developer’s Guide Version 6.5


Before You Use Developer

Before You Use Developer


Developer defines and modifies transactions directly on Integration Server. To use
Developer, you must:
Have access to an instance of Integration Server on which you have a user account
and belong to a group that is a member of the “Developers” access control list (ACL)
on Integration Server.
Have access to webMethods Mainframe.
You will not be able to use Developer unless these requirements are satisfied. If you do not
have access to Integration Server or you do not have an appropriate user account or access
rights, see your server administrator.

Starting Developer

Note: Before you attempt to start Developer, make sure the instance of Integration Server
to which you want to connect is running.

To start Developer

1 Depending on which operating system is running on your workstation, do the


following:

If you are running... Do this...

Windows 1 On the Start menu, click Programs and then click


webMethods.
2 Click webMethods Developer.
UNIX 1 Navigate to the directory where you installed Developer.
2 In the /bin subdirectory run ./developer.sh.

webMethods Mainframe Developer’s Guide Version 6.5 13


CHAPTER 1 Getting Started

3 In the Open Session dialog box, complete the following:

In this field... Specify...

Server Type Integration Server. This choice causes the Developer window
to connect to Integration Server.
Server The name and port number of Integration Server in
ServerName:PortNum format. The default is
localhost:5555.

Note: Servers to which you have successfully logged on in


the past appear in the Server list. You can select a server
from this list or type its name and port number

Username The name of a valid user account on this server. The user
name must be a member of a group belonging to the
Developers ACL.
Password The password for the user account in Username.
Passwords are case-sensitive. For information about
changing your password, see the webMethods Developer
User’s Guide.
Uses secure connection Determines whether the session is opened through HTTP
or HTTPS. To open a Secure Sockets Layer (SSL) session,
select this option.

4 Click OK.

Defining a Host Connection Pool


A host connection pool is a group of sessions of a similar type. A session is a logical pipe
that defines the characteristics of a connection to a host application region on the
mainframe, and which is used to send and receive data. Remember that you are
reproducing a client-host interaction that already exists on the mainframe computer.
Before you begin, you should know the connectivity details of the existing interaction.
You can break the process of defining a host connection pool into a few basic steps,
described in the following sections:
1 “Creating a Host Connection Pool” on page 15.
2 “Assigning the Properties of a Host Connection Pool” on page 16.

14 webMethods Mainframe Developer’s Guide Version 6.5


Defining a Host Connection Pool

3 “Defining Sessions in the Host Connection Pool” on page 17.


4 “Associating a Transaction with a Host Connection Pool” on page 22 (requires an
existing transaction service).

Creating a Host Connection Pool


One way to create a host connection pool is to do so manually.

To create a new host connection pool manually

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe HostPool option and click Next.
3 In the Select Manual or Automatic HostPool Construction dialog box, click the Create
HostPool Shell For Manual Construction option and click Next.
4 In the Name field of the New Mainframe HostPool dialog box, type a unique name for the
host connection pool.
5 In the navigation tree of the dialog box, select the folder in which the host connection
pool is to be stored.
6 Click Next.
7 In the Host Type Selection panel, select the option that describes the type of connection
the host connection pool is to be used for.
8 Click Finish.

For information about Host Types and the connections they represent, see “Host Types”
on page 43.
You can also generate a host connection pool from an XML file that has been previously
exported from Developer. For more information, see “Generating Host Connection Pools
from XML Files” on page 25.

webMethods Mainframe Developer’s Guide Version 6.5 15


CHAPTER 1 Getting Started

Assigning the Properties of a Host Connection Pool


The properties of a host connection pool are determined by the nature of the connection
between webMethods Mainframe and the mainframe computer, and by the host
application.

To assign host connection pool properties

1 In the Navigation panel, double-click the host connection pool for which you want to
assign properties.
2 In the editor, click the Properties tab to bring it to the front.
3 In the Properties tab, if the Host Type field does not have the correct value, select the
correct value from the list.
Changing the Host Type may change which properties are available to be assigned or
modified. For information on valid Host Types, see “Host Types” on page 43.
4 Assign or modify individual host connection pool properties, as appropriate.
5 On the File menu, click Save.

For information on individual host connection pool properties, see “Summary of Host
Connection Pool Properties” on page 27.

Defining Properties of a Host Connection Pool

Double-click the
host connection
pool...

...click the
Properties tab...

...assign properties
as needed.

16 webMethods Mainframe Developer’s Guide Version 6.5


Defining a Host Connection Pool

Defining Sessions in the Host Connection Pool


The number of sessions in a host connection pool, and their properties, are determined by
the nature of the connection between webMethods Mainframe and the mainframe
computer, and by the host application. It is common for a host connection pool to have
multiple identical sessions so that a new transaction can be sent without waiting for a
previous transaction to be completed.

To define the sessions of a host connection pool

1 In the Navigation panel, double-click the host connection pool for which you want to
define sessions.
2 In the editor, click the Session Properties tab.
You are now ready to define host connection pool sessions. The first session is created
for you.
3 Edit the various columns in the row to define the field.
For information on the entries for this panel, see “Defining General Information about
a Session” on page 32.
4 In the bottom panel, modify settings as appropriate for the session.
The settings in the bottom panel of the Session Properties tab represent attributes of the
session selected in the upper panel.
For information on the entries for this panel, see “Defining Session Information
Specific to a Host Type” on page 35.

Defining host connection pool sessions

Click the New


button...

...modify the
columns in the
session...

...and modify
settings in the
bottom panel.

5 To add additional sessions, in the Session Properties tab, click (New).


A new row appears in the Session Properties tab.

webMethods Mainframe Developer’s Guide Version 6.5 17


CHAPTER 1 Getting Started

Once you have defined a host connection pool, you can associate it with one or more
existing transactions, described in “Associating a Transaction with a Host Connection
Pool” on page 22.

Defining a Transaction
A transaction service describes the input and output fields for an interaction with the
mainframe computer. Remember that you are reproducing a client-host interaction that
already exists on the mainframe computer. Before you begin, you should know the nature
of the input and output fields that are part of this transaction.
You can break the process of defining a transaction into a few basic steps, described in the
following sections:
1 “Creating a Transaction Service” next on this page.
2 You can perform the following procedures in any order:
“Defining Input and Output Fields” on page 19.
“Assigning Transaction Properties” on page 21.
3 “Associating a Transaction with a Host Connection Pool” on page 22 (requires an
existing host connection pool).

Tip! The defining of input and output fields can be time-consuming for transactions with
many fields. If you have access to copies of the files originally used to create these
transactions on the mainframe (BMS maps, MFS files, or COBOL Copybooks), you can
convert them directly and then make modifications to suit the needs of the current project.
See Chapter 4, “Converting Source Code into Transaction Services” for more information.

Creating a Transaction Service


One way to create a transaction service is to do so manually.

To create a new transaction shell for manual construction

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Transaction Service option and click Next.
3 In the Select Manual or Automatic Transaction Construction dialog box, select the Create
Transaction Shell for Manual Construction option and click Next.
4 In the Name field of the New Mainframe Transaction dialog box, type a unique name for
the transaction.

18 webMethods Mainframe Developer’s Guide Version 6.5


Defining a Transaction

5 In the navigation tree of the dialog box, select the folder in which the transaction is to
be stored.
6 Click Next.
7 In the Host Type Selection panel, select the option that describes the type of connection
the transaction is to be used for.
Using the Deferred option, you can begin to define transactions, even if you have
limited knowledge of mainframe connectivity. Team members who have that
knowledge can work separately to define host connection pools.
8 Click Finish.

For information about Host Types and the connections they represent, see “Host Types”
on page 43.
There are two other ways you can generate transaction services:
From an XML file that has been previously exported from Developer. For more
information, see “Generating Transaction Services from XML Files” on page 47.
From a source file used to create the transactions on the mainframe computer. See
“Auto-Conversion of Source Files” on page 80.

Defining Input and Output Fields


Input fields contain information that is to be sent to the mainframe computer as part of a
request. Output fields contain information that is to be returned from the mainframe
computer as part of a reply. The following steps are not comprehensive, but will serve to
show how to define input and output fields.

To define input and output fields

1 In the Navigation panel, double-click the transaction for which you want to define
inputs.
2 In the editor, click the Fields tab.
3 In the editor, click the Input tab at the top of the panel.
You are now ready to define input fields.

webMethods Mainframe Developer’s Guide Version 6.5 19


CHAPTER 1 Getting Started

Defining a transaction

Double-click the
transaction...

...click the Fields


tab...

...and click the


Input tab.

4 In the Input tab, click (New).


5 From the list, select a data type for the field.
For a list of valid data types, see “Data Types” on page 52.
6 In the new field, edit the various columns in the row to define the field.
See “Populating or Modifying the Columns of a Field” on page 50.
7 In the bottom panel, modify properties for the field.
The settings in the bottom panel of the Input tab represent attributes of the field
selected in the upper panel.
See “Modifying Field Properties” on page 54.

Defining Input Fields

Click the New


button to create a
new field...

...modify the
columns in the
field...

...and modify
settings in the
bottom panel.

20 webMethods Mainframe Developer’s Guide Version 6.5


Defining a Transaction

8 To define output fields, click the Output tab at the top of the panel and repeat step 4
through step 7 for each field.
Once you have defined input and output fields for a transaction, you can associate it with
an existing host connection pool, described in “Associating a Transaction with a Host
Connection Pool” on page 22.

Assigning Transaction Properties


Before you can associate a transaction with a host connection pool, you must assign
certain properties to it that define how it is sent to, and received from, the mainframe
computer.

To assign transaction service properties

1 In the Navigation panel, double-click the transaction service for which you want to
assign properties.
2 In the editor, click the Properties tab to make it active.
3 In the Properties tab, if the Host Type field does not have the correct value, select the
correct value from the list.

Note: If the Host Type has already been assigned during the conversion of source code,
you should not change the Host Type to one that is incompatible with the source.

4 Assign or modify individual transaction service properties, as appropriate.


See “Summary of Transaction Service Properties” on page 67.
5 On the File menu, click Save.

webMethods Mainframe Developer’s Guide Version 6.5 21


CHAPTER 1 Getting Started

Assigning transaction properties

Double-click the
transaction...

...click the
Properties tab...

...select the host


connection pool
type....

...assign properties
as needed.

Associating a Transaction with a Host Connection Pool


To associate a transaction with a host connection pool, both must already exist. Also, both
must have the same Host Type assigned.

To associate a transaction with a host connection pool

1 In the Navigation panel, double-click the transaction you want to associate with a host
connection pool.
2 In the editor, click the Properties tab to make it active.
3 In the Properties tab, if the Host Type field does not have the correct value, select the
correct value from the list.
4 In the Properties tab, select the name of a valid host connection pool from the HostPool
Name list.
Only names of host connection pools with compatible Host Types appear in the list. If
the list is empty, there are no compatible host connection pools defined.

22 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 2
Working with Host Connection Pools

What is a Host Connection Pool? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Creating a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Assigning Host Connection Pool Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Creating and Modifying Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Host Connection Pool Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Enabling or Disabling Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Uploading Host Connection Pools without Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Viewing Validation Errors for Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Host Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Exporting Host Connection Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

webMethods Mainframe Developer’s Guide Version 6.5 23


CHAPTER 2 Working with Host Connection Pools

What is a Host Connection Pool?


A host connection pool is a group of sessions of a similar type. A session is a logical pipe
that defines the characteristics of a connection to a host application region on the
mainframe, and which is used to send and receive data. By having a number of similar
sessions, it is possible for webMethods Mainframe to handle multiple transactions at the
same time.
Developer provides the tools you need to develop and manage your host connection pools
and sessions:
The Properties tab allows you to assign and modify the properties of individual host
connection pools. See “Assigning Host Connection Pool Properties” on page 26.
The Session Properties tab allows you to create and modify sessions within a host
connection pool. See “Creating and Modifying Sessions” on page 32.
If you are not already familiar with the basic activities involved in creating and defining
host connection pools, see “Defining a Host Connection Pool” on page 14.

Creating a Host Connection Pool


You can create a host connection pool in either of two ways, either manually or from an
XML source file.
By default, when you create a host connection pool it is enabled, which means it is
available for use with webMethods Mainframe. (Being enabled does not imply that the
host connection pool is valid.) To disable a host connection pool, see “Enabling or
Disabling Host Connection Pools” on page 42.

Creating Host Connection Pools Manually


You can create a host connection pool manually using the following steps.

To create a new host connection pool manually

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe HostPool option and click Next.
3 In the Select Manual or Automatic HostPool Construction dialog box, click the Create
HostPool Shell For Manual Construction option and click Next.
4 In the Name field of the New Mainframe HostPool dialog box, type a unique name for the
host connection pool.
5 In the navigation tree of the dialog box, select the folder in which the host connection
pool is to be stored.

24 webMethods Mainframe Developer’s Guide Version 6.5


Creating a Host Connection Pool

6 Click Next.
7 In the Host Type Selection panel, select the option that describes the type of connection
the host connection pool is to be used for.
8 Click Finish.

For information about Host Types and the connections they represent, see “Host Types”
on page 43.
Once you have created a host connection pool, you are ready to assign properties to it. See
“Assigning Host Connection Pool Properties” on page 26.

Generating Host Connection Pools from XML Files


You can generate a host connection pool from an XML file that has been previously
exported from Developer. For information on exporting host connection pools from
Developer, see “Exporting Host Connection Pools” on page 44.

Important! webMethods recommends that you do not attempt to edit an XML file
containing a host connection pool. You should make changes within Developer before
exporting the file.

To generate a host connection pool from an XML source file

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Hostpool option and click Next.
3 In the Select Manual or Automatic HostPool Construction dialog box, click the Generate
Hostpool from Source File option and click Next.
4 In the navigation tree of the dialog box, select the folder in which the host connection
pool is to be stored.
5 Click Next.
6 In the Open Source File(s) for Automatic Conversion dialog box, click Open Source.
7 In the Open dialog box, traverse to the XML file and click Open.
You can list multiple XML source files in this dialog box. Each source file creates a
separate host connection pool.

webMethods Mainframe Developer’s Guide Version 6.5 25


CHAPTER 2 Working with Host Connection Pools

8 Click Finish.
Each generated host connection pool has the same name it had when it was exported
from Developer. If a host connection pool of the same name already exists, Developer
assigns a unique extension.
9 On the File menu, click Save.

Assigning Host Connection Pool Properties


When you create a host connection pool, as described in “Creating a Host Connection
Pool” on page 24, you are required to assign a Host Type. Your choice of Host Type
indicates how webMethods Mainframe is supposed to connect to the mainframe
computer (SNA or TCP/IP) and, in most cases, specifies the type of host application (IMS
or CICS). Each Host Type has its own set of properties, which you can assign or modify to
suit the specific needs of the host connection pool.

To assign host connection pool properties

1 In the Navigation panel, double-click the host connection pool for which you want to
assign properties.
2 In the editor, click the Properties tab to bring it to the front.
3 In the Properties tab, if the Host Type field does not have the correct value, select the
correct value from the list.
Changing the Host Type may change which properties are available to be assigned or
modified. For information on valid Host Types, see “Host Types” on page 43.
4 Assign or modify individual host connection pool properties, as appropriate.
5 On the File menu, click Save.

26 webMethods Mainframe Developer’s Guide Version 6.5


Assigning Host Connection Pool Properties

Summary of Host Connection Pool Properties


Some of the following host connection pool properties are common among all Host Types
while others are used only where appropriate. For more information on the properties
that are limited to IMS connect, CICS Sockets, and JES Publish, see the webMethods
Mainframe Administrator’s Guide.

To modify this
property... Do this...

Auto Start Select this option to cause sessions in this host connection pool to
be started when the server initializes. You must also set Auto Start
for each session. See “Defining General Information about a
Session” on page 32.
Buffer Size JES Publish only. Optional value. The maximum size is 32K bytes;
the default size is 512 bytes. We recommend that you do not
change this number except on advice from a mainframe system
programmer.
Comments Type an optional descriptive comment about the host connection
pool.
Custom End CICS LU 2, IMS LU 2, and TN3270E only. Type the number of end
Bracket (EBI) bracket indicators in the initial startup series. The default value is
Count 3. See “Custom End Bracket Count” on page 30.
Data Store IMS Connect only. Type the name of the IMS control region to
which transactions for this pool are targeted.
Data Translation IMS Connect only. Select where data translation is performed. The
choices are Host Translation and Server Translation (the default).
Enable the Select this option to make the host connection pool available for
HostPool for Use use with webMethods Mainframe. (Being enabled does not imply
that the host connection pool is valid.). See “Host Connection Pool
Status” on page 40.
Exit Name IMS Connect only. If you are using the recommended standard
IMS Connect exit (by selecting the Standard Exit option), leave this
property at the default value of *IRMREQ*. Otherwise enter the
name of the IMS Connect exit that you are using.
Group ID IMS Connect only. Type the RACF group user ID if it is required.
This value can be overridden by a session or by an individual
transaction.
Host Name IMS Connect only. Type either the IP address or the DNS name of
the mainframe computer.
Host Port IMS Connect only. Type the port number on which IMS connect on
the mainframe is configured to listen. Default value is 801.

webMethods Mainframe Developer’s Guide Version 6.5 27


CHAPTER 2 Working with Host Connection Pools

To modify this
property... Do this...

Host Type Select the Host Type to be used for this host connection pool. See
“Host Types” on page 43.
IMS Client Name IMS Connect only. Leave this field blank unless the system
administrator tells you what to enter.
Lock Timeout Type the time in seconds that webMethods Mainframe will wait
before releasing a locked session. The default is 180 seconds.
PassTicket IMS Connect only. Type the RACF password if it is required. This
value can be overridden by a session or by an individual
transaction.
Password JES Publish only. An optional 8-character value used to identify the
node in an NJE connection. Use the password provided by a
mainframe system programmer.
Primary Code Select a code page from the Primary Code Page list. The default value
Page is US English EBCDIC. For LU 2 host connection pools you can
also select a Secondary code page. For all other host connection
pools, you can select only the Primary code page.
For more information, see “Code Pages in Host Connection Pools”
on page 30.
Publishing JES Publish only. Select the type of document being published.
Method Choices are:
Record Base. Each record or line in the dataset is a separate
publish event.
Document (Block). The publish event is made up of all records
or lines of a given data set.
Restart on Select this option to cause webMethods Mainframe to restart a
Session Outage session automatically after it has been disconnected by a host-
connection error, such as might occur if a region on the mainframe
is shut down. webMethods Mainframe continues to attempt a
session restart at intervals specified by the Restart Timeout
property.
Restart Session Select this option if webMethods Mainframe is to restart a session
on Transaction if a state error occurs. By default, the option is not set. See “Restart
Error Session on Transaction Error” on page 31.

28 webMethods Mainframe Developer’s Guide Version 6.5


Assigning Host Connection Pool Properties

To modify this
property... Do this...

Restart Timeout Type the time in seconds that webMethods Mainframe is to wait
before attempting to restart sessions that have been disconnected
by a host-connection error. The default (and minimum) value is 30
seconds. This property is not available if the Restart on Session
Outage option is not set.
Retry Connection IMS Connect only. Type the number of times webMethods
Count Mainframe is to attempt to open an IP connection, each time
waiting the number of seconds specified by the Retry Timeout
property. The default is 10 attempts.
Retry Timeout IMS Connect only. Type the time in seconds webMethods
(seconds) Mainframe is to wait before attempting to open an IP connection
after the initial attempt failed. The default is 10 seconds. See also,
Retry Connection Count.
Secondary Code CICS LU 2, IMS LU 2, and TN3270E only. Select a code page from
Page the Secondary Code Page list. The default value is NONE.
For more information, see “Code Pages in Host Connection Pools”
on page 30.
Standard Exit IMS Connect only. Select this option to have the host use the
(*IRMREQ*) standard IMS Connect exit (*IRMREQ*). If this option is selected,
webMethods Mainframe builds all IMS Connect headers and
trailers.
Standard Sign Select this option to cause a transaction to issue a standard host
Off sign-off based on the Host Type.
Standard Sign Select this option to cause a transaction to issue a standard host
On sign-on based on the Host Type. If no User ID and Password are
available, this setting is ignored.
Transaction JES Publish only. The size of the buffer that holds publish
Buffer Size transactions for transmission over the network. The maximum size
is 32K bytes; the default size is 512 bytes. We recommend that you
do not change this number except on advice from a mainframe
system programmer.
Transaction Pipe IMS Connect only. Type the name of the LTerm override. Leave
Name this field blank unless the system administrator tells you what to
enter.

webMethods Mainframe Developer’s Guide Version 6.5 29


CHAPTER 2 Working with Host Connection Pools

To modify this
property... Do this...

Use Persistent IMS Connect only. Select this option if you want to run a persistent
Connection connection (open a connection only once); leave this option clear if
you want to open a connection for each transaction. Ask your
system administrator whether the version of IMS Connect on the
mainframe computer supports persistent connections.
Note: It is much more efficient to run persistent connections, if the
host system supports them.
User ID IMS Connect only. Type the RACF user ID if it is required. This
value can be overridden by a session or by an individual
transaction.

Code Pages in Host Connection Pools


A code page maps character codes between Unicode and a localized character set. Unless
you specify otherwise, the webMethods Mainframe default code page is US English
EBCDIC. EBCDIC (extended binary-coded decimal interchange code) is a coded character
set of 256 8-bit characters.
The code page specified in the Properties tab for a host connection pool applies to session
management activities between webMethods Mainframe and the mainframe computer. To
specify a code page for a specific transaction service, see “Assigning Transaction Service
Properties” on page 67.
For more information about code pages, see the IBM document Character Data
Representation Architecture (SC09-2190-00).

Custom End Bracket Count


The establishment of an LU 2 session involves the exchange of a series of packets or
Welcome screens sent from the host application on the mainframe to the 3270 terminal.
Each packet contains an End Bracket Indicator (EBI), which indicates that all information
needed to paint the screen has been sent.
When webMethods Mainframe acts in the place of an end terminal, it uses the EBI to
identify the end of a transaction. During session startup, webMethods Mainframe counts
EBIs to know when a session is properly initialized.
Host systems are often modified such that multiple screens appear before the first screen
that invites user input. If there are more EBIs in session startup than webMethods
Mainframe expects, it may send transactions before the session is available; if there are
fewer EBIs, webMethods Mainframe continues to wait, assuming the session is not yet
available.
By default, webMethods Mainframe expects to receive 3 EBIs during session startup. The
correct number for the Custom End Bracket Count is the highest value for which the

30 webMethods Mainframe Developer’s Guide Version 6.5


Assigning Host Connection Pool Properties

status at session startup is consistently Available. Use webMethods Mainframe


Administrator to display session status as well as to start and stop individual sessions.

Tip! In most cases, the default Custom End Bracket Count of 3 is the correct choice. Do not
try another value unless there is clearly a problem in getting a session to initialize
properly.

Use these guidelines to adjust the Custom End Bracket Count value:

If session status is... It means this...

Available You do not need to make any changes. If the session


consistently achieves a status of Available after startup, the
Custom End Bracket Count is correct.
Session Error If the session consistently or occasionally achieves a status of
Session Error after startup, webMethods Mainframe may be
attempting to send a transaction before the session is
initialized.
Increase the Custom End Bracket Count value by 1 and restart.
Continue increasing the count until session status at startup is
Pending On and then decrease the count by 1 to achieve a
session status of Available.
Pending On If the session achieves a status of Pending On after startup,
webMethods Mainframe is waiting for another End Bracket
Indicator as part of session initialization.
Decrease the Custom End Bracket Count value by 1 and
restart. Continue decreasing the count until session status at
startup is Available.

For more information on using webMethods Mainframe Administrator to monitor session


status and to start and stop sessions, see the webMethods Mainframe Administrator’s Guide.

Restart Session on Transaction Error


For LU 2 connections, webMethods Mainframe issues a state error if the current session
appears to be in an incorrect state. In many cases such a condition occurs because the
session has been closed; all that is necessary to correct the error is for webMethods
Mainframe to restart the session.
If the host application handles a session restart cleanly, you can select this option. If a
session restart is likely to require human intervention, do not select this option.

webMethods Mainframe Developer’s Guide Version 6.5 31


CHAPTER 2 Working with Host Connection Pools

Creating and Modifying Sessions


A host connection pool is a group of sessions of a similar type. For example, if the Host
Type selected for a host connection pool is CICS LU2, all sessions within that host
connection pool will connect to CICS using the LU 2 screen-based protocol. It is common
to have multiple identical sessions within a host connection pool because it facilitates load
balancing and improves performance.
When you assign sessions to a host connection pool, keep in mind there is no point in
assigning more sessions than the network allows. If you are connecting through SNA,
make sure the number of sessions you need is configured in the SNA communications
server and on the mainframe computer. If you are connecting through TCP/IP, the number
of CICS sessions is limited by the number of concurrent tasks configured in the CICS
region. For IMS, you may be limited by a config entry called maxsoc in the IMS Connect
TCP/IP configuration. If in doubt, check with the system administrators for the network
and the mainframe computer. For more information, see the webMethods Mainframe
Administrator’s Guide.
Not all sessions within a host connection pool must be identical. You can, for example
configure two groups of sessions with different User IDs and passwords.
The overall procedure for defining sessions has these basic activities:
Add the session and fill in the general columns in the upper portion of the Session
Properties tab. See “Defining General Information about a Session” on page 32.
Fill in the Host Type-specific fields in the lower portion of the tab. See “Defining
Session Information Specific to a Host Type” on page 35.

Defining General Information about a Session


When you define a session, the top panel of the Session Properties tab has the same
information for virtually all types of sessions.

To define the general information for a session

1 In the Navigation panel, double-click the host connection pool for which you want to
define sessions.
2 In the editor, click the Session Properties tab.
You are now ready to define host connection pool sessions.

3 If you need to create a new session, in the Session Properties tab, click (New).
A new row appears in the Session Properties tab.

32 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Sessions

Note: When you add each additional session, the new session is a copy of the last
session on the list.

4 In the session row, click the Name column and type the new session name.
For TCP/IP, type a descriptive name. For SNA, type the session or pool name exactly
as it appears in the SNA communications server configuration.
5 Click the Count column and type the number of sessions.
Type the number of instances of this session. For SNA, the number cannot exceed the
number sessions configured in the SNA communications server.
6 Select or clear the Autostart option as appropriate.
Select this option to cause webMethods Mainframe to start this session when it
initializes. You must also select the Auto Start option in the Properties tab of the parent
host connection pool. See “Summary of Host Connection Pool Properties” on page 27.
If you clear the Autostart option, you need to use webMethods Mainframe
Administrator to start the session when it is needed. See the webMethods Mainframe
Administrator’s Guide.
7 Select or clear the Restart option as appropriate.
Select this option to cause webMethods Mainframe to restart this session after a
communications error. If you clear the Restart option, you need to use webMethods
Mainframe Administrator to start the session when it is needed. See the webMethods
Mainframe Administrator’s Guide.
8 Click the User ID column and type the user ID needed for session sign-on.
If no user ID is needed, leave this column blank.
9 Click the Password column and type the password for the user ID.
As you type a password, Developer shows asterisks (*) on the screen as a security
measure. If you do not need a password, leave this column blank.
10 If needed, click the Comment column and type descriptive comment about the session.
This entry has no effect on the operation of webMethods Mainframe.
11 On the File menu, click Save.
The information you must supply as part of this procedure also appears in “Summary of
Session Information” next in this chapter.

webMethods Mainframe Developer’s Guide Version 6.5 33


CHAPTER 2 Working with Host Connection Pools

Summary of Session Information


The following table shows general information you can define for a session, as described
in “Defining General Information about a Session” on page 32.

Column Description
Name For TCP/IP, type a descriptive name. For SNA, type the session or
pool name exactly as it appears in the SNA communications server
configuration.
Count Type the number of instances of this session. For SNA, the number
cannot exceed the number sessions configured in the SNA
communications server.
Autostart Select this option to cause webMethods Mainframe to start this
session when it initializes. You must also select the Auto Start
option in the Properties tab of the parent host connection pool. See
“Summary of Host Connection Pool Properties” on page 27.
Restart Select this option to cause webMethods Mainframe to restart this
session after a communications error. If you clear the Restart
option, you need to use webMethods Mainframe Administrator to
start the session when it is needed. See the webMethods Mainframe
Administrator’s Guide.
User ID Type the user ID needed for session signon. If no user ID is
needed, leave this column blank.
Password Type the password for the user ID. As you type a password,
Developer shows asterisks (*) on the screen as a security measure.
If you do not need a password, leave this column blank.
Comment Type descriptive comment about the session. This entry has no
effect on the operation of webMethods Mainframe.

Hiding Columns in a Session


To make the columns in a field easier to read, you can hide one or more columns.

To hide columns in the Session Properties tab or Fields tab

1 In the editor, click either the Session Properties tab or Fields tab to bring it to the front.
2 Right-click any column header in the tab.

34 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Sessions

3 In the Select Column dialog box, perform either or both of these actions:

To do this... Do this...

Make a column visible Select the option for that column.


Hide a column Clear the option for that column

4 Click OK.

Defining Session Information Specific to a Host Type


When you select an individual session in the Session Properties tab for a host connection
pool, the bottom panel of that tab contains settings for that session. In some cases, you can
use this panel to override settings made for the entire host connection pool in the
Properties tab. In other cases, the panel provides options that you can only find in this
panel.

To define session information specific to a Host Type

1 In the Session Properties tab, select one or more identical sessions.


2 In the bottom panel, modify settings as appropriate for the session.
3 On the File menu, click Save.
See “Summary of Session Information Specific to a Host Type” next in this chapter.

Summary of Session Information Specific to a Host Type


The following table describes session attributes based on the Host Type specified for the
session:

Attribute/ by Host
Type Description
APPC
Local LU Name Type the LU name on the webMethods Mainframe end of the
connection.
Remote LU Name Type the LU name on the mainframe end of the connection.
Local TP Name Type the Transaction Program name by which the local session
identifies itself to the mainframe computer. By default, this name is
WMMIS.

webMethods Mainframe Developer’s Guide Version 6.5 35


CHAPTER 2 Working with Host Connection Pools

Attribute/ by Host
Type Description
Mode Name Type the mode name used for the LU 6.2 connection. The mode
name is an 8-byte EBCDIC character string that specifies a set of
networking characteristics defined during configuration. The
Value of the mode name must match the value used by the remote
LU on the mainframe. Common mode names are #BATCH and
#INTER.
CICS DPL
Local LU Name Type the LU name on the webMethods Mainframe end of the
connection.
Remote LU Name Type the LU name on the mainframe end of the connection.
Local TP Name Type the Transaction Program name by which the local session
identifies itself to the mainframe. By default, this name is WMMIS.
Mirror Transaction Type the name of the CICS mirror transaction program that resides
on the mainframe computer. This program routes requests to the
CICS application. By default, this name is CSMI.
Mode Name Type the mode name used for the LU 6.2 connection. The mode
name is an 8-byte EBCDIC character string that specifies a set of
networking characteristics defined during configuration. The
Value of the mode name must match the value used by the remote
LU on the mainframe. Common mode names are #BATCH and
#INTER.
CICS LUO
Start Type Select one of these ways to initialize the session: Host Init, Init Self,
or Send Text. See “Start Type” on page 39.
Application Name Type the plain-text message that is to be sent under the Init Self
Start Type. See “Start Type” on page 39.
CICS LU2
Start Type Select one of these ways to initialize the session: Host Init, Init Self,
or Send Text. See “Start Type” on page 39.
Application Name Type the plain-text message that is to be sent under the Init Self or
Send Text Start Type. See “Start Type” on page 39.
Model Type From the list, select the model of display terminal for which the
original mainframe transaction was intended. See “Model Types”
on page 39.

36 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Sessions

Attribute/ by Host
Type Description
CICS Publish (For more information about the session attributes, see the webMethods
Mainframe Administrator’s Guide.)
Host Name Type the IP address or the name of the mainframe computer.
Host Port Type the port number that CICS on the mainframe is configured to
listen on.
Host Gateway Type the name of the CICS transaction that points to the publish
Name gateway program. The name should have from one to four
characters.
Publish Config Type the name of the program on the mainframe computer that
Name contains publish configuration data for an instance of the publish
gateway.
Sign on in ASCII Select this option to send the signon user data (userid and
password) in ASCII. This option is required if the CICS TRANUSR
setting in the CICS TCP/IP Socket Interface configuration
transaction is YES. The default is to send the data in EBCDIC.
Use ASCII for Select this option to send the transaction code in ASCII. This
Transaction Code option is required if the CICS TRANTRN setting in the CICS
TCP/IP Socket Interface configuration transaction is YES. The
default is to send the transaction code in EBCDIC.
CICS Sockets (For more information about the session attributes, see the webMethods
Mainframe Administrator’s Guide.)
Host Name Type the IP address or the name of the mainframe computer.
Host Port Type the port number that CICS on the mainframe is configured to
listen on.
Host Gateway The name of transaction that points to the transaction server
Name program you have built on the host system. The name should have
from one to four characters.
Use Persistent Select this option if you want the session to use persistent sockets.
Sockets
Sign on in ASCII Select this option to send the signon user data (userid and
password) in ASCII. This option is required if the CICS TRANUSR
setting in the CICS TCP/IP Socket Interface configuration
transaction is YES. The default is to send the data in EBCDIC.
Use ASCII for Select this option to send the transaction code in ASCII. This
Transaction Code option is required if the CICS TRANTRN setting in the CICS
TCP/IP Socket Interface configuration transaction is YES. The
default is to send the transaction code in EBCDIC.

webMethods Mainframe Developer’s Guide Version 6.5 37


CHAPTER 2 Working with Host Connection Pools

Attribute/ by Host
Type Description
ECI TCP
Host Name Type the IP address or the name of the mainframe computer.
Host Port Type the port number that CICS on the mainframe is configured to
listen on.
IMS LUO
Start Type Select one of these ways to initialize the session: Host Init, Init Self,
or Send Text. See “Start Type” on page 39.
Application Name Type the plain-text message that is to be sent under the Init Self
Start Type. See “Start Type” on page 39.
IMS LU2
Start Type Select one of these ways to initialize the session: Host Init, Init Self,
or Send Text. See “Start Type” on page 39.
Application Name Type the plain-text message that is to be sent under the Host Init,
Init Self, or Send Text Start Type. See “Start Type” on page 39.
Model Type From the list, select the model of display terminal for which the
original mainframe transaction was intended. See “Model Types”
on page 39.
TN3270E
Start Type Select one of these ways to initialize the session: Host Init, Send
Text, or Send Text - OS/390. See “Start Type” on page 39.
Application Name Type the plain-text message that is to be sent under the Send Text
or Send Text - OS/390 Start Type. See “Start Type” on page 39.
Model Type From the list, select the model of display terminal for which the
original mainframe transaction was intended. See “Model Types”
on page 39.
Host Name Type the host name or the IP address of the mainframe computer.
Host Port Type the port number used by TN3270E on the mainframe
computer. The default value is 23.
Device Name Optional value. Type the name of a device on a TN3270E host
gateway that defines a pool on that server.

38 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Sessions

Start Type
In SNA, a request to activate a session between primary and secondary logical units (LUs)
is called a BIND. The Start Type option determines how webMethods Mainframe sets up a
BIND for each session. The Start Type option is only valid for SNA and TN3270E
connections; the option is ignored for TCP/IP connections. For TN3270E, see “Common
TN3270E Gateway Properties” on page 40.

This Start Type... Creates an SNA BIND in this way...

Host Init When webMethods Mainframe starts a session, the mainframe


automatically sends a BIND to the LU.
Init Self webMethods Mainframe sends an INITSELF string with the
region or application name and the mainframe responds with
a BIND to the LU. Not available with TN3270E.
Send Text webMethods Mainframe sends a plain-text login message
(USS or Unformatted System Services Logon) and the
mainframe responds with a BIND to the LU. Type the plain-
text message in the Application Name field in the lower panel.
Send Text - OS/390 TN3270E only. Use in place of Send Text, in cases where you
are connecting to a TN3270E server directly on OS/390, rather
than through an SNA communications server. Type the plain-
text message in the Application Name field in the lower panel.

Model Types
LU 2 transactions are programmed to use particular 3270 terminal types, and if the
terminal type information is not available, the transaction will fail. The terminal choices
include codes for the model size and for whether or not to include extra attribute bytes
(EABs). Using EABs causes the mainframe system to return double the information that it
otherwise would return. The additional information pertains to character attributes, such
as the use of underscores or colors. If your transactions do not use EABs and you are
concerned about performance, do not select the EAB option.

webMethods Mainframe Developer’s Guide Version 6.5 39


CHAPTER 2 Working with Host Connection Pools

Common TN3270E Gateway Properties


The following table describes properties for commonly used TN3270E gateways:

Gateway

Property IBM OS/390 Microsoft HIS Cisco CIP


Start Type* Send Text - OS/390 Send Text Send Text
EBI** 3 3 1
Comments Sends a premature Supports the Device
TN3270 bind before Name property as an
the USSIO screen. HIS LU pool.

*See “Start Type” on page 39.


** See “Custom End Bracket Count” on page 30.

Host Connection Pool Status


A host connection pool can be either enabled or disabled:

If the pool is... It means this...

Enabled The host connection pool is eligible to be loaded onto webMethods


Mainframe when you perform a Save command. When you create a
host connection pool, it is enabled by default.
Disabled By intention, the host connection pool is not loaded onto webMethods
Mainframe when you perform a Save command.

To change between enabled and disabled states, see “Enabling or Disabling Host
Connection Pools” on page 42.

40 webMethods Mainframe Developer’s Guide Version 6.5


Host Connection Pool Status

When you save a host connection pool, Developer performs a validation check. If the host
connection pool fails validation, it will not be loaded onto webMethods Mainframe. You
can determine the enabled/disabled state and the validation status for a host connection
pool by looking at the icon in the Navigation panel:

This icon... Means the host connection pool is...


Enabled and has passed validation. The host connection pool has been
loaded onto webMethods Mainframe.
Disabled, but has passed validation. The host connection pool has passed
validation but will not be loaded onto webMethods Mainframe until it is
enabled. See “Enabling or Disabling Host Connection Pools” on page 42.
Enabled, but has not passed validation. You need to correct errors before
the host connection pool can be loaded onto webMethods Mainframe:
1 Determine what errors have occurred (“Viewing Validation Errors for
Host Connection Pools” on page 43).
2 Make corrections.
3 On the File menu, click Save.
Note: This icon can also appear if you save a valid host connection pool
while webMethods Mainframe is not running.
Disabled and has not passed validation. To load the host connection pool
onto webMethods Mainframe, you need to take these actions:
1 Determine what errors have occurred (“Viewing Validation Errors for
Host Connection Pools” on page 43).
2 Make corrections.
3 Enable the host connection pool (“Enabling or Disabling Host
Connection Pools” on page 42).
4 On the File menu, click Save.

webMethods Mainframe Developer’s Guide Version 6.5 41


CHAPTER 2 Working with Host Connection Pools

Enabling or Disabling Host Connection Pools


You can enable or disable a host connection pool in the Properties tab for that specific host
connection pool.

To enable or disable a host connection pool from the Properties tab

1 In the Navigation panel, double-click the host connection pool you want to enable or
disable.
2 Click the Properties tab to bring it to the front.
3 In the Properties tab, take one of these actions:

To do this... Do this...

Enable a host connection pool Select the Enable the HostPool for Use option.
Disable a host connection pool Clear the Enable the HostPool for Use option.

Uploading Host Connection Pools without Saving


As long as a host connection pool has been enabled, Developer uploads it to webMethods
Mainframe automatically every time you perform a Save command. However, you can
also upload an enabled host connection pool manually, without having to first save it.

To upload a host connection pool to webMethods Mainframe

1 In the Navigation panel, double-click the host connection pool to be uploaded.


2 Right-click the host connection pool and, on the menu, click Upload to Mainframe.

42 webMethods Mainframe Developer’s Guide Version 6.5


Viewing Validation Errors for Host Connection Pools

Viewing Validation Errors for Host Connection Pools


When you save a host connection pool, Developer checks for errors in configuration. If the
host connection pool fails this validation check, Developer alters the icon in the
Navigation panel, as shown in “Host Connection Pool Status” on page 40. You can then
view the list of validation errors in the Errors tab.

Note: The list contains only the validation errors for the most recent attempt to save an
object. If you are not certain of the list’s origin, you can refresh the list by attempting to
save the host connection pool again.

To view validation errors for a host connection pool

1 In the Navigation panel, check the host connection pool icon to determine if
validation errors have occurred.

Host connection pools with either of two icons ( or )contain validation errors.
2 Double-click the host connection pool for which you want to view validation errors.
3 In the editor, click the Errors tab to bring it to the front.

Host Types
webMethods Mainframe supports the use of several types of connection to a mainframe
computer. These connection types are represented by Host Types in Developer.

Associated
Host Type Connection Type Purpose
APPC LU type 6.2 Connects to a CICS region over an SNA network.
LU type 6.2 supports peer-to-peer
communications in a distributed processing
environment.
CICS DPL LU type 6.2 Connects to a CICS region using the DPL protocol
over an SNA network. LU type 6.2 supports peer-
to-peer communications in a distributed
processing environment.
CICS LU0 LU type 0 Connects to a CICS region over an SNA network.
LU type 0 is message based, supporting user-
defined formats, protocols, and data streams.
CICS LU2 LU type 2 Connects to a CICS region over an SNA network.
LU type 2 supports 3270 terminals using the 3270
data stream.

webMethods Mainframe Developer’s Guide Version 6.5 43


CHAPTER 2 Working with Host Connection Pools

Associated
Host Type Connection Type Purpose
CICS Publish CICS Sockets Publishes CICS data from the mainframe
computer over a TCP/IP network.
CICS Sockets CICS Sockets Connects to a CICS region over a TCP/IP network.
ECI TCP TCP/IP Connects to a CICS region over a TCP/IP network.
IMS Connect IMS Connect Connects to an IMS region over a TCP/IP network.
IMS LU0 LU type 0 Connects to an IMS region over an SNA network.
LU type 0 is message based, supporting user-
defined formats, protocols, and data streams.
IMS LU2 LU type 2 Connects to an IMS region over an SNA network.
LU type 2 supports 3270 terminals using the 3270
data stream.
JES Publish LU type 0 Publishes IMS or CICS data from the mainframe
computer over an SNA network.
TN3270E TN3270E Connects to an IMS or CICS region over a TCP/IP
network. TN3270E supports 3270 data streams
transmitted over Telnet and is equivalent to LU 2.

Exporting Host Connection Pools


You can save a copy of a host connection pool as an XML (Extensible Markup Language)
file and later import that host connection pool into Developer on another system
(“Generating Host Connection Pools from XML Files” on page 25).

Important! webMethods recommends that you do not attempt to edit an XML file
containing a host connection pool. You should make changes within Developer before
exporting the file.

To export a host connection pool to an XML file

1 In the Navigation panel, right-click the host connection pool you want to export.
2 In the menu, click Export as XML.
3 In the Export as XML dialog box, navigate to the target directory, type the export file
name in the File Name field, and click Save.
By default, the name of the resulting host connection pool has the same name as the
XML file and ends with an .xml file extension.

44 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 3
Working with Transaction Services

What are Transaction Services? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Creating a Transaction Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Creating and Modifying Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Assigning Transaction Service Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Associating a Transaction with a Host Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Transaction Service Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Enabling or Disabling Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Uploading Transaction Services without Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Viewing Validation Errors for Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Exporting Transaction Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

webMethods Mainframe Developer’s Guide Version 6.5 45


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

What are Transaction Services?


The basic components of transactions are input and output fields, including records,
which are a special type of field. You create transaction services in Developer to describe
the components of each transaction.
Once you define transactions, you associate them with a host connection pool, which
represents a specific connection to the target application on the mainframe computer.
When webMethods Mainframe processes a transaction, it submits the transaction to the
host on one of the sessions defined for that host connection pool.
Developer provides the tools you need to develop and manage your transaction services:
The Fields tab contains several sub-tabs in which you create the input and output
fields that make up a transaction service. See “Creating and Modifying Fields” on
page 49.
The Properties tab allows you to assign properties that apply to the transaction service
as a whole. See “Assigning Transaction Service Properties” on page 67.
The Builder tab gives you the capability to create transaction services by converting
existing source code from applications on the mainframe. See Chapter 4, “Converting
Source Code into Transaction Services” for more information.
If you need a brief description of how to create transaction services and associate them
with host connection pools, see “Defining a Transaction” on page 18.

Creating a Transaction Service


You can create a transaction service in any of three ways: manually, from an XML source
file, or from a source file used to create the transaction on the mainframe computer. The
first two ways to create transactions are described in the following sections. For
information on the third method, see “Auto-Conversion of Source Files” on page 80.
By default, when you create a transaction service it is enabled, which means it is available
for use with webMethods Mainframe. (Being enabled does not imply that the transaction
service is valid.) To disable a transaction service, see “Enabling or Disabling Transaction
Services” on page 76.

Creating Transaction Services Manually

To create a new transaction shell for manual construction

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Transaction Service option and click Next.

46 webMethods Mainframe Developer’s Guide Version 6.5


Creating a Transaction Service

3 In the Select Manual or Automatic Transaction Construction dialog box, select the Create
Transaction Shell for Manual Construction option and click Next.
4 In the Name field of the New Mainframe Transaction dialog box, type a unique name for
the transaction.
5 In the navigation tree of the dialog box, select the folder in which the transaction is to
be stored.
6 Click Next.
7 In the Host Type Selection panel, select the option that describes the type of connection
the transaction is to be used for.
Using the Deferred option, you can begin to define transactions, even if you have
limited knowledge of mainframe connectivity. Team members who have that
knowledge can work separately to define host connection pools.
8 Click Finish.

For information about Host Types and the connections they represent, see “Host Types”
on page 43.

Generating Transaction Services from XML Files


You can generate a transaction service from an XML file that has been previously exported
from Developer. For information on exporting transaction services from Developer, see
“Exporting Transaction Services” on page 78.

Important! webMethods recommends that you do not attempt to edit an XML file
containing a transaction service. You should make changes within Developer before
exporting the file.

To generate a new transaction from mainframe or XML source files

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Transaction Service option and click Next.
3 In the Select Manual or Automatic Transaction Construction dialog box, click the Generate
Transaction from Source File option and click Next.
4 In the navigation tree of the dialog box, select the folder in which the transaction is to
be stored.
5 Click Next.

webMethods Mainframe Developer’s Guide Version 6.5 47


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

6 In the Open Source File(s) for Automatic Conversion dialog box, click Open Source, and
traverse to the source file and click Open.
By default, the conversion tool displays files with these extensions: .bms, .cbl, .cob,
.mfs, .pic, and .xml. You can open multiple source files at the same time, or use
multiple passes through this dialog box to open source files in different directories.
7 If you are converting from MFS files, use the MFS Auto Convert panel to choose among
these options:

Select this option... To do this...

FMT Section of MFS To convert only the FMT section of an MFS file, creating a
Files transaction service intended for an IMS screen-based
connection.
MSG Section of To convert only the MSG section of an MFS file, creating a
MFS Files transaction service intended for an IMS message-oriented
connection.

These options have no effect on BMS maps, COBOL Copybooks, or XML files.
8 Click Finish.
The conversion tool generates transaction services using this convention:

For this type of file... Transaction services are generated in this way...

XML One transaction service from each XML file. Each service
has the same name it had when exported from Developer.
Mainframe source One transaction service for every top-level entry in the
source file. Each service has a unique name based on the
name of the top-level entry.

If a transaction service of the same name already exists, Developer assigns a unique
extension.
9 On the File menu, click Save.

48 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

Creating and Modifying Fields


When you double-click a transaction service in the Navigation panel of the Developer
window, one of the tabs in the editor is the Fields tab. The Fields tab has two sub-tabs: one
for input fields and one for output fields. The top panel of each Input or Output tab has one
row for each field in the definition; the bottom panel contains properties specific to a
selected field.

Adding and Deleting Fields


As you create or modify a transaction service, there are several activities common to both
input and output fields. Two of these activities are adding and deleting fields.

To add an input field or output field to a transaction service

1 In the Navigation panel, double-click the transaction for which you want to add input
or output fields.
2 In the editor, click the Fields tab.
3 In the editor, click the Input or Output tab.

4 In the Input or Output tab, click (New).


5 From the list, select the data type for the field.
For a list of data types, see “Data Types” on page 52. If you select Record, the field
becomes a record, as described in “Configuring Records” on page 58.
6 On the File menu, click Save.
Once a new field or record appears in the editor, you are ready to populate the columns in
the field, as described in “Populating or Modifying the Columns of a Field” on page 50.

To delete an input field or output field from a transaction service

1 In the Navigation panel, double-click the transaction for which you want to delete
input or output fields.
2 In the editor, click the Fields tab.
3 In the editor, click the Input or Output tab.
4 In the editor, select the field you want to delete

5 In the Input or Output tab, click (Delete).


The field is removed from the transaction service.
6 On the File menu, click Save.

webMethods Mainframe Developer’s Guide Version 6.5 49


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

Shifting Fields Up and Down


If you have more than one field or record in the Input or Output tab, you can shift them up
or down one place at a time. You cannot shift a field or record out of a record in which it is
nested, nor can you shift a field or record such that it becomes nested within a record.

To shift a field or record up or down

1 In the Navigation panel, double-click the transaction in which you want to shift fields
or records.
2 In the editor, click the Fields tab.
3 In the editor, click the Input or Output tab.
4 In the editor, select the field or record you want to shift.

5 In the Input or Output tab, click (Shift Up) to shift the field up one place, or click
(Shift Down) to shift the field down one place.

Configuring Input and Output Fields


The procedure for configuring input fields and output fields is the same. You click the New
button to create the field, populate the columns in the upper panel, and then modify the
field properties in the lower panel. For information on defining records, see “Configuring
Records” on page 58.

Populating or Modifying the Columns of a Field


Once you add a new input or output field, you need to populate the columns to configure
the field. If you have not already added the field, see “Adding and Deleting Fields” on
page 49.

To populate the columns of a transaction field

1 In the Navigation panel, double-click the transaction for which you want to populate
an input or output field.
2 In the editor, click the Fields tab.
3 In the editor, click the Input or Output tab.
4 In the row containing the new field, click the Name column to select it and type the
new name for the field.

50 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

5 If you want to change the data type selected when you added the field, in the Type
column, select a data type from the list.
The data types in the Type column of an Input or Output tab represent data formatted for
the mainframe. For descriptions of the data types, see “Data Types” on page 52.

Note: You cannot change a record to another data type, nor can you change another
data type to a record.

6 Click the Size column to select it, type the maximum data length, in bytes, for this
field, and press ENTER (TAB moves the cursor to the next field).
7 This step depends on whether or not the connection is screen oriented (LU 2), so
choose one of these actions:

For this type of The column


connection... name is... Do this...

LU 2 Row Type the row where this field would appear on a


3270 screen.
Column Type the column where this field would appear on a
3270 screen.
All other Offset Type the offset of this field from the beginning of the
types data stream. See “Calculating Offsets” on page 65.

8 Type an optional descriptive comment about this field, and press ENTER (TAB moves
the cursor to the next field).
This information is not part of the transaction and appears only in this column.
9 On the File menu, click Save.
10 If you need to modify properties for the field, see “Modifying Field Properties” on
page 54.
A list of the columns in an input or output field appears in “Summary of the Columns in a
Field” next in this chapter.

Summary of the Columns in a Field


The following table shows the columns needed to define an input or output field, as
described in “Populating or Modifying the Columns of a Field” on page 50.

webMethods Mainframe Developer’s Guide Version 6.5 51


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

Column How You Fill It


Name Type the name for the field.
Type Select a data type from the list. Data types represent data
formatted for the mainframe. See “Data Types” on page 52.
Size Type the maximum data length, in bytes, for this field.
Row For LU 2 connections only. Type the row where this field would
appear on a 3270 screen. Valid entries are from 1 to the maximum
number of rows for the model of screen.
Column For LU 2 connections only. Type the column where this field would
appear on a 3270 screen. Valid entries are from 1 to the maximum
number of columns for the model of screen.
Offset For connections other than LU 2. Type the offset of this field from
the beginning of the data stream. See “Calculating Offsets” on
page 65.
Comments Type an optional descriptive comment about this field.

Data Types
The following choices are available in the Type column of an Input or Output tab. All formats
represent data formatted for the mainframe.

Icon Data Type Description


String A string based on the code page used on the mainframe.
For example, PIC X(10). See “Code Pages in Transaction
Services” on page 70.
Record Record. This data type is only available when you add a
field, as described in “Adding and Deleting Fields” on
page 49. Once set, a record cannot be changed to another
data type, nor can another data type be changed to a
record.
Int 16 Big Integer 16 Big Endian. A 2-byte IBM mainframe format in
which integers are loaded from right to left.
Int 16 Little Integer 16 Little Endian. A 2-byte IBM mainframe format
in which integers are loaded from left to right.
Int 32 Big Integer 32 Big Endian. A 4-byte IBM mainframe format in
which integers are loaded from right to left.
Int 32 Little Integer 32 Little Endian. A 4-byte IBM mainframe format
in which integers are loaded from left to right.

52 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

Icon Data Type Description


BCD Binary-coded decimal. A binary-coded notation in which
each of the decimal digits is represented by a binary
number.
Packed Decimal A format that compresses numerical data.

Packed Decimal A format that compresses numerical data. The data can
Signed contain a positive or negative sign.
Zoned Leading Zoned Decimal Leading. An IBM mainframe number
format with the sign (positive or negative) packed in the
first byte.
Zoned Trailing Zoned Decimal Trailing. An IBM mainframe number
format with the sign (positive or negative) packed in the
last byte.
This data type is a common COBOL encoding form used
for values in which character input and output is a more
significant factor than calculations. For example, if the
field type is 9(3)V9(2) and the value to be placed into it is
1.2, you need to change the value to 00120.
Zoned Unsigned Zoned Decimal Unsigned. An IBM mainframe number
format with no sign (positive or negative) packed in either
the first or last byte.
Byte Stream Hexadecimal raw data.

Screen Attribute LU 2 output fields only. Data retrieved from a screen


attribute buffer.
EAB LU 2 output fields only. Extended attribute byte. Character
strings include additional information, such as
underscores or colors.

webMethods Mainframe Developer’s Guide Version 6.5 53


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

Hiding Columns in a Field


To make the columns in a field or record easier to read, you can hide one or more
columns.

To hide columns in the Session Properties tab or Fields tab

1 In the editor, click either the Session Properties tab or Fields tab to bring it to the front.
2 Right-click any column header in the tab.
3 In the Select Column dialog box, perform either or both of these actions:

To do this... Do this...

Make a column visible Select the option for that column.


Hide a column Clear the option for that column

4 Click OK.

Modifying Field Properties


For each field or record, there are certain properties that you can modify. If you do not
modify these properties, webMethods Mainframe uses the default values shown in the
Field Properties panel of the Input or Output tab.

To modify properties for an input or output field

1 In the Navigation panel, double-click the transaction.


2 In the editor, click the Fields tab, click the Input or Output tab, and select the field or
record for which you want to modify properties.
3 Set or modify settings for the field or record, as appropriate.
See “Summary of Properties for Individual Fields” next in this chapter.
4 On the File menu, click Save.

54 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

Summary of Properties for Individual Fields


You can modify the following properties for each input or output field in a transaction
service.

To modify this
property... Do this...
Input Data From the list, select the appropriate source for the data that is to go
Source into the field. See “Input Data Sources” on page 56.
Static Value If the data is to be supplied by webMethods Mainframe when it
sends the transaction, type the data in this field. Not available for
records. See “Input Data Sources” on page 56.
Justification Determine how data is to be placed in the field by selecting from
this list:
None: The data is left as it is

Left: Data starts in the first position of the field

Right: Data ends in the last position of the field


You can change the default setting in the Options window. See
“Field Justification Options” on page 148.
Trim Spaces For Strings only, remove leading or trailing space characters from
the field by selecting from this list:
None: No spaces are trimmed

Left: Spaces are trimmed from the left

Right: Spaces are trimmed from the right

Both: Spaces are trimmed from both the left and the right
Padding Fill any spaces in the field that do not have data by selecting from
this list:
None: No padding
Spaces

Zeros

Nulls
You can change the default setting in the Options window. See
“Field Fill Value Options” on page 148.

webMethods Mainframe Developer’s Guide Version 6.5 55


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

To modify this
property... Do this...
Truncate Large For strings only, select this option to cause data that is longer than
Data the field length to be truncated. Truncation begins at the opposite
end of the field from the Justification property.
Code Page To specify a code page different from the one specified for the
transaction, select a code page from the list. For more information,
see “Code Pages in Transaction Services” on page 70.
Minimum Field Type the size in bytes of the minimum field size if the minimum
Size size differs from the maximum size. See “Minimum Field Size” on
page 56.

Input Data Sources


The Input Data Source property in the Input or Output tab determines how data for the field
is supplied.

If the property is... It means this...


Client (Required) The client application always supplies the data for this field. The
Static Value property is not available if you set this property.
Static Value webMethods Mainframe supplies the data for this field when it
(Static) sends a transaction. The data comes from the Static Value property.
Client OR use The client application does not require this field, but the host
Static Value application on the mainframe does. If the client does not provide
(Default) the data, webMethods Mainframe provides it from the Static Value
property.
Client, Not Neither the client application nor the host application on the
required by Host mainframe requires this data. The Static Value property is not
(Optional) available if you set this property. Not valid when the field resides
within a record.

Minimum Field Size


For some fields, the amount of data returned by the mainframe can vary widely from one
transaction to the next. In such a case, the field size you specify (“Summary of Properties
for Individual Fields” on page 55) must be large enough to handle the maximum data
length for the field. If the field size is of fixed length, webMethods Mainframe pads the
data out to the maximum field size. Performance improves if you enable webMethods
Mainframe to vary the field size to fit the actual size of the data returned from the
mainframe computer.

56 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

When webMethods Mainframe processes a transaction, it uses delimiters to determine


when each field ends. A field can be no shorter than the specified minimum field size, and
can extend until the delimiter is encountered or until the maximum field size is reached.

Note: If the transaction, as returned from the mainframe, does not use the delimiter value
you have specified for the transaction, webMethods Mainframe cannot accurately
determine the dividing line between variable-length fields.

With the Enable Variable Field Length option set for a transaction service, you have the
capability to specify for each field, whether it should be of fixed or variable length.

To enable variable field lengths in a transaction service

1 In the Navigation panel, double-click the transaction for which you want to specify
variable field lengths.
2 In the Properties tab, select the Enable Variable Field Length option.
The option is set for all fields in the transaction service, input and output.
3 In the Delimiter field, type the hexadecimal value that corresponds to the delimiter
used in the transaction to separate one field from another.
4 In the Input or Output tab of the editor, locate the field that is to have a variable length
and specify the maximum field length in the Size column.
By default, the maximum size for a field is also the minimum size for that field. If you
do not go on to the next step, webMethods Mainframe treats the field as having a
fixed length equal to the value specified in the Size column.
5 In the Minimum Field Size field (bottom panel of the Input or Output tab), type a value for
the minimum size of the field.

Modifying the Properties of Multiple Fields


You can modify the properties of multiple fields or records at the same time. When you
select multiple fields in the Input or Output tab, you can change all properties that are
common to all selected fields. You cannot, however, change properties for fields and
records in the action.

To change properties for multiple fields or records

1 In the Navigation panel, double-click the transaction for which you want to modify
multiple fields or records.
2 In the editor, click the Fields tab and then click the Input or Output tab to bring it to the
front.

webMethods Mainframe Developer’s Guide Version 6.5 57


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

3 Specify whether you are changing properties for fields or records.


Even though you can select a range that may contain both fields and records, you
cannot make changes to both at the same time. If you select an entity or the opposite
type, it remains unaffected by any changes you make to properties:

To specify... Do this...

Fields Make a field the first selection.


Records Make a record the first selection.

4 Select the fields or records to be changed:

To select... Do this...

Multiple individual Press the CONTROL key while you click individual fields.
fields or records You can also CONTROL+click an individual field to clear
it.
A range of fields or Click the first field and then SHIFT+click the field at the
records other end of the range. You can then CONTROL+click an
individual field to clear it.

5 Set or modify settings for the field or record, as appropriate.


Only properties common to all selected fields or records are displayed for
modification. See “Summary of Properties for Individual Fields” on page 55.
6 On the File menu, click Save.

Configuring Records
You can use Developer to organize fields into reusable data sets called records. A record is
a pattern of data that is repeated.
A common example of data that can be organized into records is information from a
telephone billing statement. Typically these billing statements include a set of data fields:
a time and date stamp, locations of origin and destination of call, and a time unit
measurement. This data is listed sequentially with the same data pattern on each line.
“Configuring Input and Output Fields” on page 50 describes how to configure input and
output fields. You can think of a record as a single input or output field containing many
sub-fields. Using the phone billing example, instead of configuring a field for each item of
data on the statement, many of which would have the same format, you configure the
pattern of one set (or line) of data as a record.; then reuse that format for all similar output
from the transaction. This use of records simplifies data manipulation within your
program and also reduces the amount of field configuration necessary for some
transactions.

58 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

The following guidelines apply to using records in transaction services:


To add a field within a record, select the record (or any field within the record) before
adding the field.
If a record already exists and you want to add a field that is outside the record, make
sure the record (or any field within the record) is not selected.
You can nest records within records.
You can shift fields and records up and down within their levels. You cannot shift a
field or record out of a record in which it is nested, nor can you shift a field or record
such that it becomes nested within a record. See “Shifting Fields Up and Down” on
page 50.
To make a record optional, set the value in the Minimum Record Count field to zero (0).
Do not set the Maximum Record Count field to zero, or webMethods Mainframe will not
process the record at all.
For LU 2 only, fields in a record are offset relative to the beginning of the record
(beginning at 1,1). See “Calculating Offsets” on page 65.

To configure a record

1 In the Navigation panel, double-click the transaction for which you want to add a
record.
2 In the editor, click the Fields tab.
3 In the editor, click the Input or Output tab.
4 If you want to nest the record within an existing record, select the existing record.

5 In the Input or Output tab, click (New).


6 From the list, select the Record data type.
7 In the row containing the new record, click the Name column to select it and type the
new name for the record.
8 Click the Size column to select it, type the data length, in bytes, for all fields within the
record, and press ENTER (TAB moves the cursor to the next field).
This value allows webMethods Mainframe to determine where the next record will
start.

webMethods Mainframe Developer’s Guide Version 6.5 59


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

9 The next column depends on whether or not the connection is screen oriented (LU 2,
which includes CICS LU 2, IMS LU 2, and TN3270E), so choose one of these actions:

For this type of The column


connection... name is... Do this...

LU 2 Row Type the row where this field would appear on a


3270 screen.
Column Type the column where this field would appear on a
3270 screen.
All other Offset Type the offset of this field from the beginning of the
types data stream. See “Calculating Offsets” on page 65.

10 Type an optional descriptive comment about this record, and press ENTER (TAB
moves the cursor to the next field).
This information is not part of the transaction and appears only in this column.
11 Click the record to select it so you can modify the Record Properties panel below.
12 In the Minimum Record Count field of the Record Properties panel, type the minimum
number of fields for the record.
The default minimum is 1.
13 In the Maximum Record Count field, type the maximum number of fields for the record.
The default maximum is 1.
14 For records based on COBOL Copybooks, select the OCCURS DEPENDS option if the
COBOL code calls for it. This option requires the use of the Record Counter Field in
the next step. For more information, see “Using a COBOL OCCURS Clause” on
page 62.
15 If you selected the OCCURS DEPENDS option in the previous step, in the Record Counter
Field list , select the name of the field that defines the number of records to be read.
This list displays only the names of fields in the first (leftmost) tier in the table. For
more information, see “Record Counter Field” on page 64.
16 On the File menu, click Save.
A list of the properties for an input or output record appears in “Summary of Properties
for Records” on page 61.

60 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

Summary of the Columns in a Record


The following table shows the columns you need to fill in defining an input or output
record, as described in “Configuring Records” on page 58.

Column How You Fill It


Name Type the name for the record.
Type Select the Record data type. Once you have created a record, you
cannot change it to another data type.
Size Type the data length, in bytes, for all fields within the record, and
press ENTER (TAB moves the cursor to the next field).
Row, Column For LU 2 connections only. Type the row and column where this
record would begin on a 3270 screen, separated by a comma.
Offset For connections other than LU 2. Type the offset of this record
from the beginning of the data stream. See “Calculating Offsets”
on page 65.
Comments Type an optional descriptive comment about this field.

Summary of Properties for Records


You can modify the following properties for each input or output record in a transaction
service.

To modify this
property... Do this...
Minimum Type the minimum number of fields for the record and press
Record Count ENTER (TAB moves the cursor to the next field).
Maximum Type the maximum number of fields for the record and press
Record Count ENTER (TAB moves the cursor to the next field).
OCCURS For records based on COBOL Copybooks, select the OCCURS
DEPENDS DEPENDS option. Requires the use of the Record Counter Field
Name. For more information, see “Using a COBOL OCCURS
Clause” on page 62.
Record Counter From the list, select the name of the field that defines the number
Field Name of records to be read. For more information, see “Record Counter
Field” on page 64.

webMethods Mainframe Developer’s Guide Version 6.5 61


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

Using a COBOL OCCURS Clause


COBOL programmers sometimes use an OCCURS clause with a DEPENDING ON
option, as shown in the following fragment of code.

01 REC-1
05 FIELD-1 PIC S9.
05 FIELD-2 OCCURS 1 TO 5 TIMES
DEPENDING ON FIELD-1 PIC X(05).

In this example, FIELD-2 can occur from one to five times, depending on the value in
FIELD-1. In such a case, the COBOL program sends only the specified number of records
rather than filling the transaction with null records to make up the maximum of five. To
avoid an error, webMethods Mainframe needs to know that this OCCURS...DEPENDING
ON clause exists in the host application.
An OCCURS...DEPENDING ON clause can be nested under another
OCCURS...DEPENDING ON clause, as shown in the following fragment of COBOL code.

01 DEPENDING_ON.
05 COUNTER1 PIC 9 BINARY.
05 COUNTER2 PIC 9 BINARY.
05 REC-1 OCCURS 1 TO 4 TIMES DEPENDING ON COUNTER1.
10 A PIC X(25).
10 B PIC X(30).
10 REC-2 OCCURS 3 TO 5 TIMES DEPENDING ON COUNTER2.
15 F PIC X(25).
15 G PIC X(30).
15 REC-3 OCCURS 2 TO 7 DEPENDING ON COUNTER2.
20 R PIC X(25).
20 S PIC X(30).

This code, when converted into a transaction service, appears in the Fields tab as shown in
the figure “Nested OCCURS...DEPENDING ON Clauses” on page 63.

62 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

Nested OCCURS...DEPENDING ON Clauses

To define the use of OCCURS...DEPENDING ON clause, you must also define a record
counter field, described in “Record Counter Field” on page 64.

To define an OCCURS...DEPENDING ON clause for a record

1 Define the record counter field within the transaction service, as described in
“Configuring Input and Output Fields” on page 50.
The field must exist in the same side of the transaction as the record; for a record in
the Output tab, you cannot specify a record counter field defined in the Input tab. The
order in which the field and the record appear in the transaction service is not
important.
2 Create the record, as described in “Configuring Records” on page 58.
3 In the Record Properties panel, select the OCCURS DEPENDS option.
4 In the Record Properties panel for the record, select the field from the Record Counter
Field list.
5 On the File menu, click Save.
A list of the columns in an input or output record appears in “Summary of the Columns in
a Record” on page 61. A list of the properties for an input or output record appears in
“Summary of Properties for Records” on page 61.

webMethods Mainframe Developer’s Guide Version 6.5 63


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

Record Counter Field


Transactions that include a number of records typically include a field that gives a count
of the number of records to be sent. If a transaction outbound from the mainframe
contains such a field, webMethods Mainframe processes only the specified number of
records. If the transaction does not contain the field, webMethods Mainframe must be
prepared to process the number of records specified in the Maximum Record Count field of
the Record Properties panel.
Place all record counter fields, including those for nested OCCURS...DEPENDING ON
clauses, preceding the record and in the highest (leftmost) tier in the transaction service.
The COUNTER1 and COUNTER2 fields in the figure “Nested OCCURS...DEPENDING
ON Clauses” on page 63 are record counter fields.

To define a record counter field

1 Define the record counter field within the transaction service, as described in
“Configuring Input and Output Fields” on page 50.
The field must exist in the same side of the transaction as the record; for a record in
the Output tab, you cannot specify a record counter field defined in the Input tab. The
record counter field must precede the record in the transaction service.
2 Create the record, as described in “Configuring Records” on page 58.
3 In the Record Properties panel, select the OCCURS DEPENDS option.
4 In the Record Properties panel for the record, select the field from the Record Counter
Field list.
5 On the File menu, click Save.

64 webMethods Mainframe Developer’s Guide Version 6.5


Creating and Modifying Fields

Calculating Offsets
The first position of the first byte in a transaction is 0, rather than 1. To determine the
offset of a field or record:

If the transaction is... Do this...

Message based Determine the position of the first character in the field and
subtract 1. For example, the offset of a character 30 bytes into
the transaction is 29.
Screen based Use the following formula:
OFFSET = (ROW - 1)*<term_type> + (COL - 1)

where term_type is the number of columns per row for the


particular model of terminal being used. Common widths are
80 or 132 columns.
For example, suppose you want to calculate the offset of a field
that begins at row 3 and column 12 (or 3,12) of an 80-character
terminal:
OFFSET = (3 - 1)*80 + (12 - 1)
OFFSET = 160 + 11
OFFSET = 171

Creating Transactions for APPC


APPC (advanced program-to-program communication) provides distributed processing
over an SNA network using the LU type 6.2. connection type. Some APPC-based
applications use send and receive buffers that are similar to those used by other
connection types. In such a case, you create input and output fields just as you would for
other transaction services.
Some APPC applications use the CICS communication area, or COMMAREA. The
COMMAREA is a single buffer that holds data passing in both directions between
programs. To create a transaction service for use with APPC, define the entire
COMMAREA in your input field but make the output portion optional. By way of
illustration, the figure “The Output for an APPC Transaction Service” on page 66 shows
an Output tab containing the output fields of an APPC transaction service. The two fields,
Result and Message are required in this tab.

webMethods Mainframe Developer’s Guide Version 6.5 65


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

The Output for an APPC Transaction Service

In the figure “The Input for an APPC Transaction Service” the Input tab for the same
transaction service contains the same two fields, now named Result0001 and Message0001.
Because Result0001 is selected, you can see that it is specified in the Input Data Source field as
an optional field.

The Input for an APPC Transaction Service

Send-Receive Model for APPC and DPL


APPC and DPL (distributed program link) both communicate over an SNA network using
the LU type 6.2. connection type. For both APPC and DPL, webMethods Mainframe uses
the same send-receive model. In a single transaction, webMethods Mainframe sends input
once and then receives until the data is complete. webMethods Mainframe does not
support multiple sends and receives within a single conversation.

66 webMethods Mainframe Developer’s Guide Version 6.5


Assigning Transaction Service Properties

Assigning Transaction Service Properties


Before you can associate a transaction service with a host connection pool, you must
assign a Host Type to the transaction service. The Host Type you assign to the transaction
service must match the Host Type of the host connection pool with which it will be
associated.
If you have converted source file data into transaction services, as described in Chapter 4,
“Converting Source Code into Transaction Services” the Host Type is set as part of the
conversion process.
Your choice of Host Type indicates how webMethods Mainframe is supposed to connect
to the mainframe computer (SNA or TCP/IP) and, in most cases, the type of host
application (IMS or CICS). The Host Type determines which properties you assign or
modify for the transaction service. For information on Host Types, see “Host Types” on
page 43.

To assign transaction service properties

1 In the Navigation panel, double-click the transaction service for which you want to
assign properties.
2 In the editor, click the Properties tab to make it active.
3 In the Properties tab, if the Host Type field does not have the correct value, select the
correct value from the list.

Note: If the Host Type has already been assigned during the conversion of source code,
you should not change the Host Type to one that is incompatible with the source.

4 Assign or modify individual transaction service properties, as appropriate.


See “Summary of Transaction Service Properties” on page 67.
5 On the File menu, click Save.

Summary of Transaction Service Properties


When you specify a Host Type in the Properties tab for a transaction service, Developer
displays a set of properties. Some of the following transaction service properties are
common among all Host Types while others are used only where appropriate.
A few transaction service properties duplicate properties on host connection pools. In
such a case, the value in a transaction service overrides the value in the host connection
pool.

webMethods Mainframe Developer’s Guide Version 6.5 67


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

To set this
property... Do this...
Properties common to all Host Types
Enable the Select this option to make the transaction service available for use
transaction for use with webMethods Mainframe. (Being enabled does not imply that
the transaction service is valid.) See “Enabling or Disabling
Transaction Services” on page 76.
Host Type Select the appropriate Host Type from the list. This value must be
the same as the Host Type of the host connection pool with which
the transaction service is to be associated. For a list of Host Types,
see “Host Types” on page 43.
HostPool Name To associate the transaction service with a host connection pool,
select the host connection pool name from the list. Only valid host
connection pools are available. See “Associating a Transaction with
a Host Connection Pool” on page 75.
Transaction Type the number of seconds webMethods Mainframe is to wait for
Timeout (seconds) a response from the mainframe computer for this transaction. If no
response is received within this time period, the transaction fails.
The default value is 180 seconds.
Code Page To specify a code page to be used for the transaction service, select
a code page from the list. For more information, see “Code Pages
in Transaction Services” on page 70.
Enable Variable To enable support for variable length data fields, select this option.
Field Length You must also specify a delimiter value.
Delimiter If you have selected the Enable Variable Field Length option, type the
hexadecimal value for the character to use as a delimiter for
variable length fields.
Auto Calculate Message-based Host Types only. Select this option if you want
Developer to calculate offsets and record sizes automatically. See
“Using the Auto Calculate Option for Message-Based
Transactions” on page 71.
Comments Type an optional descriptive comment about the transaction
service.
Properties for APPC
Remote TP Name The name of the application program on the mainframe computer.
Synclevel Select the synchronization level for the current conversation. For
more information, see “Synchronization Level for APPC” on
page 74.

68 webMethods Mainframe Developer’s Guide Version 6.5


Assigning Transaction Service Properties

To set this
property... Do this...
Properties for CICS LU 2, IMS LU 2, and TN3270E
Startup Sequence Select the desired startup behavior from the list. For more detail,
see “Startup Sequence for LU 2” on page 74.
Host Transaction is Select this option to indicate that CICS LU 2 transactions contain
Conversational multiple sends and receives within one logical unit of work. This
option has an effect only on connections to CICS.
Check for Standard Select this option to have webMethods Mainframe check for
Host Errors standard host errors. If an error occurs, the transaction will fail.
Not valid for TN3270E.
AID Key Value. Select a key type from the list to have webMethods Mainframe
place a character in the data stream. This character indicates the
user has pressed a key that requests an action from the system. The
default is the ENTER key.
Preformat Screen Type the name of a transaction or command that invokes the
application screen.
Model Type Select from the list the display-screen model type for which the
transaction is designed. Differences in model are determined by
the number of rows and columns displayed.
Properties for CICS Sockets
Remote TP Name The name of the CICS application program called by the gateway
program on the mainframe computer.
Properties for CICS Publish and JES Publish
Publish Service To the right of the field, click (Browse for Service), browse to
Name the publish service name, and click OK.
You can also type the location of the webMethods service that is to
subscribe to the transaction. For example:
wm.Mainframe.Monitor:logPublishData
Note that the service name is preceded by a colon (:) and that all
names are case sensitive. For more information, see “Subscribing a
Flow Service to a Transaction Service” on page 138.
Auto Subscribe to Select this option to automatically subscribe the specified
the Publish Service webMethods service to this transaction when configuration
information is loaded onto webMethods Mainframe or whenever
webMethods Mainframe starts. The option remains cleared unless
you also specify the service in the Publish Service Name column.

webMethods Mainframe Developer’s Guide Version 6.5 69


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

To set this
property... Do this...
Properties for DPL
Host Program The name of the CICS application program called by the mirror
Name transaction program on the mainframe computer.
Host Transaction The optional name of a transaction within the CICS application
Name program on the mainframe computer. Use this property if there
are multiple transactions within the CICS application program.
Properties for ECI TCP
Host Program The name of the CICS application program called by the
Name transaction program on the mainframe computer.
Host Transaction The optional name of a transaction within the CICS application
Name program on the mainframe computer. Use this property if there
are multiple transactions within the CICS application program.
Properties for IMS Connect
Transaction Name Type the name of the IMS host transaction. See “Transaction Name
for IMS Connect” on page 74.
Data Store Type the name of the IMS control region to which transactions for
this pool are targeted.
User ID Type the RACF user ID if it is required.
Group ID Type the RACF group user ID if it is required.
Pass Ticket Type the RACF password if it is required.

Code Pages in Transaction Services


A code page maps character codes between Unicode and a localized character set. Unless
you specify otherwise, the webMethods Mainframe default code page is US English
EBCDIC. EBCDIC (extended binary-coded decimal interchange code) is a coded character
set of 256 8-bit characters.
When webMethods Mainframe sends a transaction to the mainframe computer, it
converts from Unicode to a character set that is part of the code page you have specified.
Upon receiving a transaction from the mainframe, webMethods Mainframe assumes the
data is in the specified character set and converts it into Unicode. It is your responsibility
to know the code page being used by a host application, and to set the correct value in
Developer.

70 webMethods Mainframe Developer’s Guide Version 6.5


Assigning Transaction Service Properties

Code page usage is inherited from transaction services to individual fields:


On creation, the default code page for a transaction service is specified in the Options
window. To change the default code page, see “Code Page Options” on page 149.
You can specify a code page to be used for a transaction service. See “Assigning
Transaction Service Properties” on page 67.
You can specify that an individual field use a code page different from the one used
by its parent transaction service. See “Modifying Field Properties” on page 54.
For LU 2 connections, there can be multiple code pages, called primary and secondary
code pages. Multiple code pages are used in cases where it is useful to change character
sets in the middle of a transaction, such as when changing between multibyte characters
and numbers.
The code page specified in the Properties tab for a host connection pool applies to session
management activities between webMethods Mainframe and the mainframe computer. To
specify a code page for a host connection pool, see “Assigning Host Connection Pool
Properties” on page 26.
For more information about code pages, see the IBM document Character Data
Representation Architecture (SC09-2190-00).

Using the Auto Calculate Option for Message-Based Transactions


For each field in a message-based transaction service, you need to provide an offset,
which is the length in bytes from the beginning of the transaction to the beginning of the
field. You can calculate this value manually as you add fields to a transaction, but the
effort becomes more complex when you add records or if you need to shift fields up or
down within the transaction. With the Auto Calculate option, Developer calculates offsets
and record sizes automatically as you create and edit the fields in the transaction.

Enabling and Disabling Auto-Calculation


You can enable or disable auto-calculation for a transaction service in the Properties tab or
in the Input or Output tab of the Fields tab.

To enable or disable auto-calculation in the Properties tab

1 In the Navigation panel, double-click the transaction service for which you want to
enable or disable auto-calculation.
2 In the editor, click the Properties tab to make it active.

webMethods Mainframe Developer’s Guide Version 6.5 71


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

3 In the Properties tab, perform one of these actions:

To... Do this...

Enable auto-calculation Select the Auto Calculate option.


Disable auto-calculation Clear the Auto Calculate option.

4 On the File menu, click Save.

To enable or disable auto-calculation in the Input or Output tab

1 In the Navigation panel, double-click the transaction service for which you want to
enable or disable auto-calculation.
2 In the editor, click the Fields tab to make it active, and then click the Input or Output tab.
3 In the toolbar of the Input or Output tab, look for one of these buttons:

This button... Means this...

Auto-calculation is enabled. Click the button to disable the feature.

Auto-calculation is disabled. Click the button to enable the feature.

4 On the File menu, click Save.

Causing Recalculation
With Auto Calculate enabled, any of the following actions causes the recalculation of all
offsets and the sizes of all records in the transaction service:
Add a new field or record

Delete an existing field or record

Shift a field or record up or down in the transaction

Change the size of a field

72 webMethods Mainframe Developer’s Guide Version 6.5


Assigning Transaction Service Properties

Rules for Auto-Calculation


Automatic calculation uses the following rules:
Any values you have previously entered manually in the Offset column of a field or
record are subject to recalculation once the Auto Calculate option is selected. Therefore:
You should select the Auto Calculate option before you begin to create fields and
records for a transaction rather than to select the option after you have created the
fields.
If there are some fields or records for which you need to override the automatic
calculations, wait until you have entered all fields and records before you clear
the Auto Calculate option and make manual changes to offsets and record sizes.
The Auto Calculate option determines the offset of the first element after a record
according to these rules:
For a record with a fixed number of occurrences, Auto Calculate multiplies the size
of a single instance of the record by the maximum number of occurrences of the
record.
For a record with a variable number of occurrences, Auto Calculate uses the size of
a single instance of the record; webMethods Mainframe determines the offset
dynamically at run time. You must specify that the record uses an
OCCURS...DEPENDING ON clause, as described in “Using a COBOL OCCURS
Clause” on page 62.
If the Auto Calculate option is selected and you manually change a field or record offset,
or a record size, Developer displays a message that the Auto Calculate is disabled,
and the option is automatically cleared so the change is not overwritten by auto-
calculation. If you later select the Auto Calculate option, your manual changes are
overwritten.

Auto-Calculation During Source File Conversion


The Auto Calculate option also performs calculations when you convert source files into
transaction services (described in Chapter 4, “Converting Source Code into Transaction
Services”):

If source file
conversion is... The Auto Calculate option is...

Automatic Selected by default. All auto-conversion from source files uses Auto
Calculate. See “Auto-Conversion of Source Files” on page 80.
Manual Cleared by default. When you perform manual source file conversion,
you should select the Auto Calculate option before you begin the drag
and drop operation. See “Manual Conversion of Source Files” on
page 83.

webMethods Mainframe Developer’s Guide Version 6.5 73


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

Startup Sequence for LU 2


The Startup Sequence property in the Properties tab for an LU 2 (CICS LU 2, IMS LU 2,
and TN3270E) transaction service contains three settings. When using these settings, keep
in mind how the screen transaction corresponds to user interactions at a 3270 terminal.

This setting... Causes this behavior in webMethods Mainframe...

(none) Causes no action to be taken. This setting is for transactions that


normally do not require the screen to be cleared. Such transactions
would typically be used in the middle of a session.
Clear Screen Causes the session data buffer to be cleared. This setting would
typically occur at the beginning of a session.
Only Clear Local Causes the local screen buffer to be cleared but does not send the
Screen command to the mainframe computer. Use this setting in cases
where the mainframe responds to a Clear Screen command in an
atypical manner, such as by logging the session off.

Synchronization Level for APPC


The advanced peer-to-peer communication (APPC) architecture has multiple levels of
synchronization. General LU 6.2 communication supports the following two levels.

Use this level... For this...

Level 0 When synchronization between peer devices is not supported, or when


it is not needed. Level 0 is the default setting for the APPC Host Type.
Level 1 When you want to exchange private synchronization requests
(confirmation of data delivery) with the mainframe CICS application.

Transaction Name for IMS Connect


The Transaction Name property for an IMS Connect transaction service is the name of the
IMS host transaction. This name should be the same as the transaction name invoked in
the client data stream. The entry in the data stream is still required; this property does not
replace it.
In the data stream, the transaction name appears in the CODE parameter of the
TRANSACT macro, as shown in this sample code fragment
TRANSACT CODE=BANK,PRTY=(7,10,2),INQUIRY=YES,MODE=SNGL, X
PARLIM=0,MAXRGN=40

74 webMethods Mainframe Developer’s Guide Version 6.5


Associating a Transaction with a Host Connection Pool

Associating a Transaction with a Host Connection Pool


To associate a transaction with a host connection pool, both must already exist. Also, both
must have the same Host Type assigned.

To associate a transaction with a host connection pool

1 In the Navigation panel, double-click the transaction you want to associate with a host
connection pool.
2 In the editor, click the Properties tab to make it active.
3 In the Properties tab, if the Host Type field does not have the correct value, select the
correct value from the list.
4 In the Properties tab, select the name of a valid host connection pool from the HostPool
Name list.
Only names of host connection pools with compatible Host Types appear in the list. If
the list is empty, there are no compatible host connection pools defined.

Transaction Service Status


A transaction service can be either enabled or disabled:

If the definition is... It means this...

Enabled The transaction service is eligible to be loaded onto


webMethods Mainframe when you perform a Save command.
When you create a transaction service, it is enabled by default.
Disabled By intention, the transaction service is not loaded onto
webMethods Mainframe when you perform a Save command.

To change between enabled and disabled states, see “Enabling or Disabling Transaction
Services” on page 76.
A transaction service is valid if:
The composition of the fields and records within it is correct

The transaction service is associated with a host connection pool

The transaction properties are correct for the Host Type you have assigned to the host
connection pool

webMethods Mainframe Developer’s Guide Version 6.5 75


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

When you save a transaction service, Developer performs a validation check. If the
transaction service fails validation, it will not be loaded onto webMethods Mainframe.
You can determine the enabled/disabled state and the validation status for a transaction
service by looking at the icon in the Navigation panel:

This icon... Means the transaction service is...


Enabled and has passed validation. The transaction service has been
loaded onto webMethods Mainframe.
Disabled, but has passed validation. The transaction service has passed
validation but will not be loaded onto webMethods Mainframe until it is
enabled. See “Enabling or Disabling Transaction Services” on page 76.
Enabled, but has not passed validation. You need to correct errors before
the transaction service can be loaded onto webMethods Mainframe:
1 Determine what errors have occurred (“Viewing Validation Errors for
Transaction Services” on page 77).
2 Make corrections.
3 On the File menu, click Save.
Note: This icon can also appear if you save a valid transaction service while
webMethods Mainframe is not running.
Disabled and has not passed validation. To load the transaction service
onto webMethods Mainframe, you need to take these actions:
1 Determine what errors have occurred (“Viewing Validation Errors for
Transaction Services” on page 77).
2 Make corrections.
3 Enable the transaction service (“Enabling or Disabling Transaction
Services” on page 76).
4 On the File menu, click Save.

Enabling or Disabling Transaction Services


You can enable or disable a transaction service in the Properties tab for that transaction
service.

To enable or disable a transaction service

1 In the Navigation panel, double-click the transaction service you want to enable or
disable.
2 Click the Properties tab to bring it to the front.

76 webMethods Mainframe Developer’s Guide Version 6.5


Uploading Transaction Services without Saving

3 In the Properties tab, take one of these actions:

To do this... Do this...

Enable a transaction service Select the Enable the transaction for use option.
Disable a transaction service Clear the Enable the transaction for use option.

Uploading Transaction Services without Saving


As long as a transaction service has been enabled, Developer uploads it to webMethods
Mainframe automatically every time you perform a Save command. However, you can
also upload an enabled transaction service manually, without having to first save it.

To upload a transaction service to webMethods Mainframe

1 In the Navigation panel, select the transaction service to be uploaded.


2 Right-click the transaction service and, on the menu, click Upload to Mainframe.

Viewing Validation Errors for Transaction Services


When you save a transaction service, Developer checks for errors in configuration. If the
transaction service fails this validation check, Developer alters the icon in the Navigation
panel, as shown in “Transaction Service Status” on page 75. You can then view the list of
validation errors in the Errors tab.

Note: The list contains only the validation errors for the most recent attempt to save an
object. If you are not certain of the list’s origin, you can refresh the list by attempting to
save the transaction service again.

To view validation errors for a transaction service

1 In the Navigation panel, check the transaction service icon to determine if validation
errors have occurred.

Transaction services with either of two icons ( or )contain validation errors.


2 Double-click the transaction service for which you want to view validation errors.
3 In the editor, click the Errors tab to bring it to the front.

webMethods Mainframe Developer’s Guide Version 6.5 77


C H A P T E R 3 W o r k i n g w i t h Tr a n s a c t i o n S e r v i c e s

Exporting Transaction Services


You can save a copy of a transaction service as an XML (Extensible Markup Language) file
and later import that transaction service into Developer on another system.

Important! webMethods recommends that you do not attempt to edit an XML file
containing a transaction service. You should make changes within Developer before
exporting the file.

To export a transaction service to an XML file

1 In the Navigation panel, right-click the transaction service you want to export.
2 In the menu, click Export as XML.
The Export as XML dialog box appears.
3 Navigate to the target directory, type the export file name in the File Name field, and
click Save.
By default, the name of the resulting transaction service has the same name as the
XML file and ends with an .xml file extension.
To import a transaction service into Developer from an XML file, see “Generating
Transaction Services from XML Files” on page 47.

78 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 4
Converting Source Code into Transaction Services

What are Transaction Source Files? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Auto-Conversion of Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Manual Conversion of Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Using the Tree Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Using the LU2 Screen Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Kinds of Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Source-Target Pairs for Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

webMethods Mainframe Developer’s Guide Version 6.5 79


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

What are Transaction Source Files?


In using webMethods Mainframe you are replicating the client end of an existing
interaction with the mainframe computer. The source files for those interactions come in
three types: basic mapping system (BMS) maps, message format service (MFS) files, and
COBOL Copybooks. Using Developer, you can convert these three types of files into
transactions. For more information, see “Kinds of Source Files” on page 94.
There are two paths to the conversion of source code files into transaction services. The
first path is auto-conversion at the time you create a transaction service, described in
“Auto-Conversion of Source Files” next in this chapter.
The second path to the conversion of source code files is a manual approach, described in
“Manual Conversion of Source Files” on page 83.

Auto-Conversion of Source Files


When you use auto-conversion as you create a transaction service, the auto-conversion
feature creates one or more transaction services based on the content of the file. In a few
cases, auto-conversion creates a transaction service that is ready to use. In most cases,
however, auto-conversion serves to quickly populate a transaction service that you can
then modify to meet your needs.
The auto-conversion feature takes the following actions:
Creates a new transaction for every top-level entry in the source file.

Gives the transaction a unique name based on the name of the top-level entry in the
source file.
Sets the Host Type for the transaction service based on the type of source file and the
Import Conversion setting Options. See “Selecting Default Host Types” on page 143.
The default Host Types at installation are as follows:

For this file type... The default Host Type is...


BMS map CICS LU2
MFS file FMT section IMS LU2
MFS file MSG section IMS LU0
COBOL Copybook IMS Connect

Selects the Auto Calculate option for the transaction if the default Host Type represents
a message-based protocol, such as IMS LU0. Auto Calculate automatically calculates
offsets and record sizes. See “Using the Auto Calculate Option for Message-Based
Transactions” on page 71.

80 webMethods Mainframe Developer’s Guide Version 6.5


Auto-Conversion of Source Files

Opens the source file in the Source File tab in case you need to perform manual
conversion operations later.
Stores Static data for LU 2 transactions to provide context in the LU2 Screen Target tab.
Populates the input and output fields in each transaction according to rules that apply
to each type of transaction source file:

For this file type... The auto-conversion feature does this...


BMS file Creates a separate transaction service for each map in the
file. Places Unprotected fields in the Input section; places
Protected fields in the Output section.
MFS file FMT section Creates a separate transaction service for each map in the
FMT section. Places Unprotected fields in the Input
section; places Protected fields in the Output section.
MFS file MSG section Creates transaction services based on the number of MIDS
and MODS in the file:
For a single MID and a single MOD, creates a single
transaction service with the MID as input and the
MOD as output.
For multiple MIDs and a single MOD, creates a
transaction service for each MID and places the MOD
as output in each transaction.
For a single MID and multiple MODs, creates a
transaction service for each MOD and places the MID
as input in each transaction.
For multiple MIDs and multiple MODs, creates a
transaction service for each MID. You need to
complete the transaction services manually by adding
the corresponding MOD to each. See “Manual
Conversion of Source Files” on page 83.
COBOL Copybook Creates a separate transaction service for each top-level
(01) entry and places the nested fields into both Input and
Output sections.
Some COBOL developers place all input fields in one 01
entry and all output fields in a different 01 entry. In this
case, it may be better to use a drag-and-drop operation
instead of auto-conversion.

webMethods Mainframe Developer’s Guide Version 6.5 81


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

Note: In using the auto-conversion feature with COBOL Copybooks or the MSG
sections of MFS files, it is important to have knowledge of the transaction you are
trying to replicate for webMethods Mainframe. Such knowledge will affect your
strategy for doing the conversion.

Tip! Depending on the type of source code files you are using, some option settings may
have an impact on the results of auto conversion. See Chapter 8, “Setting Options for
webMethods Mainframe”.

To generate a new transaction from mainframe or XML source files

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Transaction Service option and click Next.
3 In the Select Manual or Automatic Transaction Construction dialog box, click the Generate
Transaction from Source File option and click Next.
4 In the navigation tree of the dialog box, select the folder in which the transaction is to
be stored.
5 Click Next.
6 In the Open Source File(s) for Automatic Conversion dialog box, click Open Source, and
traverse to the source file and click Open.
By default, the conversion tool displays files with these extensions: .bms, .cbl, .cob,
.mfs, .pic, and .xml. You can open multiple source files at the same time, or use
multiple passes through this dialog box to open source files in different directories.
7 If you are converting from MFS files, use the MFS Auto Convert panel to choose among
these options:

Select this option... To do this...

FMT Section of MFS To convert only the FMT section of an MFS file, creating a
Files transaction service intended for an IMS screen-based
connection.
MSG Section of To convert only the MSG section of an MFS file, creating a
MFS Files transaction service intended for an IMS message-oriented
connection.

These options have no effect on BMS maps, COBOL Copybooks, or XML files.

82 webMethods Mainframe Developer’s Guide Version 6.5


Manual Conversion of Source Files

8 Click Finish.
The conversion tool generates transaction services using this convention:

For this type of file... Transaction services are generated in this way...

XML One transaction service from each XML file. Each service
has the same name it had when exported from Developer.
Mainframe source One transaction service for every top-level entry in the
source file. Each service has a unique name based on the
name of the top-level entry.

If a transaction service of the same name already exists, Developer assigns a unique
extension.
9 On the File menu, click Save.

The content and file type of the source file determines several aspects the transaction
service (for more information, see “Kinds of Source Files” on page 94):
The number of transaction services created

The name of each transaction service

The Host Type assigned to each transaction service


Once you have used the auto-conversion feature to populate one or more transaction
services, you can use the Fields tab to make any necessary modifications. See “Configuring
Input and Output Fields” on page 50.

Manual Conversion of Source Files


When you convert transactions from source code files, the basic workflow is as follows:
1 Create a transaction.
See “Creating a Transaction Service” on page 18.
2 If needed, set options for source file conversion.
Depending on the type of source code files you are using, some option settings may
have an impact on the results of source file conversion. See Chapter 8, “Setting
Options for webMethods Mainframe”.
3 Locate the source code and add it to Developer.
Obtain copies of the source code files and store them in a directory that is accessible to
Developer. Open those files in Developer to make the field-level data available. See
“Adding and Deleting Transaction Source Files” on page 84.

webMethods Mainframe Developer’s Guide Version 6.5 83


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

4 Move field-level data into the transaction.


Using drag-and-drop operations, you can copy as much or as little of the source file
content into a transaction as you need. See “Converting from Source Files to
Transaction Services” on page 85.
5 Modify the transaction as necessary.
If the transaction is correct the way it is, this step is not necessary. However, if you
find it necessary to modify the transaction service, you can do so using the same
techniques you would if you typed the field-level data in by hand. See “Configuring
Input and Output Fields” on page 50.

Adding and Deleting Transaction Source Files


When you add a transaction source file to Developer, the information from that file is kept
in memory until you delete it or until you close your session with Integration Server. You
can have multiple source files of various kinds in Developer at the same time. The source
files, themselves, are not affected.

Adding Transaction Source Files


Before you try to add a source file to Developer, make sure the file is in a directory
accessible from Developer.

To add a transaction source file to the Source Files tab

1 In the Navigation panel, double-click a transaction service to make the Builder tab
visible.
You can double-click any existing transaction service. If there are no existing
transaction services, you need to create one. See “Creating a Transaction Service” on
page 46.
2 Click the Builder tab.
The editor displays a Source Files tab above and a Tree Target tab below.

3 In the Source Files tab, click (Open Source File).


4 In the Open dialog box, traverse to the directory containing the transaction source file,
select the file, and click Open.
You can open multiple source files at the same time, or use multiple passes through
this dialog box to open source files in different directories. The content of the file
appears in the Source Files tab.

84 webMethods Mainframe Developer’s Guide Version 6.5


Manual Conversion of Source Files

Deleting Transaction Source Files


Developer allows you to delete the entire content of a transaction source file from
memory, or a subset of the file as small as a single field. Deleting the content does not
affect the source file from which the information was taken.

To delete a source file from the Source Files tab

1 In the Navigation panel, double-click any transaction to make the Builder tab appear in
the editor.
2 In the editor, click the Builder tab to make the Source Files tab appear.
3 In the Source Files tab, select the information that you want to delete from Developer.

4 In the Source Files tab, click (Delete).


The selected content is deleted from the Source Files tab.

Tip! Any time you close a session, the content of transaction source files is lost from
memory

Converting from Source Files to Transaction Services


Using the content of one or more transaction source files in Developer, you can convert
source data into input and output fields in the transaction service. The editor for this
conversion activity is the Builder tab. This tab contains an upper panel, the Source Files tab,
and a lower panel, which by default is the Tree Target tab. For LU 2 connections, the LU2
Screen Target tab is also available.

This tab... Has this purpose...

Source Files Provides a hierarchical view of the transaction source files.


You can drag data from this tab to either the Tree Target tab or
the LU2 Screen Target tab.
Tree Target Provides a tree diagram of the transaction service. You drag
data to this tab from the Source Files tab. This target is suitable
for all connection types.
LU2 Screen Target Depicts the content of the transaction service as it would
appear in a 3270 screen display. You drag data to this tab from
the Source Files tab. This target is suitable only for LU 2
connection types.

webMethods Mainframe Developer’s Guide Version 6.5 85


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

There are two methods for manual conversion from source files, as described in these
sections:
“Dragging to the Tree Target” next in this chapter

“Dragging to the LU2 Screen Target” on page 87

Dragging to the Tree Target


You can convert all three kinds of transaction source files into transaction services by
dragging from the Source Files tab of Developer to the Tree Target tab. Both of these tabs are
panels in the Builder tab.
Depending on the kind of transaction source file you are using, you can drag an entire
transaction, an entire set of input fields or output fields, or an individual field. Using
drag-and-drop operations, you can build a transaction service that is a subset of the
transaction in the original source file or you can combine elements from multiple source
files into a single transaction service.

Note: If your transaction building effort is more complex than simply dragging a whole
transaction at a time, it is important to have knowledge of the transaction you are trying to
replicate for webMethods Mainframe.

When you build a transaction service using drag-and-drop operations, the conversion tool
takes the following actions:
Gives the transaction a unique name based on the name of the top-level entry in the
source file (if you drag from a transaction-level entry in the source file to a transaction
node in the target).
Subsequent drag-and-drop operations from deeper in the hierarchy of the source file
do not change the transaction name.
Sets the Host Type for the transaction service based on the type of source file and the
Builder Import Conversion settings in the Options window of Developer. See
“Selecting Default Host Types” on page 143. The default Host Types at installation are
as follows:

For this file type... The default Host Type is...


BMS map CICS LU2
MFS file FMT section IMS LU2
MFS file MSG section IMS LU0
COBOL Copybook IMS Connect

For message-based Host Types, such as IMS LU0, if you select the Auto Calculate
option, the conversion tool automatically calculates field and record offsets, and

86 webMethods Mainframe Developer’s Guide Version 6.5


Manual Conversion of Source Files

record sizes. You should select this option before using the conversion tool. See
“Using the Auto Calculate Option for Message-Based Transactions” on page 71.
Populates the input and output fields in the transaction, depending on the source and
destination of the drag-and-drop operation, along with the type of transaction source
file. See “Source-Target Pairs for Conversion” on page 97.
Stores Static data for LU 2 transactions to provide context in the LU2 Screen Target tab.

To define a transaction by dragging to the Tree Target tab

1 In the Navigation panel, double-click the transaction that is to be the target.


If you need to create a transaction service, see “Creating a Transaction Service” on
page 18.
2 Click the Builder tab.
The editor displays a Source Files tab above and a Tree Target tab below.
3 If you do not already have one or more transaction source files open in the conversion
tool, add those files now.
See “Adding Transaction Source Files” on page 84.
4 Drag an item from the Source Files tab to the appropriate node on the Tree Target tab.
The conversion tool populates the transaction service.
5 As appropriate, drag additional fields from the Source Files tab to the Tree Target tab.
6 If you need to change the name of the transaction service, in the Navigation panel,
right-click the transaction, click Rename, and type the new name.
7 If necessary, click the Fields tab and edit the content of the input and output fields.
See “Configuring Input and Output Fields” on page 50.

Dragging to the LU2 Screen Target


You can convert all BMS maps or the FMT sections of MFS files into transaction services
by dragging from the Source Files tab of Developer to the LU2 Screen Target tab. Both of
these tabs are panels in the Builder tab.
When you perform a drag-and-drop operation to the LU2 Screen Target tab, a context image
is displayed, including labels and outlines of fields, as they occur in the original source
file; converted fields are superimposed over the context image.
You can drag an entire transaction, an entire set of input fields or output fields, or an
individual field. Input fields appear as blue fields, output fields appear as red fields, and
Static data appear as labels. Using drag-and-drop operations, you can build a transaction

webMethods Mainframe Developer’s Guide Version 6.5 87


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

service that is a subset of the transaction in the original source file or you can combine
elements from multiple source files into a single transaction service.

Note: If your transaction building effort is more complex than simply dragging a whole
transaction at a time, it is important to have knowledge of the transaction you are trying to
replicate for webMethods Mainframe.

When you build a transaction service using drag-and-drop operations, the conversion tool
takes the following actions:
Gives the transaction a unique name based on the name of the top-level entry in the
source file (if you drag from a transaction-level entry in the source file to a transaction
node in the target).
Subsequent drag-and-drop operations from deeper in the hierarchy of the source file
do not change the transaction name.
Sets the Host Type for the transaction service based on the type of LU 2 source file and
the Builder Import Conversion settings in the Options window of Developer. See
“Selecting Default Host Types” on page 143. The default Host Types at installation are
as follows:

For this file type... The Host Type is...


BMS map CICS LU2
MFS file FMT section IMS LU2

Populates the input and output fields in the transaction, depending on the source and
destination of the drag-and-drop operation. See “Source-Target Pairs for Conversion”
on page 97.
Stores Static data for LU 2 transactions to provide context in the LU2 Screen Target tab.

To define a transaction by dragging to the LU2 Screen Target tab

1 In the Navigation panel, double-click the transaction that is to be the target.


If you need to create a transaction service, see “Creating a Transaction Service” on
page 18.
2 Click the Builder tab.
The editor displays a Source Files tab above and two tabs below, a Tree Target tab and an
LU2 Screen Target tab.
3 Click the LU2 Screen Target tab.

88 webMethods Mainframe Developer’s Guide Version 6.5


Using the Tree Target Tab

4 If you do not already have one or more transaction source files open in the conversion
tool, add those files now.
See “Adding Transaction Source Files” on page 84.
5 Drag an item from the Source Files tab to the LU2 Screen Target tab.
The conversion tool populates the transaction service.
6 As appropriate, drag additional fields from the Source Files tab to the LU2 Screen Target
tab.
7 If you need to change the name of the transaction service, in the Navigation panel,
right-click the transaction, click Rename, and type the new name.
8 If necessary, click the Fields tab and edit the content of the input and output fields.
See “Configuring Input and Output Fields” on page 50.

Using the Tree Target Tab


The Tree Target tab provides a tree diagram of a transaction service. The primary use for
the Tree Target tab is the conversion of source data into the input and output fields of a
transaction service. You drag data to this tab from the Source Files tab as described in
“Dragging to the Tree Target” on page 86. This target is suitable for all connection types.
You can also use the Tree Target tab to perform the following actions on fields:
Delete fields
Sort the order in which fields appear

Change input fields to output fields and vice versa

To perform these actions, you must first select fields:

To select... Do this...

A single field Click the field.


Multiple Press the CONTROL key while you click individual fields. You can
individual fields also CONTROL+click an individual field to clear it.
A range of fields Click the first field and then SHIFT+click the field at the other end
of the range. You can then CONTROL+click an individual field to
clear it.

webMethods Mainframe Developer’s Guide Version 6.5 89


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

To delete fields from the Tree Target tab

1 In the Tree Target tab, select one or more fields to be deleted.

2 Click (Delete Selected Fields).


The fields are deleted from the Tree Target tab and from the transaction service. This
action has no effect on the fields in the source file.

To sort the order of fields in the Tree Target tab

1 In the Tree Target tab, select one or more fields to be sorted.


2 Hold the mouse button on any of the selected fields and drag to the location where
you want them placed.
This action also sorts the position of fields in the Input or Output tab.

To change a field in the Tree Target tab to the opposite type

1 In the Tree Target tab, select one or more fields to be changed to the opposite type of
field.
2 Hold the mouse button on any of the selected fields and drag to the location where
you want them placed.
This action is the same as the one used for sorting the order for fields, but if you check
the Fields tab you will find that fields have moved from the Input tab to the Output tab,
or vice versa.

Note: During source file conversion, a prefix is added to the names of fields. If you
want to rename a field, you must do it manually in the Fields tab.

90 webMethods Mainframe Developer’s Guide Version 6.5


Using the LU2 Screen Target Tab

Using the LU2 Screen Target Tab


The LU2 Screen Target tab depicts the content of the transaction service as it would appear
in a 3270 screen display. The primary use for the LU2 Screen Target tab is the conversion of
source data into the input and output fields of a transaction service. You drag data to this
tab from the Source Files tab as described in “Dragging to the LU2 Screen Target” on
page 87. This target is suitable only for LU 2 connection types.

Note: If characters in the LU2 Screen Target tab appear as open rectangles, those characters
are not available in the character set of the display font. To change to a font that recognizes
those characters, see “Changing Font Information for the LU2 Screen Target Tab” on
page 147.

You can also use the LU2 Screen Target tab to perform the following actions on fields:
Display the positions of input and output fields as they would appear on a 3270
screen
Delete fields

Change input fields to output fields and vice versa

If you have used auto-conversion or a drag-and-drop operation to define a transaction


from source code, the LU2 Screen Target tab displays all elements of the source file in a
context image. In the context image, static fields are displayed as labels, just as they would
appear on a traditional 3270 display, while source fields are displayed as outlines. Fields
that have been converted from the source file are superimposed over the context image. If
you modify the converted fields, the changes appear in the display, but you cannot edit
the context image because it is a representation of the original source code. Once the
context image has been created, it remains stored, even after the source code is removed
from memory. When you use the Clear All icon, described in “The LU2 Screen Target
Toolbar” next in this chapter, the LU2 Screen Target tab displays only the context image.
If you create an LU 2 transaction service manually, rather than by conversion from source
code, there is no context image. If you view that transaction service in the LU2 Screen Target
tab, you will see only the fields you have created.
By default, the LU2 Screen Target tab displays the static fields, or labels. as green text on a
black background, similar to the appearance of a 3270 display. Input fields appear blue
and output fields appear red. If input and output fields overlap, the last-shown field type
appears on top. In the case of automatic source file conversion, output fields are created
last; if fields overlap, the output fields appear on top. You can change the default
appearance of the LU2 Screen Target tab, as described in “Setting Options for the LU2
Screen Target Tab” on page 145.

webMethods Mainframe Developer’s Guide Version 6.5 91


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

The LU2 Screen Target Toolbar


The toolbar of the LU2 Screen Target tab contains several icons you can use to control the
appearance and content of the tab.

This icon Does this...


Delete Selected Fields. Deletes selected input or output fields from the LU2
Screen Target tab and from the transaction service. This change is also
reflected in the Tree Target and Fields tabs.
Show Input Fields. Causes input fields to be displayed. If overlapping output
fields were previously displayed, the input fields appear on top.
Show Output Fields. Causes output fields to be displayed. If overlapping
input fields were previously displayed, the output fields appear on top.
Select Input Fields. Causes all input fields to be selected. You can also click an
individual input field to select it, or click a selected field to clear the
selection.
Select Output Fields. Causes all output fields to be selected. You can also click
an individual output field to select it, or click a selected field to clear the
selection.
Make Input. Causes selected fields to become input fields. This change is also
reflected in the Tree Target and Fields tabs.
Make Output. Causes selected fields to become output fields. This change is
also reflected in the Tree Target and Fields tabs.
Clear All. Clears the LU2 Screen Target tab so that all selections are cleared
and no input or output fields are displayed. Only static fields and field
outlines, the context image of the original source code, are displayed.

Note: Using either the Select Input Fields or Select Output Fields icon does not cause the
selection of fields of the opposite type to be cleared. To clear selected fields, use the Clear
All icon or click individual selected fields.

92 webMethods Mainframe Developer’s Guide Version 6.5


Using the LU2 Screen Target Tab

Performing Actions in the LU2 Screen Target Tab

To delete input or output fields from the LU2 Screen Target tab

1 In the LU2 Screen Target tab, select one or more fields to be deleted:

To select... Do this...

Individual fields Click each field to be deleted. If input and output fields are
overlapped, the field on top is selected.
All or most fields Click (Select Input Fields) or (Select Output Fields) and
then click any individual field for which you want to clear the
selection.

2 Click (Delete Selected Files).


The fields are deleted from the LU2 Screen Target tab and from the transaction service.
This action has no effect on the fields in the source file.

To change an input or output field in the LU2 Screen Target tab to the opposite type

1 In the LU2 Screen Target tab, select one or more fields to be changed:

To select... Do this...

Individual fields Click each field to be changed. If input and output fields are
overlapped, the field on top is selected.
All or most fields Click (Select Input Fields) or (Select Output Fields) and
then click any individual field for which you want to clear the
selection.

2 Use one of these icons to change the fields from one type to another:

Use this icon... To do this...

(Make Input) Cause selected fields to become input fields.

(Make Output) Cause selected fields to become output fields.

This action affects fields in the Fields and Tree Target tabs.

Note: During source file conversion, a prefix is added to the names of fields. If you
want to rename a field, you must do it manually in the Fields tab.

webMethods Mainframe Developer’s Guide Version 6.5 93


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

Kinds of Source Files


Transaction source files come in three types: basic mapping system (BMS) maps, message
format service (MFS) files, and COBOL Copybooks. The type of source file depends on the
Transaction Processing Monitor (CICS or IMS) and the type of connection to the
mainframe.
The following table shows how source files might be used:

Use this source file... For these connections...


BMS map CICS LU2
TN3270E
MFS file: Format (FMT) Section IMS LU2
TN3270E
MFS file: Message (MSG) Section IMS LU0
IMS Connect
COBOL Copybook CICS LU0
CICS DPL
CICS Publish
CICS Sockets
IMS LU0
IMS Connect
JES Publish

For information about the various connection types, see “Host Types” on page 43.

The Structure of BMS Maps


Basic Mapping System (BMS) maps contain transactions intended for LU 2 connections to
CICS. When you look at the content of a BMS file in the Source Files tab of Developer, you
can see its hierarchical structure. The highest level is the map set; a file contains one or
more map sets. The second level is a map, which roughly corresponds to a transaction; a
map set contains one or more maps. Within a map, there are three sections.

This section... Contains...

Unprotected Fields the user types as input to the 3270 display terminal.
Unprotected fields can also have output written to them.
Protected Fields reserved for output from the mainframe computer to the
3270 display terminal.
Static Labels that provide context for the terminal user. These labels
appear in the LU2 Screen Target tab but are not used in transaction
services created for webMethods Mainframe.

94 webMethods Mainframe Developer’s Guide Version 6.5


Kinds of Source Files

In BMS files, an OCCURS clause indicates the number of times a field is repeated. When
building a transaction service from a BMS map, the conversion tool interprets a field
accompanied by an OCCURS clause to be a record.
To be recognized by Developer, BMS files must have a file extension of .bms.

Note: The LU2 Screen Target and Fields tabs display the position of all fields as the row and
column of the first character of data. In BMS maps, however, the POS keyword that
indicates the beginning of a field actually points to the attribute byte that precedes the
data. If you compare the Position column in the Source Files tab to the corresponding field
in the Fields tab, the Col value of the mapped field is one greater. For example, assume a
BMS file indicates a field at POS=(1,1). In the Source Files tab, the Position column shows
the position of the attribute byte as (1,1); in the Fields tab the value for Row is 1 and the
value for Col is 2 because (1,2) is the correct coordinate of the actual data.

The Structure of MFS Files


Message format service (MFS) files contain transactions intended for LU 0 and LU 2
connections to IMS. MFS files have two parts, a format (FMT) section and a message
(MSG) section.
The FMT section contains transactions intended for LU 2 connections to IMS. Like BMS
maps, the FMT section of an MFS file contains one or more transactions, each of which has
Unprotected, Protected, and Static sections.
The MSG section contains transactions intended for LU 0 connections to IMS. This section
is further divided into MID sections, which contain input fields, and MOD sections, which
contain output fields. A MFS file can contain many MIDs and MODs, which do not
necessarily have a one-to-one correlation with each other. It is also possible to have MFS
files with only MIDs or only MODs.

Note: In working with the MSG section of an MFS file, it is important to have knowledge of
the transaction you are trying to replicate for webMethods Mainframe. The relationships
of MID and MOD sections do not necessarily contain the straightforward mapping found
in the FMT section.

webMethods Mainframe Developer’s Guide Version 6.5 95


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

This section... Contains...

Unprotected Fields the user types as input to the 3270 display terminal.
Unprotected fields can also have output written to them.
Protected Fields reserved for output from the mainframe computer to the
3270 display terminal.
Static Labels that provide context for the terminal user. These labels
appear in the LU2 Screen Target tab but are not used in transaction
services created for webMethods Mainframe.
MIDs Input fields for messages sent from a client application to the
mainframe computer.
MODs Output fields for messages sent from the mainframe computer to a
client application.

In both the FMT and MSG sections of MFS files, the fields between a DO statement and an
ENDDO statement are repeated the number of times specified by the DO statement.
When building a transaction service from an MFS file, the conversion tool interprets these
fields to be a record.
To be recognized by Developer, MFS files must have a file extension of .mfs.

The Structure of COBOL Copybooks


COBOL Copybooks contain transactions for a variety of message-oriented connections
(see “Kinds of Source Files” on page 94) to both CICS and IMS. Like BMS maps and MFS
files, a COBOL Copybook has a hierarchical structure, but it does not have the obvious
input-output relationship seen in those other formats.
The top level of the COBOL hierarchy is the 01 level. The code nested beneath a 01 entry is
roughly equivalent to a transaction. This relationship is shown in the Source Files tab,
where the top level of each transaction corresponds to a 01 entry in the source file.

Note: In working with a COBOL Copybook, it is important to have knowledge of the


transaction you are trying to replicate for webMethods Mainframe.

In COBOL Copybooks, an OCCURS clause indicates the number of times a field is


repeated. When building a transaction service from a COBOL file, the conversion tool
interprets a field accompanied by an OCCURS clause to be a record.
To be recognized by Developer, COBOL Copybooks must have a file extension of .pic,
.cbl, or .cob.

96 webMethods Mainframe Developer’s Guide Version 6.5


Source-Target Pairs for Conversion

Source-Target Pairs for Conversion


When you drag from the Source Files tab to the Tree Target tab, the way the conversion tool
adds fields to the transaction service is determined by the type of transaction source file,
the hierarchical level of the item you drag, and the node in the drop target.
The types of transaction source file and their various structures are described in “Kinds of
Source Files” on page 94. There are five types of node in the drop target.

This target... Allows you to...

Transaction Build an entire transaction service in one operation.


Input node Populate all input fields at once.
Output node Populate all output fields at once.
Input field* Insert one or more input fields at a specific place in the definition.
Output field* Insert one or more output fields at a specific place in the definition.

* For LU 2 transactions, the order in which you place input and output fields in the tree
does not affect the offset of fields or their appearance in the LU2 Screen Target tab.

webMethods Mainframe Developer’s Guide Version 6.5 97


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

Dragging BMS Source


The following matrix shows the behavior of the conversion tool when you drag an item
from a BMS map in the Source Files tab to a node in the Tree Target tab. An “add” appends
fields to the end of the node while an “insert” inserts fields after the target field.

Drag Source Drop Target

Tran Transaction Input Output Input Field/ Output Field/


BMS Node Node Node Record Record
Map Adds input
and output
fields and
records*
Unprotected Adds input Adds Inserts Inserts
Section fields and output input fields output
records fields and and records fields and
records records
Protected Adds Inserts
Section output output
fields and fields and
records records
Unprotected Adds input Adds Inserts Inserts
Field/BMS field or output field input field output field
OCCURS** record or record or record or record
Protected Adds Inserts
Field/BMS output field output field
OCCURS** or record or record

* Dragging from this level causes the transaction name to be changed.


** The OCCURS statement is the BMS version of a record.

98 webMethods Mainframe Developer’s Guide Version 6.5


Source-Target Pairs for Conversion

Dragging MFS FMT Source


The following matrix shows the behavior of the conversion tool when you drag an item
from the FMT section of an MFS file in the Source Files tab to a node in the Tree Target tab.
An “add” appends fields to the end of the node while an “insert” inserts fields after the
target field.

Drag Source Drop Target

Tran Transaction Input Output Input Field/ Output Field/


MFS Node Node Node Record Record
FMT Adds input
and output
fields and
records*
Unprotected Adds input Adds Inserts Inserts
Section fields and output input fields output
records fields and and records fields and
records records
Protected Adds Inserts
Section output output
fields and fields and
records records
Unprotected Adds input Adds Inserts Inserts
Field/ field or output field input field output field
FMT_DO** record or record or record or record
Protected Adds Inserts
Field/ output field output field
FMT_DO** or record or record

* Dragging from this level causes the transaction name to be changed.


** The DO statement represents a record.

webMethods Mainframe Developer’s Guide Version 6.5 99


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

Dragging MFS MSG Source


The following matrix shows the behavior of the conversion tool when you drag an item
from the MSG section of an MFS file in the Source Files tab to a node in the Tree Target tab.
An “add” appends fields to the end of the node while an “insert” inserts fields after the
target field.

Drag Source Drop Target

Tran Transaction Input Output Input Field/ Output Field/


MSG Node Node Node Record Record
MSG MID Adds input Adds input Inserts
fields and fields and input fields
records* records and records
MSG MOD Adds Adds Inserts
output output output
fields and fields and fields and
records* records records
MSG MID Adds input Inserts
Field/ field or input field
MSG_DO** record or record
MSG MOD Adds Inserts
Field/ output field output field
MSG_DO** or record or record

* Dragging from this level causes the transaction name to be changed. If you drag a MID
and a MOD to the same transaction, the last item you drag determines the name.
** The DO statement represents a record.

100 webMethods Mainframe Developer’s Guide Version 6.5


Source-Target Pairs for Conversion

Dragging COBOL Source


The following matrix shows the behavior of the conversion tool when you drag an item
from a COBOL Copybook in the Source Files tab to a node in the Tree Target tab. An “add”
appends fields to the end of the node while an “insert” inserts fields after the target field.

Drag Source Drop Target

Tran Transaction Input Output Input Field/ Output Field/


COBOL Node Node Node Record Record
01 Level Adds input Adds input Adds Inserts Inserts
and output fields and output input fields output
fields and records fields and and records fields and
records* records records*
Subgroup Adds input Adds Inserts Inserts
fields and output input fields output
records fields and and records fields and
records records
Individual Adds input Adds Inserts Inserts
Field/ field or output field input field output field
OCCURS** record or record or record or record

* Dragging from this level causes the transaction name to be changed.


** The OCCURS statement represents a record.

webMethods Mainframe Developer’s Guide Version 6.5 101


C H A P T E R 4 C o n v e r t i n g S o u r c e C o d e i n t o Tr a n s a c t i o n S e r v i c e s

102 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 5
Capturing a Live 3270 Terminal Session

What is the Live 3270 Feature? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Creating a Live 3270 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Using Automatic Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Using Manual Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110

The Live 3270 Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113

Modifying Transactions During Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119

Logical Units of Work and Screen Settling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

The Rules Used for Field Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

webMethods Mainframe Developer’s Guide Version 6.5 103


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

What is the Live 3270 Feature?


Many applications on mainframe computers are based on human interaction with an IBM
3270 terminal device. A typical 3270 terminal might have a text-based display with
twenty-four rows, each eighty characters wide. An individual enters data as a set of input
fields on the screen. The mainframe computer responds by displaying a set of output
fields. The combination of request and response is a transaction. A terminal session might
have a series of transactions in which the user makes input, receives output, and navigates
to a new screen.
Using the Live 3270 tab of webMethods Mainframe, you can capture a transaction of a live
terminal session and create a transaction service from it. Once you have created the
transaction service, you can modify it in the LU2 Screen Target tab or Fields tab, if needed.
After collecting the individual transactions in a terminal session, you can use flow to
orchestrate a multi-screen dialog between a client application (or a human) and the
mainframe computer.

A 3270 Screen Versus a 3270 Transaction


When capturing transactions from a 3270 data stream, it is useful to keep in mind that
both input and output appear together on the terminal screen but they may not be part of
the same transaction. The following figure shows the distinction between screens and
transactions.

3270 Screen Versus a 3270 Transaction

In this stylized example, the left screen has output on its left side. The terminal user types
input on the right side of that screen and presses ENTER to send a request. The
mainframe sends a response depicted by the right screen. The output of the response is
displayed on the left side of that screen. The box between the two screens represents the
transaction: input from the first screen and output to the second screen.

104 webMethods Mainframe Developer’s Guide Version 6.5


What is the Live 3270 Feature?

Preparations for Live 3270


The Live 3270 feature uses a predefined terminal session configured through a host
connection pool definition. Before you can capture transactions from a terminal session,
you need to be prepared:

You need this... You can find more information here...

A 3270 data-stream connection to On SNA networks, the connection type is LU 2.


an application region on the On TCP/IP networks, the connection type is
mainframe. Compatible Host TN3270E. For more information on connection
Types are CICS LU2, IMS LU2, types, see the webMethods Mainframe
and TN3270E. Administrator’s Guide.
A host connection pool with 3270 To create and configure host connection pools, see
data-stream Host Type. Chapter 2, “Working with Host Connection
Pools”.
For information on specific Host Types, see “Host
Types” on page 43.
An understanding of the terminal Interview individuals who normally perform the
session you intend to capture. terminal session. Find out what keystrokes they
use to start a session, what input is required for
each screen, and how to navigate from one screen
to the next.

Procedure for Capturing a Live 3270 Session


To capture the transactions from a live 3270 session, the basic workflow is as follows:
1 Create a host connection pool using a Host Type of CICS LU2, IMS LU2, or TN3270E,
and ensure that you can enable a session with the mainframe computer.
See “Creating a Host Connection Pool” on page 24 and “Enabling or Disabling Host
Connection Pools” on page 42.
2 Create a live 3270 session, as described in “Creating a Live 3270 Session” on page 107.
3 If needed, set the mode option for transaction capture, as described in “Changing
Capture Mode for the Live 3270 Tab” on page 155.

webMethods Mainframe Developer’s Guide Version 6.5 105


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

4 Use Auto or Manual mode to go through the terminal session for which you want to
capture transactions:

Use this mode... To do this...

Auto mode Capture transactions in a 3270 terminal session continuously.


The capture tool manages settlement of screen-based data, in
which it may take multiple bracketed logical units of work to
display a complete screen (“Logical Units of Work and Screen
Settling” on page 122). See “Using Automatic Capture” on
page 108.
Manual mode Capture each transaction in a 3270 terminal session
(For experts individually, one bracketed logical unit of work at a time
only) (“Logical Units of Work and Screen Settling” on page 122),
editing inputs and outputs in the process. See “Using Manual
Capture” on page 110.

5 If necessary, use the other editor tabs to modify individual transaction services
created in the Live 3270 tab.

Use this tab... Described here...

Fields tab “Creating and Modifying Fields” on page 49


LU2 Screen Target tab “Using the LU2 Screen Target Tab” on page 91

6 Use one or more flow services to create an online business transaction between a
client application and the mainframe computer.

Note: It is beyond the scope of this guide to describe the webMethods flow language or
how to work with services. For more information, see the webMethods Developer User’s
Guide.

Tip! The Live 3270 feature automatically locks the host connection pool session. When you
test your captured transactions, make sure you have only one session enabled so
webMethods Mainframe does not attempt to use multiple sessions. After you have
completed your application integration, you can scale up to multiple sessions by using
session locking for each business transaction.

106 webMethods Mainframe Developer’s Guide Version 6.5


Creating a Live 3270 Session

How Data is Formatted


When webMethods Mainframe sends a request to the mainframe computer, it makes
certain assumptions about how the data is formatted. The Live 3270 feature uses the
following assumptions when capturing terminal sessions.

Field Fill Values


By default, webMethods Mainframe uses null characters to fill unused portions of data
fields. If the mainframe application requires the use of spaces for fill values, you can
specify that they be used during live 3270 capture. See “Changing Field Fill Values Sent to
the Mainframe” on page 156.

Code Pages
A code page maps character codes between Unicode and a localized character set. During
live 3270 capture, webMethods Mainframe chooses the code page to be used according to
this hierarchy:

This code page... Is described here...

First: The secondary code page specified “Code Pages in Host Connection Pools”
for the host connection pool. on page 30
Second: The primary code page for the “Code Pages in Host Connection Pools”
host connection pool. on page 30
Third: The code page preference specified “Code Page Options” on page 149
transaction services created in Developer.

Creating a Live 3270 Session


You can create a live 3270 session using the following steps.

Note: Before you create a live 3270 session, you need to have a host connection pool with
an LU 2 or TN3270E Host Type.

To create a new live 3270 session

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Live 3270 option and click Next.
3 In the Name field of the New Mainframe Live 3270 Name dialog box, type a unique name
for the live 3270 session.

webMethods Mainframe Developer’s Guide Version 6.5 107


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

4 In the navigation tree of the dialog box, select the folder in which the live 3270 session
is to be stored.
5 Click Next.
6 In the HostPool Selection dialog box, select the host connection pool to be used for the
session.
Only host connection pools with LU 2 or TN3270E Host Types are available for
selection.
7 Click Finish.

Using Automatic Capture


In Auto mode, you can capture a series of transactions by going through the workflow of
a terminal session. Using this mode, you can quickly capture an entire terminal session.
Having completed the capture process, you can use either of two tabs to modify the
transactions if needed.

Use this tab... Described here...

Fields tab “Creating and Modifying Fields” on page 49


LU2 Screen Target tab “Using the LU2 Screen Target Tab” on page 91

Use Auto mode unless you find that you need more control over the process of capturing
transactions. In such cases, use Manual mode, described in “Using Manual Capture” on
page 110. If needed, you can change back and forth between Manual and Auto mode in
the middle of a terminal session (“Changing Capture Mode for the Live 3270 Tab” on
page 155).

To capture transactions of a terminal session using Auto mode

1 If you have not already done so, set the capture mode to Auto.
To change the capture mode option, see “Changing Capture Mode for the Live 3270
Tab” on page 155.
2 In the Navigation panel, double-click the live 3270 session in which you will work.
If you need to create a live 3270 session, see “Creating a Live 3270 Session” on
page 107.
3 Click the Live 3270 tab to bring it to the front.

4 In the toolbar, click (Change HostPool).

108 webMethods Mainframe Developer’s Guide Version 6.5


Using Automatic Capture

5 In the HostPool Selection dialog box, select a host connection pool and click OK.
If there are no host connection pools in the list, you do not have one with a Host Type
compatible with 3270 data streams. See “Host Types” on page 43.
If the 3270 session with the mainframe computer is available, you will see the login
screen.

Tip! If the login screen is not visible in the Live 3270 tab, you may need to use
webMethods Mainframe Administrator to stop and restart the session on the host
connection pool associated with the live 3270 session. You can open a limited version
of webMethods Mainframe Administrator, as described in “Host Connection Pool
Administration” on page 118.

6 In the Live 3270 tab perform the actions needed to get to the point where you want to
begin capturing transactions.
7 In the Capture toolbar below the simulated 3270 display, click Start.
8 In the New Transaction dialog box, either allow the transaction name displayed in the
Name field or type a new name.
The name in this field is the name for the first transaction service to be created. For
subsequent transactions, the capture tool uses this name as a prefix and adds a unique
numerical value. You can set the default prefix, as described in “Prefix for Transaction
Names” on page 157.

Note: When creating unique names, the capture tool uses an underscore (_) followed
by four numerical digits, such as _0001. If you assign a prefix that ends in this form,
the capture tool ignores the last five characters of the prefix.

9 In the navigation tree of the dialog box, select the folder in which the transaction
service is to be stored.
10 Click OK.
11 Use the simulated 3270 display in the Live 3270 tab to perform the 3270 terminal
session.
After the mainframe application returns a response to each query, the capture tool
populates a transaction service.

Note: A mainframe application can send multiple screen refreshes during a


transaction. Combined with slow response times from the mainframe computer,
multiple refreshes can create empty transaction services. You can increase the screen
delay time in the Live 3270 feature, as described in “Setting Additional 3270 Screen
Delay” on page 153.

webMethods Mainframe Developer’s Guide Version 6.5 109


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

12 If appropriate, use one or more of the following optional capabilities:

This optional capability... Is described here...

Manually name fields “Naming Transaction Fields” on page 120.


Set static values “Setting Static Values” on page 121.
Exclude input fields “Selecting and Clearing Fields” on page 120.
Change to Manual mode “Changing Capture Mode for the Live 3270 Tab” on
page 155.

13 When you have completed the session, on the Capture toolbar below the simulated
3270 display, click Stop.
Be sure you have captured output for the last transaction. When stopped, the capture
tool discards everything since output was last stored in a transaction service.

Using Manual Capture

Note: Manual capture is recommend only for expert users.

In Manual mode, you can capture a series of transactions, stepping through each
bracketed logical unit of work (“Logical Units of Work and Screen Settling” on page 122),
going through the workflow of a terminal session. Having completed the capture process,
you can use either of these tabs to modify the configured transactions if needed.

Use this tab... Described here...

Fields tab “Creating and Modifying Fields” on page 49


LU2 Screen Target tab “Using the LU2 Screen Target Tab” on page 91

Use Manual mode in cases where you need more control over the capture of transactions
than is provided by Auto mode. If needed, you can change back and forth between
Manual and Auto mode in the middle of a terminal session (“Changing Capture Mode for
the Live 3270 Tab” on page 155).

110 webMethods Mainframe Developer’s Guide Version 6.5


Using Manual Capture

To capture transactions of a terminal session using Manual mode

1 If you have not already done so, set the capture mode to Manual.
To change the capture mode option, see “Changing Capture Mode for the Live 3270
Tab” on page 155.
2 In the Navigation panel, double-click the live 3270 session in which you will work.
If you need to create a live 3270 session, see “Creating a Live 3270 Session” on
page 107.
3 Click the Live 3270 tab to bring it to the front.

4 In the toolbar, click (Change HostPool).


5 In the HostPool Selection dialog box, select a host connection pool and click OK.
If there are no host connection pools in the list, you do not have one with a Host Type
compatible with 3270 data streams. See “Host Types” on page 43.
If the 3270 session with the mainframe computer is available, you will see the login
screen.

Tip! If the login screen is not visible in the Live 3270 tab, you may need to use
webMethods Mainframe Administrator to stop and restart the session on the host
connection pool associated with the live 3270 session. You can open a limited version
of webMethods Mainframe Administrator, as described in “Host Connection Pool
Administration” on page 118.

6 In the Live 3270 tab perform the actions needed to get to the point where you want to
begin capturing transactions.
7 In the Capture toolbar below the simulated 3270 display, click Start.
8 In the New Transaction dialog box, either allow the transaction name displayed in the
Name field or type a new name.
Unless you type a unique name, the capture tool uses default prefix to name the first
transaction service; for subsequent transaction services, the tool adds a unique
numerical value to the existing prefix. You can set the default prefix, as described in
“Prefix for Transaction Names” on page 157.

Note: When creating unique names, the capture tool uses an underscore (_) followed
by four numerical digits, such as _0001. If you assign a prefix that ends in this form,
the capture tool ignores the last five characters of the prefix.

9 In the navigation tree of the dialog box, select the folder in which the transaction
service is to be stored.

webMethods Mainframe Developer’s Guide Version 6.5 111


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

10 To control how subsequent transaction names are assigned, use the Show dialog only on
start option:

Do this... To do this...

Select the option Cause Live 3270 to name each transaction after the first one
automatically.
Clear the option Cause the Live 3270 feature to prompt for a transaction name
each time you start a new transaction.

You can also control this feature in the Options window, as described in “Changing
Capture Mode for the Live 3270 Tab” on page 155.
11 Click OK.
12 Use the simulated 3270 display in the Live 3270 tab to type input for a transaction.
13 If appropriate, use one or more of the following optional capabilities:

This optional capability... Is described here...

Manually name fields “Naming Transaction Fields” on page 120.


Set static values “Setting Static Values” on page 121.
Exclude input fields “Selecting and Clearing Fields” on page 120.
Change to Auto mode “Changing Capture Mode for the Live 3270 Tab” on
page 155.

14 Press ENTER or send one of the 3270 AID keys (“3270 AID Keys” on page 116) to the
mainframe
The Refresh and Next buttons on the Capture toolbar (“Capture Toolbar” on page 117)
become active.
15 If the final output for the transaction is not yet displayed, on the Capture toolbar
below the simulated 3270 display, click Refresh until the final output appears.
16 If you want to have output fields included in the transaction, double-click each output
field to select it.

To select all output fields, in the Live 3270 toolbar click (Select Output Fields).
17 On the Capture toolbar, click Next.
After you have clicked Next, the capture tool displays the New Transaction dialog box.

112 webMethods Mainframe Developer’s Guide Version 6.5


The Live 3270 Tab

18 When you have completed the session, on the Capture toolbar below the simulated
3270 display, click Stop.
Be sure you have captured output for the last transaction. When stopped, the capture
tool discards everything since output was last stored in a transaction service.

The Live 3270 Tab


Using the Live 3270 tab of webMethods Mainframe, you can capture the transactions of a
live terminal session and create transaction services from them.

Note: If characters in the Live 3270 tab appear as open rectangles, those characters are not
available in the character set of the display font. To change to a font that recognizes those
characters, see “Changing Font Information for the Live 3270 Tab” on page 153.

The Live 3270 tab allows you to work as though you were sitting at a 3270 display terminal.
There are several features to help you do so:

This feature... Is described here...

Toolbar “Live 3270 Toolbar” next in this chapter


Status bar “Status Bar” on page 115
3270 AID Keys “3270 AID Keys” on page 116
Button Bar “Capture Toolbar” on page 117
Moving the cursor “Moving the Cursor in the 3270 Screen” on page 118

Live 3270 Toolbar


The toolbar of the Live 3270 tab appears above the simulated 3270 display. This toolbar
contains several icons you can use to control the terminal session. Some of the actions you
can perform from the toolbar are also available through webMethods Mainframe
Administrator, as described in the webMethods Mainframe Administrator’s Guide.

This icon Does this...


Change HostPool. Connects to a host connection pool and locks the session.
Select a name and click OK. Only pools suitable for 3270 appear in the list.
Refresh Screen. Causes the mainframe computer to redraw the 3270 screen.

Lock Session. Locks a session between webMethods Mainframe and the


mainframe computer so that only this 3270 terminal can use it.

webMethods Mainframe Developer’s Guide Version 6.5 113


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

This icon Does this...


Unlock Session. Unlocks the current session so any client application can use
it.
Start Session. Starts a session between webMethods Mainframe and the
mainframe computer. You can also start the session from webMethods
Mainframe Administrator. See “Host Connection Pool Administration” on
page 118.
Stop Session. Stops a session between webMethods Mainframe and the
mainframe computer. You can also stop the session from webMethods
Mainframe Administrator. See “Host Connection Pool Administration” on
page 118.
Start Session Trace. Starts communication layer tracing for the session. You
can also start session tracing from webMethods Mainframe Administrator.
See “Host Connection Pool Administration” on page 118. For information
on communications layer traces, see the webMethods Mainframe
Administrator’s Guide.
Stop Session Trace. Stops communication layer tracing for the session. You
can also stop session tracing from webMethods Mainframe Administrator.
See “Host Connection Pool Administration” on page 118. For information
on communications layer traces, see the webMethods Mainframe
Administrator’s Guide.
Select Input Fields. Causes all input fields to be selected. You can also
double-click an individual input field to select it, or double-click a selected
field to clear the selection.
Select Output Fields. Causes all output fields to be selected. You can also
double-click an individual output field to select it, or double-click a
selected field to clear the selection.
Clear All. Clears all selections in the Live 3270 tab.

114 webMethods Mainframe Developer’s Guide Version 6.5


The Live 3270 Tab

Changing Host Connection Pools


In the Live 3270 tab, you can connect to a mainframe computer using a session in a host
connection pool that is compatible with a 3270 data stream.

To connect to a host connection pool in the Live 3270 tab

1 In the toolbar of the Live 3270 tab, click Change HostPool ( ).


2 In the HostPool Selection dialog box, select a host connection pool and click OK.
If there are no host connection pools in the list, you do not have one with a Host Type
compatible with 3270 data streams. See “Host Types” on page 43.
If the 3270 session with the mainframe computer is available, you will see the login
screen in the Live 3270 tab.

Tip! If the login screen is not visible in the Live 3270 tab, you may need to use
webMethods Mainframe Administrator to stop and restart the session on the host
connection pool associated with the live 3270 session. You can open a limited version
of webMethods Mainframe Administrator, as described in “Host Connection Pool
Administration” on page 118.

Status Bar
The status bar of the Live 3270 tab appears just below the simulated 3270 display. This
status bar provides information about the session between webMethods Mainframe and
the mainframe computer. In addition, the status bar contains the Open HostPool Admin Page
button (see “Host Connection Pool Administration” on page 118), which opens a limited
version of webMethods Mainframe Administrator. The status bar of the Live 3270 tab
provides the following status items:

This status item... Means this...


Wait clock Indicator that webMethods Mainframe is waiting for a response
from the mainframe computer. Only visible while waiting. To
change the wait time, see “Setting Additional 3270 Screen Delay”
on page 153.
HostPool Pathname of the host connection pool that contains the current
session.
ID Session ID of the current session, assigned by webMethods
Mainframe.

webMethods Mainframe Developer’s Guide Version 6.5 115


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

This status item... Means this...


Status Status of the current session. Status values are:
Available The session is active and is available for use.
Locked The session is locked for use by this 3270 terminal.
Inactive The session is inactive or is otherwise unavailable for
use by this 3270 terminal. For more detail, open the
limited version of webMethods Mainframe
Administrator described in “Host Connection Pool
Administration” on page 118.
Tracing Status of communication layer tracing for the session. You can
change this status using buttons in the Live 3270 toolbar (see “Live
3270 Toolbar” on page 113). Values are:
No Session tracing is turned off.
Yes Session tracing is turned on.
Mode Capture mode currently used in the Live 3270 tab. To change the
capture mode, see “Setting Capture Options for a Live 3270
Session” on page 154. Capture modes are:
Auto See “Using Automatic Capture” on page 108.
Manual See “Using Manual Capture” on page 110.
LUWS Number of logical units of work sent by the mainframe computer
during the current transaction. See “Logical Units of Work and
Screen Settling” on page 122.

3270 AID Keys


A 3270 terminal has a set of Attention Identification (AID) keys available for screen
navigation and other uses. The Live 3270 tab contains an AID key bar below the simulated
3270 display. Some of the icons on the AID key bar may also have equivalent keys on your
computer’s keyboard.

Icon Keyboard Equivalent Purpose


ENTER Sends a transaction to the mainframe computer.

ESCAPE Sends a clear sequence to the mainframe


computer that typically causes the terminal to
clear its buffers and the screen display.

116 webMethods Mainframe Developer’s Guide Version 6.5


The Live 3270 Tab

Icon Keyboard Equivalent Purpose

to F1 to F12 Depends on the host application. For numerical


values, see “Aid Identification Values” on
page 162.

to SHIFT+F1 to Depends on the host application. For numerical


SHIFT+F12 values, see “Aid Identification Values” on
page 162.

to No equivalent Depends on the host application. For numerical


values, see “Aid Identification Values” on
page 162.

Capture Toolbar
The button bar at the bottom of the Live 3270 tab allows you to control the capture of
transactions from the terminal session.

This button... Does this...


Start Causes the tool to begin capturing transactions. Click Start before you
send the first transaction you want to capture (by clicking )
Refresh (Manual mode only) Causes webMethods Mainframe to process the
next Logical Unit of Work (LUW). Use this command when the
mainframe computer issues interim transactions before returning the
final output. For more on LUWs, see “Logical Units of Work and
Screen Settling” on page 122.
Next (Manual mode only) Causes the tool to begin capture of the next
transaction.
Stop Causes the tool to stop capturing transactions, including the current
capture operation. Make sure you have all needed transactions before
issuing a Stop command.
Help Opens a help screen for this tab.

webMethods Mainframe Developer’s Guide Version 6.5 117


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

Moving the Cursor in the 3270 Screen


You can move the cursor around the screen in the Live 3270 tab as you would with a 3270
display terminal.

This key... Does this...


TAB Moves the cursor to the next field on the screen.
SHIFT+TAB Moves the cursor to the previous field on the screen.
Cursor Moves the cursor in the direction of the arrow on the key without
regard to protected or unprotected fields.

Host Connection Pool Administration


On the right edge of the Status bar in the Live 3270 tab is the Open HostPool Admin Page
button. Click this button to open a limited version of webMethods Mainframe
Administrator, containing screens from which you can monitor and control host
connection pools and sessions.

To open a limited version of webMethods Mainframe Administrator

1 In the status bar of the Live 3270 tab, click (Open HostPool Admin Page).
If Integration Server is running, you are prompted for a user name and password.
2 Log on with a user name that has administrator privileges.
For information on maintaining administrator privileges, see the webMethods
Integration Server Administrator’s Guide.

118 webMethods Mainframe Developer’s Guide Version 6.5


Modifying Transactions During Capture

Three screens are available as part of the limited version of webMethods Mainframe
Administrator. For more information on these screens, see the webMethods Mainframe
Administrator’s Guide.

This screen... Does this...


HostPool Information Provides information about all host connection pools
configured on Integration Server. If the name is a hypertext
link, you can click it to display the HostPool Detail screen.
HostPool Detail Provides information about all sessions for the current host
connection pool. You can start and stop individual sessions, as
well as enable or disable the tracing of individual sessions. You
can perform these same actions from the Live 3270 toolbar, as
described in “Live 3270 Toolbar” on page 113. Click the
session name to display the Session Detail screen.
Session Detail Provides information about a specific session. You can start
and stop individual sessions, as well as enable or disable the
tracing of individual sessions. You can perform these same
actions from the Live 3270 toolbar, as described in “Live 3270
Toolbar” on page 113.

Modifying Transactions During Capture


There are several actions you can take during transaction capture to modify the resulting
transaction services:

This action... Is described here...

Manually name fields “Naming Transaction Fields” next in this


chapter
Choose which fields go into a “Selecting and Clearing Fields” on page 120
transaction
Manually set static values for input “Setting Static Values” on page 121
fields
View field properties “Viewing Field Properties” on page 122

webMethods Mainframe Developer’s Guide Version 6.5 119


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

Naming Transaction Fields


When you capture transactions from a live 3270 session, the capture tool automatically
names each field in a transaction using the prefixes you have set (“Setting Input and
Output Field Names” on page 158) and unique numbers. The assumptions used in
naming fields are described in “The Rules Used for Field Naming” on page 124. While
capturing transactions, you can change the name of a transaction field as it will appear in
the Fields tab.

To change a field name in a 3270 transaction

1 In the simulated 3270 display of the Live 3270 tab, move the mouse over the field for
which you want to change the name.
After a short time, the assigned name is displayed.
2 Right-click the field.
3 In the Name field of the Input or Output Properties dialog box, type the new field name.
4 Click OK.

Selecting and Clearing Fields


To be captured in a transaction service, input and output fields must be selected. By
default, fields are automatically selected according to these rules:

In this mode... These fields are selected...

Auto All input and output fields


Manual All input Fields

Selecting Fields
You can select fields in the Live 3270 tab using these actions:

To select these fields... Do this...

All input fields On the Live 3270 toolbar, click Select Input Fields( ).
All output fields On the Live 3270 toolbar, click Select Output Fields( ).
A single input or Move the cursor over the field and double-click, or type
output field ALT+SPACE.

120 webMethods Mainframe Developer’s Guide Version 6.5


Modifying Transactions During Capture

Clearing Fields
If you clear a field, the capture tool does not include it in a transaction. You can clear fields
in the Live 3270 tab using these actions:

To clear these fields... Do this...

All fields On the Live 3270 toolbar, click Clear All( ).


A single input or Move the cursor over the field and double-click, or type
output field ALT+SPACE.

Setting Static Values


You can set static values for input fields in the Live 3270 tab:

To set a static value in a 3270 transaction field

1 In the simulated 3270 display of the Live 3270 tab, right-click the input field in which
you want to set a static value.
2 In the Static Value field of the Input Properties dialog box, type the static value want to
set for the field.
3 Select the define as static value option.

Note: If you do not select this option, the value is sent as input to the mainframe
computer but is not saved in the captured transaction service.

4 Click OK.

webMethods Mainframe Developer’s Guide Version 6.5 121


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

Viewing Field Properties


You can view the properties for a field in the Live 3270 tab, and modify some of them.

To view field properties in a 3270 transaction

1 In the simulated 3270 display of the Live 3270 tab, right-click the field for which you
want to see property information.
The Input or Output Properties dialog box displays the following information:

Property Description
Name Name assigned to the field. You can edit this value, as described in
“Naming Transaction Fields” on page 120.
Value Input fields only. Input value to be used for this transaction. You
can make the value static, as described in “Setting Static Values”
on page 121.
Row The row of the 3270 screen in which this field appears.
Col The column of where the first character of this field appears.
Size The size of the field in bytes.

2 Click OK unless you have changed values that you do not want to have saved, in
which case you should click Cancel.

Logical Units of Work and Screen Settling


In a 3270 data-stream transaction, there can be multiple logical units of work (LUW). For
example, after you send a request from the terminal, the mainframe application might
return:
A response to acknowledge the request (first LUW)

Partial data (second LUW)


Final data (third LUW)
The period during which the mainframe computer returns all LUWs associated with a
transaction is commonly called the screen settling time. By including the number of LUWs
in a transaction service, webMethods Mainframe can process a given transaction more
efficiently because it does not have to wait an additional period of time to be sure the
mainframe computer has returned all data.
If you use Manual mode to capture transaction services, you can advance through LUWs
until all data for a screen is displayed. The capture tool automatically records the number
of LUWs and places the information into a field in the transaction service.

122 webMethods Mainframe Developer’s Guide Version 6.5


Logical Units of Work and Screen Settling

In Auto mode, the capture tool may not accurately keep track of the LUWs. If a screen
does not appear to display all of the data you expect to be returned by a transaction, slow
response from the mainframe may have exceeded the expected settling time. In that case,
the capture tool can incorrectly assume that it has received all data. To capture all output
from the transaction:

Try this method... Described here...

Increase the “Setting Additional 3270 Screen Delay” on page 153


settling time
Change to “Changing Capture Mode for the Live 3270 Tab” on page 155
Manual mode

If necessary, you can manually add a field containing an LUW count to an existing
transaction.

To add an LUW count to a transaction

1 In the Navigation panel, double-click the transaction to be modified.


2 In the editor, click the Fields tab and then click the Input tab.

3 In the Input tab, click (New).


Order is not important. This field can appear anywhere among the input fields.
4 In the Name column, type _LUWS.
This special field, and others, is described in “Keywords for LU 2” on page 160.
5 From the list, select the Integer 32 Big Endian data type.
6 In the Size column, type 4.
7 In the Input Data Source list of the Field Properties panel, select Static Value.
8 In the Static Value field, type the number of LUWs needed to complete the transaction.
9 On the File menu, click Save.

webMethods Mainframe Developer’s Guide Version 6.5 123


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

The Rules Used for Field Naming


During the capture of 3270 transaction, the Live 3270 feature assigns unique names to
input and output fields based on a set of rules. These rules are intended to name fields
resulting from common 3270 interactions without causing a significant slowdown in
processing time. You can modify the format of the of the field name assigned by the Live
3270 feature. To do so, see “Setting Input and Output Field Names” on page 158.
The Live 3270 feature treats fields as one of these types:

Field Type Description


Input Unprotected fields in which the user types input to the 3270 display
terminal. Unprotected fields can also have output written to them.
Output Protected fields reserved for output from the mainframe computer to
the 3270 display terminal.
Header Protected fields intended to provide the user of a 3270 display terminal
with visual clues to the organization of following rows. Headers
contain more than two of certain characters (*,/,:,=,+,-). For example:
**** CURRENT RATES ****
Label Static fields that provide context for the terminal user. These labels
appear in the Live 3270 and LU2 Screen Target tabs but are not used in
transaction services created for webMethods Mainframe.

During processing, field naming follows makes these assumptions:


A field cannot be a label if it meets the criteria for an input field or a header, or if:

The field is... By which we mean...

A number An integer or real number.


A date Numbers separated by slashes, as in 12/12/03.
Considered to be text.
A time Numbers separated by colons, as in 10:26:14.
Considered to be text.
Blank The field is empty.

The first field in a screen is a label, unless it is an input field.

The next field after a label is an output field and is named with respect to the previous
label (unless the field meets the criteria for an input field or a header).

124 webMethods Mainframe Developer’s Guide Version 6.5


The Rules Used for Field Naming

Following output fields are named with respect to the previous label, but with a
unique integer appended, even if they cross the boundary to the next row.
The next field after a header field is a label field.
If the naming rules do not accurately represent the field, or if you want to rename a field
for any reason, you can do so. In Manual mode, you can modify field names as you
capture each screen, described in “Naming Transaction Fields” on page 120. In either
Manual or Automatic mode, you can modify field names after the capture is completed:

Use this tab... Described here...

Fields tab “Creating and Modifying Fields” on page 49


LU2 Screen Target tab “Using the LU2 Screen Target Tab” on page 91

webMethods Mainframe Developer’s Guide Version 6.5 125


C H A P T E R 5 C a p t u r i n g a L i v e 3 2 7 0 Te r m i n a l S e s s i o n

126 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 6
Using Transaction Groups for Parallel Transactions

What are Parallel Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Creating Transaction Groups Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Generating Transaction Groups from XML Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Managing Transactions in a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Transaction Group Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Error Handling for Parallel Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Exporting Transaction Group Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

webMethods Mainframe Developer’s Guide Version 6.5 127


CH A P T E R 6 U si ng Tr an s act io n G r o u p s f o r P ar a lle l Tr an sa ct io n s

What are Parallel Transactions


Parallel transactions are a group of transaction services that are intended to be processed
by webMethods Mainframe in parallel. Parallel transactions might be called for when a
single action by a client application requires multiple actions to be performed on one or
more mainframe applications. For example, by providing a part number, the client
application might request an inventory status from one mainframe application, a parts-
on-order status from a second, and a sales forecast from a third.
Using Developer, you can create a mainframe transaction group service that takes a single
request from the client, invokes multiple transaction services to send requests to various
mainframe applications, and then returns a single reply to the client.

Note: It is beyond the scope of this guide to describe the webMethods flow language or
how to work with services. For more information, see the webMethods Developer User’s
Guide.

For more information:

For information about this... See this...

Creating a new transaction group “Creating Transaction Groups Manually”


on page 129
—OR—
“Generating Transaction Groups from
XML Files” on page 129
Adding transaction services to a group “Managing Transactions in a Group” on
page 130
Finding out which transaction services in “Transaction Group Status” on page 132
a group are invalid
Provide error handling in case one or “Error Handling for Parallel
more transactions in a group fail Transactions” on page 132
Export a transaction group to an XML file “Exporting Transaction Group Services”
on page 133

128 webMethods Mainframe Developer’s Guide Version 6.5


Creating Transaction Groups Manually

Creating Transaction Groups Manually

To create a new mainframe transaction group shell for manual construction

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Transaction Group Service option and click
Next.
3 In the Select Manual or Automatic Group Construction dialog box, select the Create Group
Shell for Manual Construction option and click Next.
4 In the Name field of the New Mainframe Transaction dialog box, type a unique name for
the transaction group.
5 In navigation tree of the dialog box, select the folder in which the transaction group is
to be stored.
6 Click Next.
7 Click Finish.
To add transaction services to the mainframe transaction group service, see “Managing
Transactions in a Group” on page 130.

Generating Transaction Groups from XML Files


You can generate a mainframe transaction group service from an XML file that has been
previously exported from Developer. For information on exporting transaction group
services from Developer, see “Exporting Transaction Group Services” on page 133.

Important! webMethods recommends that you do not attempt to edit an XML file
containing a transaction group. You should make changes within Developer before
exporting the file.

To generate a mainframe transaction group from an XML source file

1 On the File menu, click New.


2 In the New dialog box, select the Mainframe Transaction Group Service option and click
Next.
3 In the Select Manual or Automatic Group Construction dialog box, click the Generate Group
from Source File option and click Next.

webMethods Mainframe Developer’s Guide Version 6.5 129


CH A P T E R 6 U si ng Tr an s act io n G r o u p s f o r P ar a lle l Tr an sa ct io n s

4 In the navigation tree of the dialog box, select the folder in which the transaction
group is to be stored.
5 Click Next.
6 In the Open Source File(s) for Automatic Conversion dialog box, click Open Source, traverse
to the XML file, and click Open.
You can list multiple XML source files in this dialog box. Each source file creates a
separate transaction group.
7 Click Finish.
If a transaction group of the same name already exists, Developer assigns a unique
extension.
8 On the File menu, click Save.

Note: The imported transaction group does include transaction services. The group
remains invalid until you import or create the transaction services that are part of the
group.

Managing Transactions in a Group


Once you create a mainframe transaction group service, you can add transaction services
to it as needed.

To add a transaction service to a mainframe transaction group

1 In the Navigation panel, double-click the mainframe transaction group service for
which you want to add transaction services.

The transaction group icon looks like this:


2 In the editor, click the Parallel Transactions tab.

3 In the Parallel Transactions tab, click (Open Source File).

130 webMethods Mainframe Developer’s Guide Version 6.5


Managing Transactions in a Group

4 In the Create a Group Service dialog box, select one or more transaction services to be
added to the group:

To select... Do this...

A single Click the transaction.


transaction
Multiple Press the CONTROL key while you click individual
separated transactions. You can also CONTROL-click an individual
transactions transaction to clear it.
A range of Click the first transaction and then SHIFT-click the transaction
transactions at the other end of the range. You can then CONTROL-click an
individual transaction to clear it.

5 Click OK.
6 On the File menu, click Save.
You can delete transaction services from a mainframe transaction group as needed.

To delete a transaction service from a mainframe transaction group

1 In the Navigation panel, double-click the mainframe transaction group service for
which you want to delete transaction services.

The transaction group icon looks like this:


2 In the editor, click the Parallel Transactions tab.
3 In the Parallel Transactions tab, select one or more transactions to be deleted from the
group:

To select... Do this...

A single Click the transaction.


transaction
Multiple Press the CONTROL key while you click individual
separated transactions. You can also CONTROL-click an individual
transactions transaction to clear it.
A range of Click the first transaction and then SHIFT-click the transaction
transactions at the other end of the range. You can then CONTROL-click an
individual transaction to clear it.

4 In the Parallel Transactions tab, click (Delete).


5 On the File menu, click Save.

webMethods Mainframe Developer’s Guide Version 6.5 131


CH A P T E R 6 U si ng Tr an s act io n G r o u p s f o r P ar a lle l Tr an sa ct io n s

Transaction Group Status


When you save a mainframe transaction group service, Developer determines whether or
not all transaction services in the group are valid. If one or more transaction services is
invalid or is disabled, the transaction group is not valid. You can determine the validation
status for a transaction group by looking at the icon in the Navigation panel:

This icon... Means the transaction group has...


Passed validation. All transaction services in this transaction group have
been loaded onto webMethods Mainframe.
Not passed validation. One or more transaction services in the group is
invalid or is disabled. For each transaction service in the group, follow
these steps:
1 Make sure the transaction service is enabled (“Enabling or Disabling
Transaction Services” on page 76).
2 Determine if any validation errors have occurred (“Viewing
Validation Errors for Transaction Services” on page 77).
3 Make corrections.
4 On the File menu, click Save.
Note: This icon can also appear if you save valid transaction services while
webMethods Mainframe is not running.

Error Handling for Parallel Transactions


It is the responsibility of the client application to construct the original request and to deal
with any issues arising from the complexity of that request. You have to consider, for
example, what happens if one of three transactions in a group of parallel transactions
returns an error. Does the error invalidate all of the data returned to the group flow
service? Does an error returned by one transaction mean that successful transactions from
the same group must be rolled back?

132 webMethods Mainframe Developer’s Guide Version 6.5


Exporting Transaction Group Services

When Developer creates a group flow service, it places error flags at multiple levels:

The error flag for... Does this...

The group flow Is set to True if a runtime error occurs for any individual
service transaction in the group. The error flag has the name errorFlag
in both the Pipeline tab and the Results tab. The error flag is set
to False if every transaction in the group succeeds.
Each individual Is set to True if a runtime error occurs for that transaction. The
transaction error flag has the name errorFlag in both the Pipeline tab and the
Results tab. The error flag is set to False if the individual
transaction succeeds.
In the Results tab, if errorFlag is True, an error message
errorMsg describes the nature of the error for that transaction.

Using webMethods flow, a client application might determine the success or failure of the
group flow service using these steps:
1 Check the group flow service error flag.
If the error flag is set to False, all transactions have completed successfully.
2 If the group flow service error flag is True, check the error flag for each transaction.
If the error flag is set to False, the transaction has completed successfully.
3 If the transaction error flag is set to True, display the resulting error message so the
nature of the error can be determined.

Exporting Transaction Group Services


You can save a copy of a transaction group service as an XML (Extensible Markup
Language) file and later import that transaction group service into Developer on another
system.

Important! webMethods recommends that you do not attempt to edit an XML file
containing a transaction group service. You should make changes within Developer
before exporting the file.

To export a transaction group service to an XML file

1 In the Navigation panel, right-click the transaction group service you want to export.
2 In the menu, click Export as XML.
The Export as XML dialog box appears.

webMethods Mainframe Developer’s Guide Version 6.5 133


CH A P T E R 6 U si ng Tr an s act io n G r o u p s f o r P ar a lle l Tr an sa ct io n s

3 Navigate to the target directory, type the export file name in the File Name field, and
click Save.
By default, the name of the resulting transaction group service has the same name as
the XML file and ends with an .xml file extension.
To import a transaction service into Developer from an XML file, see “Generating
Transaction Groups from XML Files” on page 129.

134 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 7
Working with Subscriptions

Managing Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Developing a Publishable Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Creating a Flow Service for Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Subscribing a Flow Service to a Transaction Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

webMethods Mainframe Developer’s Guide Version 6.5 135


CHAPTER 7 Working with Subscriptions

Managing Subscriptions
The publishing capabilities in webMethods Mainframe make it possible for the mainframe
computer to publish a transaction and for a flow service to subscribe to that transaction.
Once received by Integration Server, the data is available as input for additional phases of
a business process.
After you have developed a publishable transaction service and subscribed a flow service
to it, you can manage the subscription using webMethods Mainframe Administrator. For
more information on managing subscriptions and on the publishing capabilities in
webMethods Mainframe, see the webMethods Mainframe Administrator’s Guide.
To create a subscription, you need to accomplish the actions described in these topics:
“Developing a Publishable Transaction” next in this chapter

“Creating a Flow Service for Subscriptions” on page 137


“Subscribing a Flow Service to a Transaction Service” on page 138
After you have created the flow service, you can create the various flow steps required by
your client application.

Developing a Publishable Transaction


To have a publishable transaction, you need to accomplish the following actions:

Do this... Described here...

Create a host connection pool with a “Creating Host Connection Pools


publishable Host Type. Manually” on page 24
“Host Types” on page 43
Create a transaction service and associate “Creating Transaction Services Manually”
it with the host connection pool. on page 46
“Associating a Transaction with a Host
Connection Pool” on page 75
Create output fields that match the fields “Creating and Modifying Fields” on
in the transaction published on the page 49
mainframe computer.
Use Developer to create a flow service to “Creating a Flow Service for
subscribe to the transaction. Subscriptions” next in this chapter
Subscribe the flow service to the “Subscribing a Flow Service to a
transaction service. Transaction Service” on page 138

136 webMethods Mainframe Developer’s Guide Version 6.5


Creating a Flow Service for Subscriptions

Creating a Flow Service for Subscriptions


It is beyond the scope of this guide to describe how to use services and create flows.
However, there are some specific steps you must take to create a flow service to subscribe
to a publish transaction service.

To create a flow service used for subscription

1 If you do not have an open Integration Server session, open one.


2 On the File menu, click New.
3 In the New dialog box, select the Flow Service option and click Next.
4 In the Name field of the New Flow Service dialog box, type a unique name for the service.
5 In the Folder navigation tree, select the folder in which the flow service is to be stored
and click Next.
6 Select the Empty Flow option and click Finish.
The new flow service is added to the server.
7 In the editor, click the Input/Output tab.

8 In the Input/Output tab, click the Input panel to set the focus there, and click (New
variable).
9 From the list, select the Document data type.
10 Name the document publishData.
You need to type the name publishData exactly as shown in this step.
11 Nested under publishData, add a set of input fields that matches the output fields in
the publish transaction service.
12 On the File menu, click Save.
You are now ready to define a flow service that uses publishData outRec as the Pipeline
In object for processing the publishing events received.

webMethods Mainframe Developer’s Guide Version 6.5 137


CHAPTER 7 Working with Subscriptions

Subscribing a Flow Service to a Transaction Service


Transaction services are eligible for subscription if they are associated with a host
connection pool that allows publishing. To subscribe to a transaction service, use the
Properties tab for an individual transaction service.

To subscribe a flow service to a transaction service

1 In the Navigation panel, double-click the publishable transaction service and then
click the Properties tab to bring it to the front.
2 In the Publish Service Name field, type the name of the flow service that is to subscribe
to the transaction.
Type the location of the flow service that is to subscribe to the transaction. For
example:
wm.Mainframe.Monitor:logPublishData
Note that the service name is preceded by a colon (:) and that all names are case
sensitive.
3 Optionally, select the Auto Subscribe to the Publish Service option.
Select this option to automatically subscribe the specified webMethods service to the
specified transaction the service is loaded onto webMethods Mainframe or whenever
webMethods Mainframe starts. If the option remains cleared, a message box describes
the actions you must take before you can select the option.
4 On the File menu, click Save.

138 webMethods Mainframe Developer’s Guide Version 6.5


CHAPTER 8
Setting Options for webMethods Mainframe

Setting Options for Source File Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Setting Options for the LU2 Screen Target Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Setting Options for String Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Setting Screen Options for a Live 3270 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Setting Capture Options for a Live 3270 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

webMethods Mainframe Developer’s Guide Version 6.5 139


CHAPTER 8 Setting Options for webMethods Mainframe

Setting Options for Source File Conversion


There are several user options that apply to source file conversion in the Builder tab. These
options apply to both manual and automatic conversion.

This option... Is described here...

COBOL REDEFINES “Excluding COBOL REDEFINES Clauses” next in this chapter


clauses
Required versus “Making Imported Fields Optional” on page 141
optional fields
Field naming “Naming Conventions for Input and Output Fields” on
conventions page 142
Default Host Type “Selecting Default Host Types” on page 143
Source file logging “Source File Logging Options” on page 144

Excluding COBOL REDEFINES Clauses


In the COBOL programming language, a REDEFINES clause makes it possible to redefine
a memory location. Using a REDEFINES clause, one set of fields can be replaced by
another, such as to replace a set of fields describing a regular employee with a set of fields
describing a temporary employee. It is the responsibility of the client application to
handle any redefinitions that occur.
By default, the conversion feature creates input or output fields for each REDEFINES
clause. In the Options window, you can specify that any manual or automatic conversion of
a COBOL Copybook excludes fields that are part of a REDEFINES clause.
This setting remains until the next time you change it.

To exclude REDEFINES clauses in conversion of COBOL source files

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Import Conversion.

140 webMethods Mainframe Developer’s Guide Version 6.5


Setting Options for Source File Conversion

4 Under Conversion, do the following:

To... Do this...

Exclude any fields that are part of a REDEFINES Select the Exclude COBOL
clause. REDEFINES option.
Convert all fields that are part of a REDEFINES Clear the Exclude COBOL
clause. REDEFINES option.

5 Click OK.

Making Imported Fields Optional


By default, when you create transaction services using the conversion feature, all input
and output fields are created as required fields. You can modify the behavior of the
conversion feature such that all input or output fields are created as optional fields.
This setting remains until the next time you change it.

To specify that all input or output fields be made either required or optional

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Import Conversion.
4 To control the behavior for input files, in the Input Data Source of the Conversion panel:

To... Do this...

Make all input Select Client (Required)


fields required
Make all input Select Client, Not required by Host (Optional)
fields optional

webMethods Mainframe Developer’s Guide Version 6.5 141


CHAPTER 8 Setting Options for webMethods Mainframe

5 To control the behavior for output files, in the Output Data Source of the Conversion
panel:

To... Do this...

Make all output Select Host (Required)


fields required
Make all output Select Host, Not required by Client (Optional)
fields optional

6 Click OK.

Naming Conventions for Input and Output Fields


By default, the conversion feature prefixes the letter i to the name of each input field it
creates and the letter o to the name of each output field. You can modify these prefixes to
your own values.

To change prefixes for input and output field names during source file conversion

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Import Conversion.
4 Under Naming Conventions, do the following:

Do this... To...

In the Input Field Prefix Change the prefix used for input field names created
field, type the new prefix. during automatic or manual conversion.
In the Output Field Prefix Change the prefix used for output field names
field, type the new prefix. created during automatic or manual conversion.

5 Click OK.

142 webMethods Mainframe Developer’s Guide Version 6.5


Setting Options for Source File Conversion

Selecting Default Host Types


The conversion feature assigns to each transaction service it creates a Host Type based on
a choice of options for the type of source file from which you are converting.

To set the default Host Type for each type of source file during source file conversion

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Import Conversion.
4 Under Select Default Host Type For Each Source File, do the following:

Select one of these


source file types... And then select one of these Host Types...

BMS CICS LU2 (Installation default)


TN3270E
MFS (FMT) IMS LU2 (Installation default)
TN3270E
MFS (MSG) IMS Connect
IMS LU0 (Installation default)
COBOL APPC
CICS DPL
CICS LU0
CICS Publish
CICS Sockets
ECI TCP
IMS Connect (Installation default)
IMS LU0
JES Publish

5 Click OK.
For information on source files, see “Kinds of Source Files” on page 94. For information on
Host Types, see “Host Types” on page 43.

webMethods Mainframe Developer’s Guide Version 6.5 143


CHAPTER 8 Setting Options for webMethods Mainframe

Source File Logging Options


As a source file is added to memory, Developer parses the file and, based on option
settings, logs its findings to a file named:
webMethods6\Developer\Builder.log

The Builder.log file continues to grow with each conversion until you clear it out or delete
it. As the file grows in size, conversion performance slows down, You can control which
entries go into this source file log or stop them altogether through the Options window.

To set the source file logging options for source file conversion

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Import Conversion.
4 Under Source File Logging Options, do the following:

Select one of these


logging options... To specify this type of logging...

OFF Turns off source file logging.


ERRORS The parser logs only errors. Errors are source code statements
the parser does not understand. Default value at installation.
ALL The parser logs errors and source code statements that it
recognizes but ignores.
TRACE The parser documents each step in the conversion process.
Files can grow quite large when this option is selected.

5 Click OK.

144 webMethods Mainframe Developer’s Guide Version 6.5


Setting Options for the LU2 Screen Target Tab

Setting Options for the LU2 Screen Target Tab


You can set options for color selection and font information used in the LU2 Screen Target
tab described in “Dragging to the LU2 Screen Target” on page 87.

This option... Is described here...

LU2 Screen Target “Color Information for the LU2 Screen Target Tab” next in this
tab chapter
Static field borders “Hiding Static Field Borders” on page 146
Font information “Changing Font Information for the LU2 Screen Target Tab”
on page 147

Color Information for the LU2 Screen Target Tab


You can set color options for the LU2 Screen Target tab.

To set color options for the LU2 Screen Target tab

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Target Screen.
4 Under Color Information, select a screen element from the list.
You can change the colors of the following screen elements in the LU2 Screen Target tab:

Screen Element Default color at installation


Screen Background Black
Field Foreground Green
Field Border White
Field - Unprotected Blue
Field - Protected Red
Field - Selected Magenta

5 Click Choose color.

webMethods Mainframe Developer’s Guide Version 6.5 145


CHAPTER 8 Setting Options for webMethods Mainframe

6 In the Choose Color dialog box, use one of three methods to select a color and click OK.
You can choose from among three different color schemes:

This color scheme... Allows you to select a color...

Swatches From a group of samples. Click on a color, check the preview


images, and click OK.
HSB From an HSB (hue, saturation, brightness) colorspace. Use the
vertical scrollbar to select a color, use the pointer in the color
square to select the relationship of HSB values, check the
preview images, and click OK.
RGB From an RGB (red, green, blue) colorspace. Use the sliders to
select the desired amount of each RGB value, check the
preview images, and click OK.

7 Click OK.

Hiding Static Field Borders


Static fields are labels that provide context for the terminal user. These labels appear in the
LU2 Screen Target tab but are not used in transaction services created for webMethods
Mainframe. By default at installation, the borders of static fields are hidden. If desired,
you can display the borders of static fields through option settings.

To change whether static field borders are displayed in the LU2 Screen Target tab

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Target Screen.
4 Under Color Information, do the following:

Do this... To...

Select the Hide Static Field Cause static field borders to be hidden in the LU2
Borders option Screen Target tab. The default at the time of
installation.
Clear the Hide Static Field Cause static field borders to be displayed in the LU2
Borders option Screen Target tab.

5 Click OK.

146 webMethods Mainframe Developer’s Guide Version 6.5


Setting Options for String Handling

Changing Font Information for the LU2 Screen Target Tab


You can change the font name and size of the information displayed in the LU2 Screen
Target tab. Some combinations can make the screen difficult to use.

To change font name and size in the LU2 Screen Target tab

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Builder Target Screen.
4 Under Font Information, do the following:

Do this... To...

From the Font Name list, Cause text in the LU2 Screen Target tab to use the
select a font selected font. The default at the time of installation is
Courier New.
In the Font Size field, type Cause text in the LU2 Screen Target tab to use the
a point size specified font size. The default at the time of
installation is 14.

5 Click OK.

Note: The list of fonts in the Font Name list is made up of all fixed-pitch fonts registered
with the operating system. If the font you need is not listed, you need to install it properly
on your machine.

Setting Options for String Handling


There are several options that apply to string handling in transaction services. These
options apply transaction services you create manually, as well as to those you generate
from mainframe source files using the Builder tab.

This option... Is described here...

Field Justification “Field Justification Options” on page 148


Field Fill Values “Field Fill Value Options” on page 148
Associated Code Page “Code Page Options” on page 149
Custom Code Page “Managing Custom Code Pages” on page 150

webMethods Mainframe Developer’s Guide Version 6.5 147


CHAPTER 8 Setting Options for webMethods Mainframe

Field Justification Options


By default, field justification values for new transaction services, either manually created
or converted from mainframe source files, are specified in the String Handling tab of the
Options window. During source file conversion, if the source code contains specific
instructions about data justification, they override the default settings.

To set data field justification preferences for transaction services

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click String Handling.
4 Under Field Justification, do the following:

Select one of these


options... To specify this type of justification...

Left Data fields are left justified unless the source code directs
otherwise. Default value at installation.
Right Data fields are right justified unless the source code directs
otherwise.

5 Click OK.

Field Fill Value Options


By default, field fill values for new transaction services, either manually created or
converted from mainframe source files, are specified in the String Handling tab of the
Options window. During source file conversion, if the source code contains specific
instructions about the use of fill characters in data fields, they override the default setting.

To set data field fill character preferences for transaction services

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click String Handling.

148 webMethods Mainframe Developer’s Guide Version 6.5


Setting Options for String Handling

4 Under Field Fill Values, do the following:

Select one of these


options... To specify this type of fill character...

None Spaces in data fields that do not have characters are not filled.
Spaces Spaces in data fields that do not have characters are filled with
spaces. Default value at installation.
Zeros Spaces in data fields that do not have characters are filled with
zeros.
Nulls Spaces in data fields that do not have characters are filled with
null characters.

5 Click OK.

Code Page Options


A code page is a description of the character sets used by the mainframe computer, as
described in “Code Pages in Host Connection Pools” on page 30. webMethods Mainframe
formats data strings based on a particular code page before sending them to the
mainframe computer.
By default, code pages for new transaction services, either manually created or converted
from mainframe source files, are specified in the String Handling tab of the Options window.
The default code page at the time of installation is US English EBCDIC. If you want to use
a different code page, you need to change the option setting.

To set code page preferences for transaction services

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click String Handling.
4 Under Associated Code Page, select the appropriate code page from the list.
5 Click OK.

webMethods Mainframe Developer’s Guide Version 6.5 149


CHAPTER 8 Setting Options for webMethods Mainframe

Managing Custom Code Pages


In rare cases, it may be necessary to use code pages created for a special purpose, such as
to replace a standard graphic character with a special one. Such custom code pages must
reside on both the mainframe computer and the computer running webMethods
Mainframe. For information on installing custom code pages on the webMethods
Mainframe computer, see the webMethods Mainframe Administrator’s Guide.
Any custom code page you assign to a host connection pool or transaction service in
Developer must have a corresponding code page installed on webMethods Mainframe. A
missing code page results in an error when webMethods Mainframe attempts to send the
transaction.

Adding Custom Code Pages

To add a custom code page in Developer

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click String Handling.
4 Under Custom Code Page, click Edit Code Pages.

5 If there are already custom code pages in the list, click (Add code page to table) to
add a row.
6 In an empty row, type the following information:

Under this heading... Type this...

Code Page The number of the code page. This value must match the
number of the code page as installed on the computer
running webMethods Mainframe. See the webMethods
Mainframe Administrator’s Guide.
Description The name of the code page as it appears in lists within
Developer.
CGCSGID Coded Graphic Character Set Global IDentifier.
webMethods Mainframe may send this value to the
mainframe computer as part of a request.

7 Click OK.
The new code page appears in any list of code pages within Developer.

150 webMethods Mainframe Developer’s Guide Version 6.5


Setting Screen Options for a Live 3270 Session

Deleting Custom Code Pages


When you delete a custom code page in the Options window, you are only removing it
from the list of valid code pages displayed in Developer. In the editor, the Code Page field
for any host connection pool, transaction service, or transaction field using the deleted
code page changes to Custom Code Page (cp nnn) to indicate that you need to assign a valid
code page. The affected host connection pool, transaction service, or transaction field
continues to use the deleted code page until you change it.

To delete a custom code page in Developer

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click String Handling.
4 Under Custom Code Page, click Edit Code Pages.
5 In the list of custom code pages, click the row of the code page to be deleted.

6 Click (Delete code page from table) to delete the row.


7 Click OK.
The code page no longer appears in any list of code pages within Developer.

Setting Screen Options for a Live 3270 Session


You can set these screen display options for the Live 3270 feature:

This option... Is described here...

Color information “Color Information for the Live 3270 Tab” on page 152
Font information “Changing Font Information for the Live 3270 Tab” on
page 153
Screen Delay “Setting Additional 3270 Screen Delay” on page 153

webMethods Mainframe Developer’s Guide Version 6.5 151


CHAPTER 8 Setting Options for webMethods Mainframe

Color Information for the Live 3270 Tab


You can set color options for the Live 3270 tab.

To set color options for the Live 3270 tab

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Live 3270.
4 Under Color Information, select a screen element from the list, as shown here:

Screen Element Default color at installation


Screen Background Black
Field Background Black
Field Foreground Green
Field Border Black
Field - Unprotected Black
Field - Protected Black
Field - Selected Magenta

5 Click Choose Color.


6 In the Choose Color dialog box, use one of three methods to select a color and click OK.
You can choose from among three different color schemes:

This color scheme... Allows you to select a color...

Swatches From a group of samples. Click a color, check the preview


images, and click OK.
HSB From an HSB (hue, saturation, brightness) colorspace. Use the
vertical scrollbar to select a color, use the pointer in the color
square to select the relationship of HSB values, check the
preview images, and click OK.
RGB From an RGB (red, green, blue) colorspace. Use the sliders to
select the desired amount of each RGB value, check the
preview images, and click OK.

7 Click OK.

152 webMethods Mainframe Developer’s Guide Version 6.5


Setting Screen Options for a Live 3270 Session

Changing Font Information for the Live 3270 Tab


You can change the font name and size of the information displayed in the Live 3270 tab.
Some combinations can make the screen difficult to use.

To change font name and size in the Live 3270 tab

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Live 3270.
4 Under Font Information, do the following:

Do this... To...

From the Font Name list, Cause text in the Live 3270 tab to use the selected font.
select a font The default at the time of installation is Courier New.
In the Font Size field, type Cause text in the Live 3270 tab to use the specified font
a point size size. The default at the time of installation is 14.

5 Click OK.

Note: The list of fonts in the Font Name list is made up of all fixed-pitch fonts registered
with the operating system. If the font you need is not listed, you need to install it properly
on your machine.

Setting Additional 3270 Screen Delay


By default, the Live 3270 feature assumes a one-second settling time for a transaction from
the mainframe computer to complete. If the mainframe has an unusually long response
time, you can increase the screen delay time.

To change the screen delay time for the Live 3270 tab

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, click Live 3270.

webMethods Mainframe Developer’s Guide Version 6.5 153


CHAPTER 8 Setting Options for webMethods Mainframe

4 In the Additional Screen Delay field of the Screen Information panel, type the number of
milliseconds to wait for mainframe transactions to complete, up to a maximum of
99,000 milliseconds. The default is 1000 milliseconds.
5 Click OK.

Setting Capture Options for a Live 3270 Session


You can set these capture options for the Live 3270 tab:

This option... Is described here...

Capture all fields as “Capturing all Protected and Unprotected Fields as


output Output” next in this chapter
Create a field to display “Capture the Entire Output Screen in One Field” on
the entire screen output page 155
Auto or Manual mode “Changing Capture Mode for the Live 3270 Tab” on
page 155
Field fill values “Changing Field Fill Values Sent to the Mainframe” on
page 156
Transaction name prefix “Prefix for Transaction Names” on page 157
Input or output field “Setting Input and Output Field Names” on page 158
names

Capturing all Protected and Unprotected Fields as Output


By default, the Live 3270 feature captures only protected fields as output. By selecting
this option, you can also capture unprotected fields, making it easier to use flow later
to connect transaction services together.

To capture all protected and unprotected fields as output

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, if Live 3270 is not expanded, click to expand it and then click
Capture.

154 webMethods Mainframe Developer’s Guide Version 6.5


Setting Capture Options for a Live 3270 Session

4 In the Capture Mode panel, if you want all fields to be made output fields in the
resulting transaction service, select the Capture all protected and unprotected fields as
output option.
If you leave this option clear, unprotected fields are treated as input fields.
5 Click OK.

Capture the Entire Output Screen in One Field


You can create a DEBUG_Screen field that contains all of the output from a 3270
transaction. If you are familiar with how the output of a 3270 transaction should look, you
can use this field to debug problems with the capture of the transaction.
The DEBUG_Screen field appears as the first output field in the transaction. This field is
defined as a string with an offset of row 1, column 1, and has a length equal to the number
of characters displayed by the terminal type associated with the transaction. For example,
a field containing output from a 3270 Model 2 terminal is 1920 characters long.
You can use the Results panel of Developer to display the output of the DEBUG_Screen
field. After you no longer need this field, you can delete it from the transaction service.

To add a DEBUG_Screen field to capture the entire output from a 3270 transaction

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, if Live 3270 is not expanded, click to expand it and then click
Capture.
4 In the Capture Mode panel, to add the DEBUG_Screen field to the transaction output,
select the Add field ‘DEBUG_Screen’ to display the entire screen option.
5 Click OK.

Changing Capture Mode for the Live 3270 Tab


By default, the capture tool operates in automatic mode. You can switch between
automatic and manual mode.

To change automatic and manual modes during live 3270 capture

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.

webMethods Mainframe Developer’s Guide Version 6.5 155


CHAPTER 8 Setting Options for webMethods Mainframe

3 Under Mainframe, if Live 3270 is not expanded, click to expand it and then click
Capture.
4 In the Capture Mode panel, select the mode to be used for capturing 3270 transactions:

Use this mode... To do this...

Auto Capture transactions in a 3270 terminal session continuously.


Manual To capture each transaction in a 3270 terminal session
individually, editing inputs and outputs in the process. Use
this mode when you need more control over the capture of
transactions than is provided by Auto mode.

5 If you have selected Manual mode, the Only prompt for name selection on start option is
available:

Do this... To do this...

Select the option Cause Live 3270 to name each transaction after the first one
automatically.
Clear the option Cause the Live 3270 feature to prompt for a transaction name
each time you start a new transaction.

You can also set this option whenever you are prompted for a transaction name in
Manual mode.
6 Click OK.

Changing Field Fill Values Sent to the Mainframe


By default, transactions sent to the mainframe computer by the Live 3270 feature use null
field fill values. You can modify the field fill value using the Options window.

To set field fill values sent to the mainframe during live 3270 capture

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, if Live 3270 is not expanded, click to expand it and then click
Capture.

156 webMethods Mainframe Developer’s Guide Version 6.5


Setting Capture Options for a Live 3270 Session

4 Under Field Fill Values, do the following:

Select one of these


options... To specify this type of fill character...

Nulls Spaces in data fields that do not have characters are filled with
null characters.
Spaces Spaces in data fields that do not have characters are filled with
spaces. Default value at installation.

5 Click OK.

Prefix for Transaction Names


By default, the capture tool prefixes Tran to the name of each transaction service. You can
modify this prefix.

To change the prefix for transaction names during live 3270 capture

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, if Live 3270 is not expanded, click to expand it and then click
Capture.
4 In the Transaction Prefix field of the Naming Conventions panel, type the new prefix to be
used for naming transactions during live 3270 capture.
By default, the transaction prefix is set to Tran.
5 Click OK.

webMethods Mainframe Developer’s Guide Version 6.5 157


CHAPTER 8 Setting Options for webMethods Mainframe

Setting Input and Output Field Names


By default, the input and output fields created by the Live 3270 capture are prefixed with
input and output, respectively, and numbered sequentially beginning with the value 0001.
The assumptions used in field naming are described in “The Rules Used for Field
Naming” on page 124. You can construct the rest of the field name using elements from
the transaction itself.

To change the naming conventions for input and output field names during live 3270 capture

1 On the Tools menu, click Options.


2 In the navigation tree of the Options window, if Mainframe is not expanded, click to
expand it.
3 Under Mainframe, if Live 3270 is not expanded, click to expand it and then click
Capture.
4 Under Capture, click either Input Fields or Output Fields to display the Naming Conventions
panel.
5 In the Name Settings panel, construct the field naming convention by selecting or
clearing options as appropriate:

This option... Does this...

User Text Allows you to use text of your choosing (the default
prefixes are input and output). Type the text into the field
and select the option.
Note: If you select this option but clear the field of any text,
no prefix will appear.
Transaction Name Includes the name created for this transaction. For
example, if you use the default transaction prefix, a valid
transaction name might be Tran0001.
Screen Text Includes the 3270 text for the field.
Row and Column Values Includes row and column numbers for the first character
of the field.

6 Use the Example panel to see how your naming convention looks.
The Name from captured data panel uses the information from the Simulated Captured Data
panel to depict how your selected options look together.
7 After constructing the naming convention, click OK.

158 webMethods Mainframe Developer’s Guide Version 6.5


APPENDIX A
LU 2 Notes

Keywords for LU 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Aid Identification Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

webMethods Mainframe Developer’s Guide Version 6.5 159


APPENDIX A LU 2 Notes

Keywords for LU 2
You can use the following keywords in transaction service input fields for LU 2 sessions.
These keywords are special command constructs sometimes required by 3270 sessions to
control session synchronization during transaction execution. webMethods Mainframe
submits these commands as predefined reserved fields.

Keyword Description
_AID Type Byte Stream (Input)
Size 1 byte
Value Hexadecimal representation of a 3270 AID key
Usage Overrides the default ENTER AID (0x7D).
_EXITAID Type Byte Stream (Input)
Size 1 byte
Value Hexadecimal representation of a 3270 AID key
Usage Specifies that an AID key be sent to the host
following the completion of the transaction. See
“Aid Identification Values” on page 162.
_ICURSOR (Input) Type Integer, 32-bit, Big Endian
Size 4 bytes
Value Offset of the cursor address in the presentation
space
Usage Overrides the default input cursor address
_OCURSOR (Output) Type Integer, 32-bit, Big Endian
Size 4 bytes
Value Offset of the cursor address in the presentation
space
Usage Returns the offset of the cursor address
_TXCODE (Input) Type EBCDIC String
Size 8 bytes, maximum
Value Mainframe transaction code
Usage Preformats a CICS LU2 screen using the
supplied transaction

160 webMethods Mainframe Developer’s Guide Version 6.5


Keywords for LU 2

Keyword Description
_FORMAT (Input) Type EBCDIC String
Size 8 bytes, maximum
Value Mainframe transaction code
Usage Preformats an IMS LU2 screen using the
supplied transaction. The transaction code is
sent using the /FORMAT command.
_TXUSERID (Input) Type EBCDIC String
Size 8 bytes, maximum
Value Transaction level user ID
Usage Issues an APPC or CICS Sockets transaction
using the supplied user ID
_TXPASSWORD (Input) Type EBCDIC String
Size 8 bytes, maximum
Value Transaction level password
Usage Issues an APPC or CICS Sockets transaction
using the supplied password
_DOCUMENT_ID (Output) Type EBCDIC String
Value IP Publish Document ID
Usage Specifies the document ID returned from the
mainframe
_SYSTEM_NAME (Output) Type EBCDIC String
Value System Name
Usage Specifies the system name returned from the
mainframe
_NJE_STREAM (Input) Type Byte Stream
Size 1 byte
Value NJE Request Stream
Usage

webMethods Mainframe Developer’s Guide Version 6.5 161


APPENDIX A LU 2 Notes

Keyword Description
_LUWS (Input) Type Integer, 32-bit Big Endian
Size 4 bytes
Value Count of logical units of work for a transaction
Usage Changes the number of line turnarounds that
constitute a transaction.

Aid Identification Values


The following table shows AID (Attention Identification) values.

AID EBCDIC (Hex) ASCII (Hex) EBCDIC (Graphic)


Test Req and Sys Req F0 30 0
PF1 key F1 31 1
PF2 key F2 32 2
PF3 key F3 33 3
PF4 key F4 34 4
PF5 key F5 35 5
PF6 key F6 36 6
PF7 key F7 37 7
PF8 key F8 38 8
PF9 key F9 39 9
PF10 key 7A 3A :
PF11 key 7B 23 #
PF12 key 7C 40 @
PF13 key C1 41 A
PF14 key C2 42 B
PF15 key C3 43 C
PF16 key C4 44 D
PF17 key C5 45 E
PF18 key C6 46 F
PF19 key C7 47 G

162 webMethods Mainframe Developer’s Guide Version 6.5


Aid Identification Values

AID EBCDIC (Hex) ASCII (Hex) EBCDIC (Graphic)


PF20 key C8 48 H
PF21 key C9 49 I
PF22 key 4A 5B ¢
PF23 key 4B 2E .
PF24 key 4C 3C <
PA1 key 6C 25 %
PA2 key (Cncl) 6E 3E >
PA3 key 6B 2C ,
Clear key 6D 5F -
ENTER key 7D 27 ,

webMethods Mainframe Developer’s Guide Version 6.5 163


APPENDIX A LU 2 Notes

164 webMethods Mainframe Developer’s Guide Version 6.5


Glossary

3270
The information display system for IBM mainframe computers, including terminals,
printers, and controllers. Using a 3270 terminal, a user has access to functions and
applications on the mainframe computer.
3270 emulation
The use of software that enables a client to emulate an IBM 3270 display station, printer, or
control unit and to use the functions of an IBM host system.
APPC
Advanced program-to-program communication. The general facility characterizing the
LU Type 6.2 architecture and its various implementations in products.
ASCII
American Standard Code for Information Exchange.
BCD
Binary-coded decimal. A binary-coded notation in which each of the decimal digits is
represented by a binary number.
BIND
In SNA, a request to activate a session between primary and secondary logical units (LUs).
BMS
Basic Mapping Support. A facility that moves data streams to and from a terminal,
providing device independence and format independence for application programs. BMS
is an interface between CICS and its application programs.
CICS
Customer Information Control System. CICS provides online transaction processing
services and management on IBM mainframes, allowing applications to communicate
with terminals and other applications.
CICS Publish
A feature of webMethods Mainframe that allows CICS applications to publish
transactions over a TCP/IP network.
CICS Sockets
A means to connect CICS on the mainframe in a peer-to-peer relationship with other
applications using TCP/IP.
code page
A mapping of character codes between Unicode and a localized character set.
column
On a 3270 screen, the position of a character from the left edge of the screen. For example,
the eighth character in a row is in column 8.

webMethods Mainframe Developer’s Guide Version 6.5 165


Glossary

COMMAREA
Communication area. In CICS, an area that is used to pass data between tasks that
communicate with a given terminal. The area can also be used to pass data between
programs within a task.
conversational application
A program that holds application state and processing resources while interacting with an
end user, typically through a terminal interface.
data set
An IBM term for a file.
DLC
Data link control. The data link layer protocol of SNA. DLC transmits messages across
links and manages link-level flow and error recovery.
DLSw
Data link switching. A method of transporting network protocols that use IEEE 802.2
logical link control (LLC) type 2 in a TCP/IP data stream.
DPL
Distributed program link. DPLs provide a Remote Procedure Call (RPC)-like mechanism,
allowing the linked-to program to issue unsupported CICS function calls, such as to DB2.
DTM
Direct Transaction Mapping. webMethods technology that enables direct integration with
CICS and IMS transactions without the need for additional code on the mainframe
computer or changes to mainframe applications.
DTR
Distributed Transaction Routing. webMethods technology that provides asynchronous
message routing to achieve high levels of scalability and performance.
EAB
Extended attribute byte. Prefixed to a character on a 3270 display an EAB alters the
attributes of the displayed character, such as color or underscores.
EBCDIC
Extended Binary-Coded Decimal Interchange Code. A coded character set of 256 8-bit
characters.
EBI
End Bracket Indicator. An indicator that all information needed to paint the screen has
been sent.
Ethernet
A local area network in which contention determines which computer is allowed to
transmit.

166 webMethods Mainframe Developer’s Guide Version 6.5


field
A basic component of a transaction service, which contains data and information on how
it is to be treated in the transaction. Input fields carry data to the mainframe computer.
Output fields carry data from the mainframe computer to webMethods Mainframe.
host connection pool
A group of sessions of a similar type. A host connection pool provides the path (route) to
be used to communicate with a configured host application region.
IMS Connect
A TCP/IP server that provides connectivity to the IMS Transaction Manager from any
TCP/IP client. Replaces ITOC.
IP address
A 32-bit host address used in TCP/IP networks, usually expressed in dotted decimal
notation, such as 128.121.4.5.
ITOC
IMS TCP/IP OTMA Connection. A subsystem that provides TCP/IP connectivity for IMS.
Replaced by IMS Connect.
JCL
Job Control Language. A language that identifies a job to an operating system and
describes job requirements.
JES
Job Entry Subsystem. An MVS™ subsystem that receives jobs into its system and then
processes all output data produced by them. JES is the component through which all
input and output passes on an IBM mainframe computer.
JES Publish
A feature of webMethods Mainframe that uses JES to publish transactions triggered by
CICS, IMS, or batch processing applications. JES Publish is available for use on SNA
networks.
job
A unit of work that is to be done by a computer. The job may use computer programs,
files, and control statements to the operating system.
local node ID
A value VTAM® uses to identify the physical unit definition that describes the SNA
communications server. The XID has two parts, a 3-digit block ID (or IDBLK) and a 5-digit
node number (or IDNUM). Both numbers are in hexadecimal format.
LU
Logical Unit. A type of network accessible unit that enables users to gain access to
network resources and communicate with each other.

webMethods Mainframe Developer’s Guide Version 6.5 167


Glossary

LU type 0
A type of logical unit that supports message-based communication. LU 0 guarantees to
deliver the data in the correct order and at the right priority, and does not impose any
restrictions on the format or structure of the data.
LU type 1
A type of logical unit used by host applications sending data to a printer, conforming to
the SNA 3270 Character String (SCS) definition.
LU type 2
A type of logical unit that supports screen-oriented communication with terminals, using
the 3270 data stream.
LU type 3
A type of logical unit used by host applications sending data to a printer that is SNA 3270
data-stream compatible (DSC).
LU type 6.2
A type of logical unit that supports general communication between programs in a
distributed processing environment. LU 6.2 is similar to LU 0, although it is more
structured.
MAC address
Media Access Control address. The 12-digit hexadecimal address of the mainframe
computer on an SNA network, also known as the physical address.
MFS
Message Format Service. In IMS/VS, an editing facility that allows application programs
to deal with simple logical messages instead of device-dependent data, thus simplifying
the application development process.
MVS
Multiple Virtual Storage.
NJE
Network Job Entry. A facility on OS/390 that provides network services. JES nodes, for
example are networked through NJE.
non-persistent connection
A connection with the mainframe is open only long enough to send a request and receive
the result.
offset
The position of a character from the beginning of a buffer. The offset is zero-based. For
example, the offset of the eighth character in a buffer is 7.
parallel transactions
A group of transaction services that are intended to be processed by webMethods
Mainframe in parallel.

168 webMethods Mainframe Developer’s Guide Version 6.5


persistent connection
A connection with the mainframe that remains open until it is specifically closed by the
client application or by the occurrence of an error.
port number
In TCP/IP networks, a value that represents a logical channel to a specific region or
subsystem on the mainframe. The port is a decimal number up to 10,000, with the lower
numbers usually reserved for standard protocols.
PU
Physical Unit. A network-addressable unit, such as a communications controller, which
manages nodes of the network, such as terminals.
record
A a pattern of data that is repeated. A record can contain fields and other records nested
within it.
remote network address
The MAC address of a mainframe computer as identified by an SNA communications
server.
row
On a 3270 screen, the position of a row from the top of the screen. For example, the eighth
row from the top is row 8.
RPL
Request Parameter List. In VTAM, a control block that contains the parameters necessary
for processing a request for data transfer, for establishing or terminating a session, or for
some other operation.
SDLC
Synchronous Data Link Control. A type of link service used for managing synchronous
data transfer over standard telephone lines or leased lines.
session
A logical pipe that defines the characteristics of a connection to a host application region
on the mainframe, and which is used to send and receive data. By having a number of
similar sessions in a host connection pool, it is possible for webMethods Mainframe to
handle multiple transactions at the same time.
session locking
The act of removing a session from the pool so that a conversational application can
maintain the state of the conversation. The client application unlocks the host session after
the transaction series is complete (either by success or error detection).
SNA
Systems Network Architecture. The IBM architecture that defines the logical structure,
formats, protocols, and operational sequences for transmitting information units through,
and controlling the configuration and operation of, networks.

webMethods Mainframe Developer’s Guide Version 6.5 169


Glossary

SNA communications server


Software providing a client/server architecture that allows desktop PCs or UNIX
workstations to connect to mainframe computers over an SNA network. webMethods
Mainframe must reside on the same computer as the SNA communications server.
socket
In TCP/IP, the combination of an IP address and a port number.
subscription
A state in webMethods Mainframe in which a webMethods flow service waits for a host
application to publish a specific transaction.
TCP/IP
Transmission Control Protocol/Internet Protocol. Provides reliable end-to-end
connections between applications over interconnected networks of different types.
TN3270E
A protocol for 3270 data streams over Telnet, which in turn governs remote terminal
connection over TCP/IP networks. TN3270E is the equivalent of LU 2 over TCP/IP.
token ring
A local area network in which a token is passed around the network allowing each
computer to transmit in turn.
transaction
A set of input data that triggers a specific process or job. In CICS, a task that begins, exists
for long enough to do the required work, and then disappears. webMethods Mainframe
sends transactions to and receives transactions from the mainframe computer.
transaction service
A description of the native interface on the mainframe system, including input and output
fields that describe the exact field layout and device requirements to process the
transaction in the host application region.
VSAM
Virtual Storage Access Mechanism. An access method for direct or sequential processing
of fixed and variable-length records on direct access devices.
VTAM
Virtual Telecommunications Access Method. IBM software that controls communication
and the flow of data in an SNA network by providing the SNA application programming
interfaces and SNA networking functions.
XID
eXchange ID. See local node.

170 webMethods Mainframe Developer’s Guide Version 6.5


Index

Index

Numerics file naming conventions 95


3270 AID keys, Live 3270 116 OCCURS clause 95
3270 keywords 160 protected section 94
3270 screen versus 3270 transaction 104 static section 94
structure of 94
unprotected section 94
A
Buffer Size property, host connection pools 27
adding byte stream data type 53
fields to Input or Output tab 49
LUW count to a transaction 123
C
transaction source files 84
transactions to a transaction group service 130 calculating offsets 65
AID Key Value property, transaction services 69 capture all fields as output option, Live 3270 tab 154
AID keys, Live 3270 116 capture mode option, Live 3270 tab 155
APPC capture toolbar, Live 3270 117
creating transactions for 65 capturing
send-receive model 66 live 3270 session 105
APPC Host Type, session information 35 live 3270 transactions in Auto mode 108
Application Name property live 3270 transactions in Manual mode 110
CICS LU2 36 changing
CICS LUO 36 capture mode for Live 3270 tab 155
IMS LU0 38 field names during live 3270 capture 120
IMS LU2 38 field type in the Tree Target tab 90
TN3270E 38 field types in the LU2 Screen Target tab 93
associating a transaction service with a host connection pool 75 font name and size in Live 3270 tab 153
Attention Identification (AID) values 162 host connection pools in Live 3270 115
Auto Calculate option, transaction services 68 prefix for transaction names, Live 3270 157
Auto Start option, host connection pools 27 prefixes for fields during source file conversion 142
Auto Subscribe property, transaction services 69 Check for Standard Host Errors property, transaction services 69
auto-conversion of transaction source files 80 CICS DPL Host Type, session information 36
automatic capture for Live 3270 108 CICS LU0 Host Type, session information 36
Autostart option, Session Properties tab 34 CICS LU2 Host Type, session information 36
CICS Publish Host Type, session information 37
CICS Sockets Host Type, session information 37
B
clearing fields, live 3270 capture 120
Basic Mapping System, See BMS maps
COBOL
basic steps for webMethods Developer 12
Copybook
BCD data type 53 dragging from 101
BMS maps
file naming conventions 96
dragging from 98
structure 96

webMethods Mainframe Developer’s Guide Version 6.5 171


Index

OCCURS clause 62, 96 host connection pools 14


REDEFINES clause options 140 input and output fields 19
code page options 149 record counter field name 64
Code Page property sessions (general) 32
Input or Output tab 56 sessions (specific to Host Type) 35
transaction services 68 deleting
code pages fields from Input or Output tab 49
host connection pools 30 fields from the LU2 Screen Target tab 93
transaction services 70 fields from the Tree Target tab 90
color options transaction source files 85
Live 3270 tab 152 transactions from a transaction group service 131
LU2 Screen Target tab 145 Delimiter property, transaction services 68
columns in a field, summary of 51 developing a publishable transaction 136
columns in a record, summary of 61 Device Name property, TN3270E 38
configuring fields 50 disabling
configuring records 58 host connection pools 42
conventions used in this document 9 transaction services 76
Count, Session Properties tab 34 documentation
creating additional 10
flow service for subscriptions 137 conventions used 9
host connection pools feedback 10
from XML files 25 DPL, send-receive model for 66
manually 24 dragging from
Live 3270 session 107 BMS maps 98
sessions 32 COBOL Copybooks 101
transaction group services from XML files 129 MFS FMT 99
transaction group services manually 129 MFS MSG 100
transaction services from XML files 47 dragging to
transaction services manually 46 LU2 Screen Target 87
cursor, moving in Live 3270 118 Tree Target 86
custom code page options 150
Custom End Bracket Count E
described 30 EAB, see extended attribute byte
property, host connection pools 27 ECI TCP Host Type, session information 38
Enable the HostPool for Use option, host connection pools 27
D Enable the transaction for use property, transaction services 68
Data Store property Enable Variable Field Length property, transaction services 68
host connection pools 27 enabling
transaction services 70 host connection pools 42
Data Translation property, host connection pools 27 transaction services 76
data types in transaction services 52 variable field lengths 57
defining End Bracket Indicator (EBI) 30
a COBOL OCCURS clause 63 error handling for transaction group services 132

172 webMethods Mainframe Developer’s Guide Version 6.5


Index

Exit Name property, host connection pools 27 associating a transaction service with a host connection pool
exporting 22
host connection pools 44 creating a host connection pool 15
transaction group services 133 creating a transaction service 18
transaction services 78 defining a host connection pool 14
extended attribute byte defining a transaction 18
data type 53 defining fields 19
setting in a session 39 defining host connection pool properties 16
defining sessions 17
F Group ID property
field fill value options 148 host connection pools 27
transaction services 70
field justification options 148
field names, changing during live 3270 capture 120
field naming convention options H
Live 3270 tab 158 hiding
LU2 Screen Target tab 142 columns in a field 54
field properties, summary of 55 columns in a session 34
fields host connection pools
adding and deleting 49 administration in Live 3270 tab 118
configuring 50 associating with transaction services 75
hiding columns in 54 code pages 30
modifying multiple 57 creating manually 24
modifying properties 54 defining 14
populating or modifying columns in 50 enabling and disabling 42
shifting up and down 50 exporting 44
Fields tab 49 generating from XML files 25
file naming conventions overview of 24
BMS maps 95 properties 27
COBOL Copybooks 96 properties, assigning 26
MFS files 96 status 40
flow service used for subscriptions 137 status icons 41
FMT section, MFS files 95 uploading to webMethods Mainframe 42
font information options validating 40
Live 3270 tab 153 validation errors 43
LU2 Screen Target tab 147 Host Gateway Name property
CICS Publish 37
G CICS Sockets 37
Host Name property
generating
CICS Publish 37
host connection pools from XML files 25
transaction group services from XML files 129 CICS Sockets 37
ECI TCP 38
transaction services from XML files 47
IMS Connect 27
getting started
assigning transaction properties 21 TN3270E 38

webMethods Mainframe Developer’s Guide Version 6.5 173


Index

Host Port property L


CICS Publish 37 Live 3270
CICS Sockets 37 AID keys 116
ECI TCP 38 automatic capture 108
host connection pools 27 capture toolbar 117
TN3270E 38 changing host connection pools 115
Host Program Name property, transaction services 70 creating a session 107
Host Transaction is Conversational property, transaction services host connection pool administration 118
69 manual capture 110
Host Transaction Name property, transaction services 70
modifying transactions during capture 119
Host Type default options 143 moving the cursor 118
Host Type property
overview 104
host connection pools 28
preparing for 105
transaction services 68 procedure for capturing 105
Host Types 43
screen versus transaction 104
HostPool Name property, transaction services 68
status bar 115
toolbar 113
I toolbar icons 113
icons Live 3270 tab options
host connection pool status 41 capture all fields as output 154
Live 3270 toolbar 113 capture mode 155
LU2 Screen Target tab 92 color information 152
transaction group service status 132 font information, Live 3270 tab 153
transaction service status 76 output debug field 155
IMS Client Name property, host connection pools 28 Local LU Name property
IMS Connect 74 APPC 35
IMS LU0 Host Type, session information 38 CICS DPL 36
IMS LU2 Host Type, session information 38 Local TP Name property
Input Data Source property, Input or Output tab 55, 56 APPC 35
Input tab 50 CICS DPL 36
Int 16 Big data type 52 Lock Timeout property, host connection pools 28
Int 16 Little data type 52 Logical Unit of Work (LUW) 122
Int 32 Big data type 52 LU 2 keywords 160
Int 32 Little data type 52 LU2 Screen Target tab
changing field types in 93
J deleting fields from 93
Justification property, Input or Output tab 55 dragging to 87
icons 92
K options 145
color information 145
keywords, 3270 160
font information 147
kinds of transaction source files 94
static field borders 146
performing actions in 93

174 webMethods Mainframe Developer’s Guide Version 6.5


Index

toolbar 92 O
using the 91 OCCURS clause
BMS 95
M COBOL 62, 96
manual OCCURS DEPENDS property, records 61
capture for Live 3270 110 offsets, calculating 65
conversion of transaction source files 83 opening webMethods Mainframe Administrator from Live 3270
Maximum Record Count property, records 61 118
message format service, see MFS files options
MFS files capture all fields as output, Live 3270 tab 154
file naming conventions 96 capture mode, Live 3270 tab 155
FMT section 95 COBOL REDEFINES clause 140
FMT, dragging from 99 code page 149
MID section 96 color information, Live 3270 tab 152
MOD section 96 color information, LU2 Screen Target tab 145
MSG, dragging from 100 custom code page 150
protected section 96 default Host Type 143
static section 96 field fill value 148
structure of 95 field justification 148
unprotected section 96 field naming conventions, Live 3270 tab 158
MID section, MFS 96 field naming conventions, LU2 Screen Target tab 142
Minimum Field Size property, Input or Output tab 56 font information, Live 3270 tab 153
Minimum Record Count property, records 61 font information, LU2 Screen Target tab 147
Mirror Transaction property, CICS DPL 36 LU2 Screen Target 145
MOD section, MFS 96 making input or output fields optional 141
Mode Name property output debug field, Live 3270 tab 155
APPC 36 static field borders 146
CICS DPL 36 string handling 147
Model Type property transaction prefix, Live 3270 tab 157
CICS LU2 36 transaction source file conversion 140
IMS LU2 38 transaction source file logging 144
TN3270E 38 output debug field option, Live 3270 tab 155
transaction services 69 Output tab 50
model types (3270 terminal) 39 overview
modifying host connection pools 24
columns in a field 50 Live 3270 104
field properties 54 source file conversion 80
multiple fields 57 transaction services 46
sessions 32
transactions during live 3270 capture 119 P
packed decimal data type 53
N packed decimal signed data type 53
Name property, Session Properties tab 34 Padding property, Input or Output tab 55

webMethods Mainframe Developer’s Guide Version 6.5 175


Index

parallel transactions 128 CICS DPL 36


Pass Ticket property Remote TP Name property
host connection pools 28 transaction services 68, 69
transaction services 70 Restart on Session Outage option, host connection pools 28
Password property Restart option, Session Properties tab 34
host connection pools 28 Restart Session on Transaction Error option, host connection
Session Properties tab 34 pool Properties tab 31
populating columns in a field 50 Restart Session on Transaction Error option, host connection
Preformat Screen property, transaction services 69 pools 28
preparing for Live 3270 capture 105 Restart Timeout property, host connection pools 29
Primary Code Page property, host connection pools 28 Retry Connection Count property, host connection pools 29
program code conventions in this document 9 Retry Timeout property, host connection pools 29
properties
host connection pool 27 S
transaction services 67 screen attribute data type 53
Properties tab screen delay in Live 3270 tab 153
host connection pool 26 Secondary Code Page property, host connection pools 29
transaction services 67 selecting fields, live 3270 capture 120
protected section send-receive model for APPC and DPL 66
BMS 94 Session Properties tab 32
MFS 96 sessions
Publish Config Name property, CICS Publish 37 creating and modifying 32
Publish Service Name property, transaction services 69 defining (general) 32
publishable transaction, developing a 136 defining (specific to Host Type) 35
Publishing Method property, host connection pools 28 hiding columns in a 34
information summary (general) 34
R information summary by Host Type 35
Record Counter Field Name property, records 61 setting extended attribute byte in 39
record counter field name, defining 64 setting
Record Counter Field property, records 64 color options for the Live 3270 tab 152
Record data type 52 default Host Type for source file conversion 143
records field fill values, Live 3270 156
columns in 61 static values for live 3270 capture 121
configuring 58 Sign on in ASCII property
properties CICS Publish 37
Maximum Record Count 61 CICS Sockets 37
Minimum Record Count 61 sorting fields in the Tree Target tab 90
OCCURS DEPENDS 61 source-target pairs 97
Record Counter Field 64 Standard Exit option, host connection pools 29
Record Counter Field Name 61 Standard Sign Off option, host connection pools 29
properties, summary of 61 Standard Sign On option, host connection pools 29
Remote LU Name property Start Type property
APPC 35 CICS LU2 36

176 webMethods Mainframe Developer’s Guide Version 6.5


Index

CICS LUO 36 host connection pool 26


described 39 transaction services 67
IMS LU0 38 Session Properties 32
IMS LU2 38 Tree Target 89
TN3270E 38 TN3270E gateway properties 40
starting webMethods Developer 13 TN3270E Host Type, session information 38
Startup Sequence property, transaction services 69, 74 toolbar
static field borders options, LU2 Screen Target 146 capture, Live 3270 117
static section Live 3270 113
BMS 94 LU2 Screen Target tab 92
MFS 96 Transaction Buffer Size property, host connection pools 29
Static Value property, Input or Output tab 55 transaction group services
status adding transactions 130
host connection pool 40 creating manually 129
transaction service 75 deleting transactions 131
status bar, Live 3270 115 error handling for 132
string data type 52 exporting 133
string handling options 147 generating from XML files 129
structure status icons 132
BMS maps 94 Transaction Name property 74
COBOL Copybook 96 transaction services 70
MFS files 95 Transaction Pipe Name property, host connection pools 29
subscribing to a transaction service 138 transaction prefix, Live 3270 tab 157
subscriptions, flow service for 137 transaction services
summary associating with host connection pools 75
columns in a field 51 code pages 70
columns in a record 61 creating manually 46
field properties 55 data types 52
record properties 61 enabling and disabling 76
session information (general) 34 exporting 78
session information by Host Type 35 fields, adding and deleting 49
transaction service properties 67 fields, configuring 50
synclevel for APPC 74 fields, shifting up and down 50
Synclevel property, transaction services 68 generating from XML files 47
overview of 46
T properties, assigning 67
tab properties, summary of 67
Fields 49 status icons 76
Input 50 status of 75
Live 3270 113 uploading to webMethods Mainframe 77
LU2 Screen Target 91 validation errors 77
Output 50 transaction source files
Properties adding 84

webMethods Mainframe Developer’s Guide Version 6.5 177


Index

autoconversion 80 transaction services 77


conversion 140 variable field lengths, enabling 57
defined 80 viewing field properties in a 3270 transaction 122
deleting 85
kinds of 94 W
logging options 144 webMethods Developer
manual conversion 83 starting 13
Transaction Timeout property, transaction services 68 webMethods Developer, basic steps 12
transactions, parallel 128 webMethods Mainframe Administrator, opening in Live 3270 tab
Tree Target tab 118
changing field type 90
deleting fields from 90 X
dragging to 86
XML files
sorting fields in 90
generating host connection pools from 25
using the 89
generating transaction group services from 129
Trim Spaces property, Input or Output tab 55
generating transaction services from 47
troubleshooting information 9
Truncate Large Data, Input or Output tab 56
typographical conventions in this document 9 Z
zoned decimal unsigned data type 53
U zoned leading data type 53
zoned trailing data type 53
unprotected section
BMS 94
MFS 96
uploading
host connection pools 42
transaction services 77
Use ASCII for Transaction Code property
CICS Publish 37
CICS Sockets 37
Use Persistent Connection option, host connection pools 30
Use Persistent Sockets property, CICS Sockets 37
User ID property
host connection pools 30
Session Properties tab 34
transaction services 70

V
validating
host connection pool 40
transaction group services 132
validation errors
host connection pool 43

178 webMethods Mainframe Developer’s Guide Version 6.5

S-ar putea să vă placă și