Documente Academic
Documente Profesional
Documente Cultură
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.
Contents
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
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.
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.
Starting Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Defining a Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
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
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.
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.
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.
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.
Double-click the
host connection
pool...
...click the
Properties tab...
...assign properties
as needed.
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.
...modify the
columns in the
session...
...and modify
settings in the
bottom panel.
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.
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.
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.
Defining a transaction
Double-click the
transaction...
...modify the
columns in the
field...
...and modify
settings in the
bottom panel.
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.
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.
Double-click the
transaction...
...click the
Properties tab...
...assign properties
as needed.
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.
Host Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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...
4 Click OK.
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.
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.
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.
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.
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.
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.
Gateway
To change between enabled and disabled states, see “Enabling or Disabling Host
Connection Pools” on page 42.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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
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.
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.
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:
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.
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.
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.
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...
4 Click OK.
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
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.
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.
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.
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.
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.
To specify... Do this...
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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:
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)
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.
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.
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.
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.
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.
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.
To... Do this...
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:
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
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.
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.
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 properties are correct for the Host Type you have assigned to the host
connection pool
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:
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.
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.
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.
1 In the Navigation panel, check the transaction service icon to determine if validation
errors have occurred.
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.
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.
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:
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.
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:
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”.
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.
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
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.
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.
Tip! Any time you close a session, the content of transaction source files is lost from
memory
There are two methods for manual conversion from source files, as described in these
sections:
“Dragging to the Tree Target” next in this chapter
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 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
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.
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:
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.
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.
To select... Do this...
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.
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
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.
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.
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:
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.
For information about the various connection types, see “Host Types” on page 43.
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.
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.
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.
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.
* 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.
* 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.
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.
4 Use Auto or Manual mode to go through the terminal session for which you want to
capture transactions:
5 If necessary, use the other editor tabs to modify individual transaction services
created in the Live 3270 tab.
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.
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:
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.
Note: Before you create a live 3270 session, you need to have a host connection pool with
an LU 2 or TN3270E Host Type.
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.
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).
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.
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.
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.
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 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).
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.
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.
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:
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.
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.
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:
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:
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.
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.
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.
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 Fields
You can select fields in the Live 3270 tab using these actions:
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.
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:
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.
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.
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:
If necessary, you can manually add a field containing an LUW count to an existing
transaction.
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).
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:
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.
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.
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.
1 In the Navigation panel, double-click the mainframe transaction group service for
which you want to add transaction services.
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...
5 Click OK.
6 On the File menu, click Save.
You can delete transaction services from a mainframe transaction group as needed.
1 In the Navigation panel, double-click the mainframe transaction group service for
which you want to delete transaction services.
To select... Do this...
When Developer creates a group flow service, it places error flags at multiple levels:
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.
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.
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.
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.
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
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.
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.
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.
To specify that all input or output fields be made either required or optional
To... Do this...
5 To control the behavior for output files, in the Output Data Source of the Conversion
panel:
To... Do this...
6 Click OK.
To change prefixes for input and output field names during source file conversion
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.
To set the default Host Type for each type of source file during source file conversion
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.
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
5 Click OK.
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
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:
7 Click OK.
To change whether static field borders are displayed in the LU2 Screen Target tab
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.
To change font name and size in the LU2 Screen Target tab
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.
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.
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.
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:
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.
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
7 Click OK.
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.
To change the screen delay time for the Live 3270 tab
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.
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.
To add a DEBUG_Screen field to capture the entire output from a 3270 transaction
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:
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.
To set field fill values sent to the mainframe during live 3270 capture
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.
To change the prefix for transaction names during live 3270 capture
To change the naming conventions for input and output field names during live 3270 capture
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.
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
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
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.
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.
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.
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.
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
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
V
validating
host connection pool 40
transaction group services 132
validation errors
host connection pool 43