Jul 15 IMS V10 Migration Education CMA01 Internet Class
Jul 15 IMS V10 Migration Education CMA01 Internet Class
cover
Front cover
Student Notebook
ERC 1.0
Student Notebook
Trademarks
IBM® is a registered trademark of International Business Machines Corporation.
The following are trademarks of International Business Machines Corporation in the United
States, or other countries, or both:
AIX® CICS® DB2®
DFS™ DFSMS™ DFSMSdfp™
DFSMSdss™ DS8000™ Enterprise Storage Server®
FlashCopy® IMS™ MVS™
Parallel Sysplex® ProductPac® RACF®
RAMAC® Rational® REXX™
RMF™ SP™ SystemPac®
System z9® TotalStorage® Virtualization Engine™
VTAM® WebSphere® z9™
z/OS® zSeries®
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the
United States, other countries, or both.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other
countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
The information contained in this document has not been submitted to any formal IBM test and is distributed on an “as is” basis without
any warranty either express or implied. The use of this information or the implementation of any of these techniques is a customer
responsibility and depends on the customer’s ability to evaluate and integrate them into the customer’s operational environment. While
each item may have been reviewed by IBM for accuracy in a specific situation, there is no guarantee that the same or similar results will
result elsewhere. Customers attempting to adapt these techniques to their own environments do so at their own risk.
© Copyright International Business Machines Corporation 2007, 2008. All rights reserved.
This document may not be reproduced in whole or in part without the prior written permission of IBM.
Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions
set forth in GSA ADP Schedule Contract with IBM Corp.
V5.1
Student Notebook
TOC Contents
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Local LU … . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-54
Local LU Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-55
Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-56
Removal of BTAM Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-57
Highlights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-58
An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-60
Migration Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-61
Bibliography. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X-1
TMK Trademarks
The reader should recognize that the following terms, which appear in the content of this
training document, are official trademarks of IBM or other companies:
IBM® is a registered trademark of International Business Machines Corporation.
The following are trademarks of International Business Machines Corporation in the United
States, or other countries, or both:
AIX® CICS® DB2®
DFS™ DFSMS™ DFSMSdfp™
DFSMSdss™ DS8000™ Enterprise Storage Server®
FlashCopy® IMS™ MVS™
Parallel Sysplex® ProductPac® RACF®
RAMAC® Rational® REXX™
RMF™ SP™ SystemPac®
System z9® TotalStorage® Virtualization Engine™
VTAM® WebSphere® z9™
z/OS® zSeries®
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the
United States, other countries, or both.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other
countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
Duration: 3 days
Purpose
This course describes the enhancements to IMS Version 10.
Audience
The audience for this class includes IMS Systems Programmers,
Database Adminstrators, and IMS Applications Programmers.
Prerequisites
A knowledge of IMS is assumed throughout the class.
pref Agenda
Day 1
Welcome
Unit 1 - System Enhancements
Unit 2 - Dynamic Resource Definition (DRD)
Day 2
Unit 3 - System Management Enhancements
Unit 4 - Managing Resources
Unit 5 - Operations Enhancements
Unit 6 - Online Change Enhancements
Unit 7 - Security
Unit 8 - Transaction Manager Enhancements
Unit 9 - Database Enhancements
Unit 10 - Fast Path Enhancements
Unit 11 - Connectivity Enhancements
Day 3
Unit 12 - IMS Integration Suite Enhancements
Unit 13 - DBRC Enhancements
Unit 14 - Installation and Migration
© Copyright IBM Corp. 2007, 2008 Unit 1. IMS Version 10 Enhancements 1-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Overview
Notes:
Uempty
IMS V10 IMS Version 10
Class Agenda
z Day 1
1. Overview
Class contents, prerequisites, and migration/coexistence highlights
2. System Enhancements
System definition and execution parameters
Enhanced Display of System Parameters
VSCR
Sysplex serial program management
Log record statistics
Large sequential data sets
System utilities
BPE external trace
ABEND search and notification
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 1. IMS Version 10 Enhancements 1-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Class Agenda
z Day 1 (continued)
3. Dynamic Resource Definition (DRD)
4. System Management Enhancements
IMSplex-wide parameter support
Global status support for DBs, PGMs, and TRANs
Type-2 commands
Secondary master terminal
5. Manage Resources
ISPF application for use with DRD
Notes:
Uempty
IMS V10 IMS Version 10
Class Agenda
z Day 1 (continued)
6. Operations Enhancements
Operations Manager (OM) enhancements
SPOC and REXX enhancements
7. Online Change enhancements
ACBLIB member online change
Online Change commit enhancement
8. Security
Mixed-case Passwords
Auditing
Conversations
SMU Removal
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 1. IMS Version 10 Enhancements 1-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Class Agenda
z Day 2
9. Transaction Manager Enhancements
MSC
APPC
Removal of BTAM support
10. Database Enhancements
Database Utilities
Fuzzy User Image Copy support
11. Fast Path Enhancements
Commands
Shared VSO
Capacity
EMH
Notes:
Uempty
IMS V10 IMS Version 10
Class Agenda
z Day 2 (continued)
12. Connectivity Enhancements
OTMA
IMS Connect
13. Integration Suite enhancements
IMS TM Resource Adapter
• IMS Connector for Java
IMS SOAP Gateway
IMS MFS Web Support
IMS DB Resource Adapter
• IMS JDBC Connector
IMS DLIModel utility
IMS XML DB
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 1. IMS Version 10 Enhancements 1-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Class Agenda
z Day 2 (continued)
14. DBRC enhancements
Timestamp precision
RECON READONLY support
API enhancements
Parallel RECON Access
RECON migration and coexistence
15. Installation and Migration
Packaging, Prerequisites, and Coexistence
Library Changes
IVP enhancements
Syntax Checker enhancements
KBLA Coexistence
Installation and Migration tasks
Review of migration considerations previously covered
8
Notes:
Uempty
IMS V10 IMS Version 10
Software Prerequisites
z Minimum software level prerequisites
z/OS V1R7 (5694-A01)
RACF, or equivalent, if security is used
High Level Assembler Toolkit (5696-234)
IRLM 2.2, if IRLM is used
Notes:
The minimum level of z/OS for IMS V10 is z/OS V1R7. In addition to z/OS the user must
install RACF, or an equivalent security product, in order to use security with IMS V10. As
with previous IMS releases, the High Level Assembler Toolkit is required to provide
assembler macros that IMS uses. If the IRLM is used, IRLM 2.2 is required. Program
Isolation (PI) is also supported with IMS V10. IRLM is required for block level data sharing.
z/OS V1.7 runs on the following IBM System z9 and zSeries servers or equivalents:
- z9-109
- z900
- z990
- z800
- z890
z/OS V1R8 is required if the fast replication function of Image Copy 2 and the Database
Recovery utility are used.
© Copyright IBM Corp. 2007, 2008 Unit 1. IMS Version 10 Enhancements 1-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
DBRC Parallel RECON Access requires z/OS DFSMStvs which is a separately orderable
feature of z/OS V1R7 or z/OS V1R8.
Uempty
IMS V10 IMS Version 10
z IMS V8
Upgrade RECONs from IMS V8 to V10
Databases are compatible
Application programs are compatible
10
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 1. IMS Version 10 Enhancements 1-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
System Enhancements
z System Definition and Execution Parameter Changes
z Enhanced Display of System Parameters
z Virtual Storage Constraint Relief
z Sysplex Serial Program Management
z Enhanced Log Record Statistics
z Large Sequential Data Set Support
z System Utilities Enhancements
z BPE External Trace
z Abend Search and Notification
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
This section covers changes to IMS system definition and execution parameters that affect
functions available in previous releases. Definition and execution changes for new
functions are discussed where the new functions are explained.
Transaction Scheduling
z SCHD= parameter on system definition TRANSACT macro is ignored
z Only one scheduling option is used in IMS V10
SCHD=3 option is always used
When the transaction defined on the TRANSACT macro cannot be
scheduled for "internal reasons", any transaction in the selected class
may be scheduled. If no more transactions for this class exist, IMS
schedules transaction in next eligible class.
• "Internal reasons" are database intent or no more space in PSB pool or DMB
pool to bring in needed blocks
SCHD=1 was the default in previous releases
When the transaction defined on the TRANSACT macro cannot be
scheduled for internal reasons, only transaction of equal or higher priority
in the selected class may be scheduled. If five intent failures occur within
a class, transactions in the next class are attempted
Notes:
In previous release of IMS, the SCHD= parameter on the system definition TRANSACT
macro specified the scheduling option used when the transaction defined on the
TRANSACT macro could not be scheduled for internal reasons (database intent or no
more space in PSB pool or DMB pool to bring in needed blocks). IMS V10 always uses
the SCHD=3 option. The default in previous releases was SCHD=1.
SCHD=1 specified that only transactions of equal or higher priority in the selected class
would be scheduled. Five consecutive intent conflicts are allowed within a class before
IMS starts scheduling the next eligible class.
SCHD=3 specified that any transaction in the selected class could be scheduled. IMS
starts scheduling the next eligible class after attempting to schedule all the transactions
in the current class
Two other options were available in previous releases.
SCHD=2 specified that only higher-priority transactions in the selected class could be
scheduled.
Uempty SCHD=4 specified that IMS should skip to the next class and attempt to schedule the
highest-priority transaction in that class.
Scheduling failures for the "internal reasons" should be rare. Intent conflicts only occur
when PROCOPTs with the E (exclusive) option are used. The PSB and DMB pools
should always be large enough to hold the currently required PSBs and DMBs.
Notes:
IMS V10 has simplified the implementation of Fast Path. It does not have to specified at
system definition time. The FPCTRL system definition macro is ignored. In previous
releases it was required to enable Fast Path capabilities. It also was used to specify the
default values for some Fast Path parameters. Fast Path capabilities are always generated
for DB/DC and DBCTL systems. They are enabled by a parameter at execution time.
You must specify FP=Y at execution time for an online system to enable Fast Path
capabilities in IMS V10. The default for the parameter is FP=N. Since defaults for Fast
Path parameters cannot be specified at system definition time, they should be specified at
execution time. These parameters are DBBF=, DBFX=, BSIZ=, and OTHR=. The default
values for these parameters are the same as the default values for the FPCTRL macro in
previous releases. These are:
DBBF=10, DBFX=4, BSIZ=2048, and OTHR=2
These values are highly unlikely to be appropriate for most Fast Path users.
Uempty When an FPCTRL macro is included in the system definition input, the following message
is issued:
G1010 THE FPCTRL MACRO IS NO LONGER SUPPORTED.
THE KEYWORD PARAMETERS WILL BE IGNORED.
PLEASE USE THE EQUIVALENT EXECUTION
PARAMETER TO SPECIFY VALUES THAT WERE
CODED IN THIS MACRO.
Notes:
IMS V10 has a new PROCLIB member which is used to consolidate execution definitions
which otherwise might be in several PROCLIB members. The DFSDFxxx member may be
used to define parameters for several components of IMS.
DFSDFxxx eliminates the need to use a DFSSQxxx member for shared queues
parameters or a DFSCGxxx member for CSL parameters. Instead, these parameters may
be specified in the DFSDFxxx member. If a parameter is specified in both members, the
values specified in DFSSQxxx and DFSCGxxx override those specified in DFSDFxxx.
DFSDFxxx is required to specify some IMS parameters. These are explained later.
The DFSDFxxx member used by IMS is specified in the DFSDF= execution parameter.
.
Uempty
IMS V10 IMS Version 10
Notes:
The DFSDFxxx member has up to five sections of definitions. Each section begins with a
section identification statement. These statements are shown on the slide.
Dynamic resource definition parameters are defined only in DFSDFxxx. They are in the
DYNAMIC_RESOURCES and COMMON-SERVICE_LAYER sections.
Shared queues parameters may be defined in the SHARED_QUEUES section.
CSL parameters may be defined in the COMMON_SERVICE_LAYER section.
Some diagnostic and statistics parameters are defined in DFSDFxxx. These are defined in
the DIAGNOSTICS_STATISTICS section.
IMS Version 10 includes an IMS restart user exit capability. These exits are specified in the
USER_EXITS section. They are called at the beginning and end of IMS restarts. Restart
exits are called during all types of IMS restart. An exit routine is passed a function code and
a code that indicates the type of restart that is being done. Multiple routines can be defined.
The routines are called in the order that they are listed in the EXITDEF parameter. If an exit
is defined multiple times, it is called multiple times. The form of the specification is:
EXITDEF=(TYPE=RESTART,EXITS=(exitname))
Uempty
IMS V10 IMS Version 10
Notes:
The DIAGNOSTICS_STATISTICS section includes a capability to suppress some DFS826I
and DFS830I messages. There messages are issued by IMS restart to indicate that DBDs
and PSBs which are defined in the system do not have members in ACBLIB. These
messages are suppressed with the following statements:
MSG0826=SUPPBLDL and MSG0830=SUPPBLDL.
If the DBD messages are not suppressed, there is one message for each DBD for which
the BLDL failed. Its form is: DFS826I BLDL FAILED FOR FOLLOWING DBD This is
followed by a message which includes a count of the number of DBD BLDL failures. Its
form is: DFS826I xxx DBD ERRORS SENT TO JOB LOG
If the DBD messages are suppressed, the following message is issued: DFS826I xxx DBD
ERRORS SUPPRESSED This includes the count of the messages suppressed.
If the PSB messages are not suppressed, there is one message for each PSB for which the
BLDL failed. Its form is: DFS830I BLDL FAILED FOR FOLLOWING PSB This is followed
by a message which includes a count of the number of DBD BLDL failures. Its form is:
DFS830I xxx PSB ERRORS SENT TO JOB LOG
If the PSB messages are suppressed, the following message is issued: DFS830I xxx PSB
ERRORS SUPPRESSED This includes the count of the messages suppressed.
IMS Version 10 includes an IMS restart user exit capability. These exits are specified in the
USER_EXITS section. They are called at the beginning and end of IMS restarts. Restart
exits are called during all types of IMS restart. An exit routine is passed a function code and
a code that indicates the type of restart that is being done. Multiple routines can be defined.
The routines are called in the order that they are listed in the EXITDEF parameter. If an exit
is defined multiple times, it is called multiple times. The form of the specification is:
EXITDEF=(TYPE=RESTART,EXITS=(exitname1.exitname2,…))
Uempty
IMS V10 IMS Version 10
Notes:
This is an example of a DFSDFxxx member. It includes parameters for DRD, traces,
transaction level statistics, abend search and notification, shared queues, and CSL.
The meanings of the parameters other that those for shared queues and CSL are
explained elsewhere in this class. Shared queues and CSL parameters have the same
meaning as they had in the DFSSQxxx and DFSCGxxx members for previous releases.
Enhanced Display of
System Parameters
10
Notes:
Uempty
IMS V10 IMS Version 10
DFS1929I * IMS SYSTEM PARAMETERS ACTIVE FOR THIS V10.1 DBDC EXECUTION:
DFS1929I * ALOT = 1440 *SYS3
DFS1929I * AOIP = 2147483647 *SYS3
DFS1929I * AOIS = N *SYS3
…
11
Notes:
IMS issues message DFS1929I to list the IMS system parameters. Since the message is
issued early in the initialization process, the values displayed reflect those provided during
system generation or overridden through startup parameters. Every parameter is shown.
If a value has not been provided by the user then the default, if one exists, is displayed.
The values shown, however, might not reflect the actual values that are used during online
execution. The discrepancy between the actual and requested values may be minor, but in
some situations it can be large. IMS V10 continues to issue the DFS1929I message early
in initialization, for compatibility, but issues it once again after restart is complete and the
log has been read so that the values displayed reflect the actual values in effect for the IMS
execution.
The DFS1929I message has been enhanced to include the IMS Control Region type along
with the IMS Version number. The remainder of the message is compatible with the format
of previous releases. The first form of the message that is printed during IMS initialization
contains all the IMS parameters with user-specified or default values.
The second DFS1929I message which is produced after the log has been read has been
enhanced to list:
• Only the parameters that are applicable to the control region type.
• Only the parameters associated with active components. For example, Fast Path
parameters will be shown only if activated. Prior releases always displayed the
parameters regardless of whether or not Fast Path was enabled. The new IMS V10
parameter FP=Y | N will always be displayed.
• Actual values that will be used during execution. For example, the CPLOG value
displayed in the first DFS1929I message during initialization might not be valid after a
warm or emergency restart because its value was changed by a command. As a result,
the value in the first DFS1929I message does not help in diagnosing problems. The
problem encompasses other parameters such as APPC, APPCSE, OTMA, OTMASE,
etc., which can also be changed by command and are recoverable during an IMS
restart. The actual values, therefore, are provided in the second DFS1929I message
after restart is complete.
Uempty
IMS V10 IMS Version 10
z Benefits
Assists in determining the actual parameters values for optimal
configurations and optimal user response times
Provides an accurate audit list of execution parameters
12
Notes:
When migrating to IMS V10, user-written routines or procedures that look for the DFS1929I
message should recognize the header format change to include the IMS version and
Control Region type. Additionally, these routines should be modified to recognize that
there are two versions of the message.
13
Notes:
Uempty
IMS V10 IMS Version 10
VSCR - Savings
z CSA to ECSA
DFSEPB (module with multiple entry point addresses)
Few hundred bytes are automatically moved
About 50K of other modules
z PVT to EPVT for ODBA and CCTL users
AMODE 31 option for DIRCA control blocks
Must be requested to take effect
DIRCA contains the application copy of the PCBs
Each ODBA or CCTL address space can have multiple threads
• Each thread has its own DIRCA storage
Savings are dependent on the installation
DIRCA size * number of threads
ACBGEN output message DFS689I assists in estimating DIRCA size
14
Notes:
The DFSEPB (Entry Point Block) was introduced in IMS V9 to keep track of entry points of
CSECTs of large composite modules that needed to be divided into smaller modules. The
movement of this storage from CSA to ECSA saves a few hundred bytes in IMS V10. In
addition, a few other modules have been moved from CSA to ECSA. These modules total
about 50K bytes.
A more substantial impact is that of potential DIRCA (Dependent Region Interregion
Communication Area) storage movement above the line for ODBA and CCTL address
spaces. The savings are installation dependent and must be requested for the environment
to take advantage of the capability. Each thread from the ODBA/CCTL address space has
its own DIRCA and each DIRCA contains the application’s copy of the PCBs. This
enhancement provides a benefit for those environments, such as CICS, that need to use
larger PSBs and more concurrent threads without impacting storage usage below the
16MB line.
DIRCA
z DIRCA VSCR Implementation
Reassembly of DFSPZPxx
Not required if defaulting to 24 bit storage for the DIRCA
15
Notes:
The DFSPRP macro provides the definition for the DRA parameters when building the
DRA startup table. A new parameter PCBLOC provides the option of defining whether the
DIRCA is to be built using 24-bit or 31-bit storage. Note that a specification of 31 also
requires that the applications actually support AMODE 31 and 31-bit PCB addresses.
CICS has added support so that it checks for the use of AMODE=31 by applications when
PCBLOC=31 is specified. The application will abend with a new CICS abend code ADCF
during schedule of the PSB if it is AMODE=24 and PCBLOC=31 is in effect. This support is
added by APARS PK54099 for CICS TS 2.2 and CICS TS 2.3, and PK54100 for CICS TS
3.1 and CICS TS 3.2.
When a CCTL connector starts up, the DRA INIT call can be used to override the PCBLOC
specification in the DRA startup table. A new parameter, PPLLPSO, allows specification of
31 or 24. Other values are ignored and the startup defaults to the value specified in the
startup table.
Uempty
IMS V10 IMS Version 10
Benefits
z DFSEPB
Moves storage from CSA without user action
z DIRCA
Supports requirement for larger PSBs and greater number of concurrent
threads from CCTL/ODBA applications
Opportunity to move the line between CSA and Private for the LPAR
Applications (instances of CICS, ODBA, etc.) that are causing the
constraint will need to request the 31-bit DIRCA
Before
Before After
DIRCA After
16M
DIRCA CSA
Private
CICS1 PCBLOC=24 CICS2 PCBLOC=31
16
Notes:
The DFSEPB module is automatically moved above the line from CSA to ECSA.
The DIRCA is moved above the 16MB line from private to extended private. This provides
two benefits. First, PSBs may be larger. Second, the CICS or ODBA address space
private area does not have to be as large, so the line between private and CSA may be
lower. This provides more room in CSA.
17
Notes:
Uempty
IMS V10 IMS Version 10
18
Notes:
IMS Version 10 has enhanced the support for serialization of programs that are defined as
SCHDTYP=SERIAL to be across all the members of an IMSplex, rather than just within a
single IMS when using Shared Queues. This serialization is only done in systems using
shared queues and a Resource Manager with a Resource Manager structure.
IMS V10 will ensure that SCHDTYP=SERIAL programs will be scheduled in only one IMS
dependent region (MPR, JMP, IFP, message-driven BMP, non-message driven BMP, JBP)
across an entire IMSplex with Shared Queues at a time.
CICS and ODBA are not supported for SSPM. SCHDTYP=SERIAL may be specified for
an APPLCTN used by CICS or ODBA. As in previous releases, this will serialize the
scheduling of the PSB by CICS, ODBA, and IMS TM within an IMS system. On the other
hand, the serialization across multiple IMS systems will only be enforced for IMS TM
regions including MPPs, IFPs, JMPs, BMPs, and JBPs.
SCHDTYP=SERIAL is the default if not specified on the APPLCTN macro.
IMS will use the IMS Resource Manager (RM) component of the IMS Common Services
Layer (CSL) to provide this serialization.
SCHDTYP=SERIAL is specified on the APPLCTN macro or on the CREATE PGM
SCHDTYPE(SERIAL) command when using DRD. This should not be confused with the
SERIAL=YES parameter on the TRANSACT macro. SCHDTYP=SERIAL for APPLCTN
limits the scheduling of a PSB. SERIAL=YES for TRANSACT limits the scheduling of a
transaction. The meaning and enforcement of SERIAL=YES on the TRANSACT macro is
not changed in IMS Version 10.
Uempty
IMS V10 IMS Version 10
19
Notes:
IMS Version 10 will determine if a SCHDTYP=SERIAL program is already scheduled by
interacting with the IMS Resource Manager and its resource structure. IMS uses RM to
attempt to create the program resource in the resource structure.
If the program resource does not exist in the resource structure, that means no other copy
of this program is scheduled at this time. Therefore, this scheduling can continue. A
program record for this program will be created in the resource structure. For MPRs, JMPs,
and IFPs, the program resource remains active in the resource structure until the PSB is
unscheduled. For BMPs and JBPs, the program resource will be deleted when the batch
message processing program terminates.
If the serial program is already scheduled on another IMS, the program resource already
exists in RM and the attempt to create the program resource in RM fails. Therefore, this
attempt to schedule what would be the second copy of the serial program will fail. For
MPRs and JMPs, the dependent region will be available to schedule the next eligible
program. The message that got the scheduling failure will remain on the shared queues
(was never taken off) and will hopefully be picked up by the currently scheduled program.
BMPs, JMPs, and IFPs will get a U457 abend when scheduling finds the program is
already scheduled as they would have before in previous versions within a single IMS
versus in IMS V10 this abend would be on another IMS in the IMSplex.
Uempty
IMS V10 IMS Version 10
20
Notes:
The program record in the RM structure is deleted when the program terminates. It the
program ABENDs, backout will delete the program record.
After a scheduling attempt fails due to this serialization, the IMS system will not attempt to
schedule the PSB again until it receives a notification. This can occur in two ways. It may
occur due to the queue going from an empty to a non-empty state. It may occur due to an
SCI notification which is sent when the serial program is terminated.
21
Notes:
Uempty
IMS V10 IMS Version 10
22
Notes:
23
Notes:
Enhanced statistics are written in several IMS log records. This includes a new 56FA log
record which records statistics for individual transactions, not just for executions of
programs or schedulings of PSBs. When chosen it is written for each commit for
transactions defined as MODE=SNGL and for non-message driven BMPs and JBPs. For
transactions defined as MODE=MULT the log record is written for each message. This
record includes all of the statistics which were written to the 07 log records in previous
releases. This includes CPU time and call counts. In addition, there are also new statistics
which are shown on the next page.
Additional information has been added to the application start accounting log record (08),
the application termination accounting log record (07), and the CPI-C driven transaction
termination log record (0A07).
Uempty
IMS V10 IMS Version 10
24
Notes:
The additional fields in the x’56FA’ log record include read counts and write counts for both
VSAM and OSAM database data sets. There are counts of External Subsystem Attach
Facility calls. There are typically calls to DB2, but they also may be for MQ or another
subsystem. The CPU time for the transaction is written in time of day (TOD) format. The
statistics include the total elapsed time for database I/Os and the total elapsed time for
waits for locks. These two elapsed times were previously available in the x’07’ log records
for DBCTL threads. It was not available for IMS TM except in IMS Monitor trace records.
The x’56FA’ log record is mapped by the DFSETPCP macro.
The x’56FA’ log record is approximately 528 bytes. It is written for every transaction and for
every commit for non-message driven programs for those transactions and programs with
the option. If you choose to use this option, you can easily estimate its effect on logging
volumes. The increase in logging may be noticeable, but most IMS systems will easily
handle this increase.
25
Notes:
Transaction level statistics log records are optional. The TRANSTAT specification in the
diagnostic statistics section of the DFSDFxxx PROCLIB member determines the default
setting for all transactions and non-message driven programs. TRANSTAT=N is the
default. TRANSTAT=Y causes the log records to be written. The setting in this member
may be overridden for individual transactions and non-message driven programs by using
commands.
There are two commands that may be used to set transaction level statistics for
transactions and non-message driven programs.
The UPDATE command can be used to change the current setting of transaction level
statistics for any of the entities.
The CREATE command includes the SET(TRANSTAT(Y|N)) parameter for setting
transaction level statistics on or off when creating a new transaction, transaction descriptor,
program, or program descriptor. It defaults to the setting in the descriptor or the
transaction or program specified in the LIKE parameter.
Uempty There is also a QUERY command that may be used to show the current setting for a
transaction (TRAN), transaction descriptor (TRANDESC), program (PGM), or program
descriptor (PGMDESC).
Notes:
The application termination accounting log record (x’07’) has been enhanced. The
DLRFALSE bit in the DLRFLAG2 byte indicates that the scheduling of the transaction was
false in a shared queues environment. The DLREXTIM field contains the CPU time for
the program in time of day (TOD) format. The DLRTMEIO and DLRTMEPL fields are now
populated in all environments. Previously, only DBCTL threads caused these fields to be
populated. DLRTMEIO contains the total I/O time for database calls. DLRTMEPL contains
the total wait time for database locks. Additional fields have been added. These include
counts for VSAM and OSAM database data set reads and writes, ESAF calls, such as
those to DB2, and additional Fast Path call counts for FLD calls and POS calls. When an
abend occurs the abend reason code is included when available. The DLI call counts for
GU, GN. ISRT, etc. now include both full function and Fast Path database calls. The log
record is mapped by the DFSLOG07 macro. The offsets to some fields have changed from
previous releases.
The application start accounting log record (x’08’) is written for each scheduling of a
program. The statistics in the log record have been enhanced. Statistics about the
scheduling of the program were written for DBCTL threads in previous releases. IMS V10
Uempty writes these statistics for all programs, not just DBCTL threads. These statistics show the
time that scheduling waited due to intent conflicts as could occur when a PROCOPT
includes E, the time that scheduling waited due to a lack of pool space, such as in the PSB
pool, and the elapsed time of the scheduling process. Two new fields have been added.
They are LINTPGM which contains the program name and LINTPSB which contains the
PSB name. The program name and PSB name were previously available in the LINTSY1
and LINTSY2 fields, however, there were complicated rules governing the contents of
these two fields. LINTPGM and LINTPSB greatly simplify the discovery of the program
name and PSB name. LINTSY1 and LINTSY2 remain in IMS V10 and contain the same
contents as in previous releases. The log record is mapped by the DFSLOG08 macro.
The x’0A07’ log record is written when a CPI-C driven transaction terminates. It includes
accounting data similar to that in the x’07’ log records. IMS V10 has added the L0AEXT
field to the log record. It contains the CPU time in time of day (TOD) format. Previously,
this time was only available in timer units in the L0AETIM field in the log record. The log
record is mapped by the DFSLOG0A macro.
27
Notes:
IMS V10 provides enhanced performance and accounting information in its log records.
This can provide for granular information for accounting and charge out purposes. It also
provides more detailed information for understanding the performance of individual
transactions and programs. Some of the information in the log records was previously
available only when the IMS Monitor trace was on for IMS TM environments. It was then
processed by the IMS Monitor report program or the IMS Performance Analysis tool. IMS
V10 provides new options for obtaining this data.
Uempty
IMS V10 IMS Version 10
28
Notes:
29
Notes:
z/OS 1.7 added support for large sequential data sets on DASD. These data sets may
occupy more than 65,535 tracks on a single volume. Without this support, physical
sequential data sets (DSORG=PS) were restricted to 65,535 tracks on any volume.
Multi-volume data sets could have up to 65,535 tracks on each volume. The architectural
(theoretical) limit with large data set support is 16,777,215 tracks per volume. This is far
beyond the maximum number of tracks per volume that storage subsystems support.
IMS Version 10 adds support for large sequential data sets. This applies to GSAM/BSAM
and OSAM data sets. These include logs (OLDS and SLDS), trace data sets, message
queue data sets, GSAM files, and OSAM database data sets.
Uempty
IMS V10 IMS Version 10
GB = 1,073,741,824 bytes
z Benefits
May be used to avoid multiple volume data sets
May be used to create larger OLDS
30
Notes:
A data set may use large data set support only if if is allocated with DSNTYPE=LARGE
specified. That is, large data set support only applies to data sets that are created with this
specification. DSNTYPE=LARGE may be specified on the DD statement, a TSO/E
ALLOCATE statement, or an AMS ALLOCATE statement. For dynamic allocation (SVC
99) a DALDSNT text unit may be used to specify LARGE.
The following is an example of the use of a DD statement with DSNTYPE=LARGE
specified.
//ABCDEF DD DSN=IMS.ABC.XYZ,DSNTYPE=LARGE,
// UNIT=SYSDA,SPACE=(CYL,(4500,100)),
// DISP=(NEW,CATLG),VOL=SER=LRGVOL1
The table is provided to show which volume types may contain large format data sets.
3390-1, 3390-2, and 3390-3 have less than 65,535 tracks per volume. Large format data
sets may be defined on them, however, they cannot take advantage of the larger number of
tracks per volume. The table also shows the approximate capacity of a volume for certain
block sizes. This applies to 4K, 8K, 12K and 24K. Other block sizes may yield more or
less capacity due to the number of blocks which will fit on a track. For example, a 3390-9
will hold a 7.45 GB data set with a block size of 26K.
Large format data sets may be used for any log, trace data set, message queue data set,
GSAM/BSAM data set or OSAM database data set. They may be used to avoid the
requirement for multiple volumes for very large data sets. Since OLDS data sets must
reside on only one volume, large format data sets allow OLDS to be larger than previously
possible.
OSAM database data sets are limited to a maximum of 8 gigabytes. The large format data
set support does not change this limit.
Uempty
IMS V10 IMS Version 10
31
Notes:
32
Notes:
The Log Transaction Analysis utility (DFSILTA0) has several improvements.
In previous releases the utility could produce reports for systems connected by MSC. This
required that the user invoke the Log Merge utility to merge the logs from multiple systems
and use its output as input to the Log Transaction Analysis utility. The requirement to run
Log Merge has been eliminated. Logs from multiple IMS systems may be input to a single
execution of the utility. In previous releases the Log Transaction Analysis utility did not
support shared queues. This restriction has been eliminated. One execution of the utility
can process logs from multiple systems using shared queues.
When logs from multiple systems are input to the utility multiple LOGINxxx DD statements
are used. Any valid JCL characters may be used to replace “xxx” in the DD names. The
last character in “xxx” is used as the System ID in reports. When multiple log data sets
from one IMS system are inputs, they are concatenated under a single DD name.
In previous releases the utility did not report non-recoverable transactions, including APPC
messages. Support for reporting non-recoverable transactions has been added in IMS
V10.
Uempty The Log Transaction Analysis utility has an option to write the output report to an output log
data set, to a printer DD, or to both. In previous releases this was controlled by the OUT=
parm on the EXEC statement. Both outputs were produced unless the OUT= parameter
eliminated them. Possible values were OUT=NOREPORT, OUT=NOLOG, and
OUT=(NOREPORT,NOLOG). IMS V10 has eliminated this parm. If you do not want either
output just do not include its DD statement. PRINTER is used for the report and LOGOUT
is used for the output log data set. The need for the output log data set has been reduced
in IMS V10. In previous releases it was used to create a log for input to the Statistical
Analysis utility. This is available in IMS V10 but not required.
33
Notes:
The Statistical Analysis utility (DFSISTS0) has several improvements.
In previous releases the Statistical Analysis utility reports were created by a six step job
which included two sorts. The reports are now produced by a single step. This steps
invokes internal sorts.
Support for shared queues and MSC is comparable to that in the Log Transaction Analysis
utility for IMS V10. This includes the support for multiple LOGINxxx DD statements. When
logs from multiple systems are input to the utility multiple LOGINxxx DD statements are
used. Any valid JCL characters may be used to replace “xxx” in the DD names. When
multiple log data sets from one IMS system are inputs, they are concatenated under a
single DD name. The capability to specify multiple input logs eliminates the requirement to
use an output log from the Log Transaction Analysis utility when you want a report from
multiple IMS systems. In previous releases this was the way that log records from multiple
IMS systems were given to the Statistical Analysis utility.
Uempty In previous releases the utility did not report non-recoverable transactions, including APPC
messages. Support for reporting non-recoverable transactions has been added in IMS
V10.
The message select output order statement is a new utility control statement specified in
the SYSIN DD data set. The format of the message select output order statement is:
ORDER=CREATE|DEST|SOURCE
This statement determines the order in which the message select function lists or copies
messages. If CREATE is specified, the messages are ordered by the time of the first input
message. CREATE is the default. If SOURCE is specified, the messages are ordered by
the originating LTERM names. If DEST is specified, the messages are ordered by the
original destination. This is the original transaction unless it is a message switch.
34
Notes:
The JCL used in previous releases for the Log Transaction Utility can be used with IMS
V10. There is one slight incompatibility. Previously you could specify an OUT= parameter
on the EXEC statement. OUT=NOLOG specified that an output report should not be
written to the LOGOUT DD data set. OUT=NOREPORT specified that an output report
should not be written to the PRINTER DD data set. In IMS V10 if you do not want either of
these data sets do not include the DD statement for it. IMS V10 ignores the OUT=
parameter on the EXEC statement.
The Log Merge utility was used in previous releases to merge logs from different systems.
The output of Log Merge was used as input to the Log Transaction Analysis or Statistical
Analysis utilities. The Log Merge utility can be used with IMS V10, but it is not required.
Both analysis utilities can merge multiple logs as part of their processing.
The JCL used for the Statistical Analysis utilities in previous releases must be changed for
IMS V10. The actions needed to change the JCL are listed on the slide. The control
statements were specified in the SYSIN data set of the sixth step. The SYSIN data set is
now part of the first (and only) step. The LOGOUT DD in the old first step was used to pass
Uempty data to the following steps. Since only one step is used in IMS V10, the LOGOUT DD is no
longer used. The last five steps are no longer used, so their JCL should be eliminated.
Logs produced by IMS V8 and IMS V9 are not valid input to the IMS V10 Log Transaction
Analysis utility and the IMS V10 Statistical Analysis utility.
35
Notes:
The Log Transaction Analysis utility (DFSILTA0) and the Statistical Analysis utility
(DFSISTS0) enhancements provide several benefits. They now provide information for
shared queues systems and for non-recoverable transactions in any systems. Their
execution has been simplified in two ways. You can now feed logs from multiple systems
into both utilities without first merging the logs with the Log Merge utility. The Statistical
Analysis utility is now just a single step execution instead of multiple programs and sorts
executed in multiple steps. The Statistical Analysis utility has new reporting options that
provide you a choice in how the report lines are ordered. The simplification of execution
also provides improved performance since entire data sets are not written in each step and
passed to following steps.
Uempty
IMS V10 IMS Version 10
36
Notes:
BPE Highlights
z BPE Trace facilities enhancements
Ability to write trace tables to external storage as pages of trace entries are
filled
Commands to DISPLAY and UPDATE the trace table attributes and settings
IPCS support to format and print the trace entries
37
Notes:
The Base Primitive Environment (BPE) is a critical component of several IMS-related
components such as IMS Connect, the Common Queue Server, and several of the address
spaces introduced with the Common Service Layer. In prior releases, problem
determination using the BPE traces often required an increase in the number of trace
pages and a corresponding requirement to recreate the problem and capture an MVS
dump at the correct moment. This process increased the chance of multiple repeats,
thereby decreasing productivity and increasing the time to find problem resolution.
IMS V10 enhances the BPE Trace facilities to provide a means to write the trace tables to
external storage, Tape or DASD, as pages of trace entries are filled thereby increasing the
capacity associated with tracing. Additionally, commands are provided to display the trace
table attributes and update the trace level settings. To view data, trace formatting is
provided through IPCS exits and formatting routines.
Uempty
IMS V10 IMS Version 10
Implementation
z External data sets use Generation Data Groups (GDGs)
GDG name and other trace parameters are specified in the BPE
configuration PROCLIB member (e.g., BPECFGxx)
New parameter EXTTRACE, and
Existing TRCLEV parameter
• New EXTERNAL sub-parameter
Note: as in previous releases, each component can create a separate
BPE configuration member or share one
38
Notes:
The BPE external trace data sets are defined as GDGs and must be specified in the BPE
configuration member in PROCLIB. The primary tasks include the specification of new
values in BPECFGxx as well as creating the GDG definitions.
Both TRCLEV with EXTERNAL=YES and the EXTTRACE statement have to be defined for
external trace to start recording data. The existing TRCLEV statement is associated with a
particular trace table and has been enhanced with the EXTERNAL=YES/NO parameter
which specifies whether that trace table is to be externalized or not. The EXTTRACE
statement is for the data set definition options and is needed for the function to be
activated. If a user specifies, EXTERNAL=YES on a table and does not specify an
EXTTRACE statement, an error message is produced.
ÊÀ SPACE(space)ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÊ
ðÀSPACEUNIT( BLK )À«`ÀBLKSIZE(blksize)Àfl`ÀDATACLAS(dataclas)Àfl
â ð TRK « â
â ` CYL fl â
`ÀAVGREC( U )ÀÀÀÀÀÀfl
ð K «
` M fl
ÊÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ)ÀÊÍ
`ÀCOPYBUFS(copybufs)Àfl `ÀIOBUFS(iobufs)Àfl `ÀCOMP(ims_component)Àfl
39
Notes:
The EXTTRACE keyword definition is an enhancement to the BPECFGxx configuration
definition set. One EXTTRACE keyword can be specified for each IMS component running
with BPE. Alternatively, one EXTTRACE definition can be shared among multiple IMS
components. If the COMP specification is omitted, the associated keyword applies to all
components.
• GDGDEF(DSN(data_set_name),....) This is the name of the GDG data set. It does not
include the relative generation number in parentheses. It does not include the absolute
generation number. (For definition of absolute and relative generation number, refer
z/OS JCL Reference).
• Location: Choices include STORCLAS(class_name), or, (UNIT(unit_name) and
VOLSER(serial_number)
SPACE(space): specify number of units of space to be allocated for a data set
SPACEUNIT(BLK,TRK,CYL): quantity value of the SPACE operand as the number of
blocks, tracks or cylinders.
Uempty AVGREC(U | K | M), in SMS, determines the size of the dataset allocation. The following
are the valid values for AVGREC: (U - Use the primary space quantity specified on the
SPACE operand; K - Multiply the primary space quantity specified on the SPACE operand
by 1024 (1 K); M - Multiply the primary space quantity specified on the SPACE operand by
1,048,576 (1 M)).
• BLKSIZE(blksize): specifies the block size for the data set. The maximum allowable
decimal value for block size is 32760.
• DATACLAS(dataclas): specifies the data class for the data set .
• COPYBUFS - are the buffers that will be used to copy data (trace table entries) from
BPE tables. Data from these buffers are then copied into IOBUFS. The default value for
number of buffers is 15 with max value of 64,000.
• IOBUFS - are the buffers that will copy data into external trace data sets. Number of
IOBUFS defined by default is 2 and max value is 99.
• COMP(ims_component) - Specifies the IMS component to which the EXTTRACE
statement applies. Possible values are: (CQS, HWS, OM, RM, SCI).
40
Notes:
If COMP is not coded, then the EXTTRACE statement applies to all component address
space types that are using the BPE proclib member, and that do not have an EXTTRACE
statement with a specific COMP specified for their component type. For example, for a
BPE configuration PROCLIB member with the following statements:
EXTTRACE( GDGDEF( ... ) )
EXTTRACE( GDGDEF( ... ) COMP(CQS))
If a CQS address space were started, it would use the external trace definitions from the
second EXTTRACE statement. If any other type of address space were started, it would
use the external trace definition from the first EXTTRACE statement. Note that if you have
the EXTTRACE apply to more than one address space, you must use z/OS system
symbols in the data set name (DSN) for the GDG base name, to ensure that each data set
has a unique name. For example:
DSN(USRT001.&JOBNAME..GDG) and jobname=ICONEX then
DSN=USRT001.ICONEX.GDG.G0001V00
• EXTERNAL=YES/NO
- NO (the default) indicates that trace entries in the table are not to be
externalized.
- YES indicates that trace entries are to be externalized
Trace entries will only be written if external trace data sets have been
defined (EXTTRACE= parameter)
41
Notes:
The new EXTERNAL sub-parameter in the TRCLEV keyword definition provides the
specification of whether or not the trace entries are to be externalized.
Uempty
IMS V10 IMS Version 10
Commands
z BPE commands are invoked through the z/OS MODIFY command
TRACETABLE resource type - internal BPE trace tables managed by
BPE
IMS component using BPE
• IMS Connect, CQS, OM, RM, or SCI
42
Notes:
BPE commands are invoked through the z/OS MODIFY command.
The TRACETABLE resource type refers to the internal BPE-managed trace tables defined
either by BPE (for example: DISP, CBS, STG, LATC), or by the IMS component using BPE
(for example: IMS Connect, CQS, OM, RM, SCI).
Two command verbs operate on the TRACETABLE resource type: DISPLAY and UPDATE.
DISPLAY Command
z DISPLAY command
Existing command
Output is modified to show a new EXT column
• Indicates YES or NO to show the external trace is set on or off for a particular
trace table
Example
43
Notes:
The BPE DISPLAY TRACETABLE command is an existing BPE command that is used to
display the current attribute settings for the requested trace tables. IMS V10 modifies the
command output by adding a new column to indicate, YES or NO, whether the external
trace is set on or off for a particular trace table.
Uempty
IMS V10 IMS Version 10
UPDATE Command
z UPDATE command
Existing command
Modified to allow specification of the option EXTERNAL - YES | NO
F jobname,UPDATE TRACETABLE .... EXTERNAL(YES | NO)
Modified to allow changes to trace data set with address space running
F jobname,UPDATE TRACETABLE .... OPTION(REREAD)
44
Notes:
The BPE UPDATE TRACETABLE command is used to change the trace level setting for
the requested trace tables. The command syntax for UPDATE TRACETABLE has been
extended to allow specification of the option EXTERNAL from YES to NO or vice versa.
EXTERNAL is an optional parameter that specifies whether or not the trace entries for the
trace tables affected by the command should be written to the external trace data set. If the
keyword is not specified on an UPD TRTAB command, then there is no change made to
the external trace setting for the affected tables. Note that specification of
EXTERNAL(YES) requires that the BPE configuration PROCLIB member contain the
parameters to define a trace data set.
The command syntax for UPDATE TRACETABLE also has been extended to allow
specification of the option OPTION(REREAD). REREAD is the only valid value for
OPTION. REREAD causes the PROCLIB member to be reread for the information in the
specified EXTTRACE statement. This allows the external trace data set specification to be
changed or added without terminating the address space and restarting it.
Performance Impacts
z BPE external tracing
Designed for minimal performance impact
External trace cost over incore trace
• Approximately 15 extra instructions per trace point
45
Notes:
Performance is always a consideration especially when tracing is activated. The BPE
external trace function is designed to minimize the performance overhead incurred at trace
points in the mainline code. Running with external tracing enabled results in an
approximate cost of 15 extra instructions per trace point compared to running with incore
tracing.
The majority of the processing required to externalize BPE trace data occurs under a new
TCB in the BPE address space. This TCB is separate from any existing BPE or IMS
component TCB. Work under existing TCBs, therefore, is not directly impacted by work
performed by the new external trace TCB. The processing under the external trace TCB is
more likely to be I/O bound than CPU bound.
If the writing of the external trace records cannot keep up with the rate of the generation of
the records, external trace data will be lost ("skipped"), rather than delaying mainline
processing. The goal is to make running with BPE external trace enabled minimally
disruptive to system performance.
Uempty
IMS V10 IMS Version 10
Benefits
z BPE external trace enhancements that
Provide the ability to trace activities over longer time periods
Provide an IPCS interface to the trace data rather than having to take a
console dump in order to look at the BPE traces for problem diagnosis
z Result in
More timely access to diagnostic data
Minimizes the need to recreate problem scenarios
46
Notes:
47
Notes:
Uempty
IMS V10 IMS Version 10
48
Notes:
Users must define the GDG base prior to using BPE external trace functionality. This
definition can be performed in any of the following ways:
1) IDCAMS batch job
2) TSO command invoked in the foreground
3) TSO command invoked in a batch job
49
Notes:
Regardless of which method is chosen, the GDG parameter definition must specify a value
for NAME which is the high level qualifier that will be used when allocating the DGD data
sets. This value must match the value in the DSN parameter of the EXTTRACE keyword
definition in the BPE configuration member.
The specification of NOEMPTY provides for the uncataloguing of the oldest GDG data set
when the maximum number is reached.
Uempty
IMS V10 IMS Version 10
• SCRATCH - specifies that the generation data set's DSCB is to be deleted from
the volume's VTOC when the generation data set is uncatalogued
- Direct access device space management (DADSM) removes the data set's
DSCB from the VTOC, erases the data set's space on the volume, and
makes the space available to other system users
- For SMS-managed GDGs, SCRATCH also specifies that the NVR is to be
removed from the VVDS when the data set is uncatalogued.
50
Notes:
SCRATCH specifies that the generation data set's DSCB is to be deleted from the volume's
VTOC when the generation data set is uncatalogued. Direct access device space
management (DADSM) removes the data set's DSCB from the VTOC, erases the data
set's space on the volume, and makes the space available to other system users. The
generation data set ceases to exist. For SMS-managed GDSs, SCRATCH also specifies
that the NVR is to be removed from the VVDS when the data set is uncatalogued.
LIMIT is a required parameter and specifies the maximum number of GDGs in the group.
In the example on the previous visuals, this value is 255.
51
Notes:
As with all GDGs, DCB information must be provided for use when the GDG entries are
created. The DCB can be provided via one of the following methods:
• PROCLIB member definition - the DCB-related information can be passed in the
EXTTRACE definition
• GDG model data set - a GDG model data set can be allocated using IEFBR14 and put
on the same volume as the user catalog and GDG data sets. With a GDG model,
providing the DCB information in EXTTRACE is not required. The visual gives an
example of the IEFBR14 JCL.
Uempty
IMS V10 IMS Version 10
52
Notes:
BPE external trace data sets are allocated and opened in one of two situations: during
BPE initialization if the TRCLEV statement specifies EXTERNAL=YES, or as a result of the
UPD TRTAB command and a specification of EXTERNAL(YES).
The trace data sets are closed and deallocated when the last trace table is stopped by a
specification of EXTERNAL(NO) in the UPD TRTAB EXTERNAL command, or when the
data sets are filled and the next data set in the generation is subsequently opened for write
access.
Batch processing
53
Notes:
There are two modes available to format and print the external trace data. The first is
through IPCS routines. The second is through batch processing.
Uempty
IMS V10 IMS Version 10
You may change any of the defaults listed below. The defaults shown before
any changes are LOCAL. Change scope to GLOBAL to display global defaults.
If you change the Source default, IPCS will display the current default
Address Space for the new source and will ignore any data entered in
the Address Space field.
54
Notes:
This and the next several visuals give an example of using IPCS to format and print the
external data set trace records.
Name Abstract
ALCWAIT Allocation wait summary
AOMDATA AOM analysis
APPCDATA APPC/MVS Data Analysis
ASCHDATA APPC/MVS Scheduler Data Analysis
ASMCHECK Auxiliary storage paging activity
ASMDATA ASM control block analysis
AVMDATA AVM control block analysis
CICS330 CICS Version 3 Release 3 analysis
COMCHECK Operator communications data
COUPLE XCF Coupling analysis
CTRACE Component trace summary
DAEDATA DAE header data
DB2DATA DB2 analysis
S DFSAAMPR IMS Interactive Dump Formatter
DIVDATA Data in virtual storage
DLFDATA Data Lookaside Facility data
55
Notes:
The IMS Interactive Dump Formatter is named DFSAAMPR.
Uempty
IMS V10 IMS Version 10
z Select Option 6
-------------------------------------------------------------------------------
56
Notes:
The IMS Dump Formatting Primary Menu shows the available IMS dump formatting
options. Select Option 6 - ‘OTHER COMP’.
57
Notes:
The next panel identifies IMS BPE Formatting. Select B to access this formatter.
Alternatively, each of the components can be chosen separately.
Uempty
IMS V10 IMS Version 10
58
Notes:
Option 4 provides the access to the new BPE External Trace formatting capability.
Optional parameters:
Start Date/Time (UTC) . . . . . . . _______ ______ (Example 2002190 133500)
Stop Date/Time (UTC) . . . . . . . _______ ______ (Example 2002190 133500)
or,
59
Notes:
The BPE External Trace Formatting panel provides the options to select how the trace is to
be produced.
Uempty
IMS V10 IMS Version 10
60
Notes:
IPCS also supports accessing each component separately. This next example will show
the panels associated with IMS Connect.
61
Notes:
The IMS Connect Dump Formatting panel provides several options. Option 4 is new and
shows how to access the BPE external trace formatting for IMS Connect.
Uempty
IMS V10 IMS Version 10
Specify any external trace type:. . . ___________ (BPE trace name, or * for all)
Optional parameters:
Start Date/Time (UTC) . . . . . . . _______ ______ (Example 2002190 133500)
Stop Date/Time (UTC) . . . . . . . _______ ______ (Example 2002190 133500)
or,
Number of records to skip . . . ________ (Mutually exclusive with start parameters)
Number of records to process. . ________ (Mutually exclusive with stop parameters)
-------------------------------------------------------------------------------
62
Notes:
The visual shows the new panel for IMS Connect. Note that the other components, e.g.,
CQS, RM, OM and SCI also have panels that relate specifically to each of those functions.
63
Notes:
Batch invocation is an alternative to IPCS. This visual gives an example of how to run a
batch job for data formatting and printing.
Uempty
IMS V10 IMS Version 10
z Example:
VERBX BPETRFM0 'COMP(ALL) TRACE(TYPE(ALL)) SDATE(2006001) STIME(120000)
EDATE(2006100) ETIME(120000) UL(U) CSTCK(N)'
- Format trace records for all component and for all trace type between 1st day of 2006,
12pm and 100-th day of 2006, 12pm‘
VERBX BPETRFM0 'COMP(CQS) TRACE(TYPE(ERR)) TRACE(TYPE(INTF))'
- Format trace records for only CQS component with trace type ERR or INTF
64
Notes:
The VERBX keyword provides the definitions that request the type of formatting to be done
along with filtering requirements.
65
Notes:
The formatted data is printed in a format similar to what is shown on this visual.
Uempty
IMS V10 IMS Version 10
New Messages
z Several new message are added for BPE processing:
66
Notes:
If the BPE external trace function is enabled, an installation’s Operations Procedures
documentation should be updated to reflect the possibility of several new error messages
associated with external tracing. This visual documents the new messages.
If an error occurs during UPDATE TRACETABLE processing, the text of the message
produces one of the following:
• UNABLE TO GET NECESSARY STORAGE
• ERROR READING BPE CONFIGURATION PROCLIB MEMBER member address
space
• ERROR PARSING BPE CONFIGURATION PROCLIB MEMBER member processing
• UNKNOWN ERROR rc FROM PARSING MODULE BPEPCF10
• LOAD FAILED FOR BPEPCF10, BPELOADC RC=rc
• BPE CONFIGURATION PROCLIB MEMBER NAME WAS NOT CODED ON STARTUP
PARMS
Uempty
IMS V10 IMS Version 10
67
Notes:
Highlights
z IMS Abend Search and Notification (IMS ASN)
Notification mechanism for IMS failures
E-mails to user-specified recipients
Text messages to user-specified cellular devices, …
z Provides direct and real time access to the ABEND information and
description
Automatic creation of hyperlinks (URLs) to IBM-supplied Internet resources
for analyzing and resolving problems
Security
E-mails are sent internally from the IMS system task to pre-defined e-mail
addresses
No sensitive information, such as customer data, is sent
68
Notes:
The IMS Abend Search and Notification (IMS ASN) function in IMS V10 provides a
mechanism for 'real-time' automatic notification of IMS problems, such as abnormal
terminations, to designated personnel who may not have immediate or direct access to the
operator consoles.
When the abend occurs (or when the system fails), IMS ASN gathers information about the
abend, the return code, the module affected, and, when possible, the APAR level.
Note that security is not an issue because all associated e-mails are sent internally from
the IMS system task to the list of pre-defined e-mail addresses. No sensitive information,
such as customer data, is ever sent.
Uempty
IMS V10 IMS Version 10
Functionality
z E-mail or text messages (SMS) are sent after a system failure to a
specified list of recipients
“Event driven” – automatic and immediate e-mail message for IMS Control
Region Abends
“On demand” – e-mail creation through ISPF panels
69
Notes:
The goal of IMS ASN is to notify one or more pre-defined recipients, via mechanisms such
as e-mail or a text message to a cellular device, that an abend just occurred in a given
subsystem. There are two ways to initiate an IMS ASN e-mail. The first is “event driven”
which occurs based upon an event such as an IMS sytem abend. The second is “on
demand” by initiating a request that is sent from the ISPF panels that are a part of the IMS
ASN support.
IMS ASN also attempts to construct a message that provides more information on the
specific nature of the problem along with potential solutions. The function automatically
attempts to create hyperlinks to:
• An abend explanation in the IMS Messages and Codes manual
• Pertinent INTERNET database search engines (in practical terms, the hyperlink will be
a URL with a pre-built search argument). The following are examples of links but note
that, since they are links, then they are subject to change:
Technotes:
http://www-1.ibm.com/support/search.wss?rs=81&tc=SSEPH2&dc=DB520+D800+D900+
DA900+
DA800&dtm
PSP bucket: https://techsupport.services.ibm.com/server/390.psp390
Messages:
http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dfsmc1g1/CCONTENTS
PMR: https://www-925.ibm.com/software/support/esr/esr_home.do
List of possible related APARs (fix), or APARs in error (PE APAR).
Note: this hyperlink will be present only if the APAR information is available to IMS ASN
components at time of error. The APAR hyperlink is
http://www-1.ibm.com/support/search.wss?rs=81&tc=SSEPH2&dc=DB550+D100&dtm
Uempty
IMS V10 IMS Version 10
Functionality …
z IMS Control region abends
Only the first abend triggers a notification
Abends will not be grouped nor multiple e-mails sent for the same abend
on different tasks
• Targets a single IMS cycle
- A new notification is sent if IMS is restarted and then abends again
z IMS Dependent region abends
NO “event driven” notification for application abends
Notification is triggered only when an abend involves IMS system
processing
The IMS ASN “on demand” interface
Available to anyone with a TSO id
Can be used to search for abend/message/apar/etc. related information
70
Notes:
Abend notification is triggered when an abend occurs that causes the IMS Control Region
to abnormally terminate. Only the first abend triggers a notification. Additionally, IMS ASN
does not group abends, nor does it send multiple e-mails for the same abend that might
occur in different TCBs. The notification is intended for a single IMS cycle so if IMS is
restarted and then abends again, IMS ASN sends a new notification.
Before creating the notification, IMS ASN logic checks a new dump suppression table in
the dump module DFSFDMP0 to determine if an abend requires notification. If it does, then
IMS ASN gathers information about the abend, the return code, the module affected, and,
when possible, the APAR level. On the other hand, there are abends that may have
notification interest, but for which no search is meaningful or necessary. The following list
shows abends for which either no notification, or notification without hyperlinks is
generated:
• U0020 - notification only, no hyperlinks with search arguments provided
• U0150 - no notification necessary. CTL region abend already generated a notification
Uempty
IMS V10 IMS Version 10
71
Notes:
This visual gives an actual example of an e-mail notification in an environment that
supports full graphics.
72
Notes:
For environments with limited graphics capabilities, text-only notification is available. This
visual provides an example of the text-only e-mail format.
Uempty
IMS V10 IMS Version 10
Setup
z Setup overview
Allocate two data sets
Runtime data set and skeletal data set
Invoke "IMS ASN System Setup"
Specifies data sets
Specifies message recipients
Specifies SMTP server
Copy procedure produced by IMS ASN System setup to z/OS Proclib
Specify procedure name in DFSDFxxx member
/* Diagnostic_STATISTICS Section */
/************************************************************************/
<SECTION=DIAGNOSTICS_STATISTICS>
IASNPROC=procname /* IMS abend search and notification PROCLIB member */
73
Notes:
IMS ASN has a set of ISPF panels that are used to set up the environment. The application
can be invoked either by keying in an exec command in the TSO ISPF Option 6 panel or
selecting option 9 in the IMS Application Menu program.
On Demand Interface
IMS Application Menu
Command ====>
1 Select the desired Sub-Options and press ENTER
74
Notes:
To invoke the "On Demand" interface, you first go to the IMS Application Menu. ASN is
option 9 on this screen. This invokes the IMS abend search and notification screen. The
"on demand" interface is option 2 on this screen.
Uempty
IMS V10 IMS Version 10
On Demand Interface …
z Specifications for “on demand” processing
Recipient Information
Recipient E-mail Address. . . ______________________________________
example: [email protected])
Specify Additional Addresses? _ (Y-Yes/N-No)
JOB JCL Statement. . . . . . . . _ (E-Edit/Y-Yes/N-No)
75
Notes:
The panel for the “on demand” interface is used to activate IMS ASN dynamically from a
TSO session. It also provides the ability to specify search criteria, or to replicate the search
criteria which was initiated by an abend-driven invocation of IMS ASN.
The program driving this panel parses and assembles the search criteria into a JCL stream.
The user can then submit the job generated by IMS ASN.
If ‘Y’ is specified in the ‘Specify Additional Addresses?’ field above, the user will be
prompted in edit mode on a member of a PDS where an unlimited number of e-mail
recipients can be entered.
If ‘E’ is specified in the “JOB JCL Statement” field, a JOB statement is presented for the
user to customize. It is retained for future use. If ‘Y’ is specified, the previously customized
job statement is used.
‘Product Name’ is a required field and at least one search argument must be provided on
the panel.
Uempty
IMS V10 IMS Version 10
Prerequisites
z IMS ASN e-mail notification uses a set of commands that are part of
the Simple Mail Transfer Protocol (SMTP)
SMTP is an MVS function provided with TCP/IP
MVS TCP V3.1 or later
Both local and user-specified external SMTP servers are supported
76
Notes:
Since the e-mail is sent using SMTP, the IMS system must reside on a z/OS system that
has enabled MVS TCP/IP. SMTP is a standard application that is delivered with the TCP/IP
stack. For optimal results, the e-mail manager should support graphics and images. With
consideration for the small screen size of cellular devices, the sample text message does
not include the creation of URLs. The purpose of the text message is to notify users of the
occurrence of the abend.
Benefits
z The IMS Abend Search and Notification function
Provides
Timely and automatic notification of IMS system problems
Quick access to explanation of the error and possible causes
Quick and direct access to IBM-supplied diagnostics
77
Notes:
Uempty
IMS V10 IMS Version 10
System Enhancements
z System Definition and Execution Parameter Changes
z Selective Display of System Parameters
z Virtual Storage Constraint Relief
z Sysplex Serial Program Management
z Enhanced Log Record Statistics
z Large Sequential Data Set Support
z System Utilities Enhancements
z BPE External Trace
z Abend Search and Notification
78
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
DRD is implemented with new and enhanced type-2 commands. The CREATE command
is used to add (create) a new resource control block in a running IMS environment. The
DELETE command is used to delete existing control blocks. The UPDATE command is
used to update resource attributes.
The definitions added by DRD are typically permanent. They are always permanent across
warm and emergency restarts. All definitions are written to the IMS log. This includes those
created by the system definition (sysgen) process and those created by DRD. When an
IMS system is warm started or emergency restarted, these definitions are read from the
log. Definitions added by DRD may be permanent across cold starts. They may be
exported for use by subsequent cold starts. Exports are done as part of system
checkpoints. They are written to Resource Definition Data Sets (RDDS). When a cold start
is done, IMS optionally reads the definitions from an RDDS. We will see later that the use
of RDDSs is optional. If they are not used, cold starts will not restore definitions added by
DRD.
Uempty Finally, QUERY commands may be used to show all resources including those created or
updated by DRD.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
You must define DRD to IMS by including DRD parameters the new DFSDFxxx PROCLIB
member.
Since type-2 commands are used, you must have a Common Service Layer (CSL)
including SCI and OM. RM is not required. You also must have an OM client through
which you may enter the commands. This can be the IMS TSO SPOC, the IMS Control
Center, or any other OM client.
RDDS data sets are recommended. They are used for exporting and importing definitions
across IMS cold starts. They also may be used by the extract utility to move the definitions
to another system.
DRD is supported in all IMS environments, including DB/DC, DBCTL, and DCCTL. It is
also supported in a data sharing environment and a shared queues environment. Care
must be taken in a multi-IMS environment to define resources consistently across all IMSs
When DRD is implemented, online change cannot be used for MODBLKS. Online change
remains available for ACBLIB and FORMAT.
Uempty When DRD is fully implemented, there is no longer a need for a MODBLKS system
definition. MODBLKS system definitions may be used when DRD is implemented, but you
may choose to eliminate it and define all MODBLKS resources (programs, transactions,
routing codes, and databases) using DRD commands. The MODBLKS libraries associated
with the system definition and online change processes may be deleted when only DRD is
used to define these resources.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
Resources
z IMS resources defined by DRD
RESOURCE TYPE SYSGEN MACRO CONTROL BLOCK
Database DATABASE DDIR
(DB/TM, DBCTL) (Database Directory)
Application Program APPLCTN PDIR
(PSB) (DB/TM, DBCTL, DCCTL) (Program Directory)
Transaction TRANSACT SMB
(DB/TM, DCCTL) (Scheduler Message Block)
Routing Code RTCODE RCTE
(DB/TM, DCCTL) (Routing Code Table Entry)
The control blocks created with DRD are the same as those created by
system definition macros
z Terminology
Runtime resource definitions - internal control blocks that IMS maintains and
uses
Stored resource definitions - information stored offline such as in an RDDS or
MODBLKS
© Copyright IBM Corporation 2008 5
Notes:
The resources that may be defined by DRD are shown here. The control blocks are the
same as those that are created by the system definition process.
IMS publications use two new terms to describe the difference between definitions that IMS
uses while running versus those that are stored outside of a running IMS system.
• Runtime resource definitions - these are the internal control blocks that IMS maintains
and uses
• Stored resource definitions - this is resource information stored offline such as in an
RDDS or MODBLKS
These are new terms, however, they describe a difference that has always existed in IMS.
For example, the MODBLKS data set contains stored resource definitions that IMS uses to
create runtime resource definitions when it is executed. The new terms are not limited to
use with DRD.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
There are four commands used with DRD.
• CREATE – This command is used to create definitions
• DELETE – This command is used to delete definitions
• UPDATE – This command is used to update definitions
• QUERY – This command is used to show definitions
The commands may have other uses. For example, the UPDATE command may be used
to change a status and the QUERY command may be used to show a status. Statuses are
discussed later.
Uempty
IMS V10 IMS Version 10
Notes:
Resources have attributes and statuses.
Attributes are defined for a resource. They are specified either on a system definition
macro or on a DRD command.
Statuses are not part of definitions. They indicate the current availability of a resource. For
example, a transaction or database may be stopped or started. The /STA DB, /STOP DB,
/DBD DB and /DBR commands are examples of commands that change the status of a
database. IMS may change the status of a resource without a command. For example,
when an application program abends IMS may stop the transaction.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
CREATE Command
z Examples:
Notes:
The CREATE command is used to create program, transaction, routing code and database
definitions. It is also used to create descriptors for these resources, Descriptors are
explained on the next page. The NAME parameter is used to specify the name of the
resource or descriptor. You use the SET parameter to set the attribute values. Of course,
default values may be used for any or all of the attributes. CREATE may be abbreviated to
CRE.
Uempty
IMS V10 IMS Version 10
Descriptors
z A model for creating a resource or another descriptor
May be referenced in CREATE command with the LIKE parameter
Establishes defaults for attributes not SET in CREATE command
z IMS-defined descriptors
Provided with the IMS product
z User-defined descriptors
Defined by the user with CREATE commands
Notes:
A descriptor is a model or template (you will probably see both terms being used) that can
be used by the user to define default attributes for resources being created. You can even
use a descriptor as a model in creating another descriptor.
IMS provides four descriptors with the product – one for each resource type. Unless the
user creates a descriptor with the DEFAULT(Y) attributes, these IMS descriptors are the
“current system default descriptors.” The user may create a descriptor which can be
specified in the CREATE command or can be set as the current default descriptor,
replacing the IMS-defined descriptor. Whichever one is the default is used when the
CREATE command does not SET all attributes.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The LIKE parameter may be used to specify a model for the resource or descriptor being
created. LIKE refers either to another resource of the same type or to a descriptor for the
type. When LIKE is used the new attributes for the new resource or descriptor have the
same values as the referenced resource or descriptor unless they specified with the SET
parameter. The LIKE parameter allows you to use defaults other than those in the default
descriptor.
The first two pairs of commands shown on this page show how the LIKE parameter may
refer to another resource. The last pair of commands show how the LIKE parameter may
refer to a descriptor.
Uempty
IMS V10 IMS Version 10
IMS-defined Descriptor
z IMS-defined descriptors
Provided with the IMS product – one for each resource type
Database descriptor DFSDSDB1
Program descriptor DFSDSPG1
Transaction descriptor DFSDSTR1
Routing Code descriptor DBFDSRT1
Define default attributes for resource types
When not specifically SET in CREATE command
When user-defined descriptor not set as default descriptor
z IMS-defined descriptors cannot be deleted or updated
IMS-defined
IMS-defineddescriptor
descriptorattribute
attributevalues
valuesare
areshown
shownininthe
theappendix
appendixtotothis
thissection.
section.
Notes:
These are the four IMS-defined descriptors. They have similar names with two letters
identifying the resource type to which the descriptor applies. These are DFSDSxx1, where
xx is DB, PG, TR. or RT. These IMS descriptors cannot be updated or deleted except to
make it the default if you have previously made a user-defined descriptor the default and
want to go back to the IMS descriptor.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
User-defined Descriptor
z Descriptors created by users
Every descriptor has a value for every attribute
If not SET in CREATE command, attribute value defaults to value in
current default descriptor
Notes:
You can have as many user-defined descriptors as you like. User descriptors are created,
updated, and deleted just like resources. They have the same attributes as resources. If,
when creating a user descriptor, you do not SET the value of the attribute, then it will
default to whatever that value is in the current default descriptor for that resource type.
When a user descriptor is created, you may make it the default descriptor by including the
parameter DEFAULT(Y). Or, you may later make it the default using an UPDATE
command.
The keyword for creating, updating, deleting, or querying descriptors are DBDESC,
PGMDESC,TRANDESC, and RTCDESC. In the first example on this slide, the user has
created a transaction descriptor named TRND001 with an attribute of CLASS(1). The
program PGM1 will be invoked for transactions created with this descriptor unless this is
overridden when they are created. The other attributes for TRND001 will be taken from
whatever the current default transaction descriptor is, perhaps DFSDSTR1.
In the second example, the same descriptor is created, but it has been made the default
transaction descriptor.
Uempty
IMS V10 IMS Version 10
z Examples:
Notes:
QUERY commands may be used to show attributes of resources and descriptors. The
SHOW parameter may specify attributes to be shown or SHOW(ALL) may be used to show
all of the attributes.
In the first example, only the BMPTYPE and RESIDENT attributes will be returned in the
response.
In the second example, all attributes of transactions TRN1 and TRN2 will be returned.
In the third example, all attributes of the TRANCONV transaction descriptor will be
returned.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
IMS Restarts
Notes:
Uempty
IMS V10 IMS Version 10
Using DRD
During IMS cold starts, resource definitions may be
IMPORTed from an RDDS or read from MODBLKS.
Warm starts restore definitions from the OLDS.
Definitions can be dynamically created, updated, or
deleted using commands. These are logged.
Definitions can be EXPORTed to a Resource
Definition Data Set (RDDS).
CREATE
UPDATE
DELETE MODBLKS
QUERY
COLD DDIRs
START PDIRs
from SMBs
OLDS IMS
IMSCONTROL
CONTROLREGION
REGION
MODBLKS
RCTEs
COMMAND
and
Log Records CHKPT Control Blocks EXPORT
DDIRs LOGGING DDIRs
PDIRs
by RDDS
PDIRs CHKPT
SMBs WARM or SMBs DDIRs
RCTEs /ERE RCTEs
RESTART IMPORT PDIRs
for COLD SMBs
START RCTEs
Notes:
During an IMS cold start, IMS imports (loads) all of it resource definitions. In a non-DRD
environment, these are always from the active MODBLKS library as determined by
MODSTAT or OLCSTAT. In a DRD environment, IMS may “import” resource definitions
from MODBLKS, or both resource and descriptor definitions from a new type of data set
called the Resource Definition Data Set (RDDS). The process is called AUTOIMPORT and
where the definitions are loaded from is determined by an execution time option in
DFSDFxxx. MODBLKS, of course, does not contain any descriptors.
During an IMS warm start, definitions are rebuilt from the restart checkpoint on the OLDS.
During an IMS emergency restart, definitions are rebuilt from the checkpoint log records
plus additional log records created when the attributes or status of those definitions are
changed. This is true for both DRD and non-DRD systems.
After restart is complete, in a DRD system, all definitions are “exported” to an RDDS
(enabling them to be imported again at the next cold start). This process is called
AUTOEXPORT and occurs at every system checkpoint, including the initialization and shut
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
down checkpoints. Definitions are also logged during system checkpoint for restart
purposes.
During execution, an operator using the OM interface may enter commands to create,
update, or delete resource and descriptor definitions and status. CREATE and DELETE
are available only in a DRD environment. UPDATE is available in either environment,
although it is not as complete in terms of what can be updated. These updates are also
logged for use during restart.
Uempty
IMS V10 IMS Version 10
PROCLIB Members
z DFSPBxxx
CSLG=xxx
Notes:
The CSLG=xxx parameter in DFSPBxxx points to the CSL global proclib member
(DFSCGxxx) and the DFSDF=xxx parameter points to the IMS System Definition proclib
member which is new in IMS Version 10.
The entire contents of the CSL member can be moved to the CSL section of DFSDFxxx. If
both DFSCGxxx and a CSL Section in DFSDFxxx exist, the DFSCGxxx member takes
precedence. It is therefore necessary to remove the CSLG parameter from DFSDFxxx if
you are coding a CSL section in DFSDFxxx.
DFSCGxxx contains the new parameter MODBLKS=DYN which enables DRD. MODBLKS
defaults to MODBLKS=OLC. When MODBLKS=DYN is specified, online change cannot
be used for the resources stored in MODBLKS (programs, transactions, routing codes, and
databases). Online change for ACBLIB and FORMAT may be used with either
MODBLKS=OLC or MODBLKS=OLC.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
PROCLIB Members
z DFSDFxxx
New “IMS Definition” PROCLIB member
DFSDF=xxx in DFSPBxxx
Divided into Sections
<SECTION=COMMON_SERVICE_LAYER>
• May define MODBLKS= and CSL parameters as alternative to DFSCGxxx
- If both exist, DFSCGxxx parameters override DFSDFxxx parameters
MODBLKS=DYN
- Enables DRD
<SECTION=DYNAMIC_RESOURCES>
• Defines DRD parameters
Notes:
DFSDFxxx is a new proclib member in IMS Version 10. It is required for DRD but can also
be used in place of DFSCGxxx and DFSSQxxx. The user may define four sections in this
member.
DRD is enabled by specifying MODBLKS=DYN in the COMMON-SERVICE_LAYER
section.
If MODBLKS=DYN is coded in the CSL section, the Dynamic Resources section defines all
the DRD parameters .
Uempty
IMS V10 IMS Version 10
Notes:
DRD is “enabled” simply by coding MODBLKS=DYN (meaning MODBLKS changes are
dynamic – not by online change) in either DFSCGxxx or the CSL Section of DFSDFxxx.
Technically it is not necessary to code any other parameters, however, if RDDSs are not
defined, export and importing from an RDDS cannot be done. Import could only be done
from MODBLKS and OLC would be disabled. Creates, updates, and deletes could be
done but they couldn’t be exported.
Assuming this is not what you want, you must create a DFSDFxxx proclib member with a
DRD section containing the desired RDDSDSN, AUTOIMPORT, AUTOEXPORT, and
DCLWA parameters and the parameters for handling errors. Since all of these parameter
except RDDSDSN have reasonable defaults, it may not be necessary to code anything
except RDDSDSN.
You can then cold start IMS. Assuming AUTOIMPORT=AUTO, IMS will detect that the
RDDSs are empty and import the definitions from the active MODBLKS. At the completion
of cold start, AUTOEXPORT=AUTO or RDDS will cause IMS to export these MODBLKS
definitions to an RDDS.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
After cold starting IMS the first time successfully, and before the next cold start, you can
remove the MODBLKS DD statements from the control region JCL. This is not, however,
necessary and you may want to leave them in until you are certain you will never want to
import from them again.
At the next IMS cold start, the latest version of the definition in RDDS will be imported. At
the next warm or emergency restart, the definitions will be rebuilt from the logs.
Uempty
IMS V10 IMS Version 10
Header records with timestamps are read and put into an array
z During IMS cold start
Definitions are imported from
MODBLKS
Or - RDDS with most recent export timestamp
z During IMS warm restart
Definitions are rebuilt from checkpoint log records
z During IMS emergency restart
Definitions are rebuilt from restart checkpoint plus x’22’ log records
© Copyright IBM Corporation 2008 19
Notes:
This slide shows the general flow when DRD is enabled.
During IMS initialization:
• All RDDSs defined in DFSDFxxx are dynamically allocated and read
• If they are empty, IMS initializes them with a header record containing the IMSID
• If they are not empty, IMS builds an array in storage of the available (i.e., successfully
allocated and read) RDDSs. These RDDSs will be used in round-robin fashion by
export
During IMS cold start:
• Definitions are imported from the most recent RDDS or from MODBLKS
During warm start:
• Definitions are rebuilt from the checkpoint log records
During emergency restart:
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
- Definitions are rebuilt from restart checkpoint log records plus and updates made since
that checkpoint (x’22’ log records)
Uempty
IMS V10 IMS Version 10
Notes:
After any type of restart completes. AUTOEXPORT will export definitions to the oldest
RDDS. These (or later exports) then become available at the next IMS cold start.
During normal operations, all creates, updates, and deletes are logged in x’22’ log records.
If an RDDS cannot be read, an error message is issued. You may scratch and reallocate
this RDDS. This will add it back to the RDDSs that are used by IMS. You cannot add new
RDDS data sets while IMS is executing. Only those defined in the DFSDFxxx member at
start up will be used.
At initialization time, IMS reads the RDDSDSN parameter in the DFSDFxxx member. It
opens the specified data sets and reads their headers.
At system checkpoint times, if any definitions have change since the last checkpoint, all
definitions are exported to the next RDDS. The RDDS is closed and deallocated after the
definitions are written to it.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
The RDDS Extraction Utility (DFSURDD0) is a batch utility which can be used to convert
the resource definitions in an RDDS into either stage 1 macro statements or type-2
CREATE commands.
This provides a convenient way to take the definitions for one system and copy them to
another system. It also may be used fall back from the use of DRD to the use of
MODBLKS. Finally, the creation of stage 1 macros may be used as documentation of the
current definitions.
If stage 1 macros are produced, descriptor information in the RDDS is not created. Of
course, it only produces stage 1 macros for MODBLKS resources (DATABASE, APPLCTN,
TRANSACT, and RTCODE macros).
If CREATE commands are produced, commands for creating descriptors are included.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-27
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Security Considerations
z All DRD commands are type-2 and can only be entered through the Operations
Manager interface
Notes:
All DRD commands are type-2 commands. That means they are only submitted through
the OM interface. Therefore, only OM can perform authorization processing for these
commands. In the OM initialization proclib member (DFSOIxxx), the CMDSEC parameter
determines what type of security checking should be done for commands submitted
through OM. There is not change in the regard for the DRD commands. This slide is just a
quick review of what is already available.
Uempty
IMS V10 IMS Version 10
Other Considerations
Notes:
There are some other considerations when enabling DRD.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-29
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z IMSCTRL
MSVID= only applicable when using MODBLKS (not DRD)
Can still use /MSVERIFY command to verify MSC resource definitions
Notes:
There are a few sysgen considerations when implementing DRD, although nothing is
required.
• You can eliminate the DATABASE, APPLCTN, TRANSACT, and RTCODE macros. If
you do not eliminate them, their definitions will reside in the MODBLKS data set, but
IMS execution will not read them from MODBLKS
• The MSC Verification ID (MSVID) is not applicable when DRD is enabled. You can,
however, continue to use /MSV to verify your MSC definitions.
Uempty
IMS V10 IMS Version 10
Elimination of MODBLKS
z MODBLKS
Can eliminate //MODBLKSx DD statements and libraries
Resources can be dynamically created
Resources can be imported from Resource Definition Data Set (RDDS)
Notes:
After successfully importing from MODBLKS the first time, and exporting to an RDDS, the
MODBLKS data sets can be eliminated from the control region JCL.
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-31
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Summary
z DRD is an alternative to online change for MODBLKS
Notes:
Uempty
IMS V10 IMS Version 10
Summary
z Migration to DRD requires a cold start
z Export and import may be used to carry definitions across a cold start
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 3. Dynamic Resource Definition (DRD) 3-33
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
Although the DRD CREATE and DELETE process does not support MSC resources, there
is some enhanced support for MSC in V10.
Notes:
IMS V10 adds support for MSC resources with the type-2 UPDATE and QUERY
commands.
There is a new performance parameter for MSC logical links called BANDWIDTH. You will
see this reference in the following slides but a discussion of what this means is in
Transaction Manager Enhancements section of the class.
Uempty
IMS V10 IMS Version 10
UPDATE MSPLINK
UPD MSPLINK NAME(name1,name2,...)
SET(attr1(val1),attr2(val2),...)
START(LOGON) or
STOP(LOGON)
Notes:
This slide shows the format of the UPDATE MSPLINK command.
Notes:
The UPDATE MSPLINK command can be used to change any of the four attributes
identified on the slide. Except for changing the MSPLINK name, they apply only to VTAM
links. Before the attributes can be changed, the physical link and all assigned logical links
must be stopped.
START and STOP LOGON enables or stops logons to the physical link. STOP does not
affect existing sessions.
Uempty
IMS V10 IMS Version 10
UPDATE MSLINK
UPD MSLINK NAME(name1,name2,...)
SET(attr1(val1),attr2(val2),...)
START(COMM,TRACE,TKOTRC) or
STOP(COMM,TRACE,TKOTRC) OPTION(FORCE)
z Updates one or more physical links
z NAME(name1,name2,…) – specifies one or more physical links to update
Required, there is no default
Generic names supported
MSLINK macro now supports a label which is the name of the logical link
• e.g., LINKA1 MSLINK xxxx
If no label is coded, the default name is DFSLnnnn where nnnn is the link
number with leading zeros
• e.g., DFSL0005
z SET, START, and STOP are mutually exclusive
Notes:
This slide shows the format of the UPDATE MSLINK command. As with the other UPD
commands, you cannot change attributes and the status in the same command. The
NAME of the MSLINK is either the label on the MSLINK macro or, if no label exists, a
default name of DFSLnnnn where nnnn is the MSLink number with leading zeros. The
command does not support MSLink numbers. You must specify a NAME.
Notes:
Any of the attributes can be changed using this command. The link must be stopped
before changing the attributes.
Uempty
IMS V10 IMS Version 10
z START(status1,status2,...)
COMM – Start the link and start sending and receiving messages
TRACE – Starts internal tracing
TKOTRC – Starts tracing during XRF takeover
z STOP(status1,status2,...)
COMM – Stops the link and stops sending and receiving messages
TRACE – Stops internal tracing
TKOTRC – Stops tracing during XRF takeover
z OPTION(option1)
FORCE -- Force termination of the link if STOP(COMM) fails
OPTION(FORCE) is valid only with STOP(COMM)
© Copyright IBM Corporation 2008 9
Notes:
The START and STOP keywords can be entered on the same command, but you cannot
start and stop the same status. OPTION(FORCE) is valid only for VTAM and CTC
sessions, and only when used in conjunction with STOP(COMM).
UPDATE MSNAME
UPD MSNAME NAME(name1,name2,...)
SET(attr1(val1),attr2(val2),...)
START(Q,SEND) or
STOP(Q,SEND)
Notes:
The slide shows the format of the UPDATE MSNAME command. As with the others, you
cannot issue a command with SET and with START or STOP.
UPD MSNAME can be used to start or stop queuing and sending messages across that
logical link path. You can use START and STOP in the same command, but not with the
same status.
Uempty
IMS V10 IMS Version 10
Notes:
To change the logical link (MSLINK) with which this logical link path (MSNAME) is
associated, the logical link must be stopped. To change the remote and local sysids, both
the logical link and the logical link path must be stopped.
If the SYSIDs are currently assigned to an existing transaction, you must first use the
UPDATE TRAN SET(SIDL(),SIDR()) command to reassign that transaction to another valid
SYSID. Then you can update SIDR and SIDL. Then you can UPDATE TRAN again to
reassign the remote and local sysids for the transaction back to the new sysids.
QUERY MSPLINK
QRY MSPLINK NAME(name1,name2,...)
STATUS(NOTOPEN,STOLGN)
TYPE(VTAM,MTM,CTC)
SHOW(ALL|ADDR,NODE,STATUS,TYPE) or
SHOW(MSLINK,MSNAME)
Notes:
This slide shows the format of the QRY MSPLINK command.
NAME is the name of the physical link. You can specify one or more names, and wild cards
are allowed (* = multi-character substitution and % = single character substitution). The
default is * which is to display all physical links.
STATUS is a filter to limit the responses to those MSPLINKs with the specified status.
Multiple statuses are ORed. For example, if STATUS(STOLGN) is specified, only those
physical links with the STOP LOGON status will be displayed. The only other valid status
is NOTOPEN.
TYPE is a filter for the link type – VTAM, Memory-to-memory, or Channel-to-channel.
SHOW determines what information is returned by IMS and what the TSO SPOC will show
on the screen. SHOW(ALL) includes CRC address. VTAM node name of the remote IMS,
the physical link type, and the link status. Each individual attribute may be selected - e.g.,
SHOW(NODE,STATUS). You can also select SHOW(MSLINK and/or MSNAME). You
cannot specify the first and second type of SHOW together on the same command - e.g.
Note: V10 permits a label on the MSLINK macro. This label is the MSLINK name. If not
specified, the default name is DFSLnnnn, where nnnn is the link number.
Response
MSPLink MbrName CC Type NodeName CTCaddr LclStat
PLNK12C SYS1 0 CTC NOTOPEN
PLNK12CB SYS1 0 CTC NOTOPEN
PLNK12CU SYS1 0 CTC NOTOPEN
PLNK12MA SYS1 0 MTM
PLNK12VU SYS1 0 VTAM PZ606099
Notes:
This is an example of a QRY MSPLINK NAME(xxx) SHOW(ALL) command. All QRY
MSPLINK commands show the MSPLINK name, the member name responding, the
condition code, and, if CC is not zero, the CC text explaining why the command failed.
Uempty
IMS V10 IMS Version 10
Command
QUERY MSPLINK NAME(IMSAB) SHOW(MSLINK,MSNAME)
Response
MSPLINK MbrName CC MSLink MSLink# MaxSess MSName SIDR SIDL
IMSAB IMSA 0 2
IMSAB IMSA 0 IMSAB1 1 LINKA1 30 20
IMSAB IMSA 0 IMSAB2 2 LINKB1 31 21
Notes:
This slide shows an example of QRY MSPLINK showing MSLINK and MSNAME. For
MSLINK, the MSLink name and number and the MSPLINK maximum sessions are shown.
For MSNAME, the MSName and remote and local sysids are shown.
QUERY MSLINK
QRY MSLINK NAME(names)
STATUS(logical link status)
BANDWIDTH(ON|OFF)
SHOW(ALL|attributes) or
SHOW(MSNAME)
Notes:
This is the format of the QRY MSLINK command.
NAME is like other query commands. The name of the MSLINK is either the label on the
macro (new in V10), or the default name DFSLnnnn, where nnnn is the MSLINK number
with leading zeros. The command does not support MSLink numbers. You must specify a
NAME.
STATUS is a filter to limit the responses to those MSLINKs with the specified status.
Multiple statuses are ORed. These statuses may be found in the Command Reference
publication.
BANDWIDTH is a filter for whether the new bandwidth performance option is turned OFF or
ON.
SHOW always shows the MSNAME name (the label) and the link number to which this
MSNAME is assigned.
SHOW(ALL) shows all the definitional attributes and the status of the logical link. The
attributes that may be specified can found in the Command Reference publication. You
Uempty can request that just some of them be shown. Statistics may be requested. This is
discussed in the TM Enhancements section of this class. SHOW(ALL) does not return
statistics. They must be explicitly requested.
SHOW(MSNAME) cannot be specified with SHOW(ALL) or any of the attributes.
Response
MSLink MSLink# MbrName CC MSPLink CID PID RecdCnt SentCnt DefMdtbl ActMdtbl
LNK12V01 1 SYS1 0 PLNK12V 00000000 AB 0 0
LNK12V02 10 SYS1 0 PLNK12V 8E000004 AK 12 12 DEFRESP
LNK12V03 11 SYS1 0 PLNK12V 00000000 AL 0 0
LNK12V04 13 SYS1 0 PLNKSON1 00000000 SA 0 0 MTMSCVAA
LNK12V05 14 SYS1 0 PLNKSON2 00000000 SB 0 0 MTMSCVAB
LNK12V06 15 SYS1 0 PLNKSON3 00000000 SC 0 0 MTMSCVAB
LNK12V07 20 SYS1 0 PLNK12VB 00000000 BY 0 0
Notes:
This slide shows an example of the QRY MSLINK xxx SHOW(ALL) command. The output
is too wide for a single screen, so the TSO SPOC will let you scroll right and left, or up and
down. The lower part if this screen assumes the user as scrolled right.
Uempty
IMS V10 IMS Version 10
QUERY MSNAME
QRY MSNAME NAME(names)
STATUS(logical link path status)
QCNT(condition,nbr) SHOW(QCNT)
or
SHOW(ALL|attributes)
z NAME(name1,name2,…) – specifies one or more logical link paths to display
Generic names supported
z STATUS(status) – displays only those links with specified status
DYN, QERR, STOQ, STOSEND
z QCNT - condition is a relational operator
LE, LT, GT, GE, EQ, NE
z SHOW(attr1,attr2,...) – specifies what output to display
Attributes: MSLINK, MSPLINK, QCNT,STATUS, SYSID
z Warning: QUERY MSNAME with QCNT() specified with shared queues
Wildcard names result in all logical link path queues in the coupling facility
being read, which could delay completion of the command
© Copyright IBM Corporation 2008 17
Notes:
The logical link path status may be:
DYN - dynamically created in a shared queues environment
QERR - queue error
STOQ - stopped queuing
STOSEND - stopped sending
The "condition" value in the QCNT parameter is a relational operator. It can be:
LE – less than or equal
LT – less than
GE – greater than or equal
GT – greater than
EQ – equal
NE – not equal
QRY MSNAME NAME(*) QCNT(NE,0) SHOW(QCNT) would show all MSNAMEs with a
queue count that is not zero.
Be careful when issuing the QUERY MSNAME ... QCNT command in a shared queues
environment. The use of wildcard names will result in reading every remote queue “list” to
determine whether it satisfies the wildcard name (XES list services does not support
wildcards).
Uempty
IMS V10 IMS Version 10
Response
Notes:
This is an example of a QRY MSNAME ... SHOW(ALL) command. In a shared queues
environment, there would be two lines for each MSName, with the first line showing the
global QCNT and the second line showing the local attributes, queue count, and status as
you see in the slide.
Notes:
Although CREATE does not support the addition of new MSC links, with careful planning,
you can define dummy physical links, logical links, and logical link paths in each IMS
between which you might want to create links. Then when they are needed, you can use
the UPDATE MSPLINK, MSLINK, and MSNAME commands to activate those links.
The following shows an example of this technique. First dummy MSC definitions are
included in the system definitions for IMSA and IMSB. The two systems have cloned
definitions for future use by UPDATE commands. Second, QUERY commands are used to
show these definitions. Third, UPDATE commands are used to assign more meaningful
names to the physical links and logical links, to associate logical links with specific physical
links, and to provide appropriate SYSIDs for the logical link paths. Finally, QUERY
commands are used to show the changed definitions.
Uempty
IMS V10 IMS Version 10
Notes:
This shows the beginning of a scenario for defining dummy links and then activating them.
Here we have defined in the System Definition with one MSPLINK, two MSLINKs, and two
MSNAMEs.
The MSPLINK statement uses dummy names for the label and for the node name
(NAME=).
The MSLINK statements use dummy names for the label and partner. They do not have a
MSPLINK= parameter, so they are not assigned to a physical link.
The MSNAME statements use dummy numbers for the SYSIDs.
The QRY commands show the definitions before any changes are made. The MSNAMEs
are assigned to MSLINKs, but since the MSLINKs are not defined to a MSPLINK, neither
are the MSNAMEs.
Change the MSNAME SYSIDs for the local and remote systems:
UPD MSNAME NAME(LINKA1) SET(SIDR(30),SIDL(20))
UPD MSNAME NAME(LINKB1) SET(SIDR(31),SIDL(21))
Change the MSNAME SYSIDs for the local and remote systems:
UPD MSNAME NAME(LINKA1) SET(SIDR(20),SIDL(30))
UPD MSNAME NAME(LINKB1) SET(SIDR(21),SIDL(31))
Notes:
On this slide, we show how to “create” the MSC links between IMSA and IMSB. Similar
commands are issued on both IMS systems. The responses to these commands are not
shown.
For both systems the MSPLINK is updated to give it a name that is more descriptive and to
identify the remote VTAM node. The command in IMSA specifies IMSB as the NODE
name. The command in IMSB specifies IMSA as the NODE name.
The MSLINKs are updated to assign them to the renamed MSPLINK. The commands are
the same for IMSA and IMSB.
MSNAMEs are updated to specify remote and local sysids. Of course, the remote sysids in
IMSA are local sysids in IMSB.
After this we can CREATE remote transactions in IMSA and IMSB with the corresponding
sysids.
Uempty
IMS V10 IMS Version 10
Notes:
The QUERY commands show the results of the updates.
Notes:
UPDATE commands for MSPLINK, MSLINK, and MSNAME may be used to dynamically
add and modify MSC links. The addition of links requires available dummy definitions.
This capability is most easily used with VTAM links. Dummy definitions must be of the
correct link type. That is, CTC, VTAM, and MTM definitions cannot be changed to another
type. For example, you cannot change a CTC MSPLINK definition to a VTAM MSPLINK.
The UPDATE command cannot be used to change the DDNAME or address associated
with a CTC MSPLINK definition. The SESSION= parameter on the MSPLINK system
definition macro for VTAM physical links cannot be modified with the UPDATE command.
QUERY commands may be used to show the current definitions.
Uempty
IMS V10 IMS Version 10
Notes:
This section addresses enhancements to the QRY command.
Notes:
The QUERY (or QRY) command has been enhanced to support new resources and extend
the command for resources supported in previous releases.
The QRY command for descriptors is rejected if DRD is not active. The other QRY
commands may be used with or without DRD.
The only change in the QUERY TRAN command is the way of filtering requests for
conversational, fast path, remote, and response mode. Previously, these were done with
STATUS(xxxxxxx) where xxxxxxxx was CONV, FPE, FPN, RMT, or RESP. There are new
alternatives in IMS V10. The new alternatives are CONV(Y|N), FP(N|E|P),
REMOTE(Y|N)m and RESP(Y|N).
Some of the QRY command enhancements are discussed in other sections of the class.
Uempty
IMS V10 IMS Version 10
Shows programs whose names begin with "AB" and which are stopped
Notes:
QRY PGM and QRY RTC are new in IMS V10.
The following statuses may be specified for QRY PGM:
DB-NOTAVLAt least one database is not available
IOPREVBMP with GSAM can’t complete due to IO Prevention
LOCKProgram is LOCKED
NOTINITProgram is not initialized – PSB or DMB not in ACBLIB
STOSCHDProgram scheduling has been stopped - UPD PGM xxx STOP(SCHD)
TRACEProgram trace is on - UPD PGM xxx START(TRACE)
The following statuses may specified for QRY RTC:
ACTIVERTC is active
NOTINITRTC is not initialized and can’t be used
NOTSCHDRTC is not scheduled
STOQRouting code is stopped
Notes:
QUERY commands may be used to show definition attributes for databases, programs,
transactions, routing codes and their descriptors. These attributes may have been defined
through system definition or through the use of DRD.
Uempty
IMS V10 IMS Version 10
Notes:
For all resources and descriptors, there are several new attributes that can be shown.
The first is definition type which shows how that resource or descriptor was created. The
slide shows the possibilities. CREATE and IMPORT may be returned for both resources
and descriptors. MODBLKS, UPDATE, DFSINSX0, and CPIC may be returned only for
resources. IMS may be returned only for descriptors.
The second is the name of the model, if any, used by the CREATE command which created
the definition.
Notes:
Four timestamps can be displayed. These are the time the resource was created, the time
it was last updated, the time is was last accessed, and the time it was imported from an
RDDS.
TIMECREATE is the time of the CREATE command, the time the definition was IMPORTed
from RDDS, the time the definition was loaded from MODBLKS, or the time a transaction or
program definition was created by DFSINSX0.
TIMEUPDATE is the time that an UPDATE command that updated a definitional attribute,
not a status.
TIMEACCESS may be used to understand the last time a resource or descriptor was
accessed. For resources and descriptors the meaning of TIMEACCESS is:
DB time DB was last accessed by an application program (DL/I call)
PGMtime program (PSB) was last scheduled
TRANtime message was last enqueued or dequeued by a program
Uempty RTCtime message was last enqueued to BALG using this routing code
DESCtime descriptor last used as a model in CREATE command
The create, update and access times are remembered across warm start, emergency
restart, EXPORT and IMPORT. Import times are remembered across warm and
emergency restarts.
The updating of the last access time is not logged between system checkpoints. After a
restart, the last access time reflects the time recorded in the restart checkpoint log records.
For warm starts this is the time recorded in the shutdown checkpoint. For emergency
restarts, any access between the last system checkpoint and the failure of the IMS system
will not be reflected in the information available to the restarted IMS system. For cold starts
that import definitions from the RDDS, the times will be those in the RDDS. This will be the
last access times at the time of the last export.
Response
Trancode MbrName CC TimeCreate TimeUpdate
INVTRAR IMS1 0 2006.185 12:33:15.16 2006.186 09:15:26.17
INVTRA7 IMS1 0
Notes:
Timestamps, model, and definition type have been added to the QRY command SHOW
parameters. The example above is what would be shown by the TSO SPOC. The second
part of the example above would be displayed by scrolling to the right.
Uempty
IMS V10 IMS Version 10
QUEUE Command
Notes:
The QUEUE command in new in IMS V10.
Security for the QUQUE command is provided by OM with an exit, RACF, or both. The
commands must be placed in the OPERCMDS resource class with a prefix of the CSL plex
name. The short form of the command must be registered and may be followed by either
TRAN or LTERM. For example, if IMSPLEX=PLEX1, then to provide security for the
QUEUE TRAN command, you would RDEFINE CSLPLEX1.QUE.TRAN in the
OPERCMDS class. Then PERMIT authorized users UPDATE access.
Notes:
This shows the syntax when using the QUE command to enqueue a transaction to the
transaction queue.
• NAME(xxx) identifies the transaction code – there can be only a single name in this
command
• OPTION(ENQ) indicates that the trancode and DATA should be enqueued to the
transaction queue (local or global); ENQ is the default
• DATA(xxx) is optional; if supplied, the trancode is followed by the data within the
parentheses. Note that whatever is in DATA is moved character for character following
the trancode. If OPTION=BLANK is specified on the COMM macro, then DATA must
have a leading blank. All messages are single segment, and the maximum size of the
DATA can be the size of the LGMSG buffer minus 12 bytes for LLZZ and the trancode.
Uempty
IMS V10 IMS Version 10
Notes:
The command is processed only by the command master in the shared queues
environment. It is processed by all the IMSs to which it is sent in a local queues
environment.
The message data does not include the LLZZ fields for the segment. IMS adds these
fields.
Response mode, fast path, and conversational transactions are rejected if entered.
Remote transactions are rejected if the logical link is stopped.
If there is not an RM structure and therefore, there is no global status, the command is
rejected if the local status of the transaction on the command master is STOPPED.
If there is an RM structure and if the global status in a shared queues environment is
STOQ, the command will be rejected even if the local status is not stopped. If there is an
RM structure and if the global status in a shared queues environment is STAQ, the
command will be accepted even if the local status is stopped. In other words, if there is an
RM structure with shared queues, the global status controls whether the command is
accepted or rejected.
The LTERM name used for messages enqueued with this command is DFSOMAPI. The
userid associated with the message is the userid of the command client, such as TSO
SPOC.
Uempty
IMS V10 IMS Version 10
Notes:
Any response from this transaction is returned by IMS to OM in XML format as an
unsolicited message. The XML tags are shown on the slide. The new OM2 Unsolicited
Output Message support will place this message in the audit trail if enabled, and the SPOC
(or a REXX program) can be used to display the contents of the message.
In the above XML format, 8 bytes is reserved for the trancode, followed by a blank, then 8
bytes for the IMSID, followed by a blank, then the message text.
If an IMS V8 or V9 system processes the message and inserts to the IO-PCB, the program
will get an AD status code. This requires APARS PK30188 for IMS V8 and PK30189 for
IMS V9.
If the transaction name is unknown, DFSINSX0 is invoked. The exit has the same
capabilities as if a message from the network arrived with an unknown destination.
Notes:
Transactions can be dequeued from either the local or shared message queue by
specifying OPTION(DEQ|DEQALL). DEQ deletes one message. DEQALL deletes all the
messages on the queue. In a shared queues environment, the transactions are deleted by
the command master. In a local queue environment, each IMS to which the command is
routed deletes transactions from its local queue.
The transaction must be stopped for queuing and scheduling on the IMS processing the
command.
The QUEUE TRAN … OPTION(DEQ1|DEQALL) command is not supported for Fast Path
exclusive transactions.
If the transaction is unknown, DFSINSX0 can create the transaction for purposes of
dequeuing it. This is useful only in a SQ environment since, if it is unknown in a local
queues environment, there won’t be any messages on the queue.
Uempty
IMS V10 IMS Version 10
Notes:
This chart shows the syntax of the QUEUE LTERM command. There can be only one
name specified in the command. This is similar to the QUEUE TRAN command, except
that the data can be 8 bytes longer since there is no trancode. Messages must be single
segment.
In a SQ environment, only the command master queues the message. In a local queues
environment, each IMS queues the message. The command is rejected by any IMS where
the LTERM is stopped or if it is a remote LTERM and the MSNAME is stopped.
QUEUE
QUEUE LTERM
LTERM NAME(xxx)
NAME(xxx) OPTION(DEQ1|DEQALL)
OPTION(DEQ1|DEQALL)
Notes:
Messages can be dequeued from the local or shared LTERM queues. For this command
to be accepted, the LTERM and associated NODE or USER must be stopped on the IMS
processing the command.
This command is a little different when Sysplex Terminal Management is active (which
means that SQ is also active). If STM is not enabled, the command is processed only by
the command master. If STM is enabled, the command is processed by either the NODE
or USER owner or by the command master if the node or user is not owned.
Uempty
IMS V10 IMS Version 10
Notes:
If QUE TRAN is entered and the transaction is not defined to IMS, then IMS will invoke the
Destination Determination Exit (DFSINSX0) to make a decision about how to process the
command. The options are the same as for a message with an unknown destination
arriving from the network. The table shows the options depending on the environment –
DRD, SQ, and SCI. SCI should always be there, since CSL is required for Type-2
commands, but the last row of the table identifies the options if, for some reason, SCI has
failed.
Global Status
Notes:
This section discusses the concept of “global status” which is enabled by defining a Global
PLEXPARM parameter.
Uempty
IMS V10 IMS Version 10
Global Status
z User may elect to maintain global status of following resources
Databases including HALDB partitions
Areas
Transactions
z Benefits
If global status for a resource is changed while an IMS system is down, the
system assumes the global status when it restarts
© Copyright IBM Corporation 2008 40
Notes:
The user can elect to maintain global status for databases, areas, and transactions in a
Resource Structure. Global status is enabled initially by coding the GSTSxxx parameters
in the DFSCGxxx or DFSDFxxx PROCLIB member, and may be updated (or added) later
by the UPD IMS command. Global status for a resource is set with a global command.
Global commands are type-1 commands with the GLOBAL keyword or type-2 commands
with SCOPE(ALL) specified.
The benefit of global status is that it allows users to more easily manage sysplex
environments where some IMS systems are not always up. The user may change the
status of a resource, such as starting it or stopping it, while some IMS systems are not up.
When these systems are started, the resources in them assume the statuses that were
changed while they were not running.
z Enabled by
Including PLEXPARM parameters in DFSCGxxx or DFSDFxxx
Entering an UPDATE IMS command
Notes:
Maintaining global status on databases, DEDB areas, and transactions requires the CSL
environment with a Resource Manager and Resource Structure. Resource entries are
created in the structure and hold the global status. Enabling parameters are coded in
DFSCGxxx, or the CSL section of DFSDFxxx. They may also be enabled after IMS is up
and running using the UPDATE command.
Resources for which global status is kept are databases (all kinds except MSDBs), HALDB
partitions, DEDB areas, and transactions. The global status is kept in both the resource
entry and the local control block.
Uempty
IMS V10 IMS Version 10
z A restarting IMS may change its local resource status to the global status of
that resource
Cold start
Warm start
Emergency restart
© Copyright IBM Corporation 2008 42
Notes:
Global status is status which has been set by a “global command” or more accurately, a
command with global scope.
Both type-1 and type-2 command may be global in scope. For type-1 commands, this
means including the keyword GLOBAL on the command - for example /DBR DATABASE
XXX GLOBAL. For type-2 commands, this means including SCOPE(ALL) on the
command - for example, UPD DB NAME(XXX) STOP(ACCESS) SCOPE(ALL). Global
status is only set by one of these commands. It is never set by events in IMS.
When IMS is restarted, in may change its local status for a resource to the global status
found in the structure. This is always true for cold starts, and sometimes true for warm or
emergency restart. The conditions under which global status will override local status will
be discussed a little later.
Global status is only used to set status when an IMS system is (re)started
Notes:
Resource controls blocks (DDIRs, DMACs, and SMBs) contain BOTH the local status and
the last known global status. Global status is also contained in the resource entry of the
structure. Both the control block and the structure also have the timestamp of when that
status was set.
Local status does not always equal global status. For example, a database can be stopped
globally, but then later started locally on one IMS. We will talk more later about this concept
of local vs global status.
Uempty
IMS V10 IMS Version 10
A new parameter in
CSL proclib member DFSCGxxx < or >
CSL section of the DFSDFxxx proclib member
Specifies whether global status is to be kept for each resource type
PLEXPARM=(GSTSDB=Y|N,GSTSAREA=Y|N,GSTSTRAN=Y|N)
Notes:
Whether or not global status is maintained is determined by the “global plexparm”
parameters in CSL (either DFSCGxxx or the CSL section of DFSDFxxx). The PLEXPARM
parameter has values for databases, DEDB areas, and transactions. In each case, the
default is N (no), meaning that global status is not to be maintained for that resource type.
When any IMS V10 in the IMSplex joins the IMSplex, it looks for this parameter in the RM
structure. If it does not find it, it creates a global plexparm entry with values for GSTSDB,
GSTSAREA, and GSTSTRAN.
The user can change these parameters later using the UPDATE IMS command. The
UPDATE IMS command is new in V10.
When an IMS system starts, it uses the values from the PLEXPARM entry in the RM
structure if they exist. If they do not exist, it sets them from its parameters (those specified
in DFSCGxxx or DFSDFxxx). If the values in the structure entry and those from the IMS
system differ, message DFS3425I is issued. The message is:
Uempty
IMS V10 IMS Version 10
Notes:
This is an example of a command showing local and global DB status and local and global
DB access type. Because neither LOCAL nor GLOBAL was specified, both are shown in
the response.
The response could have been created by the following actions.
A /DBR DB ACCTHIST GLOBAL or a UPD DB NAME(ACCTHIST) STOP(ACCESS)
SCOPE(ALL) command was issued. If the UPD DB command was used, it was routed to
both IMS systems. This set the global status for the database to STOACC. It also caused
the database to be closed on both IMS1 and IMS2. Later a /START DB ACCTHIST or an
UPD DB NAME(ACCTHIST) START(ACCESS) SCOPE(ACTIVE) command was issued
only on IMS1. This started the database locally on IMS1. The database was then
allocated and opened. The QRY command shows the results for ACCTHIST.
Database ACCTMSTR was started on both systems with a global status of STA and a
global access type UPD. A /DBD DB ACCTMSTR or a UPD DB NAME(ACCTMSTR)
SET(ACCTYPE(BRWS)) was sent only to IMS2. This caused IMS2 to change its local
access type to BRWS which is read-only. It also closed and reopened the database data
sets for read. The QRY command shows the results for ACCTMSTR.
Uempty
IMS V10 IMS Version 10
Notes:
The PFA (prohibit further authorization) flag in DBRC prevents further authorization of a
database to another IMS subsystem, including batch jobs. Because non-online IMS
systems do not run with CSL and do not have access to the global status of a database, a
global command such as UPD DB NAME(XYZ) STOP(ACCESS) SCOPE(ALL) would not
prevent a batch job from getting authorization to that database. Only the PFA flag can do
that. It also prevents online IMS systems that are not running with CSL and global status
support from being able to authorize the DB. The point is global status is effective only
within an IMSplex running with CSL and global status enabled.
DEDB areas also have a PFA flag, but cannot be accessed by batch jobs so it is seldom as
much of an issue.
As we will see in the commands section of the class, the type-2 UPD DB class has been
enhanced in V10 to set PFA flags.
IMS Initialization
z During IMS V10 initialization in IMSplex
IMS queries RM for Global PLEXPARM Entry in RM Structure
z If no entry found and PLEXPARM parameter specified for IMS
Entry is created with PLEXPARM values
z If no entry and no PLEXPARM parameter specified for IMS
Entry is created with "N" values
z If entry is found, it is used
It overrides PLEXPARM values in the IMS system being initialized
If global status is being maintained for resource type (GSTSxxx=Y)
IMS obtains global resource statuses and timestamps from Resource Entries
• Saved for IMS restart processing – Not applied locally yet
Notes:
During initialization, IMS queries RM for the global PLEXPARM entry and takes action
depending on whether or not the entry exists.
If the entry does not exist, IMS will create one according to the type of IMS it is and
according to the PLEXPARM parameter in DFSCGxxx of DFSDFxxx. Note that the default
for each of the parameters is N (no global status to be maintained).
• DB/DC will add an entry with values from PLEXPARM for all three resource types.
• DBCTL will add an entry with values from PLEXPARM for databases and areas, but will
leave the transaction parameter NULL
• DCCTL will add an entry with values for transactions but leave databases and areas
NULL
If there is no PLEXPARM parameter in DFSCGxxx of DFSDFxxx, IMS will set the GSTSxxx
values to N or NULL, depending on subsystem type.
Uempty
IMS V10 IMS Version 10
IMS Restart
z When IMS is restarted
Global statuses from RM structure have already been obtained during initialization
Cold started systems assume the global status for each resource
z Warm and emergency restarts only apply global statuses to local statuses if
global statuses were set while IMS was down
Warm started systems assume the global status only if it was changed while IMS was
down
Notes:
When IMS is restarted, it has already obtained the global values from the structure. It is
during restart that IMS decides whether or not to apply this global status to the local control
blocks.
• For cold starts IMS always sets the local status to the global status.
• For warm and emergency restart, the local status from the log records used for restart
are first applied. (1) If the global status read from the structure was set at a time when
IMS was down, the global status is applied to the control block. This occurs because
someone changed the status globally while IMS was down. If IMS had been up, it would
have changed its status at the time. (2) If the global status was set before IMS went
down, then the local status is retained. The status on this IMS must have been
changed after the global status was set.
• For an /ERE COLDBASE restart, the database and area statuses are set according to
the rules for cold start. Transaction statuses are set according to the rules for
emergency restart.
• For an /ERE COLDCOMM restart, the transaction statuses are set according to the
rules of cold start. Database and area statuses are set according to the rules of
emergency restart.
Uempty
IMS V10 IMS Version 10
If a resource is defined to only one IMS and that IMS is down at repopulate
time
Structure is not repopulated with that resource and status
Only a global command will create a global status for the resource
If "down" system is restarted without a global status in the structure, the
restarted system will assume its last local status for the resource
Notes:
If the resource structure fails, RM notifies each IMSplex member to repopulate the structure
from their control blocks. Remember, the control blocks have both the local and global
status. Whichever IMS gets to the entry first sets the global status.
If a resource is defined to just one IMS, and that IMS is down at repopulate time (or all
IMSs to which the resource is defined are down), then it cannot be repopulated. If a DB or
AREA resource is later dynamically added to another IMS, there is no global status. If a
transaction is dynamically entered by another IMS, a transaction entry is created with
NULL status. If the DB or AREA resource then acquires global status, a DB or AREA entry
is created with the appropriate global status. A transaction entry is updated with the global
status. When the down IMS is restarted, it takes its global status from the structure.
z Benefit
Simplifies operations in a Parallel Sysplex environment
Resources may be managed globally
Notes:
The user can elect to maintain global statuses for databases, areas, and transactions in a
Resource Structure. Global status is enabled initially by coding the GSTSxxx parms in the
DFSCGxxx or DFSDFxxx PROCLIB member. It may be updated or added later by the
UPD IMS command. Both type-1 and type-2 commands can set global statuses for
databases and areas, Only type-2 commands can set global statuses for transactions.
The benefit is that it allows the user to set a global status while some IMSs are down and
then have an IMS accept that status when it is restarted.
Uempty
IMS V10 IMS Version 10
Notes:
z It includes a series of panels to let the user perform DRD functions against IMS
MODBLKS resources and descriptors
Actions
Create, delete, update, query
Resource types supported are those supported by DRD
Databases, programs, transactions, routing codes
Primary technique is “fill in the blanks”
Panels and navigation similar to TSO SPOC panels
Notes:
Manage Resources is invoked from the Application Menu. This is the menu that includes
several other programs, including SPOC, KBLA, and the HALDB Partition Definition Utility.
Manage Resources presents a series of panels to simplify the task of creating, deleting,
updating and querying the definitions used with DRD. The primary technique for creating a
resource or descriptor is to present the user with a screen with a field for every attribute
which the user can then fill in or let default. The defaults will be shown to the right of the
field.
More skilled users can choose a different format that requires them to know the meaning
and valid values for every field. This streamlines the process by presenting everything in a
single screen.
Uempty
IMS V10 IMS Version 10
Notes:
Manage Resources will always prompt the user for the next input. It will, for example, ask
you what action you want to perform against what resource or descriptor. The SPOC
Preference screen lets you select a default for the view. You may select either List View
which is designed for the less skilled user and the Command System View which is
intended for the more skilled user. You can tell the program that you do not want to confirm
every entry that would update a resource or descriptor.
Create
Prompt for Delete
General
General
Action to Query Flow
perform Flow
Update
through
through
Database
Manage
Manage
Prompt for
Resource Program Resources
Resources
Type Transaction
Routing Code
Varies
Data
Depending
Entry
On Action
4
Notes:
The basic flow is:
• Start Manage Resources from the IMS Application Menu
• Select the action you want to perform (e.g., create a definition)
• Select the resource type (e.g., create a DATABASE)
• Enter the data (e.g., enter the database name and attributes)
Uempty
IMS V10 IMS Version 10
Help
-------------------------------------------------------------------
IMS Application Menu
Command ===> 1____________________________________________________
Notes:
Start the IMS Application Menu and select Option 1 – SPOC. You should go to SPOC first
to set your preferences for Manage Resources.
Help
-------------------------------------------------------------------
IMS Single Point of Control Preferences
Command ===> ____________________________________________________
Preferences are
F1=Help F12=Cancel
a multi-screen display.
6
Notes:
There are two Manage Resources preferences you can set:
• Do you want Manage Resources to present screens to you in List for or Command
Syntax form? We will see examples of both shortly. The default is List View.
• Do you want Manage Resources to ask you to confirm everything before sending a
command to IMS that will update a resource? The default is to Confirm.
Uempty
IMS V10 IMS Version 10
Help
-------------------------------------------------------------------
IMS Application Menu
Command ===> 2____________________________________________________
Notes:
Go back to Application Menu and select Manage Resources
Help
-----------------------------------------------------------------
IMS Manage Resources
Command ===> ____________________________________________________
Notes:
Tell Manage Resources what action you want to perform.
Here we say we want to Create a new resource. On this screen, “resource” means either
resource or descriptor.
Uempty
IMS V10 IMS Version 10
Create Resources
z The following screens show an example of creating a transaction
descriptor and two transactions
Multiple resources of the same type can be created with a single command
Separate resource names by commas
z The second set of screens shows the same CREATE action using the
“Command Syntax View”
Fewer screens
Requires higher skill level
Notes:
The next few screens are an example of creating a transaction descriptor then using that
descriptor to create two transactions. Both the List View and Command Syntax View are
shown.
Notes:
Here we say we want to create a transaction descriptor using the current default
transaction descriptor for attributes which we don’t supply.
Uempty
IMS V10 IMS Version 10
Notes:
Manage Resources sends us screens (List View – that was our preference) with all the
possible attributes for transaction descriptors. There will be multiple screens since there
are more attributes than will fit on one screen in List View.
At the top of the screen, enter the name or names of the descriptors you want to create and
the name of the program.
Since we opted to use the system default transaction descriptor, the third column will have
these defaults already filled in. If the field is blank, there is no default. You can change
those you want to change and leave the rest as they are. The far right column shows the
valid values for the field.
Press F8 to scroll forward and F7 to scroll backward through all the screens.
After entering all the data, pressing Enter will either send a CREATE TRANDESC
command to IMS or will ask you to confirm.
Notes:
After the transaction descriptor has been created you can create transactions using this
descriptor as a template.
On this screen, we are creating two transactions, CUSTADD and CUSTUPD, using the
descriptor we just created, CUSTMODL, as a template.
Uempty
IMS V10 IMS Version 10
Notes:
Change any attributes that should be different from the descriptor. In this example, we are
changing the class from 6 to 12.
Create Resource
z Scroll through the screens using ISPF function key assignments
PF8 – scroll forward
PF7 – scroll back
14
Notes:
If your preference is to confirm all updates, a confirmation screen will be displayed. Check
the definitions and press Enter again. Manage Resources will submit a CREATE TRAN
command for you.
Note that Manage Resources will edit fields for valid values but will not cross-check to be
sure definitions are consistent. For example, Manage Resources will not verify that a RTC
is assigned to an FPE program, or that a FP transaction is not conversational. This is done
only by IMS.
Uempty
IMS V10 IMS Version 10
Notes:
If you asked to confirm, you will be presented with a confirmation screen. Check it out and
press enter again.
Notes:
If everything went well, you will get a message indicating success. If the command failed,
you will get an error message.
With this command we are creating two transactions with exactly the same attributes.
Uempty
IMS V10 IMS Version 10
Help
-------------------------------------------------------------------
IMS Single Point of Control Preferences
Command ===> ____________________________________________________
Confirm resource
changes . . . . . . . . 1. Confirm changes
2. Do not confirm changes
F1=Help F12=Cancel
17
Notes:
Alternatively, you can use Command Syntax View. You may return to the SPOC screen
which was shown earlier to change this selection.
18
Notes:
This is the same input as the previous CREATE TRAN but this shows the exact syntax of
the command without all the help (field descriptions and valid values).
Uempty
IMS V10 IMS Version 10
Querying Resources
z Support for the QUERY command has been enhanced
Short cut to displaying ALL attributes of a resource
QRY xxxx SHOW(ALL)
Short cut to displaying resources with “exceptional” status
QRY xxxx <user-default filters>
Build customized queries
QRY xxxx <customized filters>
Field level help on all displayed fields
Put cursor on column heading and press F1
19
Notes:
Manage Resources also supports a QRY capability. This capability has a shortcut for
displaying all attributes of a resource. You can choose to display only resources with
exceptional status. You decide what is exceptional. You can also build custom queries
which show only a subset of the attributes.
The QRY results screen has a column where you can enter line commands.
Help is available for individual fields on each screen.
Show ALL
Resource name . . . . . . . . A*_____________________________________
Resource type . . . . . . . . 1__ 1. Resource
attributes of all
2. Descriptor
transactions
beginning with “A”
* Query type. . . . . . . . . 1_ 1. Show all
2. Exceptions
3. Custom
Notes:
From this screen you can enter the resource or descriptor type and the its name or names,
select either resource or descriptor, and choose the query type. In this case, we have
chosen to query all transaction resources beginning with A and to show all of the attributes.
Uempty
IMS V10 IMS Version 10
21
Notes:
Manage Resources greatly reduces the need for the user to know the names of all the
attributes and their valid values. It also eliminates the need to know the exact format of the
commands. For those that do know the names and values for the attributes, a Command
Syntax View is available to reduce the number of screens required for some commands –
especially those related to transactions which have lots of attributes.
Some installations will find Manage Resources to be especially valuable for test systems.
With production systems they may prefer the use of standard commands for DRD. This
may be more easily audited. For test systems Manage Resources provides a convenient
and flexible interface for quickly changing resource definitions.
Operations Enhancements
z OM Audit Trail and Unsolicited Messages
z SPOC and REXX support
z Batch SPOC Utility
z REXX XML Parser
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
OM Terminology Review
z A command processing (CP) client
An IMSplex member that accepts and processes commands entered by
another member through the OM API
Examples are the IMS control region and RM
z An automated operator program (AOP) client
An IMSplex member that submits commands through the OM API to a CP
client
Most common example is TSO SPOC
Other examples are REXX programs using the REXX SPOC API, IMS
Connect (for IMS Control Center), vendor or user-written SPOC
AOP Clients CP Clients
TSO SPOC
IMS
IMS Control Center IMS Connect
OM
REXX SPOC RM
Notes:
As a review, OM has command processing clients and automated operator program
clients.
Uempty
IMS V10 IMS Version 10
Notes:
In IMS V10, OM provides two new functions: (1) an audit trail of commands and (2)
support for unsolicited messages.
OM Audit Trail
z OM audit trail uses the z/OS System Logger
Specified in CSLOIxxx OM initialization proclib member
IMSPLEX(NAME=plexname,AUDITLOG=log stream name)
Can be CF structure log stream (multiple OMs) or DASD-only log stream
(single OM)
Contains all OM log records from all OMs that are connected to this log
stream within the IMSplex
Recommendation: no more than two OMs should share a log stream due
to duplicate copies of unsolicited messages
z Command input logged before OM calls the OM input user exit
Logged again if text modified by OM input user exit
z Output logged before OM calls the OM output user exit
Logged again if text modified by OM output user exit
Notes:
The OM Audit Trail is implemented with an MVS logger log stream. It is specified via the
AUDITLOG=log stream name in CSLOIxxx. The log stream can be either in a CF (for
multiple IMSs) or DASD-only (for a single IMS). OM does not require that the same MVS
log stream be used within an IMSplex. You may have multiple OMs use the same log
stream or they may each have their own log stream. When multiple OMs use the same log
stream a CF is required. The audit trail will be maintained in chronological sequence.
Each OM will receive a copy of unsolicited messages. If multiple OMs share a log stream,
it will contain multiple copies of unsolicited messages. For this reason, IBM recommends
that no more two OMs share a log stream to avoid many duplicate messages. On the other
hand, the advantage of a shared log stream is that all messages are in one stream.
The OM input user exit is an optional exit that allows a user to view and manipulate
command input from an automation client. This exit is called before OM processes the
command, which allows the command to be modified or rejected.
The OM output user exit is an optional exit that allows a user to view and manipulate output
from OM. This exit is called when a command has been processed and is ready to be
Uempty delivered to the originator of the command; the exit can modify the response text before it is
delivered, or when an unsolicited message is received from a client using the CSLOMOUT
API.
Based on whether or not the optional OM input and OM output exits modify the text, each
input command or output response will have one or two entries in the audit trail.
OM Audit Trail
z Recommended CFRM and LOGR policy definition values:
CFRM policy
SIZE(8192)
LOGR policy
STRUCTURE
•LOGSNUM(1)
•AVGBUFZSIZE(4000)
•MAXBUFSIZE(32760)
LOGSTREAM
•LOWOFFLOAD(20)
•HIGHOFFLOAD(50)
Notes:
The recommended CFRM and LOGR policy definition values are shown.
The recommended structure size definition in the CFRM policy is SIZE(8192). This is
specified in Kbytes, so it creates an 8M structure.
The DEFINE STRUCTURE statement in the LOGR policy should include:
LOGSNUM(1)
AVGBUFZSIZE(4000)
MAXBUFSIZE(32760)
The DEFINE LOGSTREAM statement in the LOGR policy should include:
LOWOFFLOAD(20)
HIGHOFFLOAD(50)
Uempty
IMS V10 IMS Version 10
Notes:
This is an example of how to use DFSERA10, the IMS File Select and Formatting Print
Utility, to print the OM Audit Trail. The JCL requirements are:
STEPLIB - DSN points to IMS.SDFSRESL, which contains DFSERA10
SYSUT1 - DSN= points to the log stream name that was specified in the CSLOIxxx
PROCLIB
member on the AUDITLOG parameter
H= - specifies the number of log records to print (H=EOF to print all records)
EXITR=CSLxxxxx – specifies the log record routine that is called to format each log record
OM log record formats are available by assembling mapping macro CSLOLGRC.
Each OM log record contains a log record prefix, followed by data that is unique to the
record. Macro CSLZLGPF maps the log record prefix.
Uempty
IMS V10 IMS Version 10
Notes:
This shows the listing created by DFSERA10 with exit routine CSLULALE (formatted
output) for messages in the OM audit trail.
Figure 6-9. Sample Listing of OM Audit Trail using CSLOERA3 (command input/output) CMA01.0
Notes:
This shows the listing created by DFSERA10 with exit routine CSLOERA3 (dump format)
for a QRY TRAN command where the OM input and OM output exits did not modify the
messages. Since this is in XML format, it is very large and only the beginning of the output
record is shown here.
Uempty
IMS V10 IMS Version 10
11
Notes:
A command processing client will use the CSLOMOUT API to send an unsolicited
message.
CSLOMUSB (unsubscribe)
Issued by an AOP client to unsubscribe from unsolicited messages
OM no longer sends unsolicited messages to this AOP
12
Notes:
OM provides two new requests for unsolicited message support for assembler language
programs: CSLOMSUB and CSLOMUSB.
REXX support is shown in the next section.
Uempty
IMS V10 IMS Version 10
z Benefits
May not need messages for automation
May not need messages for auditing
13
Notes:
There are two ways to limit the unsolicited messages sent to OM.
IMS messages may be limited by using the UOM= parameter in the DFSDFxxx or
DFSCGxxx PROCLIB member. UOM=MTO is the default. It specifies that the only
unsolicited messages sent to OM from IMS are those that IMS sends to the MTO or system
console. UOM=ALL specifies that all unsolicited messages from IMS are sent to OM.
UOM=NONE specifies that no unsolicited messages are sent to OM from IMS.
There are optional user modifiable tables for IMS, CSL, and CQS which may be used to
send or not send messages based on their message number. You may specify whether
messages whose numbers are specified should be sent or not sent. You may also specify
whether messages whose numbers are not specified in the table should be sent or not
sent.
Of course, if messages are not sent to OM they will not appear in the audit trail.
You may want to limit the unsolicited output messages sent to OM for several reasons. You
may only need some messages from to AOP processing. You may only need some for
auditing purposes. You may not need any messages.
Uempty
IMS V10 IMS Version 10
14
Notes:
15
Notes:
This section addresses enhancements to the SPOC ISPF application and enhancements
to REXX support for the OM interface.
Uempty
IMS V10 IMS Version 10
Notes:
The TSO SPOC program has been enhanced to support the new OM “audit trail” of
command input/response through the OM and unsolicited messages sent by IMSplex
members to OM. Note that the function of SPOC reads directly from the Audit Trail
logstream. It does NOT retrieve any of these messages directly from OM. This allows the
user to scroll back and forth through the entire logstream, going as far back in time as
those log records still in the logstream. This does require that the SPOC be on an LPAR
which has an ISGLOGR address space to which it can connect and request log records.
17
Notes:
You can also write a REXX program to
• join the IMSplex
• subscribe to OM for unsolicited messages (actually, for any logstream message that
arrives after you subscribe, including command input and response)
• retrieve the messages into a REXX stem variable
• unsubscribe from OM when you want to exit
Unlike the TSO SPOC application, this feature receives its messages from OM directly –
not from the system logger. OM will only send messages received AFTER the program
subscribes.
Uempty
IMS V10 IMS Version 10
REXX Functions
z Three new REXX functions are provided
CSLULSUB
Subscribe to OM for messages
CSLULGUM
Get one or more messages from OM (since last CSLULGUM)
Repeat as needed
CSLULUSB
Unsubscribe from OM
18
Notes:
There are three new REXX functions provided by IMS to help you with these functions.
• CSLULSUB is a function used to subscribe to OM
• CSLULGUM retrieves messages from OM and puts them into a REXX stem variable
• CSLULUSB is used to unsubscribe to OM
Notes:
This is a sample of a REXX program which sets up the REXX SPOC environment,
subscribes to OM for audit trail messages from IMS2 which is a member of CSLPLEX1.
You invoke the subscription service by coding subrc = CSLULSUB and its parameters.
subrc will be set to the return code from this function. subrc=0 means it worked.
You retrieve the messages into the stem variable by coding -
results=CSLULGUM(plexname,stem-variable). The stem variable in the example is xml.
but you can use anything you like.
The results are returned in a stem variable named “xml.”
• xml.0 is the number of rows (lines) returned
• xml.1 is the first row
• xml.2 is the second row
• etc
It is up to the programmer to parse the responses and take action (if necessary).
Uempty Full details on coding these REXX functions is in the Systems Programming API Reference
manual.
20
Notes:
Uempty
IMS V10 IMS Version 10
21
Notes:
You can now invoke a batch SPOC application and submit IMS commands from a batch job
using the OM interface. Like the online SPOC, both Type-1 and Type-2 commands are
supported. Execution parameters include the IMSPLEX name, the routing (default routing
is all IMSs), and how long you want OM to wait for IMS to respond before returning a
negative response to the SPOC. Commands are coded in a SYSIN file with each
command executed serially – that is, OM submits the first command and waits for a
response before submitting the second command. The output goes to SYSPRINT and
looks like a formatted SPOC screen.
CSLUSPOC Parameters
z IMSPLEX= (required)
5 character IMSplex name suffix
z ROUTE= (optional)
Defines routing for all commands in SYSIN file
Examples
ROUTE=IMS1
ROUTE=(IMS2,IMS4)
Default is all IMSs registered to OM
z WAIT= (optional)
Time OM waits for IMS to respond
Minutes and seconds (mmm:ss) or seconds (sssss)
WAIT=0
Submit next command immediately – don’t wait for response
Default is WAIT=5:00
22
Notes:
• IMSPLEX name is required. (Note: you must have a SCI address space on the image
you are running on, but IMS can be on any image in the sysplex.
• ROUTE defines the routing for the command. It is optional. If not coded, the default
routing will be all IMSs.
• WAIT is also optional with a default of 5 minutes (probably way too long). Specifying
WAIT=0 will cause the SPOC to submit commands immediately without waiting for a
response to the previous command from OM. When you specify WAIT=0, OM will wait
up to 5 minutes for an IMS to respond.
Uempty
IMS V10 IMS Version 10
23
Notes:
This is the JCL for the batch SPOC. The program name is CSLUSPOC. The input
parameters are the IMSPLEX name, where you want the commands routed to, and how
long you want OM to wait for a response from IMS before returning to the SPOC. The
SPOC will then submit the next command in the SYSIN file.
The example shows the SYSIN to be inline, however, you could put the commands into a
data set and identify the data set in the SYSIN DD statement. This would allow you to just
update the contents of the file and resubmit the job rather than change the job input stream
If the continuation character is a plus (+) sign, then the next line is concatenated to this one
without any blanks. This would be required when you are (for example) coding the SHOW
parameters and they don’t all fit on one line. A minus (-) sign will insert a blank before
whatever is coded on the next line. For example, the next keyword should be separated by
a blank from the previous one.
//SYSIN File
z Commands are read from a SYSIN file
Utility supports all commands supported by OM
Commands are executed serially
When OM responds to one command, the next is submitted
Exception: if WAIT=0, commands are submitted without waiting for
response from OM
24
Notes:
The utility supports all commands supported by OM. They are executed serially, waiting for
the response to one before submitting the next. If WAIT=0 is coded, commands are
submitted without waiting for the response.
Command continuation characters allow commands to span multiple lines. A plus (+) sign
means no blank between this line and the continuation line. A minus (-) sign means to
insert a blank between lines.
Uempty
IMS V10 IMS Version 10
//SYSPRINT Output
z Contains the formatted command response from OM
Formatted to look like the response on a TSO SPOC display
IMSplex . . . . . : PLEX1
Routing . . . . . : IMS1,IMS3
Start time. . . . : 2005.132 15:36:28.11
Stop time . . . . : 2005.132 15:36:29.17
Return code . . . : 00000000
Reason code . . . : 00000000
Command master. . : IMS1
25
Notes:
The output goes to SYSPRINT. If you print it, it will lock almost like the output to the same
command submitted from the TSO SPOC (with a few things omitted, like function keys).
//SYSPRINT Output
z If OM does not respond before WAIT interval, or if WAIT=0
Response is not written to SYSPRINT
Short summary information written
26
Notes:
If OM does not respond within the wait interval time, but responds later, then that response
does not go to sysprint. Instead, a short summary page is printed as shown. This is also
true if you code WAIT=0.
Uempty
IMS V10 IMS Version 10
27
Notes:
This section addresses an XML parser that can be used with REXX programs to process
command responses from IMS.
Prior to V10
z Responses to OM-submitted commands always encapsulated in XML
Commercial REXX XML parser does not exist
Makes interpreting command responses more difficult
Programs must look for XML tags
Notes:
IMS has provided support for REXX programs to join an IMSplex and submit commands to
IMS using the OM interface. However, IMS always responds to these commands by
encapsulating the response in XML. This made it difficult for the programmer to analyze
and take any appropriate action.
The example shows a REXX function (CSLULGTS) used to retrieve the IMS response and
put the “output lines” into a REXX stem variable. For example “qryinfo.1” would be the first
line, “qqyinfo.2” the second line, etc. “qryinfo.0” is the number of lines (or rows) returned.
Uempty
IMS V10 IMS Version 10
29
Notes:
This slide shows a sample response to a QRY TRAN command with the XML tags. It is
difficult for the average programmer to write code to analyze this response.
• qryinfo.1 = <imsout>
• qryinfo.2 = <ctl>
Somewhere down the line (line n) is the actual response that you are interested in:
- qryinfo.n = <rsp>TRAN*CUSA ) MBR(IMS1) CC(0) CUSTADD 4 </rsp>
30
Notes:
IMS now provides a REXX parser function that makes it much easier. The new function is
CSLULGTP and has the same format as CSLULGTS. The first parameter is the stem
variable (qryinfo). What is new is that the function assign values to stem variable suffixes
which the programmer can use to find the pertinent information in the response. The suffix
is always the xmltag1.xmltag2 where xmltag1 is a high level tag and xmltag2 is an
imbedded tag within xmltag1. This will easier to understand with an example.
Uempty
IMS V10 IMS Version 10
31
Figure 6-30. Sample XML Output with REXX Stem Variables CMA01.0
Notes:
Here is that same XML output again. Note that there are xmltags imbedded within xmltags.
For example, with the <cmd> ... </cmd> tags are several other tags - <verb>...</verb>,
<kwd>...</kwd>, etc. The suffixes assigned by CSLULGTS are, for example:
• qryinfo.cmd.verb
• qryinfo.cmd.kwd
• qryinfo.cmd.input
Likewise
• qryinfo.ctl.omname is the name of the OM that forwarded the response from IMS
qryinfo is just an example of a stem variable name. You can choose anything you like as
the name.
z For repeating tags (e.g., the <rsp> tag represents 1 “row” from IMS)
qryinfo.rsp.0 = number or rows = 2
qryinfo.rsp.1 = 1st row = TRAN(CUSA ) MBR(IMS1) CC(0) CUSTADD 4
qryinfo.rsp.2 = 2nd row = TRAN(CUSQ) MBR(IMS1) CC(0) CUSTQRY 0
32
Notes:
Things get a little trickier when there are repeating tags. For example, the query in the
previous example resulted in IMS returning several lines of response, each of which is
imbedded within the <rsp> ... </rsp> tags. In this case:
• qryinfo.rsp.0 would be the number of rows
• qryinfo.rsp.1 would be the entire 1st row
If you want to parse each “column” in a “row”, then:
• qryinfo.rsp.1.0 is the number of columns in that row
• qryinfo.rsp.2.3 would be the 3rd column in row 2
Uempty
IMS V10 IMS Version 10
Summary
z OM Audit Trail and Unsolicited Messages
OM auditing capability for commands, responses and unsolicited messages
z SPOC and REXX support
For audit trail and unsolicited messages
z Batch SPOC Utility
Batch utility for submitting commands
z REXX XML Parser
Makes writing REXX programs and execs to interface with OM much easier
33
Notes:
Enhancements in SPOC make the use of CSL and OM much more attractive to even the
single IMS user.
Enhancements in IMS support for REXX makes writing your own AO programs much more
feasible.
34
Notes:
This section addresses an XML parser that can be used with REXX programs to process
command responses from IMS.
Uempty
IMS V10 IMS Version 10
35
Notes:
There are new “Preferences” that can be chosen. Command Confirmation, Exit
Confirmation, Storage Management, Command View, and Query Exceptions. The impact
of each of these will be shown in later slides.
z View
Refresh (new)
Resubmits previous command
36
Notes:
• SPOC is renamed from DISPLAY of earlier releases of SPOC. There is one new option
to display the Audit Trail created by OM for command input and responses and
unsolicited messages.
• Manage resources is new. It invokes an ISPF application similar to SPOC which can be
used to manage resources using DRD. This will also be discussed in detail later.
• View has a new option. “Refresh” resubmits the previous command.
Uempty
IMS V10 IMS Version 10
1_ 1. Save As...
2. Print File 1_ 1. Update
3. Print All 2. Copy
4. Select All 3. Delete
5. Deselect All Action 4. Show Details
Notes:
This screen shot shows what each of these pull down menus from the Action Bar would
look like.
Improved Help
z Field level help added to QRY display screen
Put cursor on column heading and press F1
38
Notes:
Field level help is now available for columns on the QRY result screen. Place the cursor on
the column heading and press F1. A description of the meaning of that field will be
displayed.
Uempty
IMS V10 IMS Version 10
39
Notes:
Choosing Option 6 in the SPOC pull down menu invokes the SPOC Audit Trail display
function.
To display
Use F7 and F8 to scroll up and down. responses for Type-
2 commands, put
Press Enter to refresh screen with cursor on line and
new messages. press Enter
Notes:
This is an example of a screen shot of an Audit Trail display. Note that Type-2 command
responses may be seen by placing the cursor on the line and pressing Enter.
Uempty
IMS V10 IMS Version 10
Help
-------------------------------------------------------------------
IMS Single Point of Control Preferences
Command ===> ____________________________________________________
More: +-
Storage Management Preferences
Maximum number of commands . . . . 10_ in status list
Delete command response after. . . 2__ minutes
Notes:
This screen shows the Storage Management Preferences
• What is the maximum number of commands and their responses to keep in the status
list
• How long should a command/response stay in the status list before being deleted
Audit Trail Preferences
• Member list of messages to display
• Type list of messages to display
If both have values, the member list takes precedence
Notes:
IMS Version 10 provides two enhancements for online change processing:
This first is ACBLIB Member Online Change. This is the capability to add or change
individual members of ACBLIB without a switch of ACBLIBs. The new or changed
members are brought online while IMS is running.
The second is a change in Online Change commit processing. This improves the chances
for the success of commit processing by reducing the number of situations where commit
will fail.
Uempty
IMS V10 IMS Version 10
Notes:
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
TYPE(ACBMBR) on the INIT OLC PHASE(PREPARE) command indicates that this is an
ACBLIB member online change. Since the INIT OLC command is used, an OLCSTAT data
set and a CSL environment are required. OLC=GLOBAL must be specified either in the
DFSCGxxx PROCLIB member or the DFSDFxxx PROCLIB member.
ACBGEN IMS
Staging
ACBLIB
Active Inactive
ACBLIB ACBLIB
Notes:
This is a pictorial overview of the ACBLIB member online change process. First, an
ACBGEN is done into a staging library. The online change process copies theselected
members from the staging library to the active ACBLIB while the IMS system is running.
Uempty
IMS V10 IMS Version 10
BUILD DBD=(CUSTOMER,ORDER),BLDPSB=YES
Notes:
The BLDPSB=YES option is new with IMS V10 and ACBLIB member online change. It
indicates that ACBGEN rebuilds all PSBs that reference the changed DBD on the BUILD
DBD=dbdname statement into the staging ACBLIB. Member online change requires that
all PSBs be rebuilt (flag set in PDIR) or it will fail. For performance reasons, these
relationships are found during the execution of ACBGEN in batch versus having to discover
these relationships online when ACBLIB member online change is invoked. However, this
means there may be additional processing done at ACBGEN time and the ACBGEN utility
may run longer. BLDPSB=YES is the default.
BLDPSB=NO is not the default, so this operates differently than in previous versions. It
must be specified if you want this capability.
The ACBGEN utility does not clear out the staging ACBLIB. The ACBGEN utility only
updates the members in the staging ACBLIB that are specified in the BUILD DBD and
BUILD PSB statements.
Uempty
IMS V10 IMS Version 10
Notes:
There is a new option on the OLC copy utility (DFSUOCU0) called TYPE=ACTVACB. This
copies the active ACBLIB to another data set. This may be the inactive ACBLIB or another
data set. The backup can be used in the event of a problem with ACBLIB member online
change. If the copy is made to the inactive ACBLIB, a full library switch can be used to
restore the ACBLIB to its previous state.
The ACTIVE ACBLIB is copied to the ACBLIB specified on the IMSACBO DD card in the
OLCUTL procedure by specifying OUT=O. The ACTIVE ACBLIB is copied to the
INACTIVE ACBLIB by specifying OUT=G.
If you have an IMSplex and you use DFSUOCU0 to copy the active ACBLIB to the inactive,
your procedures will depend on your configuration. In an IMSplex where IMS subsystems
share the active and inactive ACBLIBs, DFSUOCU0 needs to be executed on only one IMS
in the IMSplex. In an IMSplex where IMS subsystems do not share ACBLIBs, DFSUOCU0
needs to be executed on every IMS in the IMSplex
Notes:
TYPE(ACBMBR) is used to specify an ACBLIB member online change. It cannot be
specified with TYPE(ACBLIB,FMTLIB,MODBLKS) in the same INIT OLC
PHASE(PREPARE) command. TYPE(ACBLIB,FMTLIB,MODBLKS) and TYPE(ALL) are
for full library switch online change and the inactive ACBLIB becomes the active ACBLIB.
TYPE(ACBMBR) is for ACBLIB member online change. The active ACBLIB remains the
active ACBLIB an the source ACBLIB is the staging ACBLIB.
You need only specify the ACB member(s) with changes in the INIT OLC
PHASE(PREPARE) command; IMS will find all the necessary members that are
associated with the specified member(s). For example, there is an update to DBDX and an
ACBGEN BUILD DBD=DBDX,BLDPSB=Y is done. DBDX is used by members PSBA,
PSBB, and PSBC, so these PSBs are rebuilt by ACBGEN. The following command can be
entered to bring member DBDX online, along with members PSBA, PSBB, and PSBC:
INIT OLC PHASE(PREPARE) TYPE (ACBMBR) NAME(DBDX)
Uempty Dynamic Option PSBs (DOPT) are not supported by ACBLIB member OLC. Therefore
when ACBLIB member OLC processes a changed DBD that references a DOPT PSB, it
does not copy the DOPT PSB from the staging ACBLIB to the active ACBLIB, though the
changed DBD referenced by this DOPT PSB will be copied to the active ACBLIB. The
INITIATE OLC PREPARE command output shows for the DOPT PSB entry a completion
code indicating the DOPT PSB will not be copied to the active ACBLIB; COMMIT
processing will still be successful if this occurs.
10
Notes:
Here is a sample DFSMDA member for dynamic allocation of the ACBLIB staging library
for ACBLIB member online change.
DFSMDA TYPE=INITIAL
DFSMDA TYPE=IMSACB,DSNAME=STAGING.LIBRARY
DFSMDA TYPE=FINAL
The staging library was not used in online change in previous IMS versions; therefore, it
would not be in the IMS Control Region JCL. This new DFSMDA member of
TYPE=IMSACB is created for the staging ACBLIB. With TYPE=IMSACB, users only need
to specify the data set name for the staging ACBLIB. A dynamic allocation member with
the name of IMSACB will be created for the staging ACBLIB. Because of this, no database
MDA members should be created with a DDNAME=IMSACB. IMS dynamically allocates
the staging ACBLIB with DISP=SHR.
If dynamic allocation fails, the OLC PREPARE process will fail and return a return/reason
code and completion code indicating the error. The user will need to issue a TERMINATE
Uempty OLC command to abort the online change in progress, and then reissue the INIT OLC
PHASE(PREPARE TYPE(ACBMBR) command.
If you don’t set up a DFSMDA member for the staging library, you will need to include a DD
statement for the staging library in your IMS control region procedure. If the DD statement
exists, it will override any DFSMDA member. The following is an example of a DD
statement:
//IMSACB DD DSN=STAGING.LIBRARY, DISP=SHR
The staging ACBLIB is not updated by member online change. It may be shared or each
IMS may have its own copy. If different IMS systems have different staging libraries, they
must have the same contents.
The ACBSHR= parameter in the DFSCGxxx or DFSDFxxx PROCLIB member determines
if all IMS systems use the same active and inactive ACBLIBs. If they use the same active
ACBLIB, the new and changed members are only copied by one IMS during a member
online change.
11
Figure 7-10. Setup for ACBLIB Member Online Change (cont.) CMA01.0
Notes:
The OLCSTAT data set must be reinitialized before ACBLIB member online change may be
used. When reinitialized by the IMS V10 DFSUOLC0 utility the data set is expanded to
include ACBLIB member online change information. If there are IMS V8 and V9 systems
using the OLCSTAT data set they require coexistence maintenance to tolerate a IMS V10
OLCSTAT data sets. This is provided by APARs PK23401 for IMS V8 and PK23402 for
IMS V9. ACBLIB member online change cannot be used when IMS V8 or V9 systems are
included in the IMSplex. The coexistence maintenance only provides the capability for IMS
V8 and V9 systems to use OLCSTAT data sets which have been initialized at the IMS V10
level.
IMS V10 may use a OLCSTAT data set which was initialized for IMS V8 or V9, but it cannot
use ACBLIB member online change with an IMS V8 or V9 level OLCSTAT data set.
Reinitialization of the OLCSTAT data set is done with the DFSUOLC0 utility. The IMS V10
will initialize the data set in the IMS V10 format by default. You must specify the correct
suffixes for the ACBLIB, FMTLIB, and MODBLKS data sets as well as the correct modify
Uempty ID. If IMS systems are up you must also specify them to the utility. You may use the
QUERY OLC LIBRARY(OLCSTAT) command to determine these values.
There is an option to use the IMS V10 DFSUOLC0 utility to initialize an OLCSTAT data set
at the IMS V8 or V9 level. This is done with the VERSION=1 parameter which was added
to the utility by APAR PK37127. VERSION=1. VESION=1 for the OLCSTAT is the IMS V8
and V9 version. VERSION=2 is the default for the DFSUOLC0 utility. VERSION=2 for the
OLCSTAT is the IMS V10 version.
IMSplex Consideration
z When an IMS system in the IMSplex is not up when a change is made
If all IMS systems are sharing the active ACBLIB, this is not a problem
When IMS system is restarted it will use the updated ACBLIB
If each IMS system has its own ACBLIB, there is a potential problem
The system which was down did not get the updates
Procedure to handle this situation:
• Specify INIT OPTION(FRCNRML) parameter for PHASE(PREPARE)
- Allows a member online change to be processed if any IMS in OLCSTAT is
shutdown normally
- IMS that is down removed from OLCSTAT data set
• Before IMS restart, copy updated active ACBLIB to ACBLIB which was not
updated or update with ACBGEN
• Message DFS3433W issued at restart
DFS3433W ACBLIB MEMBER OLD ID MISMATCH MOLCID=yyyydddhhmmss
12
Notes:
The FRCNRML (Force Normal) option on the INIT OLC PHASE(PREPARE) command
allows the user to do an online change even if one of the IMSs in the OLCSTAT data set is
down normally. This does not apply to IMS systems which are down due to an abend.
When using the FRCNRML option and ACBSHR=Y (single, shared ACBLIB), there is no
problem if an IMS system is down during the online change. Since there is only one
ACBLIB, it will contain all member online changes that were processed while any IMS was
down normally. The user does not have any additional ACBLIB processing to do.
When using the FRCNRML option and ACBSHR=N (separate, non-shared ACBLIBs), this
member online change will be missing from the active ACBLIB when the terminated IMS is
restarted. The user must ensure that the ACBLIB used by the system which was down
during the online change is updated with the changed members. There are two
possibilities. First, one can execute the ACBGEN utility to put those missing changes into
the active ACBLIB before that IMS is restarted. Second, if the ACBLIBs of the IMS
systems are clones, one can copy the active ACBLIB of another IMS system to the ACBLIB
used by the IMS system which is down.
Uempty The FRCABND (Force Abend) option on the INIT OLC PHASE(PREPARE) command is
not supported. This means that if an IMS system is down due to an abend, an ACBLIB
member online change may not be done before it is emergency restarted.
13
Notes:
There are three phases to the ACBLIB member online change. Details are described in
the following charts.
Uempty
IMS V10 IMS Version 10
Prepare Phase
z Prepare phase is begun by INIT OLC PHASE(PREPARE) … command
z IMS builds a list of changed members
DBDs and PSBs in the command plus any PSBs affected by DBD changes
All members in the list must be processed successfully or PREPARE fails
z Quiesces only affected resources
z If PREPARE phase fails, the TERMINATE OLC command needs to be
issued
14
Notes:
Commit Phase 1
z Commit phase is begun by INIT OLC PHASE(COMMIT) command
z Updated member(s) are written to the active ACBLIB with encrypted
name(s)
Member name is translated to hex characters and written as new member to
the active ACBLIB
Existing members are not updated
Ensures all new/updated members fit in the active ACBLIB
Prevents x37 abends from creating inconsistent members in the active
ACBLIB
z If Commit Phase 1 fails, the TERMINATE OLC command needs to be
issued
15
Notes:
Uempty
IMS V10 IMS Version 10
Commit Phase 2
z Deletes old member(s)
z Renames encrypted member(s) to the actual name(s)
z Refreshes TTRs for changed members
z IMS now processes with new and/or changed members
16
Notes:
ACBLIB member online change adds new and changed log records in IMS. The following
table lists the six new log records that are created for ACBLIB Member Online Change and
the x'4001' log record which is changed.
Log Record TypeConditions for writing log record
X’7002’Begin write Member OLC log record
X’7003’Write complete Member OLC log record
X’7004’Commit Member OLC log record
X’7005’Commit Complete Member OLC log record
X’7006’Restart Abort Member OLC log record
X’7010’TERM OLC for Member OLC log record
X’4001’Checkpoint record is updated to contain an MOLCID
These log records are processed by IMS emergency restart, by the XRF alternate, and by
the FDBR tracker at log read time.
The X’4001’ Checkpoint record is updated to contain the MOLCID (Member Online Change
ID), a 12-byte UTC timestamp. This is used to compare with the MOLCID in the OLCSTAT
at IMS warm restart to determine whether a member OLC occurred while an IMS system is
down.
Uempty
IMS V10 IMS Version 10
Example Commands
17
Notes:
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
The QUERY OLC SHOW(RSCLIST) command is valid only when a TYPE(ACBMBR)
online change is in progress after an INIT OLC PHASE(PREPARE) command. It lists the
DBDs and PSBs to be added or changed by the ACBLIB member online change.
20
Notes:
OLCMACB is a new status indicating a ACBLIB member online change is in progress.
Uempty
IMS V10 IMS Version 10
21
Notes:
TERMINATE OLC
Response for: TERMINATE OLC
MbrName Member CC
-------------------------------------
IMS2 IMS1 0
IMS2 IMS2 0
22
Notes:
Uempty
IMS V10 IMS Version 10
23
Notes:
ACBLIB member online change requires the use of OLCSTAT, not MODSTAT. It is invoked
only with type-2 commands. This means that a CSL environments is required.
All IMSs in the IMSplex must be at IMS V10 to perform an ACBLIB member online change.
ACBLIB member online change supports XRF, FDBR, and DBCTL Warm Standby. It does
not support RSR or MSDBs.
24
Notes:
Uempty
IMS V10 IMS Version 10
25
Notes:
In previous versions of IMS with a non-shared queues environment, online changes for
indirectly affected transactions could cause commit processing to fail. Indirectly affected
transactions are those for which the TRANSACT macro is not changed, but a PROGRAM
macro or PSB in ACBLIB which the transaction uses is changed or a DATABASE macro or
DBD in ACBLIB is changed for a database referenced by the transaction's program. In the
previous releases if there were transactions on the queue for indirectly affected
transactions the online change would fail commit processing. This changes in IMS V10.
Only directly affected transactions will cause commit failures. Directly affected transactions
are transactions that have changes to their definitions that could impact the scheduling and
processing of queued or subsequently arriving transactions. Examples on the TRANSACT
macro are AOI=, EDIT=, FPATH=, INQ=, and MSGTYPE=.
This applies to both local online change (/MODIFY command) and global online change
(INIT OLC command).
This function has been available with shared queues with the following maintenance on
previous IMS versions:
Uempty
IMS V10 IMS Version 10
26
Notes:
27
Notes:
Highlights
Notes:
IMS V10 provides several enhancements in the security area:
• Support for mixed-case passwords through a new parameter, PSWDC.
• Greater consistency in how IMS requests SMF logging.
• A new AUTHLOG parameter that enhances auditing requests during DL/I CHNG|AUTH
call requests even when DFSCTSE0 (Security Reverification Exit) exists.
• Enhanced security for IMS conversations when the terminal has been disconnected
with an active conversation in progress.
Most importantly, IMS V10 removes SMU security and all the components associated with
SMU. Migration from SMU to SAF/RACF (or equivalent product) is easiest if accomplished
before the IMS V10 migration, otherwise the migration from SMU to SAF will need to
coincide with the migration to IMS V10.
Uempty
IMS V10 IMS Version 10
Notes:
Support for mixed-case passwords is requested through a new startup parameter PSWDC.
Setting the value to M (mixed-case) assumes that RACF has also been set up for
mixed-case support.
For reference purposes, the applicable RACF commands include:
• SETROPTS PASSWORD(MIXEDCASE|NOMIXEDCASE). MIXEDCASE indicates
that all applications on this system and those that share the RACF database support
mixed-case passwords. The syntax rules must also be modified to allow mixed-case
characters. When this option is activated, the RACF ALTUSER, ADDUSER,
PASSWORD and RACLINK commands will no longer translate passwords to
uppercase, nor will applications that request mixed-case password support such as IMS
systems that specify PSWDC=M. This option is inactive by default.
• SETROPTS PASSWORD(RULE…) defines up to 8 syntax rules for new passwords
and will be used to verify that the new password meets the criteria. The rules specifying
mixed-case characters should only be set when the MIXEDCASE option is in effect.
When the password rules are changed, there will be no immediate impact on the users.
The only time the change will have an effect is when the users change their passwords.
The rules are only used to verify that a new password meets the criteria. Any existing
passwords are just verified against what is entered and what is in the database. The
users will not be asked to change their password just because the syntax rules have
changed. If multiple rules are defined, a password that passes at least one rule is
accepted.
• SETROPTS LIST can be used to display the current setting
Uempty
IMS V10 IMS Version 10
Notes:
Since IMS provides several areas for a password to be entered, the new mixed-case
support affects all these areas.
Be careful when enabling this capability. Users that were used to entering their passwords
in any mode – lower, upper, mixed – may have their signon rejected if a specific case is
expected.
Notes:
In previous releases, IMS authorization requests were inconsistent with respect to the
auditing capability, i.e., SMF logging and writing the ICH408I message to the system
console. Some SAF requests used the normal authorization request call (AUTH) which
could determine whether the security product required auditing and requested the function
as part of the call. Other requests used the fast authorization call (FASTAUTH) and, when
auditing was needed, performed a second AUTH call; and yet other requests issued the
FASTAUTH with the additional specification of LOG=ASIS to perform auditing, when
required, as part of the fast authorization.
IMS V10 provides a consistent method of requesting auditing. IMS authorization requests
have been changed, where needed, to use the FASTAUTH call with LOG=ASIS
specification to honor SMF logging requests as part of the same SAF call thereby
eliminating the optional second AUTH call that was previously required just to request SMF
logging.
The RACF implementation of auditing and the way the installation requests this capability
from RACF have not changed. RACF continues to perform auditing if the authorization
Uempty check results in success (RC=0) or failure (RC=8), and determines that auditing is
necessary based on the following conditions:
• the user's UAUDIT setting
• the AUDIT, GLOBALAUDIT, and WARNING options in effect for the resource
• the SETROPTS SECLABELAUDIT is in effect
• the AUDIT options in the resource SECLABEL profile
• the pre-processing or post-processing installation exit's indication of whether or not to
do auditing.
IMS-provided security
The Security Maintenance Utility
Application Group Name Exit Routine (DFSISIS0)
IMS.MATRIXx data sets
z Primary consideration
If migration from SMU to SAF/RACF has not already been done, migration
to IMS 10 will also need to include migration from SMU to SAF/RACF
Notes:
A new DFSDCxxx startup parameter provides a system level specification on how IMS is to
handle auditing for application programs that issue the AUTH calls.
• AUTHLOG=ALL (default) requests that SMF logging occur and RACF error message
ICH408I be issued when appropriate
• AUTHLOG=NOMSG allows SMF logging to occur when appropriate but suppresses
the RACF error message ICH408I
• AUTHLOG=NONE requests suppress of both SMF logging and RACF error message
ICH408I
Uempty
IMS V10 IMS Version 10
Notes:
Another issue in prior releases was that IMS would not perform auditing if the IMS user exit
DFSCTSE0 existed in the system. The documentation indicated that the user exit had to
perform the auditing function.
In IMS V10, IMS provides new flags that allow the exit routine to request that IMS issue an
authorization call in a form that will allow auditing to take place. To take advantage of this
capability, the DFSCTSE0 exit routine will need to check a new flag (CTSEAUDR in
CTSEFLG1) which indicates that the auditing function is needed, and when needed, set
another new flag (CTSEDAUD in CTSEFLG2) to tell IMS to issue the authorization call and
request auditing. The exit will only be able to set CTSEDAUD if CTSEAUDR is on.
Notes:
Security auditing in IMS V10 is based on:
• The installation’s specifications that requests auditing of resources, and
• The presence/absence of the IMS user exit DFSCTSE0 - if it exists, then the setting of
the CTSEDAUD flag, and
• The specification of the AUTHLOG parameter requesting that a form of auditing be
done
Uempty
Notes:
IMS V10 enhances security for IMS conversational processing in the situation where a user
attempts to signon from a terminal that is associated with an active conversation.
In prior releases, as long as a user signing on from the terminal was authorized to one of
the conversations (the active one or any of the ones on hold), that user could gain access
to the active conversation even if they were not authorized to the active conversation. This
situation affected all static terminals as well as ETO terminals where the control block
structure of the USER was not unique to a signing on userid. For ETO, the environment in
question was one where all userids logging on from the terminal accessed the same control
blocks, e.g., LUname=USERname=LTERMname.
Notes:
The IMS V10 change ensures that a signon will be successful only if:
1. the userid attempting the signon is authorized to use the active conversation, or
2. no active conversations exist, i.e., all the conversations are held.
The impact to static and ETO terminals when an active conversation exists includes the
following:
• Static: A user that is not authorized to the active conversation will fail signon. The user
can issue /HOLD on the conversation and then reissue the /SIGN ON command.
/RELEASE of the conversation to which the user is authorized can be entered to
resume the appropriate interaction.
• ETO: Users that attempt a signon in environments that have generic naming
conventions (e.g., LUname=USERname=LTERMname) must be authorized to the
active conversation if one exists, otherwise the signon will fail. /HOLD is not allowed
prior to a /SIGN ON.
Uempty
Notes:
Terminology: - A deferred conversational program switch is one that responds to the
terminal but causes the next input from the terminal to go to another conversational
program. An immediate program switch passes the conversation directly to another
conversational program. This capability addresses the deferred model.
When an application program inserts a deferred conversation program switch, IMS security
mechanisms provide a method to validate authorization to the new transaction name when
the SPA is inserted. The authorization check is done wherever the program runs using the
security authorizations of that IMS system. IMS V10 addresses the concern that the
program issuing the deferred conversation program switch could run on a back-end MSC
or Shared Queues system where the authorizations might differ from the system where the
switched-to transaction might actually run.
IMS V10 ensures that the user is authorized to access the switched-to transaction by
adding an authorization check on the subsequent input from the end user. This check is
made to validate that the user is authorized to access the switched-to transaction. If the
terminal is disconnected during the conversation, and the conversation remains active,
then the authorization check is made when the next signon is attempted.
Uempty
Notes:
IMS V10 no longer supports the Security Maintenance Utility (SMU) capability. As a result,
SMU components have been removed including the SMU Utility, the AGN Exit Routine
(DFSISIS0) and the MATRIX data sets. Note that the IMS.MATRIXx data sets have been
deleted and removed from all IMS procedures and logic.
A primary consideration in this area includes migration. IMS systems that use SMU must
migrate to the SAF interface at the time that the upgrate to IMS V10 occurs.
Notes:
The impact of removing SMU affects the IMS environment in several ways.
• All SMU specifications in any of the system definition macros are ignored. These
specifications were previously found in the COMM, IMSGEN and SECURITY macros.
• The Security Maintenance Utility no longer is available in IMS V10. Additionally, the
Online Change Utility will no longer support the IMS.MATRIX data set. If the MATRIX
dataset DD cards exist in the online change utility JCL, the utility will ignore those
specific DD cards.
Uempty
Notes:
The changes to the startup parameters fall into several categories:
1. Parameter values requesting the use of SMU continue to be accepted in IMS V10 but
are ignored. These include AGN (specification of an AGN name), AOI1=S (request to
use SMU security for AOI Type 1 command authorization) and ISIS=<0|1|2>. The ISIS
parameter is still supported for specification of combinations of SAF and user exit
authorization. Only the three values of 0, 1, or 2 which were previously associated with
SMU are now ignored.
2. Specifications that are no longer documented but are compatible with functionality in
previous releases of IMS. Certain parameter values in previous releases allowed the
use of SAF/RACF along with negating the loading of the signon security tables from the
MATRIX data set. The specifications included: TRN=<E|X>, RCF=<B|R>, and
SGN=<D|E|W. Although these values are no longer documented in the IMS V10
System Definition Guide because they request negation of loading tables from the
MATRIX data set which is no longer supported, the values will be accepted for
compatibility purposes and function in the same manner as the supported counterparts.
Uempty
Notes:
Certain commands such as /CHANGE PASSWORD and /DELETE
PASSWORD|TERMINAL were strictly associated with SMU security. These commands
are no longer supported in IMS V10 and, if entered, will result in error message DFS181.
SAF/RACF support for the resources associated in the /SET, /LOCK and /UNLOCK
commands was introduced in IMS V9 along with the LOCKSEC parameter and additional
resource classes for PSBS (IIMS/JIMS) and LTERMs (LIMS/MIMS). IMS V10 removes the
SMU check and supports the SAF/RACF security check which includes two checks: both a
validation that the userid of the signed on user is authorized to invoke the /SET, /LOCK, or
/UNLOCK command; and a second check that userid is authorized against the resource
being accessed – Transactions, LTERMS, Programs, Databases.
Password security is different when using SAF/RACF versus the previous capability with
SMU. SAF/RACF uses the signed on user’s password in a reverify capability whereas SMU
used a global password as defined in the SMU tables. Note that the use of a password
after the parameter defining the resource will continue to be supported for all keywords
except PTERM and NODE. This restriction has not changed. The SAF/RACF check is
accomplished using the RACF REVERIFY support. The REVERIFY support assumes that
the RACF profile for the IMS resource is defined with the parameter
"APPLDATA('REVERIFY')", then IMS (assuming RVFY=Y is specified as an IMS startup
parameter) checks that the password is the same as the user's signon password. If the
resource is defined to RACF but is not authorized for use, the command is rejected with
message DFS3689W USE OF <TRANSACTION|LTERM|DB|PROG> resourcename BY
<LOCK|UNLOCK> REJECTED.
Uempty
Notes:
All SMU keywords are ignored when any of the restart commands are issued.
For Online Change requests, the PASSWORD, TERMINAL and TRANCMDS keywords do
not apply to the IMS V10 system for either a /MODIFY or INIT OLC command. For INIT
OLC, the keywords are still processed, and the appropriate flags in the MWA are set, so
that in a sysplexed environment that consists of a mixture of V8, V9 and V10 systems, the
keywords can be passed on to the IMS systems at the V8 or V9 level.
Notes:
The removal of the SMU support has also affected the documentation for certain messages
and abend codes as well as specific application program status and return/reason codes.
The documentation in the appropriate manuals has been changed to remove references to
SMU-based security.
Uempty
Notes:
IMS documentation has also changed to remove references to SMU security.
Notes:
Both IMS V8 and V9 provide migration paths to the use of SAF/RACF security. IMS V9
provides migration capabilities that are not available with IMS V8.
Transaction Manager
z MSC
z APPC
z Removal of BTAM Support
Notes:
Uempty
IMS V10 IMS Version 10
MSC
Notes:
Highlights
Notes:
IMS V10 removes the routing exit routines that were replaced by the TM and MSC
Message Routing and Control User Exit (DFSMSCE0) beginning in IMS V7. DFSMSCE0
consolidated and replaced the following exits: MSC Terminal Routing Exit (DFSCMTR0),
MSC Input Message Routing Exit (DFSNPRT0), MSC Link Receive Routing Exit
(DFSCMLR0), and the MSC Program Routing Exit (DFSCMPR0). Although the older exit
routines were supported concurrently with DFSMSCE0 in V7, V8, and V9, they are now
being removed in V10 and will no longer be supported or called. DFSMSCE0 must be
used. Note: DFSMSCE0 can be used in both MSC and non-MSC environments, although
not all routing options will apply to non-MSC systems.
To improve the performance and bandwidth requirements of high-volume MSC systems,
many customers today use a large number of parallel MSC links between pairs of IMS
systems. This scheme can complicate the operations of the IMS systems and adds to the
complexity of the system configurations as well as load balancing schemes. IMS V10
introduces several enhancements to increase MSC bandwidth. These include:
Uempty • Blocking multiple messages and responses into a single buffer when sending
messages across the MSC links. In previous releases, IMS only sent one message or
response at a time.
• Reducing the logger I/O operations by reducing the number of CHECK WRITE calls.
• Expanding the maximum link buffer size to 64K (was 32K) so that more messages and
responses can fit into a buffer. Additionally, the initial link buffer sizes set during the IMS
system definition process can be increased or decreased and displayed dynamically
with IMS commands.
• Providing a command to provide statistics on a link. A secondary issue associated with
MSC bandwidth is the difficulty that IMS operators and system programmers can
encounter when MSC link performance is inadequate due to a message backup or poor
performance. Inadequate performance data in previous IMS releases often resulted in
days or weeks of analyzing log records and traces to resolve the issue. In IMS V10, this
issue is resolved with an enhanced link Query Statistics command.
Notes:
IMS V10 only supports the TM and MSC Message Routing and Control User Exit Routine
(DFSMSCEO) for routing. There is no longer any support for the older routing exit routines
DFSCMTR0, DFSNPRT0, DFSCMLR0, DFSCMPR0. DFSMSCE0 was introduced in IMS
V7 to provide an opportunity to migrate over several releases.
The COMM macro specification during system definition, therefore, ignores the
NOMSPEX/MSPEXIT and NOMSLEX/MSLEXIT parameters. Previous releases of IMS
allowed specification of the parameters NOMSPEX/MSPEXIT to exclude/include the MSC
Program routing exit (DFSCMPR0) and NOMSLEX/MSLEXIT to exclude/include the MSC
Link Receive routing exit (DFSCMLR0). IMS no longer recognizes these routines even if
they are included in the IMS resource library.
If the older exit routines still exist in the IMS release from which the migration is being done,
then migration to DFSMSCE0 becomes a required action for the IMS V10 migration. The
IMS Customization Guide documents a sample DFSMSCE0 exit along with the user edit
parameter list macro (DFSMSCEP) which provides information on using and customizing
Uempty the exit. To include the DFSMSCE0 replacement exit into the IMS system, it must be bound
(linkedited) into IMS SDFSRESL (or a concatenated library).
z Prior Releases
Input and output buffer to send messages on a physical link
Defined via BUFSIZE on MSPLINK macro at system definition
• Applicable for the duration that the link is active
z Issues
Buffer size is fixed and may not account for increased traffic
Only one message or response can be sent per buffer
Even if the buffer is large enough to hold multiple messages/responses
The next message is not sent until the partner IMS responds that it has
Received, queued, and logged the message
Notes:
To understand the changes for MSC bandwidth, a review of the issue is provided on this
visual.
The definition of MSC physical links provides a specification for a BUFSIZE on the
MSPLINK system definition macro. The buffer sizes specified are fixed at system definition.
When the link is started, an input and output buffer is acquired and held for the duration of
the link restart (i.e. link active), at the specified size to send and receive data (messages)
across the link. Since each side (partner) of the link has a send and receive buffer, a
message or response may be simultaneously sent each way. However, only one message
or response is sent per buffer, even if the buffer is large enough to hold multiple
messages/responses. Another message is not sent until the partner IMS responds that it
has received, queued, and logged the message. For high-volume systems, the wait
associated for a freed buffer can be unacceptable. To get around this issue, high-volume
systems oftentimes are defined with a large number of parallel links to support the
concurrent traffic from one IMS to another.
Uempty
IMS V10 IMS Version 10
Benefits
z DFSMSCE0
Provides a standard exit routine and consistent set of routing capabilities
Notes:
The MSC bandwidth mode in IMS V10 is a mechanism to determine whether or not to send
multiple messages in one buffer. In non-bandwidth mode, MSC sends a maximum of one
message or response per I/O operation (i.e. Send or write). In bandwidth mode, IMS
attempts to maximize the capacity of a link by sending as many messages that are queued
and ready to go, and responses that are owed for messages received, in the same buffer.
By increasing the link buffer size, more and more messages and responses may be sent
simultaneously.
Note that BANDWIDTH mode is not a system definition option. It can only be set ON with a
command. The default is non-Bandwidth mode which allows MSC to function as in
previous releases.
Notes:
MSC bandwidth mode is only available on IMS 10 to IMS 10 connections.
The bandwidth mode may be set ON/OFF by the IMS UPDATE command on a link by link
basis for all the CTC, MTM, or VTAM links.
The specified mode must be the same on both sides of the link or the link restart will be
rejected with a DFS3218 message. IMS V10 MSC links that are connected to a down level
release of IMS (i.e. V8, V9) will not be able to set bandwidth mode on the V8/V9 side of the
link so the link, in effect, will not be able to operate in bandwidth mode.
Uempty
IMS V10 IMS Version 10
IMSB
z MSC Environment - with VGR
Shared
IMS1 Queues
IMSA <---> IMSB
V
T IMSA V
A T IMS 2
IMS1
M A
M
IMS3
IMS1 Data
Sharing
Notes:
Turning bandwidth mode ON can also impact logger I/O. As a general rule, there are 2
CHKWs in the path of a recoverable message that is sent across an MSC link, one on the
send side when the last part of a message is sent, and one on the receive side when the
received message is enqueued. There are no CHKWs issued for non-recoverable
messages. Note, however that even though a message that is sent from a front-end IMS to
a back-end system is non-recoverable (therefore no CHKWs), its response is always
considered recoverable and will incur CHKWs. Therefore, recoverable remote transactions
incur 4 CHKWs, two for the message going to the back-end and two for the response.
Non-recoverable remote transactions incur 2 CHKWs, none for the non-recoverable
message that is sent to the back-end, and two for the reply which IMS always sets to
recoverable.
The choice of bandwidth mode, however, does impact the number of CHKWs that can be
issued in an IMS V10 environment. Bandwidth mode potentially reduces the number of
CHKWs issued because only one CHKW is written per send buffer regardless of how many
messages are contained in the buffer. For example, if there are five messages in the buffer
then only one CHKW is written rather than five. Note that on the receive side, the back-end
IMS continues to issue one CHKW per message. When the response messages are
ready, the back-end IMS will attempt to buffer as many messages as can fit in a buffer and
issue one CHKW for the buffer. The front-end IMS which is the receiving system for the
responses will issue one CHKW per message.
Non-bandwidth mode provides the same processing as pre-IMS V10 systems. For
example, if the front-end IMS has five messages to send, these messages are all sent in
separate buffers and five CHKWs will occur, one for each message. On the receive side,
IMS will again issue one CHKW per message. The same processing and number of
CHKWs occur for the responses from the back-end IMS to the front-end system.
Uempty
IMS V10 IMS Version 10
APPC
Notes:
IMS 10 increases the range of buffer size specifications. The new MSPLINK BUFSIZE
range is from 1024 to 65536 and specifies the input and output buffer sizes for each logical
link defined for a physical link. The range is standardized and applicable to CTC, MTM
and VTAM links. Prior to version 10, the size for CTC and MTM links ranged from 160 to
32689 and from 208 to 30720 for VTAM links. Note that when bandwidth mode is used, a
BUFSIZE of 1024 may be too small to take advantage of the ability to send multiple
messages with one buffer especially if the messages include some of the extended
headers that capabilities such as OTMA impose. A value of 4096 is more realistic.
Additionally, in prior releases IMS system definition added 78 bytes to the MSPLINK
BUFSIZE for CTC and MTM links, and 288 bytes to VTAM links. IMS Initialization added
another 28 bytes. This overhead has been removed in V10. IMS initializes the MSC
buffers to the actual BUFSIZE specified. For V10 to be compatible with V9 and below,
however, IMS will continue to add the overhead (i.e. 78+28 for CTC and MTM links,
288+28 for VTAM links), at link restart if the partner IMS is below a V10 level. This action
insures that the buffer sizes are compatible. If the partner is at V10 or higher, the overhead
is not added.
Also note that in prior IMS releases, VTAM required buffer sizes to reflect a formula of X
times 2 to the power of Y, where X had to be a value of 8 through 15, and Y has to be a
value from 3 to 13. This restricted the MSC VTAM buffer sizes to certain values that were
documented in a VTAM table under the MSPLINK macro in the Installation Guide, Volume
2 manual. For V10, these restrictions are removed, but remain for compatibility when
communicating to a V9 or earlier release of IMS. Any BUFSIZE from 1024 to 65536 is
acceptable. The table in the manual has been updated to reflect the applicable sizes.
Uempty
IMS V10 IMS Version 10
Highlights
z Local LU Support
32
Notes:
A label field has been added to the MSLINK macro to allow a name to be assigned to the
logical link. The name, if provided, can be used for the new command capabilities that are
provided to affect specific links. If not specified, IMS will generate the name DFSLxxxx
where xxx is the link number. Link numbers, as in previous releases, continue to be
assigned automatically by IMS based on the relative position of the MSLINK macro in the
SYSGEN.
Notes:
To support the increased bandwidth enhancements, IMS V10 introduces several new
command capabilities.
The update command has been enhanced to provide a mechanism to change the
characteristics of the link associated with the name provided. The name is either the label
value on the MSLINK definition or the default DFSLKxxx value. Possible actions that
control the bandwidth capacity of the link include increasing and decreasing link buffer
sizes, setting a higher limit for buffer size, and setting the bandwidth mode off and on. The
command can be entered as either a Type2 (UPDATE) command which uses the
Operations Manager (OM) or a Type1 (/UPD) which does not require OM. Any accepted
changes are kept across a warm start.
If the characteristics of the link need to be changed, the link must first be stopped and idle.
The UPDATE command, when issued, must also be issued on both IMS systems on either
side of the link to reflect identical specifications for bandwidth mode and buffer sizes.
Uempty
IMS V10 IMS Version 10
z New capability for APPC and OTMA clients to send in the /LOCK and
/UNLOCK commands
Notes:
The /DISPLAY and QUERY commands show the links with their current buffer size and
whether or not bandwidth Mode is on or off.
Local LU
Allows incoming LU name (if not the BASE) to be used for outbound
asynchronous responses to the IOPCB
Terminology
Base LU - primary and default LU name associated with APPC/IMS
• Defined as such in the APPCPMxx member of SYS1.PROCLIB
Local LU - name of an alternate LU that can also be associated with an
APPC/IMS system
Notes:
IMS V10 also provides a new capability to gather and show statistics on the MSC logical
links.
A new log type x’4513’ is available to provide information on each logical link.
The QUERY command provides options to request statistics on the MSC links. This allows
for quick and easy access to link performance. The information can be used to determine
the efficiency of the link and assist in deciding on an optimum buffer size. Individual
statistics for each MSLINK are collected in the DFSMSCWA workarea.
Note that link statistics are not displayed with the SHOW(ALL) keyword.
SHOW(STATISTICS) must be used. This keyword also displays the statistics reset mode,
RESET,CHKPT or NORESET,CHKPT.
There are three categories of statistics:
• General - such as, statistics start time, ITASK dispatch counts, ITASK processing times,
and the rate and number of logger check writes
Uempty • Send - such as, messages sent, byte count sent, send message sizes, queue manager
get counts and times, and send I/O times
• Receive - such as messages received, byte count received, receive message sizes,
QMGR insert counts and times, and receive I/O times
Benefits
z Local LU capability
Provides greater control of the LU names that IMS uses for asynchronous
outbound requests
Enhances the security environment
Notes:
The UPDATE MSLINK command can be invoked to reset the statistics counters and control
how the resetting is to be done.
The first two forms of the command control the RESET mode:
• RESET,CHKPT mode causes the link statistics to be reset at each IMS checkpoint, after
the statistics are logged. The recording interval, therefore, is from IMS checkpoint to
checkpoint. This is the default mode and provides a reasonable interval for the statistics
to be gathered. A longer interval might not be as useful in determining problems.
• NORESET,CHKPT mode does not reset the statistics at IMS checkpoint. To be reset,
the operator must do so manually. The recording interval, therefore, is from IMS restart
or when the last manual reset was issued until the time the command is issued. This
mode is useful when running a benchmark or gathering statistics for a longer interval
than between IMS checkpoints.
Uempty The third form of the command manually resets the link statistics, sets the start time to the
current time, and begins a new recording interval.
Notes:
The next two pages provide an overview of the statistics provided in the QUERY command.
This visual shows the General Statistics.
Uempty
IMS V10 IMS Version 10
Highlights
z IBM BTAM products were withdrawn from service several years ago
IMS continued to support BTAM through IMS V9
Devices such as Spool, Reader, Printer, Punch, Tape and Disk are not
affected.
Notes:
This visual shows the type of information that can be analyzed by reviewing the Send and
Receive statistics.
The Send statistics reference QGET calls. These calls are used to get messages off the
queue for send processing.
The Receive statistics reference QPUT calls. These calls are used to put messages on the
queue as part of receive processing.
Migration Considerations
DCLIST
IDLIST
LINE
LINEGRP
MSPLINK
NAME
POOL
STATION
SUBPOOL
TERMINAL
TYPE
Notes:
When the QUERY MSLINK NAME(name) SHOW(STATISTICS) command is issued, all the
statistics information on the link is displayed.
Uempty
Notes:
Several system definition messages have been changed to reflect the IMS V10
enhancements:
• G092 reflects the removal of the MSC exits on the COMM macro.
• G441 reflects the new BUFSIZE limits on the MSPLINK macro for V10 which must be in
the range of 1024 to 65536 for all link types - CTC, MTM, and VTAM.
• G571 is issued if the specified MSLINK macro label field is not blank and is not a
one-to-eight character alphanumeric name.
Additionally, Message DFS3218 has been expanded to support the bandwidth
enhancements. When an MSC link is restarted, restart messages (referred to as a restart
message and restart response message) are exchanged between the partner IMS
systems. If the messages are invalid, unexpected, or contain incompatible information, a
DFS3218 message will be issued on the IMS that detected the error, and the link restart will
be aborted. Bandwidth support added more error conditions (e.g., Buffer sizes not equal,
Bandwidth Mode not compatible on both sides). To more easily identify the error, a unique
reason code was added for each error condition (for existing errors and new errors). The
reason code identifies the module that detected the error and the error condition.
DFS3218 INVALID RESTART MESSAGE OR RESTART RESPONSE MESSAGE
RECEIVED RSN=xxyy, LINK link#
Uempty
Notes:
These next two visuals provide an example of MSC setup.
During system definition, three macros provide the mechanism to define the connection
between 2 IMS systems. The MSPLINK macro has not changed but the range in values
that can be specified for BUFSIZE reflect the new minimum and maximum limits. The
MSLINK has changed to provide a label. In this example, the name is LNK12V02 and is
important because it will be used in the UPDATE command.
Once the system definition process is complete and IMS is initialized, the parameters on
the MSLINK can be modified. Note that in this example, the UPD command identifies the
specific MSLINK named LNK12V02. Two changes are made. The first is the setting of
BANDWIDTH Mode to ON and the second is the increase of the BUFSIZE to 4096.
Alternatively, the command can be issued as a Type 1 command using the /UPD form.
Notes:
Once the changes to the link have been made, either the QRY command or the /DIS
command can be used to display the link and ensure that the changes have actually been
made.
Uempty
Notes:
This visual documents the results of a test comparing the use of Bandwidth Mode against a
variety of buffer sizes. Note that the test results vary based on buffer size with a controlled
message size and queue depth.
Notes:
When migrating to IMS V10, ensure that the older routing exit routines, if any, have been
converted to DFSMSCE0. This migration can be accomplished in any of the supported
previous releases (V7, V8, V9) prior to the actual IMS V10 migration. If the exit routines
still exist while the V10 migration is in progress then the V10 migration tasks need to
include the upgrade of the previous releases to DFSMSCE0.
A like-for-like migration from a previous release to IMS V10 allows MSC to be initialized in
non-bandwidth mode. This mode is compatible with MSC operations in previous releases.
The ability to turn on bandwidth mode is provided via the UPD command and requires both
partners of the link to be at an IMS V10 level. In this mode, the minimum size of the buffers
should be 4096. To be more effective, the buffer sizes should be defined to accommodate
multiple messages.
Uempty
Notes:
Note that the buffer size minimum and maximum ranges have changed in IMS V10. If the
link is a VTAM link, the buffer size can now be any size defined in the range and no longer
requires a size that fits into the previous formula of X times 2 to the power of Y. The
MSPLINK macro description in the System Definition Guide still documents a table but only
for compatibility purposes.
If the partner of the MSC link is a V8 or V9 IMS system then those definitions must be at a
minimum of 1024.
Notes:
The use of the TM and MSC Message Routing and Control User Exit (DFSMSCE0) routine
consolidates the older message routing exits and provides a variety of enhanced options.
By reducing the number of exit routines, a more consistent set of routing capabilities for all
types of messages is provided along with a possible simplification of the coding and
maintenance requirements.
Bandwidth is the rate at which data or messages can be sent and received across the MSC
links. It is dependent on many factors such as: line speeds, processor speeds and other
current activity going on in the system, I/O activity for logging and writing messages to the
message queues, as well as the choice of protocols and buffer sizes. The bandwidth
enhancements in IMS V10 address these many factors by improving the efficiency of MSC
processing across the three link protocols - CTC, MTM and VTAM. Additionally, the new
capability to view link statistics in the QUERY command can help determine how well the
link is performing. The information can be used to optimize the buffer sizes based on
actual traffic as messages flow through the system. This combination of being able to view
the statistics and then dynamically change the link buffer sizes allows for more responsive
control of the bandwidth capacity of MSC links.
Uempty
Notes:
IMS already supports VGR for other terminal types including ISC. This function adds the
MSC environment as a local mode VGR with VTAM-managed affinities.
An affinity is a mapping of a node, and in the case of MSC all the parallel sessions
associated with a link, to an IMS system.
Notes:
MSC VGR support provides the ability to grow the capacity and capabilities of the IMS
MSC environment.
Uempty
Notes:
The use of MSC VGR eases the requirements on the definitions that are needed. A remote
IMS can use a single set of MSC link definitions to access any of the IMS systems in the
VGR group. Likewise, IMS systems that are part of the local VGR group can clone
definitions for MSC access to the single remote IMS.
Note that when VGR is used, all parallel sessions associated with the link are routed to the
same IMS.
Notes:
MSC commands are available to terminate and restart the MSC links.
The information that MSC keeps about its sessions includes the link status, active or
stopped, and the sequence numbers. If a planned outage is to occur, the parallel sessions
on both sides of the link must be stopped and then restarted using the new link partner. To
allow the information about sequence numbers to be cleared, the sessions need to be in
cold or NRE status on both sides of the link.
On the other hand, if an IMS failure occurs where one IMS system terminates, the surviving
IMS must also stop the parallel sessions. Note that if session status is changed from ERE
to cold mode, messages could be duplicated or lost.
Uempty
Notes:
If the links need to be re-established between the same two instances of IMS, then a way to
accomplish this would be to first start the links on the instance of the IMS in the VGR group
where the connection is desired. This action establishes affinity for all parallel sessions
which remains in effect through subsequent restarts and until the last parallel session is
terminated. Once the affinities are established, the links can also be started on the remote
IMS system.
Notes:
Uempty
Notes:
APPC enhancements include the following three areas:
• Greater level of timeout granularity with support for APPC/MVS timeout in seconds
• Ability for APPC and OTMA clients to issue the /LOCK and /UNLOCK commands
• Local LU Support
Notes:
The APPC/MVS capability for timeout has been supported by IMS since V6. In z/OS
V1.R7, APPC/MVS enhanced its timeout support to specify a lower level of granularity.
Prior z/OS releases supported timeout in minutes with the shortest value being one minute.
Even one minute, however, can be too long a time when resources are held. With IMS V10
and z/OS V1R7, the timeout capability as provided in the first parameter of the APPCIOT
keyword and in the /CHANGE APPC TIMEOUT command allow a value that can be
specified in seconds.
Providing the ability to set timeout in seconds is particularly helpful when slow downs in the
network occur or when APPC clients that are unable to respond in a timely manner cause
IMS dependent regions to hang. Another benefit is one that could affect command
processing when a slow or non-responding client impacts the IMS command task
DFSCMTI0. For example, when an APPC node sends input for a transction that is
stopped, IMS replies to this condition by sending a DFS065 message. This error message
is sent under the IMS command task which waits for a response from the APPC node.
When this node fails to respond, the task hangs until the wait is broken by the APPC/MVS
timeout facility. This task, however, is quite vital in the IMS environment and plays a major
Uempty role in handling most commands. When the condition just described happens, a slowdown
in IMS throughput could result. An APPC timeout value of 1 minute, therefore, could be too
long when suspending the command task in a production environment.
Notes:
The APPCIOT keyword is an existing keyword in the DFSDCxxx member of
IMS.PROCLIB. The first parameter of APPCIOT specifies the APPC/MVS time-out value
expressed in minutes. This refers to an IMS wait for a requested APPC/MVS service to
complete. IMS takes advantage of an APPC/MVS service to enforce the timeout with valid
values between 0 and 1440 minutes. The second parameter which was introduced in IMS
V9 provides an APPC/IMS timeout. This refers to an APPC/MVS wait for an IMS process
to complete. For example, the timer begins when IMS receives a message from
APPC/MVS and is reset when another APPC verb is issued, e.g., send of a reply, error
message or deallocate. This second value is similar to putting a timeout on a queue to
queue response. Like the first parameter, valid values are between 0 and 1440 minutes.
IMS V10 provides an enhancement for the first parameter which affects the APPC/MVS
timeout specification. A value in this parameter can now be specified as (# of minutes : # of
seconds). Note that the second parameter remains unchanged.
Uempty Similarly, the /CHANGE APPC TIMEOUT command has also been enhanced to provide a
specification in minutes and seconds. Additionally, since the command can be issued
during IMS execution, the value can be dynamically change as needed.
Notes:
The restriction to sending in the /LOCK and /UNLOCK commands from APPC and OTMA
clients has been lifted. The support allows the DATABASE, PROGRAM, and
TRANSACTION keywords but restricts the use of LTERM, PTERM and NODE. Note that
the commands themselves are not changed.
Uempty
Notes:
This visual gives an example of an APPC client that specifies the /LOCK command as a
TPNAME on the ALLOCATE request and the remainder of the command in the subsequent
SEND_DATA verb. IMS responds with a DFS058 LOCK COMMAND COMPLETED which
simply means that the command was accepted and processed by IMS. Note that the
capability to send IMS commands from an APPC client is not new.
Notes:
Similarly, OTMA clients such as IMS Connect and MQ can also send in the command
requests. Each OTMA client provides its own interface for remote applications. The
example on this visual shows a request coming in from a remote application through IMS
Connect.
Uempty
Notes:
The APPC/IMS support which was introduced in IMS V4 provided the ability to define both
a primary VTAM APPC LU name to be associated with IMS as well as multiple secondary
LU names. The primary name is defined as the BASE LU and the alternate names as
LOCAL LUs.
A Base LU is specified as such in the APPCPMxx member of SYS1.PROCLIB which
contains the APPC/MVS definitions. Local LUs must also be specified in the same
member as being associated with APPC/IMS. Note that an LU must be unique to an IMS
system in an IMSPlex.
IMS V10 enables IMS applications that use the alternate TP PCB (ALTPCB) for APPC
asynchronous outbound requests to specify which LU name to use on the outbound
ALLOCATE request through a new keyword in the DFS62DTx descriptor. Additionally, a
new startup parameter APPCLLU provides the ability to specify whether or not the
incoming LU name (if different from the Base LU) is to be used for any associated
asynchronous IOPCB outbound conversations.
As a reminder, asynchronous APPC conversations are those that are sent without waiting
for a reply. The verb set used is Allocate, Send_data, Deallocate. Synchronous
conversations, on the other hand, are those that send a message and wait for a reply using
the verb set Allocate, Send_data, Receive_and_wait, Deallocate. The Local LU support in
this section applies only to asynchronous conversation requests.
Uempty
Notes:
A new OUTBND keyword has been added to the DFS62DTx IMS.PROCLIB member. IMS
applications that produce ALTPCB messages control where and how the message is sent
through specifications in an LU62 descriptor that is identified with the same name as the
ALTPCB destination. IMS uses the information to create the appropriate APPC requests.
If the OUTBND keyword is present and the Local LU specified is valid for this IMS then the
outbound ALLOCATE is sent using the Local LU name. The partner APPC application
sees the same name when it ACCEPTs the conversation. If the OUTBND keyword is not
available, then the default Base LU name is used. Note: The DLI API has not been
changed to add the OUTBND keyword to the CHNG call’s LU 6.2 options.
The LU 6.2 Edit Exit Routine (DFSLUEE0), if it exists, is always called for inbound and
outbound conversations managed by IMS. Word 13 in the exit interface points to the Local
LU name and can be examined as well as modified by the exit code.
Notes:
The example in this visual shows how specifying different Local LUs in the OUTBND
parameter of two descriptors results in the remote partner seeing the different names. If the
remote partner is IMS then the target application PGM1, in this example, sees a different
LTERM name for each message.
Note that an APPC/IMS implicit environment is one where IMS functions as the LU 6.2
partner on behalf of the IMS application program. In this environment, IMS places the
Partner LU name in the LTERM field of the IOPCB. A possible benefit of using the
OUTBND capability is that the receiving IMS application can branch to different logic based
on the LTERM name.
The remote partner can be any LU 6.2 partner.
Uempty
Notes:
IMS V10 also provides a new startup parameter in the DFSDCxxx member of
IMS.PROCLIB. APPCLLU affects asynchronous outbound messages that are inserted to
the IOPCB. For this situation to occur, the message that the IMS application processed with
a GU IOPCB had to originate in an APPC partner as an asynchronous inbound message.
Notes:
The two examples on this visual illustrate the difference between the APPCLLU
specifications of N and Y.
In the first example, APPCLLU=N, the IOPCB asynchronous output reply is sent using the
Base LU name associated with IMS2 regardless of which LU name was used for the
inbound asynchronous conversation.
In the second example, APPCLLU=Y, IMS2 uses the Local LU name of IMSA which is the
same name used on the inbound asynchronous request. This capability is of value when
the remote application is designed to expect a response from a specific partner LU name.
Uempty
Notes:
Some other enhancements provide support for the Local LU capability.
The /CHANGE DESC descriptor OUTBND locallu command modifies the descriptor to use
the specified locallu name for any new outbound asynchronous conversations associated
with the specified descriptor. Note that this impacts messages that use the descriptor after
the command has been issued. Messages that are already on the queue but have not yet
been sent are not affected by the change.
The /DISPLAY DESC command has also been enhanced to support the Local LU. If the
OUTBND keyword exists in a descriptor then its value is displayed under the OUTBNDLU
column. If the value for a descriptor displays as blanks then the Base LU will be used.
Notes:
Some areas to consider include the following:
Remote partners that receive an asynchronous conversation request from IMS have the
ability to determine the LU name that IMS uses when sending a request. The Local LU
capability provides the opportunity for different names to be provided.
Note that LU names are specific to IMS systems and cannot be shared within IMSplex
members.
Any modifications that occur as a result of a /CHA command affect new messages that are
created after the change.
Uempty
Notes:
When an inbound conversation in a secured environment is allocated with APPC/MVS, a
security check is done using the target LU name for IMS (Base or Local). If authorization is
granted, APPC/MVS passes the RACF object to IMS. The RACF object, similar to an
ACEE, is used by the IMS security call to check if the userid is authorized to the transaction
before scheduling the request. In the situation where the message was sent to IMS using a
Local LU, the Local LU name is used. Once this is done, the RACF object is deleted. If
RACF=FULL has been specified for APPC/IMS, the ACEE must again be built for the
dependent region. Prior to IMS V10, the ACEE is always built using the Base LU. If a
mismatch occurs because a secured message was sent in using a Local LU but the
dependent region ACEE, using the Base LU, does not authorize the user, then the queued
transaction will fail authorization. IMS V10 addresses this situation by using the applicable
LU (Base or Local) that was used for the inbound message when building the dependent
region ACEE.
Notes:
The enhanced timeout granularity that provides values in the seconds range allows
resources to be released more quickly when needed. The APPCIOT specification which is
set at IMS initialization can be overriden dynamically by the /CHA command.
The support for /LOCK and /UNLOCK commands enhances the ability for tools such as the
IMS Command Control Facility (CCF) which uses APPC to send commands to IMS.
The Local LU enhancement provides greater flexibility for the IMS environment to support
multiple LU names. This is beneficial for application designs that rely on different partner
names to trigger different events.
Uempty
Notes:
Notes:
Although IBM withdrew marketing and service of BTAM products several years ago, IMS
continued to support the BTAM macros through IMS V9. IMS V10 removes this support.
The following list shows the device types affected:
BTAM Device Type Comments or Other Specifications
----------------------------- --------------------------------------------------
1050 Switched Terminal
2740 Non-Station-Control
2740 Non-switched, model 1
2740 Non-switched, model 2
2740 Switched Terminal, model 1
2741 Non-switched
2741 Switched Terminal
Warning message G411 will be issued if the macro statement operand has an unsupported
BTAM terminal specification during the IMS STAGE 1 system definition process. In
addition, a severity code of 2 will be issued to allow system definition to continue. This
warning message and severity code will be documented in the IMS V10 Messages and
Codes manual.
Notes:
This example shows the warning message that is issued when attempting to run the
system definition process specifying an unsupported BTAM device.
Uempty
Notes:
This page lists the different IMS macros that previously supported BTAM specifications.
Database Enhancements
z Change Accumulation and Prefix Resolution Sort enhancement
z ACBGEN Exploitation of Storage Above the 16M Line
z HALDB Index/ILDS Rebuild enhancement
z Image Copy 2 Fast Repliction
z Fuzzy User Image Copy support
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
z Benefit
Allows more sort work data sets to be used with OEM sort programs which
create UCBs below the 16MB line
This could shorten the elapsed execution time of the utilities
Notes:
The default for the CORE= parameter on the Database Change Accumulation and
Database Prefix Resolution utilities is changed in IMS V10 from 200K to MAX. When MAX
is used, the IMS utility does not limit the amount of space used by sort. It is limited by the
default value specified for the sort product. The sort space is particularly important for
some non-IBM sort programs which create UCBs for sort work data sets below the 16M
line. The sort space may limit the number of these data sets that may be used. By
increasing the default space, the number of sort work data sets may be increased. This
may shorten the elapsed execution time for these utilities.
A new message has been added to the Database Change Accumulation and Database
Prefix Resolution utilities. It is issued when the CORE= parameter is not specified. The
message is:
DFS3007I SORT CORE SIZE WILL DEFAULT TO CORE=MAX
If an installation wants to limit the sort space to less than the system default, it should code
the CORE= parameter for the desired value.
Uempty
IMS V10 IMS Version 10
z IMS V10 ACBGEN allocates most of it working storage above the 16M
line
Eliminates these out-of-storage abends
z Benefit
Allows up to 2500 PCBs per PSB
Figure 10-4. ACBGEN Exploitation of Storage Above the 16M Line CMA01.0
Notes:
ACBGEN has been modified to allocate most of its working storage above the 16M line. In
previous releases, this working storage was allocated below the line. Very large PSBs
could require more storage than was available below the line. Requests for more storage
than was available resulted in S80A abends with RC=10 in previous releases. Since V10
allocates storage above the line, it is not limited to the available storage below the line.
This should eliminate these abends. Very large PSBs, including those with up to 2500
PCBs, are handled by ACBGEN in V10.
The limitations of 2500 PCBs per PSB and 30,000 SENSEGs per PSB are enforced by the
macros used in PSBGENs.
Notes:
The HALDB Index/ILDS Rebuild utility (DFSPREC0) is used to rebuild either a PHIDAM
primary index, an ILDS, or both for a partition. This enhancement applies only to the
rebuilding of the ILDS. When an ILDS is rebuilt, the utility reads the partition database data
sets looking for segments which are targets of secondary indexes or logical relationships.
An indirect list entry (ILE) is written to the ILDS for each target that is found. In previous
releases, these writes are done when the target segments are found. This means that the
writes are random. They must be done in update mode. The enhancement provides a new
way of writing the ILEs. When using the enhancement, ILE entries are not immediately
written to the ILDS. Instead, they are stored in data spaces, sorted in ILE key sequence,
and then written. The writes are done in load mode. These writes are sequential. Load
mode avoids CI/CA splits. These two characteristics can significantly reduce the elapsed
time of the writes. Load mode also creates free space as defined in the IDCAM DEFINE
for the ILDS.
The new option is invoked with new values for the RECOVTYP parameter. Previously, the
valid parameter values were INDEX for rebuilding an PHIDAM index, ILE for rebuilding an
ILDS, or BOTH for rebuilding both data sets. The new additional valid values are ILEF for
Uempty rebuilding the ILDS sequentially or BOTHF for rebuilding both data sets and rebuilding the
ILDS sequentially. The “F” in these values signifies that free space will be created.
Some installations limit the number of data spaces that address spaces may create. This is
done with an z/OS IEFUSI exit. The default IEFUSI exit for z/OS allows the creation of the
4 data spaces used by DFSPREC0. If your installation has written its own exit, it may not
allow 4 data spaces for most address spaces. In this case, you would need a modification
to the exit to use the new option.
Since the ILDS that is rebuilt with the new option includes the defined free space, it may
create a larger data set than was created in the past with this utility or by the HD Reload
utility. The ILDS must be deleted and redefined (DELETE/DEFINE) before the execution of
the utility. This is true with the old ILE and BOTH options and with the new ILEF and
BOTHF options.
The use of the new option could significantly reduce the elapsed time required for
rebuilding ILDSs. The creation of free space in the ILDS could improve the performance of
subsequent HD Reload or Online Reorganization executions since the free space should
reduce the need for CI/CA splits.
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
IMS V10 adds fast replication support. Fast replication is a DFSMSdss function that
exploits the FlashCopy capability of the Enterprise Storage Server (ESS or Shark) or
TotalStorage DS8000 or the SnapShot capability of the IMS RAMAC Virtual Array (RVA).
FlashCopy V2 must be installed on the ESS system. Fast replication also can be used with
OEM storage devices which support the DFSMSdss Fast Replication interface.
This support is provided in the Image Copy 2 (DFSUDMT0) utility and the Database
Recovery (DFSURDB0) utility. They use data set level Fast Replication functions of
DFSMSdss which are only provided by z/OS V1R8.
Notes:
Fast replication is invoked with the DFSMSdss COPY command with the FASTREP(REQ)
parameter. The output or “image copy” is an exact copy of the database data set. It must
be written to a volume in the same storage system. Only one output data set may be
created for each input data set. Unlike the concurrent copy process, the fast replication
copy process is not split into a logical copy phase and a physical copy phase. If you are
creating a clean image copy, the database is unavailable for the duration of the copy
process; however, the fast replication process is comparable in speed to the logical copy
phase of the concurrent copy process.
Message DFS3141A is issued when a clean image copy completes. The DFS3141A
message may be used to indicate that the database may be started on online systems.
The DFS3141A lists the database, partition, area, or group that was copied. It is followed
by DFS3141I messages for each data set that was copied.
Databases must be registered with DBRC. The IDCAMS DEFINE must specify
BWO(TYPEIMS) for KSDSs if fuzzy image copies are taken. Fuzzy image copies also
require that the database data set be managed by SMS. If a split occurs during the logical
Uempty copy phase for concurrent copy or the initialization of copy for fast replication, the copy is
retried up to nine more times if only one data set is being copied. If multiple data sets are
being copied, retries are not attempted. A failure causes DFSMSdss to issue message
ADR944E and IMS to issue message DFS3145A. The form of the ADR944E message
when a fast replication copy fails due to a CI/CA split during the initialization is:
ADR944E (ttt)-mmmmm(yy), DATA SET dsname IN CATALOG catalog_name ON
VOLUME volume_serial_number CANNOT BE PROCESSED BECAUSE IT WAS
UPDATED DURING THE FAST REPLICATION INITIALIZATION
The DFS3145A message is:
DFS3145A ATTEMPT TO COPY KSDS CONCURRENT WITH UPDATE ACCESS
FAILED
10
Notes:
Fast replication copies are invoked by placing an ‘F’ in position 62 of the DBDS control
statement.
If a blank is in position 63 a DD statement must be supplied for the image copy output data
set. The data set may either be created prior to the Image Copy 2 step or may be created
by the DD statement.
If an ‘H’ is in position 63 the image copy output data set is created dynamically by
DFSMSdss. The attributes of the image copy data set are derived from the database data
set. An HLQ control statement is required when an ‘H’ appears in position 63 of the DBDS
control statement. It is shown on the following page.
Other positions on the DBDS control statement have the same meaning that they have
without the fast replication option. For example, an ‘X’ in position 58 invokes a clean image
copy and an ‘S’ in invokes a fuzzy image copy.
Uempty Fast replication produces only one image copy data set for a database data set. You
cannot specify multiple output data sets. This means that positions 30 through 57 must be
blank.
Unlike concurrent copies, fast replication does not have logical copy and physical copy
phases. The fast replication process is comparable in speed to the logical copy phase of
the concurrent copy process. Since there are not separate logical and physical copy
phases, position 59 should be left blank. Position 59 is used for concurrent copies to
indicate whether the database becomes available for updates after the logical phase
completes or after the physical phase completes.
Position 60 should be blank for fast replication. It is used for the compression option with
concurrent copies.
11
Notes:
An ‘H’ in position 1 indicates that this is an HLQ (high level qualifier) control statement.
Position 3 indicates whether or not the time-stamp trailer is appended to the output data set
name.
Positions 4-29 contain the high-level qualifier used in the output data set name.
Positions 31-38 may be used to specify the SMS storage class that is used by ACS
routines.
Positions 40-47 may be used to specify the SMS management class that is used by ACS
routines.
Uempty
IMS V10 IMS Version 10
12
Figure 10-11. IC2 Fast Replication Output Data Set Name CMA01.0
Notes:
This shows two examples of output data set names that are used when dynamic allocation
is used for these data sets.
The first example is for a data set when the time-stamp trailer is not selected (position 3 on
the HLQ control statement contains an ‘N’). The high-level qualifier is MY.HLQ.
The second example is for a data set when the time-stamp trailer is selected (position 3 on
the HLQ control statement contains a ‘Y’). The high-level qualifier, database name, and
DD name are the same as in the first example.
13
Notes:
SMSONLC and SMSOFFLC are new image copy types recorded in image copy records in
the RECONs. Other previously existing image copy types were SMSCIC (IC2 fuzzy IC
using concurrent copy), SMSNOCIC (IC2 clean IC using concurrent copy), CIC (concurrent
image copy using Image Copy utility), ONLINE (fuzzy image copy using the Online Image
Copy utility), and BATCH (clean image copy using the Image Copy utility. High
Performance Image Copy (HPIC) V4 also supports fast replication copies, but does not
invoke IC2. APAR PK33115 adds the use of SMSONLC and SMSOFFLC by HPIC V4
when it uses fast replication. The HPIC V4 Recovery fund and Create Image Copy function
support these IC types as input.
The GENJCL.IC command has new parameters.
The SMSONLC and SMSOFFLC parameters are used to generate fast replication Image
Copy 2 utility JCL for either a fuzzy or clean image copy. SMSONLC and SMSOFFLC are
also new image copy types recorded in image copy records in the RECONs. Other
previously existing image copy types were SMSCIC (IC2 fuzzy IC using concurrent copy),
SMSNOCIC (IC2 clean IC using concurrent copy), CIC (concurrent image copy using
Uempty Image Copy utility), ONLINE (fuzzy image copy using the Online Image Copy utility), and
BATCH (clean image copy using the Image Copy utility. High Performance Image Copy
(HPIC) V4 supports fast replication copies. APAR PK33115 adds the use of SMSONLC
and SMSOFFLC by HPIC V4 when it uses fast replication. The HPIC V4 Recovery fund
and Create Image Copy function support these IC types as input.
HLQ(hlq) is used to specify the high-level qualifier for the output data set name when the
output data set is created dynamically. ‘hlq’ may be 1 to 26 characters. The value is
placed in positions 31-56 of the DBDS control statement.
DSNSUF specifies that the date/time stamp suffix is to be added to the output data set
name for dynamically created output data sets. NODSNSUF specifies that the date/time
stamp suffix is not added. NODSNSUF is the default.
STORCLAS(name) and MGMTCLAS(name) are used to specify the storage class name
and management class name to by used by the Access Control System (ACS) routines for
allocating output data sets which are created dynamically.
14
Notes:
The IMS Database Recovery utility (DFSURDB0) has been updated to read image copies
created by using fast replication. In previous releases Database Recovery could read two
kinds of image copies. Those in the original Image Copy format have header records
followed by copies of the data. Those produced with concurrent copy were in DFSMSdss
DUMP format. Fast replication image copies are exact copies of the database data sets,
The Database Recovery utility uses DBRC information about the Image Copy to determine
its format and how to read it.
Database Recovery invokes fast replication with the “preferred” option. This indicates that
fast replication will be used if the image copy and the database data sets are on the same
storage system and the storage system supports fast replication. If these conditions are
not met, standard copy techniques are used to restore the image copy to the database data
set. There are two reason primary reasons that the conditions for fast replication would not
be met. First, the user may choose to recover the database data set to a different storage
system. Second, the image copy data set may be been moved from its original storage
system.
Uempty Without fast replication, the database data set must be specified on a DD statement.
Dynamic allocation cannot be used. With fast replication this restriction is removed. The
database data set may be dynamically allocated. To request dynamic allocation you must
place a ‘D’ in position 64 of the Database Recovery utility control statement.
The DBRC GENJCL.RECOV command has been enhanced to support dynamic allocation
of the database data set when using a fast replication image copy as input. This is done
with the NODBDSDD keyword. The DBDSDD keyword is the default. It indicates that
dynamic allocation will not be used and that a DD statement for the database data set will
be generated by the GENJCL.RECOV command.
Fast Replication
z Benefits
Exploits FlashCopy and SnapShot
Single phase copies
Copies produced in seconds
Supports both clean and fuzzy image copies
Full GENJCL support
Image Copy 2 and Database Recovery utilities
15
Notes:
Uempty
IMS V10 IMS Version 10
16
Notes:
17
Notes:
IMS V10 has added support for fuzzy user image copies. User image copies are copies of
database data sets that are done without a DBRC interface. Typically, these are done with
utilities that are not IMS utilities. In previous releases IMS supported clean user image
copies. IMS V10 adds support for image copies taken while the database data set is being
updated.
The support has two parts.
First, the NOTIFY.UIC command has been extended to include a specification of a fuzzy
image copy, sometimes called a concurrent image copy. The CIC keyword has been
added to the NOTIFY.UIC command. It indicates that the user image copy is concurrent or
fuzzy. When notifying DBRC of a fuzzy image copy you must specify the stop time of the
image copy. This is in addition to the start time which is required for all image copies. The
stop time is specified with the STOPTIME(time stamp) parameter.
Second, the GENJCL.RECOV command has been extended to generate the appropriate
JCL to include the correct logs for recoveries using fuzzy user image copies. The
USERIC(time stamp) parameter specifies the fuzzy user IC that has been restored.
Uempty LASTUIC is may be used instead of USERIC(time). It specifies that the last fuzzy user
image copy recorded in the RECONs has been restored. When either of these parameters
is used, GENJCL.RECOV selects the proper logs for input to the recovery. These are the
logs that were created while the fuzzy user image copy was being taken and any created
since that time. USERIC and LASTUIC cause the appropriate S and M control statements
to be generated for the Database Recovery utility.
When recovering after restoring a fuzzy user image copy do not specify USEDBDS on the
GENJCL.RECOV command. USEDBDS is only for use when a clean user image copy has
been restored followed by a NOTIFY.RECOV identifying this clean user image copy.
18
Notes:
The use of a fuzzy user image copy requires an M in column 63 of the S control statement
used by the Database Recovery utility (DFSURDB0). The example shows that the
database data set with DDNAME VNT0A001 in database DHVNTZ02 is being recovered.
The M in column 63 indicates that a fuzzy user image copy has been restored. An M in
column 63 requires that an M control statement also be supplied. The M control statement
has an ‘M’ in column 1 and the runtime of the fuzzy user image copy in columns 2-32. The
time is specified in standard time format. The example shows a compressed time of year
2006, day 153, hour 12, minute 33, second 29.6, with an offset of -6 hours. This offset is
Central Standard Time in North America.
DBRC verifies that the specified user image copy is recorded in the RECONs.
When GENJCL.RECOV is used with a fuzzy user image copy, the proper M control
statement is created. GENJCL.RECOV uses a fuzzy user image copy when either the
USERIC(time) or LASTUIC parameter is specified.
Uempty
IMS V10 IMS Version 10
19
Figure 10-18. Procedures for Clean and Fuzzy User ICs CMA01.0
Notes:
This is a comparison of the procedures to use with clean and fuzzy user image copies.
After taking a fuzzy user image copy the NOTIFY.UIC must include both the CIC keyword
and the STOPTIME parameter.
Surprisingly, the recovery with a fuzzy user image copy is bit simpler than the recovery with
a clean user image copy. You do not have to issue the NOTIFY.RECOV command when
using a fuzzy user image copy. The GENJCL.RECOV commands differ. USEDBDS is
required after restoring a clean user image copy. The identification of the fuzzy user image
copy is required after restoring a fuzzy user image copy. Either a specific copy may be
specified with the USERIC(time1) parameter or the last copy may be specified by using
LASTUIC. When recovering after restoring a fuzzy user image copy do not specify
USEDBDS on the GENJCL.RECOV command. USEDBDS is only for use when a clean
user image copy has been restored followed by a NOTIFY.RECOV identifying this clean
user image copy.
The recovery processes shown here do not include setting the Recovery Needed flag with
the CHANGE.DBDS … RECOV command. Some installations prefer to set the flag to
protect themselves from unintentionally authorizing the database before the recovery is
done.
Uempty
IMS V10 IMS Version 10
20
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
Command Enhancements
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z Benefit
Separate UPDATE AREA commands are not required for each area
Notes:
This enhancements allows you to start all of the areas in a database when you also start
the database. The only valid specification for the AREA parameter is AREA(*).
If an area cannot be started, a separate line is provided for it in the response. Here is an
example where area ARJN20 was not started:
UPDATE DB NAME(DEBJN) START(ACCESS) AREA(*)
DBNameAreaNameMbrNameCC
DEDBJN*IMS18
DEDBJNARJN20IMS1A5
The 8 completion code for the database indicates that the command completed with errors
for one or more areas of the database. The A5 completion code for area ARJN20 indicates
that the DBRC ‘Prohibit Further Authorization’ flag was on for this area.
Uempty
IMS V10 IMS Version 10
z Benefit
Avoids ECSA fragmentation from unloading and reloading randomizers
Notes:
In previous releases if you made a DEDB inaccessible, its randomizer was unloaded from
memory if the randomizer was not being used by any other DEDB. DEDBs are made
inaccessible with either a /DBR DB command or an UPDATE DB STOP(ACCESS)
command.
IMS V10 adds an OPTION(NORAND) parameter to the UPDATE DB STOP(ACCESS)
command. This causes IMS to keep the randomizer module in memory. This helps to
avoid fragmentation of ECSA which can occur when modules are unloaded and reloaded.
The /DBR DB command does not have a parameter that is equivalent to
OPTION(NORAND) on the UPD DB STOP(ACCESS) command.
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z Benefit
STOACC and RNL separately indicate that the database is not accessible or
the randomizer is not loaded
Notes:
In conjunction with the OPTION(NORAND) parameter on the UPDATE DB
STOP(ACCESS) command, a new status is available with the QUERY DB command. In
previous releases one could tell that a database was inaccessible because the RNL status
was associated with the database. RNL indicated that the randomizer module was not
loaded. The absence of the RNL status no longer indicates that the database is
accessible. A new status is available for this. The STOACC status in the response to a
QUERY DB command indicates that the database is inaccessible. That is, the database
has been /DBRed or an equivalent UPDATE DB STOP(ACCESS) command has been
processed for the database.
The RNL status is now used only to indicate that the randomizer module is not loaded. The
STOACC status is used to indicate that the database is inaccessible. The STOACC status
is not returned by the /DISPLAY DB command. It is only returned by QUERY DB
commands.
Uempty After you issued the UPDATE DB NAME(DEBJN) STOP(ACCESS) command, you would
expect that the response to a QRY DB NAME(DEBJN) SHOW(STATUS) command would
include:
DBName AreaName MbrName CC TYPE LclStat
DEDBJN IMS1 0 DEDB NOTOPEN,STOACC,RNL
After you issued the UPDATE DB NAME(DEBJN) STOP(ACCESS) OPTION(NORAND)
command, you would expect that the response to a QRY DB NAME(DEBJN)
SHOW(STATUS) command would include:
DBName AreaName MbrName CC TYPE LclStat
DEDBJN IMS1 0 DEDB NOTOPEN,STOACC
RNL is not included in the second response.
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
In previous releases shared VSO users who had single area structures specified whether
or not lookaside buffering would be used for an area in two places. It was specified in
DBRC with an INIT.DBDS or CHANGE.DBDS command and also in the DEDB statement
in the DFSVSMxx member as part of the private pool definition. If the specifications
conflicted, the DBRC value was used. Only the DBRC value mattered, nevertheless, some
value had to be specified in the DEDB statement. The requirement to specify a lookaside
value in the DEDB statement has been eliminated in V10. You do not have to specify any
value there.
The specification of lookaside for multiple area structures has not changed in V10. Multiple
area structures were introduced in IMS V9. IMS continues to ignore any lookaside
specification in DBRC for areas using multiple area structures. Only the specification in the
DEDBMAS statement of the DFSVSMxx member is used.
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Figure 11-8. Shared VSO in XRF Tracking and FDBR Systems CMA01.0
Notes:
In previous releases of IMS when shared VSO was used with XRF or FDBR, the XRF
tracking system or FDBR system did not compress the shared VSO private pools. These
pools can expand as more buffers are required for the areas in the pools. When the buffers
are no longer needed, XRF active systems and non-XRF systems compress the pool by
releasing buffers that were acquired for expansion. IMS V10 has enhanced XRF tracking
systems and FDBR by compressing their pools just as non-XRF and active XRF systems
compress pools. This will potentially reduce the use of ECSA by XRF tracking systems
and FDBR for shared VSO users.
Uempty
IMS V10 IMS Version 10
z Benefit
Simplifies operations for systems using data sharing
10
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Capacity Enhancements
11
Notes:
Uempty
IMS V10 IMS Version 10
12
Notes:
The maximum number of fast path buffers that can be used has been increased from
65,535 to a theoretical value of 4,294,967,295. This is a theoretical value since a system is
unlikely to have the storage for so many buffers. Any value up to the theoretical limit may
be specified on the DBBF= execution parameter for the online system. In previous releases
you could specify the number of Fast Path buffers on the FPCTRL macro. This macro is
not used in IMS V10. The DBBF= execution parameter must be used to specify these
buffers in V10.
The log records that have been modified include the following that are mapped by the
DBFLSRT macro: 5950, 5951, 5952, 5953, 5953, 5956, and 5957.
Other modified records are mapped by the DBFLGRSD macro. They include: 5955 and
5958.
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z Benefit
Fast Path can exploit large capacities of new processors
13
Notes:
In previous releases the maximum number of Fast Path output threads was the smaller of
the MAXPST value or 255. In V10 the maximum is the 32,767.
This allows IMS V10 users to have many more output threads. This could be desirable as
processor capacities increase.
There is another enhancement for Fast Path users in IMS Version 10. In previous releases
most Fast Path control blocks and buffers were created in one module, DBFCONT0. This
module resides in ECSA and it could be very large. IMS V10 places these control blocks
and buffers in five modules. This allows installations to more efficiently use ECSA storage
since smaller contiguous areas of ECSA may be used.
The major new modules and their contents are:
DBFCONT1: contains the ECNTs, MSDBs, and MSDB blocks
DBFCONT3: contains buffer headers (DHMRs) and buffers
DBFCONT4: contains DEDB blocks
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
14
Notes:
APARs PQ97745 for IMS V9 and PQ80264 and PQ97043 for IMS V8 added a new
parameter in the DFSFDRxx PROCLIB member for FDBR. FPBUFF=LOCAL could be
specified to place module DFSCONT0 and HSSP and HSRE buffers in extended private.
There was no other valid value for FPBUFF=. If the parameter was not specified, the
module and buffers were placed in ECSA.
IMS V10 changes the default. If the FPBUFF= parameter is not specified, DBFCONT1,
DBFCONT3, DBFCONT4, DBFCONT5, DBFCONT6 and HSSP and HSRE buffers placed
in extended private. A specification of FPBUFF=ECSA places these modules and buffers
in ECSA. A specification of FPBUFF= LOCAL and allowing the parameter to default is
recommended. There is no advantage to placing the modules and buffers in ECSA.
Uempty
IMS V10 IMS Version 10
Usability Enhancement
15
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z Benefit
Eliminates need to specify a QUITCI control statement on each Scan or
Delete utility execution
May be used to enforce the use of QUITCI
16
Notes:
QUITCI is an optional parameter specified in the SYSIN data set for the DEDB SDEP Scan
and Delete utilities. It is used in data sharing environments to cause other IMS systems to
release their current SDEP CI and any preallocated SDEP CIs. Any partially filled SDEP
CIs are written to the area data set. This simplifies the running of the Scan and Delete
utilities by making it easy to ensure that they process all committed SDEPs without waiting
on CIs to be filled.
Some users want to ensure that QUITCI is used by all executions of the Scan and/or
Delete utilities. The new SDEPQCI parameter in the DFSVSMxx member may be used
enforce the use of QUITCI, even when it is not specified on the SYSIN input to the utilities.
Uempty
IMS V10 IMS Version 10
EMH Enhancement
17
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
This EMH enhancement addresses a rarely occurring situation; however, when it does
occur, an IMS outage is likely needed to correct the problem.
Full function users have been able to reset response mode for hung terminals via the /RST,
/STO, and /STA commands; this enhancement extends this support to Fast Path users.
You cannot use the /RST command to reset response mode for Fast Path nodes/users as
you can for full function users. This is because Fast Path requires a session to be in a
quiesced state and /RST does not have this requirement.
RESP-INP-FP is a new status in IMS Version 10 that may be returned by the following /DIS
commands
/DIS NODE, /DIS NODE RESPINP
/DIS USER, /DIS USER RESPINP
/DIS STATUS, /DIS STATUS NODE, /DIS STATUS USER
Input response mode is now indicated by two statuses, RESP-INP-FP for Fast Path, and
RESP-INP for full function. If you have automation dependent on the RESP-INP status and
Uempty use Fast Path EMH, your automation needs to be changed to handle both input response
mode statuses.
© Copyright IBM Corp. 2007, 2008 Unit 11. Fast Path 11-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Connectivity
z OTMA
z IMS Connect
Notes:
Uempty
IMS V10 IMS Version 10
OTMA
Notes:
Highlights
z OTMA addresses high availability requirements through
Routing Enhancements
Destination Routing descriptors
Resume TPIPE security
Automatic flood detection and control of input messages
Time-out control
TPIPE storage clean-up
Member level security
Asynchronous message enhancements
Enhanced OTMA display information
Notes:
OTMA enhancements address several high availability requirements. These include the
areas listed on the visual.
Uempty
IMS V10 IMS Version 10
Routing Enhancements
z Capability that enhances asynchronous outbound IMS application
messages (ALTPCB) when OTMA is enabled
Supports
Remote destinations through IMS Connect
Non-OTMA destinations such as LTERM destinations
• SNA Terminals and printers
Future consideration for MQ
Notes:
Prior to IMS V10, IMS systems that enabled OTMA and also produced ALTPCB outbound
messages for external destinations required system programmers to code several
assembler OTMA routing exits including DFSYPRX0 & DFSYDRU0. This requirement
oftentimes inhibited or delayed the adoption of new connectivity implementations such as
IMS Connect. IMS V10 introduces new OTMA Destination Routing Descriptors that can
eliminate the requirement to code the OTMA exits by externalizing the definitions and
specifications that the exits provide. Note, however, that if the exits exist, they will be called
with the routing information provided by the descriptors already set. Additionally these
Descriptors have the ability to route from OTMA to non-OTMA destinations such as SNA
printers and terminals. Future support for MQ is under consideration.
Routing Enhancements …
z New ‘D’ descriptor type in DFSYDTx member of IMS.PROCLIB
D destname keywords
Where:
Destname is destination name and can be masked by
ending in an “*”
Keywords are:
TYPE={IMSCON|NONOTMA}
TMEMBER=name
TPIPE=name
SMEM={NO | YES}
ADAPTER=adapname
CONVERTR=convname
Notes:
The new ‘D’ descriptor type for the DFSYDTx member of IMS.PROCLIB includes keywords
as follows:
• TYPE= determines if output is destined for IMS Connect (IMSCON) or non-OTMA
(NONOTMA). This is a required keyword.
• TMEMBER= 1 to 16 character client name. Required for TYPE=IMSCON. Ignored for
TYPE=NONOTMA.
• TPIPE= 1 to 8 character TPIPE name. Optional for TYPE=IMSCON, defaults to
Destination name. Ignored for NONOTMA.
• SMEM= indicates if this destination is a Super Member. Optional keyword for
TYPE=ICON, defaults to SMEM=NO. Ignored for TYPE=NONOTMA. If “YES”, the
name defined in the TMEMBER keyword becomes the Super Member name and can
only be 4 characters.
Uempty • ADAPTER= 1 to 8 character name of the IMS Connect Adapter to be used for the
message, e.g., one example is an adapter for XML transformation. Optional for
TYPE=IMSCON and ignored for TYPE=NONOTMA.
• CONVERTR= 1 to 8 character name of the Converter to be used by the Adapter.
Required for TYPE=IMSCON if ADAPTER is specified. Ignored for TYPE=NONOTMA.
Routing Enhancements …
z Example
M HWSICON1 DRU=DFSYDRU0 INPUT=5000 T/O=5
Masked descriptor
Also note that for this specific example,
all destination matches for any destination
beginning with SOAPGW… will be
routed to the single TPIPE HWS3SOAP
Notes:
Multiple OTMA descriptors can be defined in the same DFSYDTx member.
This example illustrates six descriptors:
• The first is a TMEMBER descriptor specifying the DRU exit for TMEMBER
“HWSICON1”.
• The second is a Destination Routing descriptor for destination OTMACL99 that will be
routed to IMS Connect TMEMBER “HWS1” with TPIPE “HWS1TP01”.
• The third is a Destination Routing descriptor for destinations matching the mask
“OTMACL*”. The messages will be routed to a TMEMBER of “HWS2” with a TPIPE of
the destination matching the mask, e.g., OTMACL04 if the destination using this
descriptor was OTMACL04. Note that this along with the second descriptor illustrate
that more specific destinations must be coded ahead of generic ones.
• The fourth is a Destination Routing descriptor for destination “PRNTR3A” that will be
routed to legacy IMS.
Uempty • The fifth is a Destination Routing descriptor for “SOAPGW1” that will be routed to IMS
Connect TMEMBER “HWS2” with TPIPE “HWS2SOAP” and will result in XML
translation.
• The sixth is a masked Destination Routing descriptor for destinations that begin with
“SOAPGW*”. This last descriptor will not be used for SOAPGW1 because the previous
descriptor already specifically addressed that destination name. Note that all the
destination matches for this descriptor will be routed to the one specified TPIPE
“HWS3SOAP”.
Routing Enhancements …
z Usage
Application programmers
Ensure IMS application ALTPCB destination name matches the name of
a Destination Routing descriptor
System programmers
Define the new ‘D’ descriptors in DFSYDTx
• Code more specific descriptors before generic definitions
- Searched and used in the order coded
Error message enhancement
DFS2385E SYNTAX ERROR FOR DESCRIPTOR = descriptor errortext
New error text for the ‘D’ descriptors
Also issued if a previous release of IMS attempts to read DFSYDTx with the new
descriptors
Notes:
To correctly enable the use of the new callout descriptors, application programmers must
code the destination of an asynchronous output message switch (ALTPCB) to match the
destination name of a corresponding descriptor. IMS systems programmers or system
administrators, on the other hand, will also need to create the sure descriptors in the
DFSYDTx member of IMS.PROCLIB. Because descriptors can be masked (end in an “*”)
and are searched in the order they are coded, more specific descriptors should appear
before generic ones.
The DFS2385E error message has been enhanced to catch syntax errors associated with
the new descriptor keywords. New error text include:
- DESTINATION NAME NOT GIVEN OR BEGINS AFTER COLUMN 3
- DESTINATION NAME LONGER THAN 8 CHAR
- INVALID TYPE SPECIFIED
- DUPLICATE TYPE KEYWORD
- TMEMBER REQUIRED FOR TYPE=IMSCON
Notes:
The next enhancement addresses security in the destination routing environment.
IMS transactions and commands that flow through OTMA from various clients are
protected by current security classes, namely: TIMS and CIMS. The responses are
guaranteed to be delivered to the client that initiated the transactions and commands.
Output messages in the hold queue that are generated as a result of asynchronous
processing, however, are not protected by any security class. When those messages are
retrieved by an OTMA client using RESUME TPIPE, a security exposure can occur. The
function provided by Resume TPIPE Security protects these output messages by
establishing a security class named RIMS within RACF or any non-IBM security product.
Within this class, the security definitions are associated with the TPIPE name along with
the list of user IDs or group names under this TPIPE. The enhancement, therefore, allows
IMS installations to optionally authorize the user ID, together with the TPIPE name that is
contained in the Resume TPIPE command message before any of these messages are
sent to a client.
Uempty OTMA also provides the DFSYRTUX security exit routine as an opportunity to overrule the
SAF/RACF decision or to extend the security check to allow modifications as needed by
the environment.
10
Notes:
To take advantage of Resume TPIPE Security, the following actions are required:
• Define a new resource class, TPIPE name, and user IDs in RACF (refer to SA22-7683
Security Server RACF Security Administrator’s Guide) or applicable security server for
the environment. The resource class comprises the resource class type of “R” and the
resource class name whose value is taken from the RCLASS parameter of the
SECURITY macro or in the DFSDCxxx member of Proclib. If RCLASS is omitted, the
resource class name defaults to “IMS.” The resulting class, then, is “Rxxxxxxx’ where
‘xxxxxxx’ is the value of RCLASS or “RIMS” as the default.
• If needed, code, assemble, and bind the user exit in a library that is concatenated with
IMS SDFSRESL under DD name STEPLIB or JOBLIB.
• Ensure that the OTMA client, e.g., IMS Connect, is at the correct IMS V10 level to pass
in the TPIPE name in the OTMA CTL prefix and the userid/group in the security prefix
header as part of the message for the Resume TPIPE command.
Uempty
IMS V10 IMS Version 10
11
Notes:
The implementation of Resume TPIPE Security could possibly impact existing clients. In
previous releases, a userid that was provided in the Resume TPIPE request was
authenticated if IMS Connect was configured with security enabled. As long as the
Resume TPIPE request, however, passed in the correct TPIPE name (clientid) then the
associated asynchronous output messages could be retrieved.
In IMS V10, if the Rxxxxxxx | RIMS resource class is defined then security violations can
occur where they previously did not. When retrieving the asynchronous output from IMS,
the client signals IMS with a Resume TPIPE command and an IRM timeout value. This
timeout value expires if there are no messages received by the client. Additionally, with the
new support, a security check can result in success or failure. If the security validation is a
success, normal processing takes place. On the other hand, if a security violation occurs, a
new NAK message is sent to the client.
12
Notes:
The next enhancement is the Message Flood Detection and Control capability. This
function provides a mechanism to automatically monitor the growth of active input
messages through OTMA and the control blocks associated with these requests.
Specifically, when an OTMA member or client sends a transaction to IMS, OTMA internally
creates a control block called the TIB (Transaction Instance Block) to track each active
input message. For a send-then-commit (CM1) message, the control block is used for input
and output processing after which the storage is freed or reused. For a commit-then-send
(CM0) message, the control block is only used for input processing. If, however, several
thousand OTMA input transactions are received and waiting to be processed, thousands of
control blocks representing the requests could fill up LSQA storage below the line and
possibly cause the IMS system to fail with an S40D abend. To prevent this type of OTMA
message flood condition, OTMA supports the suppression or control of the input messages
for OTMA based on a maximum value for the number of TIBs allowed for an OTMA
member in the system.
Uempty
IMS V10 IMS Version 10
Override order:
At initialization, DFSYDTx descriptor value is checked for override
During processing, /START TMEMBER command activates new override
As each OTMA member joins the group
• The client-bid optionally provides a new INPUT value
- Only accepted if less than the value in effect by descriptor or command
13
Notes:
By default, the message flood detection and control capability is always on and the
maximum threshold value set to 5000. To override this default, several choices are
available:
• The OTMA descriptor DFSYDTx in the IMS.PROCLIB library can provide a value which
IMS detects at initialization. It is not, however, until the TMEMBER associated with the
descriptor is actually started that IMS implements the override value.
• At any time, an operator can issue the /START TMEMBER command that not only
starts the member but also provides an override flood detection value that supersedes
anything provided in the descriptor.
• As a member joins the group, the client-bid protocol message can also provide an
override. This value is honored only if it is less than the value that is already in effect
based on the overrides provided by the descriptor or /START TMEMBER command.
Note that the deactivation of the input message flood control capability can be requested by
either the DFSYDTx descriptor or the /START TMEMBER command by specifying an
INPUT value of 0. A client-bid message cannot override this specification.
Uempty
IMS V10 IMS Version 10
Commands:
/START TMEMBER member-name … INPUT 0 to 9999
/STOP TMEMBER member-name | ALL
14
Notes:
The specifics of the implementation are as follows:
• A new INPUT parameter in the OTMA descriptor DFSYDTx in IMS.PROCLIB. The
parameter allows values from 0 to 9999. If the value is set to 0 then the capability for
the message flood detection is disabled. Values between 1 and 200 are set to 200 and
anything over 9999 is set to 9999.
• The /STOP TMEMBER member-name | ALL command which suppresses new input
transactions or commands from a specific OTMA member or all OTMA members. This
command does not affect the rest of communications between the stopped member
and IMS. That means the following operations can still be performed for a stopped
member: the client and server XCF connection remains unchanged; all of the running
transactions currently scheduled in the IMS can still be processed, and the responses
can be delivered; IMS conversational transactions can continue processing the existing
conversation until it ends; all of the OTMA protocol commands including ACK/NACK
can still be processed by OTMA. Note that after this command has been issued, a
Uempty
IMS V10 IMS Version 10
15
Notes:
The next capability that OTMA provides is a time-out control option that is applicable for
CM1 message processing. For an OTMA send-then-commit (CM1) response message with
synclevel=confirm or synclevel=syncpt, IMS expects an ACK/NAK from the OTMA client.
Due to the possibility of a client programming error or a network failure or delay, the
expected ACK/NAK may not be received by IMS. A missing or delayed ACK/NAK results in
a “wait-syncpoint” condition for the IMS dependent region that processed the OTMA
transaction. To resolve this situation, OTMA has been enhanced to detect this
“wait-syncpoint” condition and take an appropriate time-out action. The default time-out
value is 120 seconds.
16
Notes:
The default 120 second timeout value for CM1 (send-then-commit) messages can be
overridden in several ways:
• During IMS initialization with a new parameter in the OTMA descriptor member
DFSYDTx. It is not until the member is actually started that the override value is
honored.
• At any time with a new TIMEOUT specification in the /START TMEMBER command.
• By OTMA member request either when the member joins the group using the client-bid
protocol message or, at a lower level of granularity, whenever a CM1
(send-then-commit message) flows into OTMA.
If none of the above methods is used to set the time-out value, the OTMA default of 120
seconds is used to determine when to perform the time-out action.
If needed, the /START TMEMBER TIMEOUT command and the OTMA descriptor can
deactivate the OTMA time-out function by specifying a timeout value of 0. Once the
function is deactivated, OTMA will not perform the time-out action. However, OTMA will still
Uempty detect a long-waiting dependent region for a missing ACK or NAK and issue the following
warning message: DFS0808W IMS REGION region-id IN BACK-END IMS aaaa HAS
BEEN IN [WAIT-SYNCPOINT] or [WAIT-RRS] FOR otma-membername/tpipename FOR
xx seconds.
17
Notes:
The details of the implementation are as follows:
• A new T/O parameter in the OTMA descriptor member DFSYDTx in IMS.PROCLIB.
The new parameter defines the time-out value in minutes for OTMA send-then-commit
response messages. The value specified can be between 0 and 255 seconds. If the
value is 0, OTMA will deactivate the time-out function. If it is over 255, it will be set to
120 which is the default.
• A new TIMEOUT specification in the /START TMEMBER command.
• New specification in the OTMA member request either when the member joins the
group using the client-bid protocol message or, at a lower level of granularity, whenever
a CM1 (send-then-commit message) flows into OTMA.
If a client-bid protocol message is used to specify the time-out value, the criteria of
choosing the time-out value is provided through new flag specifications. Note that the
client-bid cannot override the time-out specified by an OTMA descriptor or command. If the
client-bid time-out value is equal to or greater than the current time-out value set by
Uempty descriptor or command, OTMA will ignore the time-out value in the client-bid message. If
the client-bid time-out value is less than the current time-out value set by the command or
descriptor, the value from the client-bid will be used for the time-out action for this member.
OTMA Member…
On an individual message level
• 1-byte reserved field at offset x’1E’ of the message control information prefix
- Specifies time-out value for the input transaction
• New flag TMAMTTMO, x’08’ in byte 5 of the state data section
- Specifies that OTMA can take the message level time-out value specified in
the control data
18
Notes:
On an individual message basis, additional flags have been provided for an even lower
level of time-out specification. This capability supports a message time-out value which can
be different from the time-out value set for the entire member. Note, however, that this
value follows similar restrictions in that it cannot override the member time-out value set by
an OTMA descriptor or IMS command.
When an OTMA time-out occurs, OTMA will first back-out the transaction in order to get out
of the wait-syncpoint or wait-RRS condition for any missing ACK/NACK region.
Subsequently, an OTMA CM1 deallocation message will be sent to the member with the
existing ABORT flag and the new “time-out” flag. The IMS system console operator will
also receive a DFS0809E message “IMS REGION region-id IN BACK-END IMS aaaaaaaa
HAS TIMED OUT FOR otma-membername/tpipename FOR xx MINUTES”. When OTMA
takes the time-out action, byte 3 TMAMCCCI, of the OTMA commit-confirmation flag in the
message control data prefix is set to TMAMCTMO, X’08’, to indicate that the transaction
was aborted due to the OTMA time-out condition.
Uempty
19
Notes:
The next enhancement provides a more efficient way to control unused storage associated
with idle TPIPEs. TPIPEs (Transaction Pipes) are OTMA control blocks that represent
logical connections between the client and IMS. They are analogous to an IMS logical
terminal (LTERM) and allow IMS to associate all input and output with a particular OTMA
client. Once created, they occupy storage whether or not they are used again. This
clean-up enhancement determines whether or not an inactive TPIPE can be deleted and its
storage released. A TPIPE is considered inactive if it has been idle for 2 consecutive
checkpoints.
Uempty
IMS V10 IMS Version 10
20
Notes:
The TPIPE storage clean-up function is activated when OTMA is activated in an IMS
system. Logic added to IMS system checkpoint processing determines whether a TPIPE is
active or idle based upon whether or not there are any input or output messages
associated with the control block in addition to whether or not any TPIPE status conditions
exist. TPIPEs that are idle for two consecutive checkpoints are deleted.
Active TPIPES include those that are processing commit-then-send (CM0) messages in a
shared queues environment, have incomplete send-then-commit (CM1) messages, or
have queued commit-then-send (CM0) output messages.
Certain TPIPEs are never considered for removal. These include synchronized MQ
TPIPEs and TPIPEs with outstanding status indicators.
z Prior Releases
OTMA security was a system-wide setting for all OTMA members
21
Notes:
Prior to IMS V10, OTMA does not allow different security levels defined for various
members. The security setting requested is considered a system-wide setting for all of
OTMA members. In V10, the OTMA command, /SECURE OTMA, has been enhanced to
allow specification of member security so that each OTMA client can have its own security
level.
Note - Messages are always processed with the security level that was in effect when the
message was received. Even if a new security level is introduced by command, the
security level associated with the message is based on the level in effect at the time of
message receipt.
Uempty
IMS V10 IMS Version 10
z Implementation
22
Notes:
The addition of the TMEMBER keyword to the /SECURE OTMA command provides the
ability to define any of the security options for a specific OTMA member.
The /DISPLAY command has also been enhanced to provide a mechanism to display the
security option in effect for a specific member.
z Asynchronous messages
CM0 - Commit-then-Send messages
Undelivered IOPCB and all ALTPCB messages
23
Notes:
Several enhancements are available to address asynchronous CM0 messages in OTMA
environments that use IMS shared queues as well as those that implement load balancing
or IP spraying techniques such as Sysplex Distributor or the WebSphere Edge Server.
These enhancements extend the capabilities of IMS Connect.
Uempty
IMS V10 IMS Version 10
24
Notes:
The Super Member capability in OTMA facilitates the delivery of asynchronous (CM0
Commit-then-send) messages by any instance within a set of IMS Connects and IMS
subsystems. With this function, affinity to a particular IMS or IMS Connect is removed and
the use of shared queues as well as solutions such as Sysplex Distributor become more
viable.
25
Notes:
A super member is a special OTMA member name which can be shared by a set of IMS
Connects to handle the CM0 hold queue messages.
When an IMS Connect attaches to IMS, OTMA creates a regular member structure name
unique to that instance to track the connection status and to record the connection options
for later transaction processing. If a super member name, which could be considered a
group name for a set of IMS Connects using Sysplex Distributor or similar mechanism, is
given by an IMS Connect during the connection time, OTMA will additionally create a
member structure called the super member structure. If the super member structure
already exists, OTMA will use it instead of creating a new one. A regular member structure
is dedicated exclusively to the IMS Connect for which it was created. However, a super
member structure is shared among a set of IMS Connects so that a Resume TPIPE can be
issued from any IMS Connect. The role of the super member is to store and deliver the
CM0 hold queue messages.
Uempty
IMS V10 IMS Version 10
z Command support
/DISPLAY OTMA
Display output includes a new SMEM column
/TRA TMEMBER… TPIPE…, /STA or /STO OTMA
Can be issued to a super member name
When issued with a regular member name
• Output is expanded to include any related super members
26
Notes:
IMS Connect has been enhanced to support the Super Member capability. The
HWSCFGxx configuration file member provides a new SMEMBER= parameter in the HWS
statement. The value provided must be different than the value provided in the MEMBER=
parameter of the DATASTORE statement and must follow the OTMA naming conventions.
When the client-bid protocol message is sent from an IMS Connect member that has
specified a Super Member value, the state data of the OTMA prefix carries the defined
SMEMBER value in a new 4-byte field at the offset of x’36’ in the state data section. In
addition to the super member name in the client-bid message, a new flag TMAMFGSM
(x’08’) at the offset x’2D’ of the state data informs OTMA that the super member processing
is requested.
Additionally, the /DIS, /TRA, /STA and /STO commands have been enhanced to support
the Super Member capability. The /DISPLAY OTMA command output includes a new
SMEM column to display the Super Member name if one exists. The /TRA TMEMBER …
TPIPE, /STA OTMA and /STO OTMA commands can be issued against either a Super
Member name or regular IMS Connect.
Sysplex
Resume TPIPE
for clientx through
IMS Connect (generic)
and IMS (generic) IMS Connect A IMS1
MSGx for
TCP/IP Clientx and
Will only retrieve MSGx if Load balancing IMS Connect B
the connection is correctly or distribution
established with IMS mechanisms
Connect B and IMS1 can pick either
IMS Connect (A
or B) IMS Connect B
If connection is established IMS2
Load balancing
through any other path, this mechanisms can
program will either Pic keither
pick eitherIMS
IMS
disconnect or timeout at
some point.
Possible connections:
IMS Connect A to IMS1
IMS Connect A to IMS2
IMS Connect B to IMS1
IMS Connect B to IMS2
27
Notes:
This and the next visual attempt to illustrate the value of the Super Member support.
Asynchronous CM0 output messages in IMS are queued to a message queue construct
that is identified by TMEMBER and TPIPE and, therefore, associated with a specific IMS
Connect instance. As a result, there is a potential issue when using any of the load
balancing or sysplex distribution mechanisms or even when a message is processed in a
back-end IMS in a shared queues group. To retrieve the message, the remote program
needs to establish a connection through the appropriate IMS Connect to the actual IMS
system that queued the message. This can be a challenge because there is no easy
mechanism for a remote program to discover the required connection path, i.e., a specific
IMS Connect to a specific IMS. Additionally, the remote programs may not want to know
specific connection paths to IMS because that would negate the value of using load
balancing and distribution mechanisms.
Uempty
IMS V10 IMS Version 10
28
Notes:
The OTMA Super Member function resolves the issue by allowing a RESUME TPIPE
request to retrieve CM0 output across all combinations of IMS Connect and IMS systems. If
multiple IMS systems are involved, then those IMS systems must also have IMS shared
queues implemented. If there is only one IMS system but multiple IMS Connects, then
shared queues support is not required. As shown in the illustration on this visual, the
Resume TPIPE request for clientx can be routed through any load balancing or distribution
mechanism to either IMS Connect A or IMS Connect B. Both systems are identified to
IMS1 and IMS2 by their unique XCF member names as well as the global Super Member
name of SM01. The request to retrieve the output message for TPIPE clientx can be sent to
either IMS1 or IMS2 because both have access to the shared queues and, more
specifically, to all the messages under the shared queues construct for SM01 and TPIPE
clientx.
29
Notes:
OTMA asynchronous message enhancements has been extended to provide greater
flexibility for messages that cannot be delivered or are rejected by the remote client. The
two actions, which are mutually exclusive of each other, are to reroute messages that
cannot be delivered to an alternate destination or to purge them.
The REROUTE enhancement provides a mechanism for an IMS Connect client to request
that undeliverable Commit Mode Zero (CM0) output associated with a send/receive from
the client application be rerouted to an alternate IMS Connect destination. When a Client
Reroute Request is made, IMS Connect notifies OTMA to remove the message from the
current queue and requeue it to the provided Reroute name queue.
The Purge Not Deliverable extension allows the remote client application or the appropriate
User Message Exit to specify whether or not the output should be purged if it is not
deliverable. Note that if both capabilities are requested, neither action is performed and
DFS2407W message is issued.
This capability was delivered in previous releases as follows: IMS V9 and IMS Connect:
PK16934, PK22480, PK24907, PK09543, PK12013; and for
REROUTE
OTMA
OMUSR_FLAG1 new setting of OMUSR_REROUT (X’01’)
OMUSR_ARCLEV new setting of OMUSR_AL02 (X’02’)
Field OMUSR_REROUT_NM holds the reroute name
IMS Connect
IRM_ARCH new setting of IRM_ARCH1 (X’01’)
IRM_F3 new setting of IRM_F3_REROUT (X’08’)
New field IRM_REROUT_NM holds the reroute name
PURGE
OTMA
OMHDRPND EQU X'10' purge if not deliverable
IMS Connect
IRM_F3 has a setting of IRM_F3_PURGE (X’04’)
30
Notes:
Both the OTMA headers and the IMS Connect headers have been enhanced to request
either the PURGE or REROUTE capability.
Uempty
IMS V10 IMS Version 10
Resume TPIPE
Protocol provides flags for PURGE and REROUTE requests
When a Resume TPIPE request is in progress
• Subsequent Resume TPIPE request is queued instead of rejected
Send-Only messages
Can specify a reroute queue name for the output
• Also delivered in IMS V9: PK17421, PK18555
31
Notes:
IMS Connect has been enhanced to take advantage of the new capabilities. The Resume
TPIPE protocol provides flags to indicate one or the other type of request.
Another enhancement in this area allows RESUME TPIPE requests to be queued when
requested for the same TPIPE name.
Additionally, the Send-Only protocol allows specification of a reroute queue name for the
output in the case of an initial rejection of the output reply. This capability allows IOPCB
output from the Send-Only input transaction to be rerouted to a dedicated TPIPE instead of
the inputting TPIPE. The user of the IMS Connect Send-Only transaction will need to turn
on the reroute flag and specify a reroute TPIPE name in the input stream to activate the
capability. Note that this is not supported by the local option capability, HWSIMSO0,
HWSIMS01 and HWSJAVA0.
32
Notes:
The /DISPLAY OTMA and /DISPLAY TMEMBER command outputs have been enhanced
to provide more information about the OTMA environment and specific TMEMBERs. To
contain all the information, the single line display output has been increased to two lines.
Several new USER-STATUS indicators provide the following information:
• SMQ BACKEND - This status indicator on a TMEMBER line shows up on a back-end
IMS in a shared queues group. It shows that OTMA has duplicated the specific
TMEMBER environment and control blocks needed on the back-end to process a
message that was received from that TMEMBER which is attached on the front-end.
The same member name on the front-end IMS is shown in ‘connected’ state and no
SMQ BACKEND indicator. Whereas the corresponding control blocks on the back-end
IMS which processes the message is shown in ‘disconnected’ state with an SMQ
BACKEND indicator.
• STO-INPUT - This status shows that the /STOP TMEMBER command has been issued
for a specific member-name and no new input can be accepted.
Uempty • FLOOD - This status indicator shows that a specific TMEMBER is in a message flood
condition and that the maximum input message count that was specified has been
reached.
Additionally, the /DIS TMEMBER TPIPE command has been enhanced to show the
number of input messages currently on the queue.
33
Notes:
In addition to the existing OTMA values of Y and N, IMS V10 introduces the option of
OTMA=M (manual). When IMS first initializes, the value of OTMA=M functions similarly to
OTMA=N such that OTMA is not started. Once IMS is up and running, the /STA OTMA
command can be issued but becomes non-recoverable. The setting of OTMA=M,
therefore, takes effect when IMS terminates either normally or abnormally and has to be
restarted. During restart processing, OTMA is not automatically restarted. This capability
was introduced to prevent looping abend situations where IMS may have terminated as a
result of OTMA error conditions.
An additional impact on OTMA restart processing is introduced for environments where
IMS is initialized with OTMA=N. If a /START OTMA NOCHECK command is issued, the
command is also not recovered during either a warm start or emergency restart.
Uempty
IMS V10 IMS Version 10
Migration Considerations
z Message flood control
Default limit of 5000 is set an initialization
To deactivate the function, define the INPUT parameter in the DFSYDTx
descriptor or issue the /STA TMEMBER INPUT command
z Time-out
Default is set to 5 minutes
To deactivate the function, define the T/O parameter in the DFSYDTx
descriptor or issue the /STA TMEMBER TIMEOUT command
z /DIS OTMA and /DIS TMEMBER command enhancements
Single line output has been expanded to two-line output in order to include
DRU exit name info and time-out info.
New information in the /DISPLAY TMEMBER TPIPE provides the input
message count
34
Notes:
The considerations listed on this visual address issues that should be considered when
migrating from a previous release of IMS. The assumption is that migration to IMS V10 is
based on existing functionality without adding any new capabilities during the migration
process.
The message flood control enhancement in IMS V10 is automatically enabled with a
default limit of 5000 messages. To provide compatibility with previous releases and
deactivate the support, either specify an INPUT value of 0 in a descriptor or issue the /STA
TMEMBER INPUT command.
Likewise, the timeout support for synchronous CM1 message is automatically enabled with
a default value of 5 minutes. To provide compatibility with previous releases and deactivate
the support, specify T/O value of 0 in a descriptor or issuing the /STA TMEMBER
TIMEOUT command.
Note that the /DISPLAY command output associated with OTMA and TMEMBER requests
has been expanded to two output lines and includes new information. As a migration
consideration, this is a key issue for automated operations.
Notes:
The next three visuals summarize the enhancements in this section.
Uempty
IMS V10 IMS Version 10
z TPIPE clean-up
Greater efficiency of storage usage for OTMA control blocks
36
Notes:
Notes:
Uempty
IMS V10 IMS Version 10
38
Notes:
Highlights
z ACEE aging value support
z Client password change request
z RACF mixed case password
z CM1 timeout
z Message flood control
z Asynchronous message enhancements
Super member, Reroute and Purge Not Deliverable
Port affinity
Alternate clientid
z XML Adapter support
z IMS SOA Composite Business Application Support
Notes:
IMS Connect provides several usability, availability and security enhancements.
Uempty
IMS V10 IMS Version 10
40
Notes:
The Access Control Environment Element (ACEE) is a control block that represents a
verified userid to IMS. The ACEE is used to determine the user’s authorization to the IMS
command or IMS transaction requested in the input message. Once built in OTMA, the
ACEE for each userid is cached and the aging value associated with each OTMA client,
e.g., IMS Connect, is kept in a table. The aging value is then used to determine when the
cached control block should expire and be refreshed. IMS re-creates the ACEE if a
message associated with the userid is received but the age of the current ACEE is greater
than the aging value. The aging value is used to balance performance (possible RACF I/O
to refresh the ACEE) and integrity. For IMS Connect, the ACEE expiration value is
specified during the client-bid process and is set to a default of no expiration.
IMS V10 provides a new parameter, OAAV, in the DATASTORE statement of the
HWSCFGxx file for specification of an OTMA ACEE aging value. If not specified, the
default continues to be 2147483647 which, in essence, means no expiration and is the
maximum value supported by OTMA.
Uempty
IMS V10 IMS Version 10
z HWSPWCH
Defined keyword supported by HWSSMPL0, HWSSMPL1, HWSJAVA0
To enable the function
HWSPWCH0 address must be established in the exit routine
• Include the HWSPWCH0 object code
• Define ‘INCLUDE TEXT(HWSPWCH0)’ statement in the Binder JCL
41
Notes:
IMS Connect provides a new mechanism that allows a remote client to request that the
SAF/RACF password associated with a userid be changed.
As provided, the new capability will be supported in the HWSSMPL0, HWSSMPL1 and
HWSJAVA0 exit routines. The routines check for a leading keyword of ‘HWSPWCH’ to
determine whether it is a request to change the password. This ‘HWSPWCH’ string can be
viewed as a transaction code but new logic in the routine, HWSPWCH0, is called to
process the special request. HWSSMPL0, HWSSMPL1 and HWSJAVA0 can be modified
to define the HWSPWCH constant with a unique keyword value other than ‘HWSPWCH’.
The exit routines pass HWSPWCH0 the request keyword length in IMSEA_PWCHKEYL
field. This allows HWSPWCH0 to process the password change request independently
from the request keyword. After regaining control, the exit routines check the return code
in register 15. A zero return code means the request is successful. If it is a non-zero return
code, the exit routine checks the IMSEA_ERCD field for a valid error code, and replies
back to the client with an error message specified in IMSEA_MSGTEXT and
IMSEA_MSGLEN fields.
In order to establish the HWSPWCH0 address, the HWSPWCH0 object code must be
included in the exit routine and an ‘INCLUDE TEXT(HWSPWCH0)’ statement added to
the exit routine JCL for the binder (link-edit) step. During execution, if a request for
password change is received and the HWSPWCH0 address does not exist, the exit routine
will send a message back to the client stating that the password change function is not
supported.
Uempty
IMS V10 IMS Version 10
Other clients
42
Notes:
The password change support in HWSJAVA0 can be invoked by the IMS TM Resource
adapter (formerly called IMS Connector for JAVA or IC4J) client. After the OTMA headers,
the message sent begins with the defined keyword HWSPWCH followed by the old and
new passwords.
Similarly, other clients that invoke exit routines based on HWSSMPL0 or HWSSMPL1 can
supply the HWSPWCH request after the IRM header.
HWS …PSWDMC = Y | N
43
Notes:
The support for RACF mixed case password in IMS Connect is aligned with the IMS V10
support for mixed case passwords. The capability in IMS Connect allows the password to
be preserved exactly as the remote client provided and pass the string to RACF without
translation to upper case.
The function can be turned on as follows:
A new parameter, PSWDMC= in the HWS= statement, defines the option of mixed case
passwords where PSWDMC=N is the default. This setting can be changed using the
IMS Connect SETPWMC or UPDATE command.
IMS Connect also provides a command, SETPWMC, that can override the HWSCFGxx
specification.
The PSWDMC keyword is also available to the IMS Connect UPDATE command as
another way to request the support.
The IMS Connect support requires that RACF enable mixed case passwords through the
RACF SETROPTS(MIXEDCASE) command. Note that the RACF enablement of this
Uempty support does not constitute the IMS Connect usage of this support. Also note that the
mixed case support for IMS Connect can only take effect when RACF is enabled.
44
Notes:
IMS Connect supports the new OTMA time-out control function for send-then-commit CM1
interactions. OTMA provides a default value of 120 seconds after which transactions that
are held in “Wait-Syncpoint” or “Wait-RRS” status are released and backed out. If
provided, the value in the ACKTO parameter of the IMS Connect configuration
DATASTORE statement is passed to OTMA during client-bid processing.
Note the following considerations:
A specified value of 0 is reset to 5.
Any value specified in error between 60 and 255 is reset to 60.
Any value outside the 0-255 range Results in an Abend U3401.
Value cannot be greater than what is defined in OTMA - If the CM1TO value is equal to
or greater than the time-out specified in IMS by an OTMA descriptor or /STA TMEMBER
command, OTMA will ignore the IMS Connect request. On the other hand, if the
CM1TO value is less than the current time-out value set by the OTMA descriptor or
Uempty command then the value which is passed to IMS by the IMS Connect client-bid process
will be used for the time-out action for this member.
z Command support
VIEWHWS, VIEWDS, QUERY MEMBER, QUERY DATASTORE
Display output
…
OTMA ACEE AGING VALUE=value
OTMA CM1 TIMEOUT VALUE=value
z If time-out occurs
Remote Client receives a deallocate of the connection and an RSM status
message
45
Notes:
IMS Connect command output has been enhanced to display the CM1 timeout value. The
applicable commands include: VIEWHWS and VIEWDS output command and the MVS
MODIFY command for QUERY MEMBER and QUERY DATASTORE.
Uempty
IMS V10 IMS Version 10
Notes:
IMS Connect also takes advantage of the OTMA Message Flood Control capability to
automatically monitor the growth of active input messages. OTMA provides a default value
of 5000 messages after which input messages from a specific IMS Connect instance will be
rejected. If provided, an override value in the MAXI parameter of the IMS Connect
configuration DATASTORE statement is passed to OTMA during client-bid processing.
Note the following considerations:
A specified value of 0 is reset to 5000.
A value between 0 and 200 is reset to 200.
Any value specified in error between 9999 and 65535 is reset to 9999.
Any value outside the 0-65535 range Results in an Abend U3401.
Value cannot be greater than what is defined in OTMA - If the MAXI value is equal to or
greater than the INPUT value specified in IMS by an OTMA descriptor or /STA TMEMBER
command, OTMA will ignore the IMS Connect request. On the other hand, if the MAXI
value is between 1 and 200, a value of 200 will be sent to IMS. If the IMS Connect value is
less than the value specified in OTMA, then the IMS Connect MAXI value will be used.
Uempty
IMS V10 IMS Version 10
47
Notes:
IMS Connect command output has been enhanced to display the maximum input message
value. The applicable commands include: VIEWHWS and VIEWDS output command and
to the MVS MODIFY command for QUERY MEMBER and QUERY DATASTORE.
Reroute
Purge
48
Notes:
There are several enhancements for CM0 processing that are described in detail in the
OTMA Enhancements section. The detail in the OTMA section includes specifics for IMS
Connect.
Uempty
IMS V10 IMS Version 10
49
Notes:
Using concurrent Resume TPIPE connection requests of the same clientid across several
ports may cause problems such as keeping an IMS OTMA TPIPE in WAIT-H status. To
address the issue and support this concurrency requirement, IMS Connect provides a new
parameter to enforce all the correlated interaction such as the retrieval of a message and
associated ACK or NAK to the same remote client instance. The PORTAFF parameter in
the TCPIP statement controls whether commit-then-send (CM0) output messages sent by
IMS to an IMS Connect system have affinity to the port on which IMS Connect received the
original input message.
When PORTAFF=Y is specified, IMS Connect returns all CM0 output for this IMS Connect
client through the same port on which it received the original input message.
When PORTAFF=N is specified, IMS Connect attempts to return the CM0 output to the first
client it finds on any available port with an outstanding request from this clientid.
NOTE: If running in a sysplex environment that has implemented redundancy, load
balancing, and supermember support, etc., PORTAFF=N is a reasonable choice. Using
the same instance of a single clientid across multiple ports is not recommended.
Resume TPIPE
IMSB clientABC Port ACK ?
RMT AUTO 8888 IMSB
B …
RCV
Notes:
As mentioned in the previous visual, when PORTAFF=N, IMS Connect attempts to return
the CM0 output to the first port found on which the client ID of this IMS connect is present.
PORTAFF=N is the default. There is a consideration in this area because if a message is
retrieved from the Hold Queue, then the PORTID in OMUSER_PORTID is ignored and IMS
Connect assumes the portid is the generic ICONNECT port. This assumption tends not to
be a problem unless an error such as a connection failure occurs. When that happens and
a message has been received in IMS Connect for delivery, IMS Connect scans all the ports
under the generic ICONNECT port and delivers the message to the first one that it finds.
The example on this visual shows a situation where two Resume_TPIPE AUTO requests
specifying the same clientid, clientABC, are sent into a single IMS Connect. One request
(from RMTA) is sent to IMSA and the other (from RMTB) is sent to IMSB. IMSA has two
messages, MSG1 and MSG2, on the Hold Queue. IMSB has no messages at the moment
and so clientABC on RMTB just waits. IMSA sends MSG1 to IMS Connect which delivers
the message to the outstanding request for clientABC on RMTA which responds with an
ACK. In this scenario the connection fails for one of several reasons - ACK timeout,
network problem, etc. Since the Resume_TPIPE had originally specified AUTO, IMSA
Uempty sends MSG2 after the ack for MSG1 is received. When IMS Connect receives the
message, it detects that the connection to RMTA is no longer there and scans the ports
under ICONNECT to find the first one available. IMS Connect sends MSG2 to the waitiing
clientABC on RMTB. This instance of ClientABC retrieves the message and sends an ACK
back to IMSB which is not expecting an ACK. Meanwhile, IMSA’s Hold Queue for
clientABC is in WAIT-H status waiting for an ACK that will never be received.
ACK
ACK
ICONNECT MSG1
RCV (PORT) Shared Queues
MSG2
MSG2 Hold Q for SM01
Resume TPIPE
SM01 clientABC Port
ACK
RMT AUTO 8888 IMSB
B …
RCV
ACK
…
51
Notes:
In an environment that supports full redundancy including Shared Queues, Super Member
support, Sysplex Distributor, etc., specifying PORTAFF=N is feasible. This configuration
with concurrent Resume_TPIPE clients using the same clientid presumes that any of the
remote clients can retrieve any of the messages.
Uempty
IMS V10 IMS Version 10
Note: this new support differs from but leverages the Reroute capability
which only addresses undeliverable and/or NAK’ed messages
52
Notes:
IMS Connect introduces a new protocol that allows client applications to specify an
alternate clientid in the RESUME TPIPE request. IMS Connect forwards the alternate
clientid to OTMA, and OTMA returns the asynchronous messages that are queued to the
TPIPE of the alternate clientid name to the client application that issued the Resume TPIPE
request.
This Alternate Clientid function differs from the Reroute capability that was discussed
earlier. Reroute requests address the situations when messages cannot be delivered or
are NAK’ed. In these situations, OTMA queues the message onto the TPIPE name
associated with the reroute request when the undeliverable condition occurs. The
Alternate Clientid function, on the other hand, supports Resume TPIPE requests that
retrieve messages which are already queued to a TPIPE name but the name is different .
This new capability could be used to provide a programmable solution in the OTMA/IMS
Connect environment that is comparable to the way that IMS users can assign an LTERM
and all messages queued to it to a different node.
IRM Header
• IRM_RT_ALTCID 8 bytes specifying the alternate clientid
- Occupies same offset as reroute name IRM_REROUT_NM field
OTMA header
• OMUSR_RT_ALTCID 8 bytes specifying the alternate clientid
- Occupies the same offset of OMUSR_REROUT_NM field
Notes:
This support applies to: remote client applications that invoke user message exits
HWSSMPL0 and HWSSMPL1; IMS SOAP Gateway client applications using user
message exit HWSSOAP1; IMS Connector for Java (IC4J) client applications using user
message exit HWSJAVA0; and any other user-written IMS Connect message exits. No
support is provided for the local option, HWSIMSO0 and HWSIMSO1.
To take advantage of the new capability, optional fields have been added to both the IRM
and OTMA headers. Either field, IRM_RT_ALTCID in the IRM or OMUSR_RT_ALTCID can
be used to set a valid alternate clientid value. The feature is not enabled if the fields are
both set to blanks.
Uempty
IMS V10 IMS Version 10
IMS Connect client, e.g., IMS SOAP Gateway (available with IMS V9)
Sends an XML message with a request for translation
IMS Connect
Inbound: invokes the XML Adapter to translate message for IMS
• Removes XML tags
• If necessary, convert from UNICODE to EBCDIC
Outbound: invokes the XML Adapter to prepare an XML message
• If necessary, convert from EBCDIC to appropriate UNICODE encoding schema
• Create XML tags
54
Notes:
The XML Adapter support opens up IMS Connect to: receive and recognize messages
containing XML tags; provide the conversion into a message format for IMS including
unicode to EBCDIC translation if needed; receive IMS Application reply messages that do
not contain XML tags; and perform the conversion to XML as well as any EBCDIC to
unicode translation prior to replying to the remote client.
IMS Connect
55
Notes:
This overview visual shows the current supported configuration for the XML Adapter
Support in IMS Connect. The IMS Soap Gateway is an IBM-provided function that must be
at a minimum level of V9.2 to take advantage of the XML Adapter in IMS Connect.
WebSphere Developer for zSeries (WDz) supports the generation of XML Converters for
COBOL applications using COBOL copybooks. The XML Adapter support in IMS Connect,
in conjunction with the generated WDz XML Converters, facilitates the conversion of XML
transactional requests into byte stream application data structures, and vice versa. Clients
can send transactional requests in XML to IMS Connect, where the XML Adapter calls the
user specified WDz XML Converter to convert it to byte streams that the IMS application
understands, and then IMS Connect sends it to IMS. Responses when received by IMS
Connect will be converted to XML before being sent back to the clients. Each IMS
application expects its messages to be in a certain data structure; therefore, one XML
Converter is needed for each IMS application.
Uempty
IMS V10 IMS Version 10
56
Notes:
Input messages must adhere to the application protocol, as defined and documented for
IMS Connect, by providing an IRM header that provides the name of the message exit
routine that is to be called. For XML Adapter support, the IRM provides flags and values
that can be used to invoke the appropriate functions.
The IRM header always begins with an LL (2 byte length field) follows by 2 bytes that are
usually zeroes for non-XML message processing. When the XML Adapter is to be invoked,
the first zz byte can be used to signal the inclusion of 16 bytes in the user data section of
the IRM header for specification of the TAG and ADAPTER names. The second byte
details whether the tagged data includes the trancode or not.
At the end of the of the user data section, two fields provide the information for the XML
environment:
The IRM_TAG_MAP field provides 8 bytes to specify the TAG name. This is the name
of the COBOL Driver, the XMI or whatever is required for the Adapter to call or use to
perform the XML transformation.
The IRM_TAG_ADAPT field provides 8 bytes to specify the ADAPTER name. This is
the name of the routine that is to gain control from IMS Connect to remove/add the XML
tags, defined by the TAG name. The same Adapter that processes the input message
(removes the XML Tags) will be required to process the output message (add the XML
Tags).
Reply messages are sent back by IMS connect in tagged format. When the message is
sent by IMS to IMS Connect, the user message exit invokes the Adapter to process the
byte array data and convert it to XML tagged data before sending the message to the
remote client.
Uempty
IMS V10 IMS Version 10
EXITDEF(TYPE=XMLADAP,EXITS=(HWSXMLA0),
ABLIM=8,COMP=HWS)
EXITMBR=(HWSEXIT0,HWS)
57
Notes:
To enable the support in IMS Connect, several definitions have to be created:
A new ADAPTER statement in the HWSCFGx file provides the option of identifying the
presence or absence of the XML adapter support. The parameter XML= provides two
values. XML=Y/N. Y(es) requests the XML adapter function. The default of N(o) disables
the function.
The only adapter that is currently supported is the IBM-provided Cobol Adapter
HWSXMLA0. The definitions for the adapter are provided in an EXITDEF statement in a
special PROCLIB member. The name of the member can be HWSEXIT0, as shown in this
example, or it can be any name that is meaningful to the installation. The name that is
chosen must also be defined to IMS in the BPE configuration file statement EXITMBR. The
values of the EXITDEF statement are as follows:
TYPE=XMLADAP must be coded as is and defines the exit as an XML adapter plug-in to
IMS Connect.
EXITS=HWSXMLA0 also must be coded as shown for the IBM-supplied Cobol Adapter.
ABLIM = 0 (unlimited), 1, up to 2,147,483,647 defines the abend limit which is the number
of times the XML ADAPTER can abend before it is disabled
COMP=HWS must also be coded as is and requests the HWS component of IMS Connect.
IMS Connect detects the name of the PROCLIB member which contains the adapter
information in the EXITDEF statement in the BPE configuration file.
Uempty
IMS V10 IMS Version 10
58
Notes:
IMS Connect provides a new user message exit routine that specifically understands the
XML interface. In addition to the existing message functions of READ, XMIT, INIT and
TERM, the new exit routine, HWSSOAP1, includes new interfaces: RXML and EXML. On
input from the IMS Connect Client Application, IMS Connect calls HWSSOAP1 with the
function type set to ‘RXML’ which translates the IRM header and returns the ADAPTER
name and the TAG name back to IMS Connect. Upon returning to IMS Connect, error
analysis will be performed. If an error exists, function ‘EXML’ is invoked to process the
error message. If no error exists, IMS Connect calls and passes control to the ADAPTER
passing a set of parameters which determine: if this ADAPTER should process the
message; if translation is required or not; and what XML processing is required. When the
reply is ready to be sent back, IMS Connect receives the message and invokes the ‘XMIT’
function. Again the ADAPTER is called to prepare the reply in a tagged format.
New fields in the EXPRM parameter list include the following:
- EXPRXML_TAGNM Defines an output field and contains the TAG NAME to be used by
the ADAPTER, the TAG name would represent one of the following: XMI name for user
purposes, COBOL Driver name for IMS Connect support of COBOL ADAPTER, user Map
Name for user purposes
- EXPRXML_ADPTNM Defines an output field and contains the Adapter name to be used
by IMS Connect to load the correct ADAPTER.
- EXPRXML_RETCODE - Return code returned by the User Message Exit back to IMS
Connect.
-EXPRXML_RSNCODE - Reason code returned by the User Message Exit.
Uempty
IMS V10 IMS Version 10
COBOL
Compiled and bound into file that is Converters
concatenated into IMS Connect
STEPLIB
59
Notes:
To perform correct conversion for each message, the Adapter requires information on how
this is to be done. This information is called an XML Converter. XML Converters are Cobol
programs generated from WebSphere Developer for zSeries (WDz) using the target IMS
COBOL application’s copybook. For each copybook, WDz generates three COBOL
programs - an Inbound Converter (XML schema), an Outbound Converter (XML schema),
and a Driver (Cobol code). These three programs are combined into one file and are
referred to as an XML Converter. An XML Converter has to be created for each IMS
COBOL transaction application that wants to support XML transaction messages. For
details on generating XML Converters using WDz, see the WDz documentation.
On an inbound request to IMS, the XML Adapter calls the COBOL XML Converter Driver
and passes it the inbound function code. The COBOL XML Converter Driver calls the
Inbound Converter to parse the incoming XML message, convert the parsed message into
the COBOL data structure byte streams, and then return it to the XML Adapter. On an
outbound reply from the IMS application program, the XML Adapter calls the COBOL XML
Converter Driver with an outbound function code, which then calls the Outbound Converter.
The Outbound Converter converts the IMS output message into XML and passes it back to
the XML Adapter which then sends it to IMS Connect to be sent back to the client.
Uempty
IMS V10 IMS Version 10
IMS Connect
//HWS PROC
//STEP1 EXEC PGM=HWSHWS00, REGION=5M,
// PARM=‘BPECFG=BPECFG00, HWSCFG=HWSCFG00’
//STEPLIB DD DISP=SHR,DSN=IMS10.SDFSRESL
//* SSL SUPPORT DATASETS
// DD DISP=SHR,DSN=CEE.SCEERUN APF authorized
// DD DISP=SHR,DSN=SYS1.CSSLIB
// DD DISP=SHR,DSN=GSK.GSKLOAD
//* COBOL XML CONVERTER DRIVERS
// DD DISP=SHR, DSN=IMS.XML.DRIVERS
//PROCLIB DD DISP=SHR,DSN=IMS10.PROCLIB
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//HWSRCORD DD DISP=SHR,DSN=IMS10.HWSRCRD
60
Notes:
The Cobol XML Converter routines must be added into an APF-authorized library that it
concatenated into the STEPLIB list of the IMS Connect startup JCL.
Appl format
XML
XML XML Adapter 01 OUTPUT-MSG.
02 OUT-LL PIC S9(3).
02 OUT-ZZ PIC S9(3)..
02 OUT-MSG PIC X(40).
02 OUT-CMD PIC X(8).
<cbl:OUTPUTMSG xmlns:cbl= …
“http://www.XCNVI.com/schemas/XCNVIInterface”>
….ENTRY WAS DISPLAYED
<out_ll> 093</out_ll><out_zz> 000</out_zz> DISPLAY LAST1
<out_msg> ENTRY WAS DISPLAYED</out_msg> FIRST1
<out_cmd>DISPLAY</out_cmd> 8-111-11111D01 / R010001
<out_name1>LAST1</out_name1>
61
Notes:
This visual gives a high level view of the flow of messages. When an IMS Connect Client
sends a transaction message in XML to IMS Connect, IMS Connect receives the input
message and checks a flag in the IRM that indicates whether the input message is in XML
or not. If it is XML, IMS Connect calls the XML Adapter. The XML Adapter converts the
XML input message into the COBOL Application input data structure, sends it back to IMS
Connect. IMS Connect processes the returned stream and forwards it on as an
LLzz_trancode_data message to IMS so that the IMS Application can process the input
message. The IMS COBOL Application returns an output message to IMS Connect. IMS
Connect again calls the Adapter. The XML Adapter converts the IMS COBOL Application
output message into an XML output message, sends it back to IMS Connect. IMS Connect
processes the message from the XML Adapter and sends the XML output message to its
Client.
The IMS COBOL Application is not aware of any message conversions. It receives
messages in the same application specific format as it normally expects. The diagram
below shows the message formats received by each component.
Uempty
IMS V10 IMS Version 10
62
Notes:
There are two types of runtime errors generated in the XML Adapter - the errors from WDz
COBOL XML Converter Drivers, and the errors from the XML Adapter. Both types of error
messages are returned from the XML Adapter in XML-tagged messages if the output
codepage is available. IMS Connect does not distinguish between the two types of errors.
If the output codepage is not available, the XML Adapter returns a XML Adapter Status
Message (XASM). The XASM includes a return and reason code to indicate the type of
error.
Besides these two types of errors, the XML Adapter also passes other error messages
from/to IMS Connect, for example, the DFS error messages generated by IMS
transactions. For any DFS messages, either errors or non-errors, the XML Adapter wraps
the messages with XML tags and passes them back to the caller. The DFS message in
XML format is defined as <IMSDFSMessage>DFS..........</IMSDFSMessage>.
z Restriction
Single-segment messages only (multi-segment support is coming)
63
Notes:
An IMS Connect restart is required to recognize any changes that have been made to the
dataset containing the XML Converters. On the other hand, a refresh of the Adapter exit
routine can be done while IMS Connect is active by using the BPE refresh capability.
Note that the COBOL XML Converter Driver requires an LE environment to run. The XML
Adapter brings up an LE environment during its initialization processing.
Uempty
IMS V10 IMS Version 10
IMS TM Resource Adapter client does not have control of the socket that
is used
64
Notes:
IMS TM Resource Adapter (formerly IC4J) applications running in a WebSphere
Application Server (WAS) can take advantage of either dedicated or shareable persistent
sockets. A dedicated persistent socket remains dedicated to a particular user-specified
clientid for commit-then-send CM0 interactions until released by a client application's
request. Shareable persistent sockets, on the other hand, can be shared (serially reused)
by multiple applications in the WAS server running either send-then-commit CM1 or
commit-then-send CM0 interactions. For the latter type of socket, IC4J generates a clientid
and does not allow user-specified clientid's.
Although the IMS TM Resource Adapter has supported interactions with IMS
conversational transactions, IMS V10 enhances this capability by allowing the iterations
between a conversation to span multiple shareable sockets.
NAK NAK
65
Notes:
This visual discusses the flow and a potential issue in the existing implementation.
The first request from the IMS TM Resource Adapter application invokes the first iteration
of an IMS conversational transaction flow. The IMS TM Resource Adapter either uses an
existing shareable persistent socket connection or generates a new one. For this example,
the generated clientid is hws1234. At this point, neither the remote client nor IMS Connect
are aware of whether the input is a conversational transaction. When the first reply
message for this conversational iteration is created, IMS includes a conversational
indicator (C) and a Transaction Instance Block token (TIB Tkn) in the message prefix that is
sent back to IMS Connect. IMS Connect then saves these two pieces of conversational
information in an internal control block associated with the clientid, hws1234. IMS Connect
also sends the C indicator and the TIB Tkn with the output of the first iteration to the IMS
TM Resource Adapter which returns them to the Java application.
When the second iteration of the same conversation begins, the message is routed to one
of the shareable sockets in the pool. If the second iteration comes in through the same
Uempty socket hws1234, IMS Connect uses the saved information in its internal control block to
associate this conversation iteration with the previous one.
If the third iteration is routed to a different socket in the WAS pool, for example, HWS5678,
IMS Connect cannot associate the request with the intended internal control block
(hws1234) and the conversation information saved in it. IMS Connect, therefore, creates a
different internal control block for hws5678 which has no knowledge of the existing
conversation. When IMS receives the the input, it rejects the request with a NAK.
66
Notes:
IMS Connect defines a new conversational option which is available to IMS TM Resource
Adapter applications. Setting the OMUSR_CONV_OPTION to true (X’80’) invokes the
function. If the function is not enabled, IMS Connect uses the existing conversational logic.
Note that setting the OMSUSR_CONV_OPTION to false (X’00’) does not imply a
non-conversational transaction.
IMS Connect creates the conversation token (the TIB token, Conversation indicator and
conversation option flag), cleans up the internal control blocks, and passes the
conversation token to the IMS TM Resource Adapter. The Adapter passes the information
to the application which has to maintain the information to pass back on the next iteration of
the conversation. This architecture allows the conversation to be continued by IMS
Connect and passed to IMS on any of the sockets that are available to the remote client.
Uempty
IMS V10 IMS Version 10
socket = hws5678
CONV_TKN CONV_TKN Port OTMA
9999
IMS TM
Resource
Adapter Conversation token (CONV_TKN) : TIB token + conversation indicator +
conversation option
C1: Conversational transaction 1
I1, I2, I3: Iterations of the Conversational transaction 67
Notes:
This visual illustrates the new capability. When receiving a transaction reply from OTMA,
IMS Connect checks to see whether the reply message contains the conversational
transaction indicator, the Transaction Instance Block (TIB) token, and the new
conversational option flag. If so, IMS Connect passes the conversation token back to the
IMS TM Resource Adapter and cleans up all the internal knowledge about this
conversational iteration. The Adapter then returns the conversation token back to the Java
client. The Java client maintains responsibility for sending the conversation token back in
the subsequent iterations of a conversation or in the SYNC_END_CONVERSATION
interaction to end a conversation. The conversation token is composed of the 8-byte
timestamp of the TIB token, the conversational transaction indicator, and the new
conversational option indicator. The conversation token is passed back and forth between
the Java client, the IMS TM Resource Adapter, IMS Connect, and OTMA. IMS Connect
uses the conversation token to track the conversation within a single iteration.
Notes:
If the new conversational option flag and other conversational information are set in an
input message, IMS Connect assumes that this is a subsequent iteration of a
conversational transaction and uses the conversational information to resume the
conversation. If IMS Connect determines that the conversational transaction information
from the input message does not conflict with any conversation it manages, IMS Connect
continues processing the input. Otheriwse, IMS Connect issues the HWSP1510E error
message. This scenario could happen when the conversational option flag is flip-flopped
from FALSE in one conversational iteration to TRUE in a subsequent one.
The IMS Connect commands VIEWHWS and QUERY MEMBER TYPE(IMSCON) display
the CONV status if a client is running an IMS conversational transaction. When the new
conversational option is specified, IMS Connect no longer keeps track of the conversational
status of the client across iterations of the conversational transaction. The output of the
commands, therefore, will not be able to display the CONV status. Only when the display
command is entered during the instance that a conversational iteration is in progress will
the CONV status be displayed.
Uempty
IMS V10 IMS Version 10
69
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The IMS™ Integration Suite is a collection of IMS middleware functions and tools that
support your IMS on demand systems and your distributed IMS application environment.
Some of these middleware functions and tools are generally available, whereas others
might be part of an open beta program or technology preview program. All of these
functions and tools require IMS Version 9 (or later), and are not supported for previous
releases of IMS.
The IMS Integration Suite includes the following IMS middleware functions and tools:
IMS TM Resource Adapter - formally know as IMS Connector for Java
IMS SOAP Gateway
IMS MFS Web support
IMS DB Resource Adapter – formally known as IMS JDBC Connector
IMS DLIModel utility
IMS XML DB
Uempty
IMS V10 IMS Version 10
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
RAD/WID/WDz WebSphere
Application Server
IMS TM IMS TM
Resource Resource IMS IMS
Adapter Adapter Connect OTMA
Enterprise Enterprise
Application Application
install/
deploy
Development Runtime
Environment Environment
4
Notes:
IMS TM Resource Adapter is a J2EE Connector Architecture (J2C) resource adapter that
supports IBM Java integrated development environments (IDEs) to create Java
applications that can access IMS transactions. The IDEs import C, COBOL and PL/I source
to generate the Java data bindings for the IMS transaction input/output message
segments.
This diagram shows the dual functions of IMS TM Resource Adapter. To provide IDE
support and to provide runtime environment support to access IMS applications using IMS
Connect as the interface to IMS via OTMA.
The following IDEs are supported by IMS TM Resource Adapter:
Rational Application Developer (RAD)
Rational Software Architect
WebSphere Integration Developer (WID)
WebSphere Developer for zSeries (WDz)
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
This is the list of enhancements IMS TM Resource Adapter provided after IMS V9 and
before IMS V10.
Uempty
IMS V10 IMS Version 10
C RAD
COBOL
IMS TM
PL/I
Resource
Adapter
Development
Environment 6
Notes:
RAD imports C , COBOL or PL/I definitions of the IMS transaction input and output
messages and creates Java data bindings for the input and output messages.
Prior to this support the customer would have to create a COBOL copybook version of the
IMS PL/I input/output message structure.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
HWSABC01
Notes:
Commit Mode 1 is only supported using a shareable persistent socket.
IMS TM Resource Adapter uses persistent socket connections to communicate with IMS
Connect. A persistent socket connection prevents the overhead of opening and closing the
socket for each use by an application. IMS TM Resource Adapter provides two types of
persistent socket connections.
1.Dedicated persistent – a dedicated persistent socket connection is restricted to Commit
Mode 0 (Commit then Send protocol) and the client application provides the clientid to be
used as the socket identifier.
2.Shareable persistent – a shareable persistent socket connection supports Commit Mode
0 and Commit Mode 1 (Send then Commit protocol). However, The client application does
not provide a clientid for a socket identifier. IMS TM Resource Adapter generates a clientid.
The support for CONFIRM provides the ability for IMS TM Resource Adapter to respond
ACK to the output message which activates the IMS sync-point process. In this case the
client application is not running under a Global Transaction.
Uempty This provides the ability for IMS TM Resource Adapter to notify IMS that it has received the
IMS application output message without requiring a Global Transaction.
In this example the Java client is using a shareable persistent socket Commit Mode 1 Sync
Level CONFIRM. IMS TM Resource Adapter generates HWSABC01 for a socket ID and
sends the input message to the IMS application program via IMS Connect and OTMA. To
provide a message queue anchor for the Commit Mode 1 output message OTMA creates a
transaction pipe (TPIPE) and will use the TCP/IP generated Client Port number provided
by IMS Connect for the TPIPE name. When IMS TM Resource Adapter receives the output
message from IMS Connect it responds with an ACK. IMS Connect will send the ACK to
OTMA to activate the IMS sync point process.
Note the Java Client application cannot respond with an ACK.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z Implementation
Shipped in Rational Application Developer
z Considerations
IMS TM Resource Adapter sends ACK
CM1 (Send-then-Commit) Time-out Control
z Benefits
IMS TM Resource Adapter can notify IMS that it has received the IMS
application output message without requiring a Global Transaction
Reduce the need of a compensating transaction
IMS TM Resource Adapter compatible with APPC sync level support
Notes:
Commit Mode One Synclevel None has the potential to discard an output message without
a ROLLBack of the database in the event IMS Connect is not able to deliver the output
message to IMS TM Resource Adapter. As a result, a compensation transaction may have
to be executed to reverse the database changes. Adding the Commit Mode One Synclevel
Confirm could reduce the necessity of using a compensation transaction because an ACK
will be performed by IMS TM Resource Adapter.
APPC provides CM1 sync levels NONE,CONFIRM and SYNCPT. Customers who have
APPC client applications accessing IMS using CM1 sync level CONFRIM can now provide
IMS TM Resource Adapter clients with the same sync levels.
Uempty
IMS V10 IMS Version 10
Java Client1
Notes:
For Shareable Persistent Sessions the client application can not specify a clientID since it
is generated by IMS TM Resource Adapter. This can prevent the retrieving of failed IOPCB
output or ALTPCB output messages. For the current IMS TM Resource Adapter support
the message originating client application can only request asynchronous output while the
generated id for the socket remains connected.
In this example Java Client1 submits a Send_Only input message to IMS. IMS TM
Resource Adapter generates HWSABC01 Socket ID and sends the input message to IMS
Connect. The IMS application program does not respond to the I/O PCB but does insert a
message to ALTPCB using CLIENT01 for a TPIPE name. Java Client2 submits a
SYNC_RECEIVE_ASYNCOUTPUT to IMS TM Resource Adapter to obtain the output
queued to CLIENT01 TPIPE. IMS TM Resource Adapter generates HWSABC02 socket ID
and uses the new "Resume tpipe with alternate clientid“ protocol to retrieve the output
message.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notice with this protocol a different Java Client application can be used to retrieve
asynchronous output generated from processing the originating java client application
request.
IMS TM Resource Adapter supports the “Single wait ” and “Single no wait” options.
For the Single message with wait option only one message is returned for a RESUME
TPIPE request. If no message is present OTMA waits for a message to arrive and then
sends that single message to IMS Connect. The timer set on RESUME TPIPE can expire
before a message is returned to IMS Connect. If that occurs, IMS Connect will NAK the
message when sent to IMS Connect by OTMA.
For Single message nowait only one message is returned following the RESUME TPIPE. If
no message is present OTMA does not wait for a message and the IMS Connect timer
causes a timeout to occur based on the timeout value specified.
Uempty
IMS V10 IMS Version 10
z Implementation
Requires IMS Connect APAR PK24907
Only “Single wait ” and “Single no wait” options supported
z Error considerations
IMS Connect cannot send output
NACK do not de-queue output message
z Benefits
Can use shareable persistent socket to retrieve asynchronous output
Simplify IMS Connector for Java Client programming
10
Notes:
IMS Connect APAR PK24907 supports a new protocol "Resume tpipe with alternate
clientid“ that provides the IMS TM Resource Adapter client application the ability to specify
an alternate clientid in the SYNC_RECEIVE_ASYNCOUTPUT interaction.
If IMS Connect cannot send the output message to IMS TM Resource Adapter then IMS
Connect will respond NACK to OTMA. OTMA will not de-queue the output message.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
SSL Config
keystore keystore
File
Certificate SSL = ON Certificate
Private Keys Port = 8888 Private Keys
11
Notes:
The Secure Socket Layer (SSL) protocol ensures that the transfer of sensitive information
over the Internet is secure.
Currently, IMS TM Resource Adapter allows customers to specify only “strong” or “weak”
as the SSLEncryptionType for all connections created by an IMS connection factory.
Enhanced SSL cipher configurability allows customers to specify a new value, “ENULL” for
SSLEncryptionType. When “ENULL” is specified, IMS TM Resource Adapter will attempt
to use a cipher spec whose name contains the string “NULL”
Null encryption will allow for authentication to take place during the SSL handshaking
process as is currently the case. Once the handshaking process for a socket has
completed including authentication as required, all messages will flow in the clear over that
socket.
An example is the passing of non-confidential data between IMS TM Resource Adapter
and IMS Connect, both of which are located behind a firewall.
Uempty
IMS V10 IMS Version 10
12
Notes:
This is the list of enhancements IMS TM Resource Adapter provides for IMS V10.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
IMS Connect
4.receive MSG1 3.Send
MSG1 TP1
EJB 6. MSG1 5.sendACK
MSG1
MSG2
7. send New Msg
IMS App2
IMS TM
Resource
Adapter
DFSYDTx
IC4JEJB
Commit then Send (CM0) TYPE = IMSCON
TMEMBER=SM01
Sync-Level=CONFIRM TPIPE=TP1
Execution timeout SMEM=Y
13
Notes:
IMS TM Resource Adapter has been enhanced to support access to Enterprise Java
Beans (EJB) from an IMS application program. In this scenario an EJB uses the
SYNC_RECEIVE_ASYNC_OUTPUT_SINGLE_WAIT (1) alt-clientID=TP1 to request a
message queued to TP1. IMS TM Resource Adapter uses the IMS Connect "Resume tpipe
with alternate clientid“ protocol to wait for a message to retrieve (1). IMS Connect receives
the request and notifies OTMA to send a message. An already scheduled (0) IMS
Application program does an insert to an ALTPCB for a destination defined in an OTMA
destination routing descriptor (2). The OTMA destination routing descriptor is used to
define the OTMA TPIPE for the en-queue of the message (TP1). OTMA sends the
message to IMS Connect (3) and IMS Connect will return the message to IMS TM
Resource Adapter (4). IMS TM Resource Adapter receives the message and notifies IMS
Connect with an ACK(5). IMS Connect will forward the ACK to OTMA and the message will
be de-queued.
IMS TM Resource Adapter receives the message and returns it to the EJB (6).
Uempty An optional step is the EJB creates a response to the message request. IMS TM Resource
Adapter sends the response to IMS (7). This results in the scheduling of an IMS Application
program to process the response.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
IMS Connect
“Single wait ” 3.send
MDB
Inbound API
MSG1 IC4JMDB
6. send 4.receive MSG1
TP2
MSG1 5.sendACK MSG1
7. Invoke MSG2
EJB
8 IMS App2
IMS TM
EJB Resource
Adapter
DFSYDTx
IC4JMDB
TYPE = IMSCON
Commit then Send (CM0) TMEMBER=SM01
Sync-Level=CONFIRM TPIPE=TP2
SMEM=Y
14
Notes:
IMS TM Resource Adapter also supports access to Message Driven Beans (MDB) from an
IMS application program. The J2EE Connector Architecture specifications V1.5 describes
how an enterprise application can access a J2EE application environment. This is known
as Inbound processing. IMS TM Resource Adapter is providing Inbound processing for IMS
application programs. From an IMS application perspective this is Asynchronous Callout
processing.
In this scenario IMS TM Resource Adapter uses the IMS Connect "Resume tpipe with
alternate clientid“ protocol to wait for a message to retrieve (0).
An already scheduled(1) IMS Application program does an insert to an ALTPCB for a
destination defined in an OTMA Descriptor (2). The OTMA Descriptor is used to define the
OTMA TPIPE for en-queue of the message.
OTMA sends the message to IMS Connect (3) and IMS Connect will return the message to
IMS TM Resource Adapter (4). IMS TM Resource Adapter receives the message and
notifies IMS Connect with an ACK(5). IMS Connect will forward the ACK to OTMA and the
message will be de-queued.
Uempty An MDB running inside WebSphere Application server will use the standard JCA 1.5
interfaces to listen to callout request from IMS applications. IMS TM Resource Adapter
receives the message send it to the MDB (6).
The MDB will invoke the EJB (7) to process the message.
An optional step is the EJB creates a response to the message request. IMS TM Resource
Adapter sends the response to IMS (8). This results in the scheduling of an IMS Application
program to process the response.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Asynchronous Callout
z Implementation
IMS V10 Connect Resume TPIPE with Alternate Clientid
IMS V10 OTMA Resume TPIPE Security
IMS V10 OTMA Destination Routing Descriptors
z Migration
No impact to existing IMS Application
ISRT ALTPCB
• the OTAM Destination Routing Descriptor provides destination information
z Benefits
Provides ability for IMS application to access a Web Service
IMS application does not have to change
15
Notes:
Uempty
IMS V10 IMS Version 10
16
Notes:
IMS TM Resource Adapter has been enhanced to change a RACF password during
interactions with IMS Connect.
When a J2EE application requires access to an IMS transaction that is password protected
the RACF password may have expired. Using this facility the J2EE application can prompt
the client for an new password and provide the new password to facilitate completion of the
business process.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
17
Notes:
Uempty
IMS V10 IMS Version 10
LLLL | IRM | OTMA User Data (EWLM 64 byte correlator) | LLZZ TRANCODE data | EOM
18
Notes:
The Enterprise Workload Management (EWLM) support requires the EWLM CICS/IMS
Support that is built into z/OS Version 1 Release 8 or provided in APAR OA12935 for z/OS
Version 1 Release 7.
IMS TM Resource Adapter obtains the EWLM correlator from WebSphere Application
Server, then passes the correlator to IMS by inserting the correlator into the OTMA prefix
for the transaction. When the transaction returns to IMS TM Resource Adapter after
processing is complete, IMS TM Resource Adapter reports the status of the transaction to
WAS.
If the incoming transaction does not contain an EWLM correlator, the existing function is
unchanged.
CM0 Send Only flows will not be instrumented by EWLM. IMS TM Resource Adapter does
not receive a correlator for CM0 send only transactions. Therefore, the transaction will be
sent to IMS with the correlator field zeroed out, and IMS will call the existing non-EWLM
version of the WLM services
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
If the correlator is provided then IMS TM Resource Adapter will pass it to IMS. If the
correlator is not provided then the OTMA prefix field will be set to zero.
If an EWLM enabled transaction is routed from a V10 IMS to a backlevel IMS, the
transaction passes through the backlevel system with the EWLM data unchanged and the
existing WLM function is unchanged on the backlevel system. No APAR is required for
prior versions of IMS.
Uempty
IMS V10 IMS Version 10
WebSphere Process
Server
IMS TM
C WID
Resource
COBOL Adapter
IMS TM
PL/I Business
Resource
Adapter Process
install/
Development deploy
Environment Runtime
Environment 19
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
20
Notes:
Because an IMS Conversational transaction is a commit mode 1 type of transaction, IMS
Connect only supports commit mode 1 conversational input messages with synch level of
none or confirm from IMS TM Resource Adapter
client applications.
Uempty
IMS V10 IMS Version 10
IMS
Appl
send Pgm
SEND_RECEIVE
execute() TPIPE
receive ISRT
SEG1
output SEG1 SEG2 PURG
send SEG3 ISRT
PURG
RECEIVE_Async
output receive ISRT
SEG2
PURG
21
Notes:
When there are multiple ISRT and PURG calls in the IMS application, OTMA sends one
response message with multiple output segments if the client application uses Commit
Mode 1 interaction. If the client application uses Commit Mode 0, OTMA will send multiple
output response messages, one for each PURG call. OTMA introduces an enhancement
so that the customer using CM0 with multiple PURG calls in the TP PCB can ignore the
PURG calls to generate one output message with multiple segments. This provides
consistent output message processing for CM0 and CM1.
A new property called ignorePURGCall will be added to the IMSInteractionSpec.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-27
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
IMS
SEND_RECEIVE
Appl
ignorePURGCall flag send Pgm
execute() TPIPE
receive ISRT
SEG1
output SEG1 SEG2 PURG
SEG2 SEG3 ISRT
SEG3 PURG
ISRT
PURG
LLLL | IRM | OTMA | LLZZ SEG1 |LLZZ SEG2 |LLZZ SEG3 | EOM
22
Notes:
Commit Mode 1 is only supported using a shareable persistent socket.
IMS Connector for Java uses persistent socket connections to communicate with IMS
Connect. A persistent socket connection prevents the overhead of opening and closing the
socket for each use by an application. IMS Connector for Java provides two types of
persistent socket connections.
1.Dedicated persistent – a dedicated persistent socket connection is restricted to Commit
Mode 0 (Commit then Send protocol) and the client application provides the clientid to be
used as the socket identifier.
2.Shareable persistent – a shareable persistent socket connection supports Commit Mode
0 and Commit Mode 1 (Send then Commit protocol). However, The client application does
not provide a clientid for a socket identifier. IC4J generates a clientid.
The support for CONFIRM provides the ability for IC4J to respond ACK to the output
message which activates the IMS sync-point process. In this case the client application is
not running under a Global Transaction.
Uempty This provides the ability for IMS Connector for Java to notify IMS that it has received the
IMS application output message without requiring a Global Transaction.
In this example the Java client is using a shareable persistent socket Commit Mode 1 Sync
Level CONFIRM. IC4J generates HWSABC01 for a socket ID and sends the input
message to the IMS application program via IMS Connect and OTMA. To provide a
message queue anchor for the Commit Mode 1 output message OTMA creates a
transaction pipe (TPIPE) and will use the TCP/IP generated Client Port number provided
by IMS Connect for the TPIPE name. When IC4J receives the output message from IMS
Connect is responds with an ACK. IMS Connect will send the ACK to OTMA to activate the
IMS sync point process.
Note the Java Client application cannot respond with an ACK.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-29
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
23
Notes:
When there are multiple ISRT and PURG calls in the IMS application, OTMA sends one
response message with multiple output segments if the client application uses Commit
Mode 1 interaction. If the client application uses Commit Mode 0, OTMA will send multiple
output response messages, one for each PURG call. OTMA introduces an enhancement
so that the customer using CM0 with multiple PURG calls in the TP PCB can ignore the
PURG calls to generate one output message with multiple segments. This provides
consistent output message processing for CM0 and CM1.
A new property called ignorePUGRCall will be added to the IMSInteractionSpec.
Uempty
IMS V10 IMS Version 10
24
Notes:
IMS SOAP Gateway is a separate product that is available free of charge from the IMS
Web site
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-31
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
TCP/IP
IMS SOAP Gateway Server
SOAP IMS
HTTP
IMS
Appl
Runtime XML Connect
Document
Soap Environment
Client
Log
Corrlator
file WDz /server/logs/imssoap.log
IMS
COBOL COBOL
WSDL PGM
Development I/O Source
Environment 25
Notes:
The IMS SOAP Gateway is an XML-based connectivity Web service solution that is an
HTTP endpoint for a SOAP client and supports access to IMS applications in a
Service-Oriented Architecture (SOA) environment. This diagram shows a SOAP client
accessing IMS via the IMS SOAP Gateway Server. SOAP (simple object access protocol)
is a protocol for exchanging the XML-based messages over a network using HyperText
Transfer Protocol (HTTP).
To deploy an IMS application as a Web service, you need to create a WSDL (Web service
description language) file.
A WSDL file is an XML document that describes a Web service. WSDL files are used by
others (for example, the client that invokes the service) to discover the service and to
understand how to invoke the service. It specifies the location of the service and the
operations that the service exposes.
WebSphere Developer for zSeries (WDz) can be used to generate a WSDL file.
Uempty
IMS V10 IMS Version 10
Administrative tasks :
Task 2: Start IMS SOAP Gateway
Task 3: Stop IMS SOAP Gateway
Task 4: Update IMS SOAP Gateway properties
Task 5: Create, Update or View correlator properties for Web Service
Task 6: Create, Update, Delete or View connection bundle
Task 7: Deploy the WSDL file
Task 8: Generate Java client code
Task 9: Undeploy Web Service
Task 10: Exit deployment utility
===============================================================================
> Enter your selection here:
26
Notes:
The IMS SOAP Gateway also provides a deployment utility that generates the connection
bundle, the correlator file, and the Server properties file. The connection bundle specifies
the connection and security properties between IMS SOAP Gateway, IMS Connect, and
IMS. The correlator file specifies transaction, and runtime properties and the information
that the IMS SOAP Gateway needs to match incoming requests to the appropriate
back-end IMS application. It also identifies the Connection Bundle. The Server Properties
file is used to configure the IMS SOAP Gateway Server runtime environment
The Deployment Utility runs in the Windows DOS Command prompt.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-33
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
27
Notes:
Uempty
IMS V10 IMS Version 10
OTMA
XML XML App
OTMA
Adapter
XML DB
Web Service Clients, SOAP
e.g. Microsoft .Net,
SAP, Java, etc.. IMS
SOAP
Gateway
28
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-35
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
SYNCPT Starts..
SOAPIT
XML
Converter
6.sendACK WSID=A DFSYDTx
IMSSOAP1
TYPE = IMSCON
TMEMBER=SM01
TPIPE=TP3
Corrleator Connection SMEM=Y
Files Bundle(CBA) ADAPTER = HWSXMLA0
WAIT TIME TPIPE = TP1,TP3 CONVERTR=SOAPIT
…
29
Figure 13-28. Asynchronous Callout to Web Service with XML Adapter CMA01.0
Notes:
In this scenario an IMS Application program does an insert to an ALTPCB whose
destination is an OTMA Descriptor. The OTMA Descriptor is used to define the OTMA
TPIPE for en-queue of the message.
Steps 1, 2 and 3 schedule the IMS application which results in the insert to ALTPCB
defined by the OTMA Descriptor that represents IMS SOAP Gateway.
IMS SOAP Gateway will use the Resume TPIPE Alt-ClientID protocol to retrieve the
message(1). IMS Connect will invoke the COBOL adapter to perform XML transformation
of the message and send the message to the IMS SOAP Gateway(4). IMS SOAP Gateway
receives the messages and sends it to the Web Service(5).
An optional step is the Web Service creates a response to the message request. IMS
SOAP Gateway sends the response to IMS (6). This results in the scheduling of an IMS
Application program to process the response.
Uempty
IMS V10 IMS Version 10
30
Figure 13-29. Asynchronous Callout to Web Service with XML Adapterwith a response CMA01.0
Notes:
In this scenario an IMS Application program does an insert to an ALTPCB whose
destination is an OTMA Descriptor. The OTMA Descriptor is used to define the OTMA
TPIPE for en-queue of the message.
Steps 1, 2 and 3 schedule the IMS application which results in the insert to ALTPCB
defined by the OTMA Descriptor that represents IMS SOAP Gateway.
IMS SOAP Gateway will use the Resume TPIPE Alt-ClientID protocol to retrieve the
message(1). IMS Connect will invoke the COBOL adapter to perform XML transformation
of the message and send the message to the IMS SOAP Gateway(4). IMS SOAP Gateway
receives the messages and sends it to the Web Service(5).
An optional step is the Web Service creates a response to the message request. IMS
SOAP Gateway sends the response to IMS (6). This results in the scheduling of an IMS
Application program to process the response.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-37
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Initiating
Client
Win, AIX, Solaris, Linux, etc.. IMS z/OS
2
Web IMS SOAP
Service 1 IMS App1
RESUME TPIPE TP3 TP3
DFSYDTx
IMSSOAP
TYPE = IMSCON
TMEMBER=SM01
TPIPE=TP3
SMEM=Y
Figure 13-30. Asynchronous Callout to Web Service without XML Adapter CMA01.0
Notes:
In this scenario an IMS Application program does an insert to an ALTPCB whose
destination is an OTMA Descriptor. The OTMA Descriptor is used to define the OTMA
TPIPE for en-queue of the message.
Steps 1, 2 and 3 schedule the IMS application which results in the insert to ALTPCB
defined by the OTMA Descriptor that represents IMS SOAP Gateway.
IMS SOAP Gateway will use the Resume TPIPE Alt-ClientID protocol to retrieve the
message(1). IMS Connect will invoke the COBOL adapter to perform XML transformation
of the message and send the message to the IMS SOAP Gateway(4). IMS SOAP Gateway
receives the messages and sends it to the Web Service(5).
An optional step is the Web Service creates a response to the message request. IMS
SOAP Gateway sends the response to IMS (6). This results in the scheduling of an IMS
Application program to process the response.
Uempty
IMS V10 IMS Version 10
Asynchronous Callout
z Migration
ISRT ALTPCB
• OTMA Destination Routing Descriptor
z Benefits
Provides ability for IMS application to access a Web Service
32
Notes:
The OTMA Callout Descriptors need to be created.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-39
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
33
Notes:
Uempty
IMS V10 IMS Version 10
IMS
34
Figure 13-33. IMS MFS Web SupportMFS Web Services and MFS Web Enablement CMA01.0
Notes:
IMS MFS Web support provides two solutions to re-use existing MFS-based IMS business
logic.
1.IMS MFS Web services support allows you to submit MFS-based IMS transactions as
Web services.
2.IMS MFS Web enablement support replaces the MFS online processor and allows
you to seamlessly navigate MFS-based Web pages that all have a similar look and feel.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-41
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
MFS
Utility
WebSphere Application Server V 5.1 / V6
MFS WEB MFS Web Enablement Adapter
IMS
Development Enablement
WA servlets Input Resourc
Deployment Record e
R adapter
descriptor Byte
DEV MSG stream Output
Record
loads Stylesheet
HTTP
request /
response
XMI Repository IMS v9
z Provides the look and feel of MPP/IFP/BMP/JMP
IMS
an MFS-based screen Connect Transactional
Application
(3270) Program
35
Notes:
Uempty
IMS V10 IMS Version 10
WSADIE
UDD
Proxy
I
MFS MFS
Source WSDL beans
Importer
files
Format Handlers
XMI
zOS
MFS
Reverse
Utility Tool
36
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-43
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
37
Notes:
The IMS DB Resource Adapter is a function of IMS that enables a programmer with
minimal IMS knowledge to write Java application programs that access IMS databases
Uempty
IMS V10 IMS Version 10
ODBA
DRA
JMP JBP
IMS DB Resource Adapter
IMS DB
Java Virtual Machine
38
Notes:
The IMS DB Resource Adapter enables JDBC access to IMS DB from IMS TM JMP/JBP
environments, CICS Java application, DB2 Java Stored procedure, and Enterprise Java
Beans running on WebSphere distributed and z/OS environments.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-45
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
39
Notes:
The IMS DB Resource Adapter has been enhanced to support DB2 Java Stored
Procedures returning DB2 result sets instead of returning IMS result sets. GSAM access
has been enhanced to use IMS Java Metadata generated by DLIModel Utility. Changes
were also made to support IBM SDK V5 for z/OS.
Uempty
IMS V10 IMS Version 10
40
Figure 13-39. DB2 Java Stored Procedure return DB2 Result Sets CMA01.0
Notes:
The IMS DB Resource Adapter has been enhanced to create a DB2 global temporary table
(GTT) in the DB2 Stored Procedure Address Space and moves the IMS data returned from
IMS ResultSet into the DB2 GTT. The DB2 Result Set returned to the client application will
iterate the DB2 GTT for result set processing.
The stored procedure clients are READ_ONLY. This means that the client cannot update
or delete IMS data using the DB2 result set returned to it by the stored procedure because
it is not possible send a change in a DB2 temp table back to an IMS database
Existing DB2 Stored Procedures using the IMS V10 DB Resource Adapter can continue to
run without modifications
To update existing stored procedures to return DB2 result sets instead of individual fields
you need to update the stored procedure to specify the use of a created or declared type of
DB2 Global Temp Table. After the Stored Procedure application queries the IMS database
the IMS DB Resource Adapter API is used to convert the IMS ResultSet to a DB2 Result
Set using the GTT.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-47
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
The output parameters defined for the Stored Procedure need to be changed to return a
result set instead of individual fields.
The client application needs to be modified to accept a DB2 result set instead of IMS
individual fields.
The use of DB2 Results Sets provides a consistent and easier programming interface for
processing output from a DB2 Stored Procedure that uses IMS JDBC Connector to access
IMS data.
Uempty
IMS V10 IMS Version 10
z Migration
Existing Java Batch Processing applications not affected
To convert an existing application
Use IMS V10 DLIModel utility to create GSAM DLIDatabaseView
Use new GSAM fields generated by DLIModel utility
Use new GSAM API
z Benefits
Automatic data conversion is done by the Java class libraries
Supports all data types to be stored into and read from a GSAM database
record
41
Notes:
IMS DB Resource Adapter support for GSAM was enabled by Small Programming
Enhancement PQ93785/UQ93241. This provided a Java Batch Processing application
program with a Java API to open read write and close GSAM databases. However , the
application was required to know the complete details of the GSAM database
Given a DLIDatabaseView name, the IMS Java class library will use the metadata
information to capture the correct sequence of bytes in the record, read that sequence of
bytes, and convert that sequence of bytes into the appropriate data type as defined by the
metadata.
Java Batch Processing applications that use the IMS V9 GSAM database support will not
be affected
The DLIModel utility for IMS V10 provides new GSAM record & field options. This will be
described in the DLIModel utility section.
IMS V10 GSAM enables all of the supported data types to be stored into and read from a
GSAM database record and provides automatic data conversion on behalf of the
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-49
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
application. GSAM database support is now consistent with the IMS Java class libraries
support for all other IMS database types.
Uempty
IMS V10 IMS Version 10
42
Notes:
z/OS delivers a complete Java 2 Software Developer Kit (SDK).
Previous versions of the SDK provided a reusable function to support transactional runtime
environments like IMS. This capability allowed the Java Virtual Machine (JVM) to be
initialized during IMS Java dependent region startup and to be “re-set” after the IMS
application program completed processing. This avoided the overhead of loading the JVM
for each IMS appplication program schedule.
The new SDK provides a Class Sharing capability to replace the persistent reusable
function.
z/OS APAR OA11519 is recommended for cache class sharing.
The User Guide can be downloaded from the specified URL.
IMS message GU/CHKP processing was altered for Java Dependent Regions (JDRs)
when JDRs were initially implemented. For JDRs, an IMS message GU meant to get the
message only, do not perform sync point processing. CHKP processing meant perform
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-51
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
sync point processing only, do not get the next message. In the standard IMS model,
message GU and CHKP meant perform sync point and retrieve the next input message.
For IMS V10, IMS JDRs GU/CHKP processing will be consistent with the IMS standard
model.
Uempty
IMS V10 IMS Version 10
"-Dibm.jvm.shareable.application.class.path="
"-Dibm.jvm.trusted.middleware.class.path="
Pathname for the application class files and IMS Java ".jar" files:
-Djava.class.path=
or
-Xoptionsfile=
ENVIRON=
43
Notes:
The serial reusability feature of the IBM SDK for z/OS, version 1.4.2 (31-bit) and earlier is
not supported. If you specify –Xresettable -Xjvmset or -Xscmax the JVM will issue an error
message and will not start.
The JVM shared library libjvm.so is installed in directory jre/bin/j9vm.
The IMS Java dependent region ENVIRON= member needs to have the LIBPATH changed
to LIBPATH=JavaHome/bin/j9vm:JavaHome/bin:ImsjavaPath
ENVIRON= can now be used to specify any Java environment variables. This can be used
to replace the DEBUG= parameter. The Java environment variables are presented as
Java system properties at runtime and are therefore accessible by a Java application
running in the JDR.
-Xdebug starts the JVM with the debugger enabled. By default, the debugger is disabled
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-53
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
44
Notes:
An IMS Java application that does not issue explicit ROLLBACK but uses U118 abend for
rollback processing must be changed. An IMS Java application that uses the IMS Java
hierarchical database interface for CHKP call processing must be able to process the next
message off the message queue.
Uempty
IMS V10 IMS Version 10
45
Notes:
The IMS DB Resource Adapter class com.ibm.ims.application.IMSApplication is
deprecated in IMS Version 10.
A class marked as deprecated is considered obsolete but still works in IMS Version 10.
You do not have to change your applications, but it is highly recommended.
The com.ibm.ims.base.DLISecondaryIndexInfo class has been removed from the library.
This will only impact you if you did not use DLIModel to generate the meta data classes (the
database view) or if you use the DLISecondaryIndexInfo class explicitly in your code.
The com.ibm.ims.db.SecondaryIndexInfo class has been renamed to
com.ibm.ims.base.SecondaryIndexInfo.
You will be impacted only if you use the class directly in your code. The metadata that is
generated by the DLIModel utility is not affected.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-55
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Modified
public class CustomerApplication {
public static void main(String args[]) {
CustomerApplication myapp = new CustomerApplication();
46
Figure 13-45. IBM SDK V5 for z/OS support - IMS Java Application sample API CMA01.0
Notes:
The applications that subclass IMSApplication can be modified as follows:
Remove the "extends IMSApplication" from the class declaration line.
For example, "public class CustomerApplication extends IMSApplication"
becomes "public class CustomerApplication".
The main method of the application no longer needs to call the IMSApplication.begin()
method.
Instead, the main method can directly call the public void doBegin() method or simply move
the logic from the doBegin() method to the main method and delete the doBegin() method.
Uempty
IMS V10 IMS Version 10
47
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-57
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
48
Notes:
Uempty
IMS V10 IMS Version 10
DLIModel Utility
GUI
(Free
Eclipse
Plug-in)
Eclipse
3.0.1 BPXBATCH
3.0.2 DLIModel
WDz Utility
49
Notes:
Two versions of the IMS DLIModel utility are available:
1.An IMS-shipped version that runs from System Services or from the z/OS® BPXBATCH
utility
2.A technology preview IMS Web free download version that runs as a plug-in to Eclipse
The GUI can be installed in an Eclipse 3.0.1 or 3.0.2 level tool. It can also be installed in
WebSphere Developer for z IDE.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-59
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
INCLUDE Dataset=include/dealerIncls
GUI
(Eclipse
(HFS or PDS)
Plug-in) (HFS or PDS)
PSB
DLIModel DBD
NEW Utility
PSB/DBD
PSB (PDS)
DBD XMI
(HFS)
DLIModel IMS Java Report
========================
Class: AUTPSB11DatabaseView in package: samples.dealership generated for PSB: AUTPSB11
==================================================
PCB: Dealer
==================================================
Segment: DealerSegment
Field: Dealer No Type=CHA R Start=1 Length=4 ++ Pr imary Key Field ++
Field: Dealer Name Type=CHA R Start=5 Length=30 (Search Field)
Field: Dealer City Type=CHAR Start=35 Length=10 (Search Field)
IMS Java
Field: DealerZip Type=CHA R Start=45 Length=10 (Search Field)
Field: Dealer Phone Type=CHA R Start=55 Length=7 (Search Field)
==================================================
Segment: ModelSegment
Field: ModelKey Type=CHAR Start=3 Length=24 ++ Pr imary Key Field ++
Field: ModelType Type=CHA R Start=1 Length=2 (Search Field)
Field: Make Type=CHAR Start=3 Length=10 (Search Field)
Field: Model Type=CHAR Start=13 Length=10 (Search Field)
Field: Year Type=CHAR Start=23 Length=4 (Search Field)
Field: MSRP Type=CHA R Start=27 Length=5 (Search Field)
Field: Count Type=CHA R Start=32 Length=2 (Search Field)
==================================================
Segment: OrderSegment
Field: OrderNo Type=CHA R Start=1 Length=6 ++ Pr imary Key Field ++
Report
Field: LastName Type=CHAR Start=7 Length=25 (Search Field)
Field: FirstName Type=CHAR Start=32 Length=25 (Search Field)
Field: Date Type=CHAR Start=57 Length=10 (Search Field)
Field: Time Type=CHA R Start=67 Length=8 (Search Field)
package samples.dealership; ==================================================
IMS Java
Segment: SalesSegment
import com.ibm.ims.db.*; Field: SaleNo Type=CHA R Start=49 Length=4 ++ Pr imary Key Field ++
import com.ibm.ims.base.*; ...
(HFS)
new DLITypeInfo("DealerNo", DLITypeInfo.CHAR, 1, 4, "DLRNO"),
new DLITypeInfo("DealerName", DLITypeInfo.CHAR, 5, 30, "DLRNAME"),
new DLITypeInfo("DealerCity", DLITypeInfo.CHAR, 35, 10, "CITY"),
new DLITypeInfo("DealerZip", DLITypeInfo.CHAR, 45, 10, "ZIP"),
new DLITypeInfo("DealerPhone", DLITypeInfo.CHAR, 55, 7, "PHONE")
};
static DLISegment AUTOLPCBDEALERSegment= new DLISegment
Metadata classes
("DealerSegment","DEALER",AUTOLPCBDEALERArray,61);
...
// An array of DLISegmentInfo objects follows to describe the view for PCB: AUTOLPCB
static DLISegmentInfo[] AUTOLPCBarray = {
XML Schema(s)
new DLISegmentInfo(AUTOLPCBDEALERSegment,DLIDatabaseView.ROOT),
new DLISegmentInfo(AUTOLPCBMODELSegment,0),
new DLISegmentInfo(AUTOLPCBORDERSegment,1),
new DLISegmentInfo(AUTOLPCBSALESSegment,1),
new DLISegmentInfo(AUTOLPCBSTOCKSegment,1),
new DLISegmentInfo(AUTOLPCBSTOCSALESegment,4),
new DLISegmentInfo(AUTOLPCBSALESINFSegment,5)
(HFS)
};
...
(HFS)
NEW GSAM
Metadata
50
Notes:
The IMS DLIModel utility has been enhanced to generate XMI from PSB and DBD source.
The generated XMI can also be used as input to the DLIModel utility.
GSAM now uses the GSAMDLIDatabaseView IMS Java class for metadata information
about the GSAM database. The DLIModel Utility now supports GSAM databases.
Input:
Shows the inputs and outputs of the DLIModel utility. The actions of the utility are directed
by control statements that you supply. PSB and DBD source members are read from their
PDS or PDSE data sets and parsed by the utility to build an in-memory object model of the
database structure and the PSB’s view of that structure.
Note IMS COBOL copybooks can only be processed by the GUI and the BPXBATCH utility
can only process COBOL XMI representations of the COBOL copybooks.
Output:
The utility generates various outputs that were requested through control statements. You
can specify to have an IMS Java metadata class be generated for the PSB processed,
Uempty together with a corresponding easy-to-read DLIModel Java Report for the Java
programmer to use.
You can specify an XMI description of the entire in-memory model (one description covers
the PSB and all DBDs processed in the run).
You can also request a detailed trace file of the utility execution if one is necessary for
problem resolution.
IMS Java metadata classes
The DLIModel utility produces the necessary metadata classes needed to develop IMS
Java applications. However, the Java developer needs only to reference the DLIModel
Java Report for information about the classes.
DLI Model Java Report
The DLIModel Java Report summarizes the structure of the IMS databases in a way that
allows you to create IMS Java applications and to code SQL queries against the
databases. With the DLIModel Java Report, you do not have to interpret the syntax of the
IMS Java classes or refer to the DBD or PSB source.
XMI Description of databases
An XMI file, written in UTF-8 encoding, is produced by the utility if you specify
genXMI=YES in the OPTIONS control statement. It describes all of the PCBs and their
referenced DBDs processed in the entire run of the utility. The XMI that is produced by the
utility is based on a metamodel of IMS database defined in UML. This model is a package
with a number of inheritance relationships to the OMG Common Warehouse Metamodel
(CWM). However, only the IMS package itself is included and used in the DLIModel utility.
XML Schema
The generated XML schema, written in UTF-8 encoding, is an XML document that
describes an IMS database based on a PCB. An XML schema is required to retrieve or
store XML in IMS. IMS uses an XML schema to validate an XML document that is either
being stored into IMS or being retrieved from IMS. The XML schema, not the application
program, determines the structural layout of the parsed XML document in the database
during storage and the of the generated XML document during retrieval.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-61
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
51
Notes:
This is the IMS web site to download the DLIModel Utility Plug-in
Uempty
IMS V10 IMS Version 10
52
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-63
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
IMS XML DB
53
Notes:
IMS XML DB allows applications to view a traditional IMS database as an XML database
and to use an IMS database to store XML documents.
Uempty
IMS V10 IMS Version 10
PCB: BIB21
@year seq
BOOK
LAST FIRST
EDIT
54
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-65
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
56
Notes:
XQuery is a functional programming language that was designed by the World Wide Web
Consortium (W3C) to meet specific requirements for querying XML data.
XQuery is based on the structure of XML and leverages this structure to provide query
capabilities for the same range of data that XML stores.
The IMS DB Resource Adapter XQuery support extends the retrieveXML User Defined
Function (UDF) by adding a second parameter. The second parameter allows the passing
of an XQuery 1.0 expression.
The expression is evaluated relative to the retrieveXML context and returned to the result
set as a CLOB value.
This implementation views the entire IMS DB as an XML document and enables the return
of specific IMS data based on the XQuery.
For IMS XQuery support the XQuery 1.0 and XPath 2.0 Data Model serves two purposes.
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-67
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
First, it defines the information contained in the input to be used by the IMS XQuery
processor.
Second, it defines all permissible values of expressions in the XQuery, and XPath
languages that can be evaluated by the IMS XQuery processor.
The IMS DB Resource Adapter is packaged in imsjava.jar.
The IMS XQuery function resides in a separate package (imsxquery.jar).
Uempty
IMS V10 IMS Version 10
57
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 13. IMS Integration Suite Enhancements 13-69
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
DDNAME=DFSOLP00 DSN=IMSTESTL.IMS01.OLDSP0
START = 2006.114 16:00:59.123456 -07:00 FIRST DS LSN= 0000000000000001
STOP = 2006.114 16:13:10.185501 -07:00 LAST DS LSN= 000000000000042C
...
Notes:
IMS V10 will record timestamps to the microsecond when MINVERS('10.1') is in effect.
Previous releases record timestamps to the tenth of a second. When a user specifies a
timestamp, it may be abbreviated. That means that times to the microsecond do not have
to be specified. Unspecified parts of the time are padded with zeros.
When using GENJCL, the precision value may be coded on the TIMEFMT parameter of the
%SET statement in skeletal JCL. It is a value from 1 to 6. The default in previous releases
was 1. In IMS V10 the default depends on the MINVERS value. MINVERS('10.1') sets the
default to 6. MINVERS values less than '10.1' sets the default to 1.
The output from a DBRC LIST command includes full precision timestamps. In previous
releases, the timestamp in the listing included only tenths of seconds. If you request the
time zone offset to be listed, it follows the timestamp. Since the timestamp is larger by five
bytes, the offset is moved by five bytes. In general there were at least five blanks following
timestamps in listings from previous releases. This means that other information did not
have to be moved for full precision timestamps in V10. The exception is the timeline
information in the listing created by a LIST.HISTORY command. The timeline at the end of
Uempty LIST.HISTORY outputs still has only tenths of seconds. There was not room to add the
additional five bytes to these timestamps in the listing.
Notes:
The timestamp used in DBRC commands and utility control statements is expanded in V10.
In previous releases it may include times to one tenth of a second. In V10 it may include
times to a microsecond.
Compressed and punctuated timestamp formats continue to be used. The change is the
additional significant digits for hundredths through millionths of a second. The examples
shown here are punctuated timestamps. The corresponding compressed timestamps
would be:
V8 or V9: 063181030234 -8
V10: 06318103023456789 -8
The internal format of the timestamp in the RECONs is not changed in V10. The format
has included microseconds since IMS V6. The PRILOG start times have had zeros in
these positions. Most other RECON records have had actual values. Nevertheless, they
have been ignored by other processing. IMS V10 stores actual values in all time fields.
Uempty When MINVERS(‘10.1’) is used with IMS V10, these positions become significant and are
not ignored.
The internal timestamp format is used by the DBRC API. It has not changed in V10.
DBRC Commands
z Abbreviated timestamps are supported
Year and day are required
Other values are padded with zeros
Examples:
LIST.LOG TOTIME('2007.178')
LIST.LOG TOTIME('2007.178 16:23')
Notes:
The first example lists all log records or OLDS entries that have start times on or before day
178 in 2007. Full precision is not required on the TOTIME value. The next example lists all
log records or OLDS entries that have start time on or before day 16:28 (4:28 p.m.) on day
178 in 2007.
Many RECON records include the timestamp as their keys. When a RECON record is
recorded with a full precision timestamp, commands for that specific record require full
precision in their timestamps. The second example shows a command where the full
precision timestamp is required. An image copy record was created with a full precision
timestamp. The timestamp is part of the key. The CHANGE.IC command in the example
changes the data set name of the image copy of the database data set with DDNAME
ABC01 in the ABC database which was run at the time specified in the RECTIME
parameter.
Notes:
The Database Change Accumulation utility DB0 and DB1 control statements have been
modified to support timestamps with greater precision. The new expanded timestamp
format may be used in V10 but it is not required. DB0 control statements are used to
specify the database data sets that are accumulated to the new change accumulation data
set. DB1 control statements are used to specify the database data sets that are written to
the new output log data set. Since the timestamps now may occupy more columns in the
control statements, the position of the database data set DDNAMEs have moved and only
three may be specified on one control statement. Previous IMS versions allowed four to be
specified on a control statement.
The S control statement for the Database Recovery utility is used to specify the database
and DDNAME for the database data set that is to be recovered. If the recovery is a
timestamp recovery, the timestamp is also specified. The new expanded timestamp format
may be used in V10 but it is not required. In previous releases column 57 was used for an
indicator. The indicator could specify that a user image copy had been restored or that an
Uempty RSR receive was done. Since the timestamp may use column 57, the indicator is now
coded in column 63 when needed. There is another small change in the coding of the
timestamp. In previous releases there was not a space between the time and the sign for
the time zone offset.
GENJCL.CA has been updated to create the new format of the control statements. These
changes to the control statements will have no effects on users who create Change
Accumulation JCL and control statements with GENJCL.CA. This is the vast majority of
IMS installations.
GENJCL.RECOV has been updated to create the new format of the control statement for
timestamp recovery. The change in the control statement will have no effects on users who
create Database Recovery JCL and control statements with GENJCL.RECOV. This is the
vast majority of IMS installations.
Notes:
Full precision timestamps are not implemented unless the RECONs have MINVERS(’10.1’)
specified. Even when MINVERS is set to a lower value, the IMS V10 Change
Accumulation and Database Recovery utility control statements require new formats which
accommodate full precision timestamps. Nevertheless, this is unlikely to be a concern to
users since GENJCL.CA and GENJCL.RECOV in IMS V10 always produce control
statements with the V10 formats.
If you wish, you may specify abbreviated timestamps for most uses. DBRC will interpret
the time correctly. Full precision timestamps are required in CHANGE and DELETE
commands when a full precision timestamp is part of the RECON record key.
When MINVERS('10.1') is set log records are created with the full precision timestamps. If
you fallback to MINVERS('9.1') or MINVERS('8.1'), the log records created with full
precision timestamps must be deleted before the CHANGE.RECON MINVERS(…)
command is issued. The records that must be deleted include PRILOG, PRISLD, PRIOLD,
etc. and the ALLOC records associated with these log records.
Uempty
IMS V10 IMS Version 10
Notes:
10
Notes:
System Authorization Facility (SAF) products, such as RACF, support four levels of data set
authority. In ascending sequence of authority these are READ, UPDATE, CONTROL, and
ALTER. Previous releases of IMS required at least CONTROL authority for all users of the
RECONs. IDCAMS DEFINE and DELETE of a RECON data set required ALTER.
Previous IMS releases opened the RECONs for update with CONTROL specified in the
VSAM ACB for the RECONs. This required CONTROL authority for open. This was true
even if the user only wanted to read the RECONs as would be done for a LIST command.
Uempty
IMS V10 IMS Version 10
Notes:
IMS V10 adds READONLY support for the RECONs. This is invoked with
PARM(READONLY) on the EXEC statement for the DBRC utility (DSPURX00) or by
specifying the new READONLY=YES parameter on the DBRC API FUNC=STARTDBRC
macro. When READONLY is specified, the RECONs are opened for read. This means
that only READ authority is required in SAF (RACF).
IMS V10 has made another change to open. Due to this change, CONTROL does not
have to be specified for users who update the RECONs. Only UPDATE authority is
required. Of course, ALTER is still required for users who DELETE and DEFINE the data
sets. In previous releases DBRC opened the RECONs with CONTROL specified in the
VSAM ACB for the RECONs. This required CONTROL authority for open. In IMS V10 the
open has changed. If READONLY is not specified, the open is done for update but
CONTROL is not specified in the ACB. This means that only UPDATE authority is
required.
As with previous releases, if you invoke the DBRC utility from your program you may use
the DSPURXRT entry point. IMS V10 has added the capability to specify READONLY
through a parameter passed to the entry point in the first word of the argument list.
Uempty
IMS V10 IMS Version 10
12
Notes:
Since READONLY causes IMS to open the RECONs for input, users of READONLY cannot
invoke recovery processes for the RECONs. There are two kinds of recovery processes.
The first is recovery from RECON errors. If an I/O error occurs on a RECON data set,
updaters can reconfigure the RECONs. This includes copying the good RECON to the
spare. READONLY users cannot do writes, so they cannot do this recovery process. The
second recovery process is recovering from a failed DBRC instance. When a DBRC
instance (batch job, utility, or online system) updates multiple RECON records it first writes
a Multiple Update Record (MUP) to the RECONs. It then does the updates and, finally,
deletes the MUP record. If it fails in the middle of this process, another DBRC instance
recovers. The other DBRC reads the MUP record and either completes or backs out the
changes. If the other DBRC instance is a READONLY user, it cannot perform this recovery
because it cannot write.
If a READONLY execution attempts to update the RECONs, message DSP0030E is issued
and the application abends. The variable text in the message indicates the operation that
was attempted. The possible values are:
Uempty
IMS V10 IMS Version 10
13
Notes:
14
Notes:
When the IMSPLEX name is set in the RECONs, all subsequent users must specify
the same IMSPLEX name. They must either include the IMSPLEX= execution
parameter with the correct value or the DBRC SCI Registration exit must specify the
correct value.
In previous releases some installations reported that users mistakenly specified the
IMSPLEX= execution parameter. This caused subsequent jobs to fail until the
IMSPLEX name could be removed from the RECONs with a CHANGE.RECON
NOPLEX command. The change in IMS V10 will prevent this situation from
occurring. Now the IMSPLEX name will only be set by the CHANGE.RECON
IMSPLEX(name) command.
Uempty
IMS V10 IMS Version 10
RECONs RECONs
PLEX: PLEXZ PLEX: PLEXZ
Group ID: GPA Group ID: GPB
15
Notes:
The DBRC Group ID is new in IMS V10. It is used so that Automatic RECON Loss
Notification (ARLN) can distinguish between the different sets of RECONs. The IDs ensure
that a reconfiguration of the RECONs is only processed by the DBRCs using that set of
RECONs.
When upgrading RECONs from a previous release where the plexname was specified, the
group ID defaults to 001. If there is no plexname in the RECONs when they are upgraded,
the DBRC Group ID is not set.
The DBRC Group ID is set or changed with CHANGE.RECON
IMSPLEX(plexname,groupid) command. If the DBRC Group ID is not set before the
command is issued, it defaults to 001.
DBRC SCI registration must include the DBRC Group ID along with the IMSplex name.
The example on this slide shows an IMSPLEX with two sets of RECONs. One set uses the
DBRC Group ID of GPA. The other set uses GPB. The DBRCs using the GPA RECONs
must specify GPA to SCI registration. The DBRCs using the GPB RECONs must specify
GPB to SCI registration.
Uempty
IMS V10 IMS Version 10
16
Notes:
IMS V10 introduces several enhancements to the DBRC API. This class provides an
overview of these enhancements. You should refer to the IMS V10 System Programming
API Reference manual for specific information on using this API.
17
Notes:
The DBRC API is described in the IMS V10 System Programming API Reference manual.
It contains details on the DSPAPI macro, its parameters and usage, and on the control
blocks created by DBRC API requests.
Uempty
IMS V10 IMS Version 10
18
Notes:
Programs using the DBRC API may use alternate names for the IMS (DBDLIB) and
RECON DDNAMEs. This could make it easier to develop programs which access multiple
sets of RECONs. In V9 these programs had to use dynamic allocation (SVC 99) to change
the data sets for RECON1, RECON2, and RECON3 to access a different set of RECONs.
In IMS V10 they may use JCL to allocate multiple sets or they may use DFSMDA to create
dynamic allocation members for the different RECONs.
The DFSMDA macro has been enhanced to support the alternate DD names for RECONs.
A new parameter, DDNAME=, has been added to the DFSMDA macro for TYPE=RECON.
Programs using the DBRC API are still restricted to accessing only one set of RECONs at
a time. A FUNC=STOPDBRC request must be processed before a second set of RECONs
may be opened with a second FUNC=STARTDBRC request.
As with previous releases, if you invoke the DBRC utility from your program you may use
the DSPURXRT entry point. IMS V10 has added the capability to specify alternate DD
names for the RECON data sets. This is done through the expansion of the list of
DDNAMES passed to the entry point in the second word of the argument list.
19
Notes:
The DBRC API has been extended. It was introduced in IMS V9. The original
implementation of the DBRC API allowed you to query the data in the RECONs by issuing
DSPAPI macros. The extensions to the API in V10 allow you to update the RECONs.
Updates are done by allowing invoking DBRC commands. Commands such as INIT,
CHANGE, DELETE, NOTIFY, and RESET may be used to update the RECONs. This
interface may also be used to issue GENJCL and BACKUP commands which do not
update the RECONs. LIST commands are not valid. The DSPAPI FUNC=QUERY function
should be used to list data from the RECONs.
The output from commands is returned in an API output block. This block has the same
format as the QUERY blocks that were introduced in V9. Details of the command blocks
are shown later.
Uempty
IMS V10 IMS Version 10
20
Notes:
The STARTDBRC function is enhanced to support the creation of subsystem records. The
user application may register with DBRC as a subsystem. This is required for authorizing
databases. Database authorization support has also been added to the DBRC API. It will
be explained later. Subsystem registration is done by adding an SSID= parameter to the
DSPAPI FUNC=STARTDBRC macro. The meanings of the other parameters on the macro
are unchanged.
A new type of subsystem has been added to the those that are stored in the SUBSYS
record. This type is DBRCAPI. It is used when DSPAPI FUNC=STARTDBRC is used to
create the SUBSYS record.
Support for this new type has been added to QUERY TYPE=SUBSYS, LIST.SUBSYS, and
NOTIFY.SUBSYS.
QUERY TYPE=SUBSYS: This QUERY request has been enhanced to include
SSTYPE=DBRCAPI to limit the returned information to only DBRC API subsystems. A
new flag bit meaning has been added to the output block created by a QUERY
TYPE=SUBSYS. It indicates that the subsystem is a DBRC API subsystem. The bit is only
set when VERSION=2.0 is specified on the QUERY.
LIST.SUBSYS and LIST.RECON: The output of the LIST.SUBSYS and LIST.RECON
commands includes SSTYPE=DBRCAPI for DBRC API subsystems. You can list only
DBRCAPI subsystems by using the DBRCAPI keyword on the LIST.SUBSYS command.
NOTIFY.SUBSYS: The NOTIFY.SUBSYS command has been enhanced. The new
DBRCAPI keyword causes the command to create a DBRC API subsystem record.
The DBRCAPI subsystem records are deleted by DSPAPI FUNC=STOPDBRC macros. If
any databases are authorized to the subsystem, they are unauthorized when the macro is
processed.
Uempty
IMS V10 IMS Version 10
21
Notes:
Applications using the DBRC API may authorize and unauthorize databases, partitions,
and areas. Databases are authorized to subsystems, so authorization requests come from
applications that are registered as subsystems. Since authorizations update the RECONs,
the application cannot be using READONLY.
When a database, partition, or area is authorized, its access intent may be specified. Block
level data sharing is not supported for DBRC API users, therefore, UP is not allowed. If
any changes are to be made to a database, partition, or area, EX access must be used.
Utility privileges may be granted with an authorization. This allows authorizations even
though the 'Prohibit Further Authorization,' 'Image Copy Needed,' or 'Read Only' flags are
on. This is explained further on the next page.
Authorizations may be needed when the DBRC API application is providing functions
similar to IMS database utilities, such as back up, recovery, or reorganization.
22
Notes:
The DBRC API QUERY capability has been enhanced in several ways.
Queries for logs may request log records from a range of times. Queries for HALDB
information may request data for partitions without requesting database data.
Database data set data may requested without requesting the data for the database in
which the data set or data sets reside.
A wildcard capability has been added to several query types. This is the use of an asterisk
(*) when specifying a name. The queries where this may be used are:
Query TYPE=Asterisk allowed with
DBDBNAME=
*GROUPNAME=, GROUP=
OLDSSSID=
SUBSYSSSID=
Uempty BACKOUTSSID=
Command resource
FUNC=COMMAND
e.g. hlq.CHANGE.DB.dbname
Notes:
DBRC command security was introduced in IMS V8. It may be used to invoke
authorization checking for DBRC commands. RACF, or any SAF security product, may be
used. Alternatively, an exit routine may be invoked or both the security product and the exit
routine may be invoked. Commands are authorized by defining a resource representing
the command. In RACF this is done with an RDEFINE statement.
This authorization is extended to the DBRC API in IMS V10. API requests invoke
command authorization checking. Command authorization checking uses resources which
are defined to secure specific commands or API requests. Resource names have the
following form:
hlq.verb.resoucetype.resourcename
The high level qualifier (hlq) in the resource identifies a set of RECONs. “verb” identifies a
DBRC command or API request type. “resourcetype” identifies a resource type on which
the command or request operates. For example, a LIST.DB command operates on the
database resource type. “resourcetype” is optional. “resourcename” identifies a specific
Uempty resource instance. For example, a LIST.DB DBD(XYZ) command operates on the XYZ
resource instance or name. “resourcename” is optional.
This scheme has been extended for API requests as shown in the table.
TYPE=STARTDBRC and TYPE=STOPDBRC requests are checked using resource of
hlq.STDBRC.ssid. ssid specifies a subsystem and is optional. It restricts the use of the
requests for a specific subsystem.
Security was not checked for any DBRC API requests in IMS V9. It is possible that a
program which executed successfully in IMS V9 will fail security when executed in IMS
V10.
RECON Open
z RECONs may be initialized or upgraded using API
If VERSION=2.0 (V10) is specified on FUNC=STARTDBRC
STARTDBRC succeeds even with RECON not initialized or upgraded
• RC=4 with reason code
• Allows DBRC API program to INIT.RECON or UPGRADE
24
Notes:
The IMS V10 DBRC API has added the capability to open a set of RECONs which are not
initialized or which are at a previous release level. This allows the application program to
initialize the RECONs with an INIT.RECON command or to upgrade them with a
CHANGE.RECON UPGRADE command. This could be useful for utility-like programs
which create and upgrade RECONs.
Uempty
IMS V10 IMS Version 10
25
Notes:
Each DBRC API macro includes the VERSION= parameter. New functions, such as
AUTH, and new options, such as READONLY=YES, require VERSION=2.0. In IMS V9 the
only valid value for VERSION was 1.0. It was also the default. In IMS V10 VERSION=
defaults to 2.0.
Applications written in IMS V9 will continue to run in V10 without change. Reassembly is
not required. In fact, reassembly could cause the program to change due to the change in
the default for VERSION=. In some cases, the default of VERSION=2.0 may cause
different results from the previous default of VERSION=1.0. This is not always the case.
Some of the changes are only the use of previously reserved bytes in the control blocks
that are produced. In any case, if you wrote a program for IMS V9 and reassemble it using
an IMS V10 macro library, it is safest to specify VERSION=1.0 on the DFSAPI macros
before the reassembly.
Since the VERSION= parameter defaults to the latest level of the macros and later levels
may produce different results, it is safest to specify the VERSION= parameter value
explicitly. This will ensure that future assemblies of DBRC API programs will produce the
same results.
Uempty
IMS V10 IMS Version 10
26
Notes:
The DBRC API is described in the IMS V10 System Programming API Reference manual.
It contains details on the DSPAPI macro, its parameters and usage, and on the control
blocks created by DBRC API requests.
27
Notes:
Uempty
IMS V10 IMS Version 10
28
Notes:
Parallel RECON Access (PRA) is a new optional capability in IMS V10. It allows multiple
DBRCs to access the RECONs at the same time.
Without PRA each DBRC instance must take its turn in accessing the RECONs. Multiple
DBRCs may have the RECONs open at the same time, but only one may do I/O to the
RECONs at any time. This restriction is eliminated with PRA. Serial access uses
RESERVEs or global enqueues to serialize access to the RECONs. PRA eliminates this
serialization. This reduces contention for the RECONs. It could provide better
responsiveness, especially in situations where multiple online, batch, or utility executions of
IMS are doing many I/Os to the RECONs.
Notes:
PRA uses Transactional VSAM. This is a system facility that is provided by DFSMS.
Transactional VSAM provides locking, logging, caching, and commit coordination for
VSAM data sets such as the RECONs. It requires and exploits Parallel Sysplex.
PRA requires a Parallel Sysplex including a Coupling Facility. This is true even when all of
the DBRC instances are running in only one z/OS system.
PRA requires DFSMStvs. This is an optional feature of DFSMS. There is a licensing fee
associated with this feature. Special bids will be considered for IMS customers using the
Parallel RECON Access function, who do not already have DFSMStvs, to acquire
DFSMStvs for use restricted to IMS.
DFSMStvs uses Resource Recovery Services (RRS). RRS is used for commit
coordination. IMS use of RRS is not required. That is, the RRS=Y IMS execution
parameter is not required.
Uempty
IMS V10 IMS Version 10
30
Notes:
Since PRA allows RECON requests to be processed in parallel, it potentially reduces
RECON contention. On the other hand, service times for individual requests may increase
due to the overhead of locking, logging, and Coupling Facility accesses that are required.
Some services times may be decreased. This is due to the caching of RECON information
in buffer pools and the CF.
PRA requires new operational procedures for recoveries. There are new possibilities for
failures when the DFSMStvs environment is used.
PRA is optional in IMS V10. It is specified for a set of RECONs. There is a DBRC
command for specifying PRA for a set or RECONs. Some RECON sets may use PRA
while others continue to use serial access.
31
Notes:
DFSMStvs (TVS) is based on VSAM Record Level Sharing (RLS). RLS uses locking and
data caching to provide data sharing capabilities for VSAM files used by CICS systems. It
allows multiple CICS systems to concurrently update VSAM files. RLS relies on the
logging, commit coordination, and back out processing provided by CICS online systems.
TVS adds its own logging, commit coordination, and back out support. This allows batch
update jobs to share VSAM files between each other and CICS. PRA is using this same
capability to allow multiple DBRC instances to do concurrent updates to the RECONs.
RLS and TVS execute in the SMSVSAM address space. This is a system address space
that is typically started at z/OS initialization. There is only one SMSVSAM address space
per LPAR. It provides RLS and TVS services to all users in the LPAR. This includes all
instances of DBRC.
Uempty
IMS V10 IMS Version 10
Coupling
Coupling
SHCDS SMSVSAM
SMSVSAMCoupling
CouplingFacility
FacilityStructures
Structures
Facility
Facility
SHCDS • •Lock structure
Lock structure
spare RECON • •Cache
Cachestructure
structure
• •Logging
Loggingstructures
structures
RECON
spare • •RRS
RRSlogging
loggingstructures
structures
32
Notes:
This is an illustration of a DFSMStvs environment with multiple instances of DBRC using
PRA. There is an SMSVSAM address space in both z/OS systems. This address space
provides TVS services to the DBRCs in the LPAR. The illustration shows that there is an
IMS online system, an IMS batch job (DLI or DBB), and a IMS utility in each system. TVS
uses the system logger and RRS. RRS also uses the system logger. The system logger
has structures in the coupling facility. The SMSVSAM address space also connects to the
coupling facility for its own structures. These are cache structures and a lock structure.
There are a pair of share control data sets (SHCDS) for the VSAM data sets. These data
sets contain information about the use of VSAM data sets that are being shared. There is
also a spare SHCDS. Of course, there are the RECON pair and spare.
33
Notes:
DFSMStvs has recovery capabilities to handle various kinds of failures.
Each DFSMStvs instance has its own undo log. These are log records which have the
"before images" of records. If a user of DFSMStvs, such as DBRC fails, its uncommitted
updates are backed out by DFSMStvs. The undo log is used for this purpose.
If DFSMStvs fails or the SMSVSAM address space fails, it is automatically restarted. When
it restarts is backs out any in-flight work and releases any locks held by the in-flight
transactions.
If a z/OS system fails, peer recovery is invoked. Back outs are done for the failed
DFSMStvs by using another SMSVSAM address space in the Parallel Sysplex. The locks
held for the failed work are released.
More information on these processes is provided later.
Uempty
IMS V10 IMS Version 10
CF
CF CF
CF
Cache Lock
Structure Structure
RECONs
34
Notes:
This illustrates a DFSMStvs environment with DBRC users. When a DBRC instance
accesses a VSAM record in the RECONs, the request is processed by TVS in the
SMSVSAM address space. The SMSVSAM address space has its own buffers. The buffer
pools are maintained in data spaces owned by the SMSVSAM address space. When using
TVS, DBRC does not have its own buffers for RECON processing. Instead, it uses the
SMSVSAM buffers. These buffers are shared with all users of the SMSVSAM address
space. These are all of the VSAM data sets in the z/OS system which are using RLS or
TVS. SMSVSAM also uses cache structures in the Coupling Facilities. Each shared data
set is assigned to a structure. When a VSAM record in an SMSVSAM buffer pool is
updated, if it resides in buffers in other systems those buffers are invalidated. This is done
using the cross invalidation capability associated with cache structures and Parallel
Sysplex.
The processing of VSAM requests includes lock requests. SMSVSAM has its own lock
manager. It does not use the IRLM, however, its lock manager provides functions similar to
those provided by IRLM for IMS and DB2 databases. The owner of a lock request is the
DBRC instance. This is an IMS online system, an IMS batch job, or an IMS utility. Lock
information is held in a lock structure in the CF.
Uempty
IMS V10 IMS Version 10
35
Notes:
Defining Parallel RECON Access includes several specifications. These will be described
on the following pages.
36
Notes:
PRA requires IMS V10. To ensure that all users of a set of RECONs are using V10, a
MINVERS value of '10.1' must be specified for the RECONs. This prevents any lower
release level of IMS from using the RECONs.
SCI registration is required for PRA. This means that a CSL environment is required. Each
system where an IMS using PRA will be run must have an SCI address space. Since SCI
registration is required, the use of a DBRC SCI Registration Exit routine (DSPSCIX0) is
recommended. This ensures that consistent registration is done by all DBRC users and it
eliminates the need to add the IMSPLEX= parameter to the JCL for online systems, batch
jobs, and utilities. In addition to the IMSPLEX value which is assigned by the IMSPLEX=
parameter of the exit routine, IMS V10 has added the DBRC group ID. This ID may also be
assigned by the exit routine.
Uempty
IMS V10 IMS Version 10
37
Notes:
When using PRA the RECONs must be under SMS management.
The RECONs must be defined with a storage class which has a cache set value. A cache
set value assigns CF cache structures to the storage class. Many data sets (spheres) may
have the same storage class. Multiple storage classes may use the same cache set. You
can simplify the management and understanding of caching for the RECONs by assigning
the RECON data sets to a storage class with it own cache set. The cache set needs only
one structure defined to it. If the RECONs are the only RLS or TVS data sets in the storage
class, they will have their own cache structure.
The data class for the RECONs determines the caching option. This is controlled by the
RLSCFCACHE parameter for the data class. ALL specifies that all CIs read from DASD
are also stored in the structure. UPDATESONLY specifies that CIs which are updated are
written to the structure when they are written to DASD. NONE specifies that no CIs are
stored in the structure. When NONE is specified, the structure is used only for buffer
invalidation processing. There is another parameter which affects caching. This is the
Uempty
IMS V10 IMS Version 10
38
Notes:
LOG(UNDO) is required in the definition of the RECONs for the use of Transactional
VSAM. This creates a backout log for the data set when TVS is used. DBRC automatically
sets this definition. If Parallel RECON Access is being used and LOG(UNDO) is not
specified for the RECONs, DBRC will issue an ALTER to set the parameter to
LOG(UNDO). If Parallel RECON Access is not being used, DBRC will ALTER RECON to
LOG(NONE) if another value is defined. Of course, you can set LOG(UNDO) by issuing
the DEFINE or ALTER with IDCAMS. In either case, the ALTER requires ALTER security
from the security system, such as RACF.
Do not specify LOG(ALL) or a LOGSTREAMID parameter for the RECONs. LOG(ALL)
creates a forward recovery log which is identified by the LOGSTREAMID. DBRC does not
support forward recovery of the RECONs.
39
Notes:
DFSMStvs is a separately priced feature of z/OS. It must be enabled with a product
enablement policy which is defined in the IFAPRDxx member of SYS1.PARMLIB.
Uempty
IMS V10 IMS Version 10
40
Notes:
If you have not implemented RLS, you must defined SHCDS data sets. If you already have
implemented RLS, you already have these data sets defined. These data sets are used to
hold the name of the lock structure, the list of subsystems, and a list of open VSAM
spheres (data sets). It also contains information about the spheres such as which
subsystems have them open.
There can be multiple SHCDS data sets. Two is typical. Spares may also be defined.
Having a pair and a spare provides recovery capabilities similar to those for a pair and
spare for the RECONs.
The data set name for an SHCDS is always of the form SYS1.DFPSHCDS.qualifier.Vvolser
where qualifier is whatever you want it to be and volser is the volume serial for its volume.
See the DFSMSdfp Storage Administration Reference manual for complete information on
defining SHCDS data sets.
VARY commands are used to make a data set an active SHCDS or a spare.
SYS1.PARMLIB Members
z IEFSSNxx
Must include a statement for SMS
z IGDSMSxx parameters include:
SYSNAME(name1,name2, …)
Names associated with each TVS instance
TVSNAME(n1,n2, …)
Notes:
SMS must be defined to MVS as a subsystem. This is done by including a statement for
SMS in the IEFSSNxx SYS1.PARMLIB member.
The names associated with each TVS instance are defined in the SYSNAME parameter.
Similarly, each TVS instance is assigned a unique number with the TVSNAME parameter.
AKP controls the occurrence of activity key points. Separate numbers may be specified for
the different systems. At these times log records which are no longer needed for backouts
are deleted. Log records for units of recovery that have not logged in two AKPs are moved
to the shunt log.
The IGDSMSxx member of SYS1.PARMLIB is described in the z/OS MVS Initialization and
Tuning Guide. Some of the most important parameters for TVS users are shown here.
If RLSINIT(YES) is not specified, the SMSVSAM address space must be started with a V
SMSVSAM,ACTIVE command.
Uempty
IMS V10 IMS Version 10
Notes:
RLS_MAX_POOL_SIZE specifies in megabytes the maximum size of the VSAM local
buffer pool in SMSVSAM. This pool is created in a data space. For serial access (not
Parallel RECON Access) to the RECONs IMS uses the DSPBUFFS specification to
determine the number of buffers used by a DBRC instance. This defaults to 60 index
buffers and 120 data buffers. You may have specified a different value. As a starting point,
you may make the SMSVSAM local buffer pool the size of the buffer pools for all of the
concurrent DBRC instances that will be run. For example, if you took the default
DSPBUFFS, have a RECON CI size of 16K, and have 10 concurrent DBRC instances, you
could start with a buffer pool of 10 x (120 + 60) x 16K = 29M. Of course, a larger size might
provide better performance by keeping more CIs in the pool and potentially avoiding some
reads.
The RLS_MAXCFFEATURELEVEL parameter is used to specify if CIs larger than 4K will
be cached in the SMSVSAM cache structure. 'Z' specifies that only 4K and smaller CIs will
be cached. 'A' specifies that all may be cached. Since RECON CI sizes should be larger
than 4K, you will need to specify 'A' to cache RECON CIs.
Uempty
IMS V10 IMS Version 10
Log Streams
z Backout or undo log stream
Each instance of DFSMStvs has its own backout log stream
Name: IGWTVnnn.IGWLOG.SYSLOG
'nnn' is TVSNAME from IGDSMSxx member
Used to hold back out records for updates
Updates to RECONs and other data sets using TVS
z Shunt log stream
Each instance of DFSMStvs has a shunt log stream
Name: IGWTVnnn.IGWSHUNT.SHUNTLOG
Used when backout requests fail and for long running units of recovery
Log data is moved from undo log to shunt log
Allows the undo log stream to be trimmed
Oldest records are removed from the undo log
43
Notes:
DFSMStvs maintains an "undo" log stream for each instance of SMSVSAM. This means
that there is one per z/OS system using DFSMStvs. The log stream contains "before"
images of updates made by users of this DFSMStvs instance. It is used to back out any
updates that have been done by units of recovery which fail or are victims in a deadlock.
The log stream name is IGWTVnnn.IGWLOG.SYSLOB where "nnn" is the TVSNAME
assigned in the IGDSMSxx member of SYS1.PROCLIB.
Typically, backout records do not need to be maintained for a long time. When the unit of
recovery is committed, these log records may be deleted. On the other hand, there are
occasions when the log records need to be kept for a long time. This would occur if a
backout failed due to the inability to do the backout updates to the data set or if a unit of
recovery was not committed for a long time. In these cases, log records may be moved to
a shunt log stream. Each instance of DFSMStvs has a shunt log stream with the name
IGWTVnnn.IGWSHUNT.SHUNTLOG where "nnn" is the TVSNAME.
Log records are moved from the undo log to the shunt log by activity keypoint processing.
The frequency of this processing is determined by the AKP parameter in the IGDSMSxx
member. If a unit of recovery has not logged for two AKPs, its log records are moved to the
shunt log.
The use of the shunt log allows TVS to trim the undo log. TVS tracks the oldest log entry
for any running unit of recovery. It can trim records that are older than this. This limits the
size of the undo log and tends to keep all of its records in the log structure.
Uempty
IMS V10 IMS Version 10
Log Streams
z RRS log streams
RRS has five log streams which are shared by all systems in the sharing
group
Resource Manager data log
• Contains information about resource managers using RRS services
Restart log
• Contains information about incomplete units of recovery
Main UR state log
• Contains state of active units of recovery
Delayed UR state log
• Contains state of delayed active units of recovery
Archive log (optional)
• Contains information about completed units of recovery
44
Notes:
Each request to DBRC is a unit of recovery which is tracked and logged by RRS.
RRS has multiple log streams. These log streams are used for various purposes.
DFSMStvs is only one of several components which use RRS. Other IMS users of RRS
include APPC, ODBA, and OTMA. Most installations will already have RRS log streams
defined.
Many installations have already implemented RRS. For example, IMS requires RRS for
ODBA and APPC protected conversations which use SYNCLVL=SYNPT.
45
Notes:
Log streams must be defined in the LOGR policy for a sysplex. Each log stream is defined
with a DEFINE LOGSTREAM statement. The policy assigns the log stream to a structure.
The CFRM policy defines the size of the structure.
The sample definition shows some of the other parameters that you may define. The
LS_SIZE parameter defines size of the data used for offloading the log stream from the
structure. The size is specified in 4k blocks. STG_DUPLEX(YES) specifies that the log
stream is duplexed in staging data sets when the condition defined in the DUPLEXMODE
parameter is satisfied. DUPLEXMODE(COND) specifies that duplexing occurs when the
CF structure is in a volatile CF or when the CF and the SMSVSAM address space reside in
the same machine (CPC). The HIGHOFFLOAD parameter specifies the percentage of the
structure that must be full before an offload process occurs. Offload moves log records
from the structure to an offload data set. LOWOFFLOAD specifies the percentage of the
log stream that may remain in the structure when an offload process completes. All
parameters that you may specify in a LOGR policy are documented in the z/OS MVS
Setting Up a Sysplex manual.
Uempty Since DBRC "transactions" that update the RECONs should be short-lived, undo logs for
DBRC should be small. They are deleted by activity keypoint processing (AKP). In
addition, the log records for long-lived transactions will be moved to the shunt log by
activity keypoint processing (AKP).
46
Notes:
SMSVSAM uses a lock structure. It is always required, even when there is only one
system using RLS or TVS. The lock structure holds locks for all of the data sets using RLS
and TVS. This may include data sets other than RECONs. It must be sized to hold all of
these locks.
The lock structure name is always IGWLOCK00. If the size of the lock structure is a power
of 2, it is equally divided between the lock table and the record list. If it is not a power of
two, the size of the lock table is the largest power of 2 that is smaller than half the structure
size. The remaining space is used for the record list. Most DBRC actions do not hold
many locks. These actions also typically hold locks for a short time. There is one
exception. A LIST of the RECONs with the STATIC option gets a lock on every record.
These locks are held until the LIST completes. A LIST with the STATIC option is generally
not recommended for this reason.
The lock structure is automatically rebuilt after a failure of the lock structure, a failure of its
CF, or loss of connectivity to its CF. If the SMSVSAM address spaces survive, the locks are
repopulated in the rebuilt structure. DBRC will survive this recovery. This applies to all
Uempty instances of DBRC including online systems, IMS batch jobs, and IMS utilities using
DBRC.
System-managed duplexing may be used for the lock structure. Duplexing is not
recommended when the structure is placed on a machine that does not contain an
SMSVSAM address space connected to the structure. The overhead of duplexing is
unlikely to be justified in this case since recovery is done without the loss of any users.
Notes:
SMSVSAM uses one or multiple cache structures. Data sets are assigned to structures
through their storage classes. A set of structures may be assigned to a storage class. The
data sets in the storage class use the structures defined for the storage class. This allows
you to set aside a structure for the exclusive use of the RECONs. By doing this you may
size a structure to meet the needs of the RECONs. As a starting point you could make the
structure large enough to hold all of the data that was previously in the DBRC buffers.
These are defined with DSPBUFFS.
When storage class has multiple cache structures, data sets are assigned to a structure
when they are opened. SMSVSAM attempts to balance the use of structures in a storage
class.
The SMSVSAM cache structures are store-through structures. This means that all of the
CIs that are written to the structure are also written to the RECON data sets. All committed
updates are in the data sets.
If a Coupling Facility containing an SMSVSAM cache structure fails, the structure is
automatically rebuilt on another CF. When the structure is rebuilt, it is not repopulated. All
Uempty of the buffers containing CIs assigned to the structure are invalidated. This is similar to the
actions that IMS takes when a full function cache structure is lost. If a structure cannot be
rebuilt but the storage class has one or more other structures, the data sets using the failed
structure are reassigned to another structure. DBRC survives the rebuilding of structures
and the reassignment of data sets to other structures. These failures and recoveries are
masked from DBRC by SMSVSAM.
System-managed duplexing is not supported for SMSVSAM cache structures. It is not
needed since the loss of a structure is easily handled by the rebuild done by SMSVSAM.
Logger Structures
z TVS
Undo and shunt log streams for each TVS system
z RRS
RRS log streams
z Sizes
Sizes will depend on RECON activity and any other users of TVS and RRS
RECON activity should typically be small
48
Notes:
Log structures are required for the DFSMStvs undo and shunt logs and for the RRS log
stream.
PRA will typically not require much space in these structures. PRA "transactions" typically
make few updates to the RECONs and do not wait for non-DBRC work. This tends to
make its space requirements small. If a structure is not large enough, records are
offloaded to logger data sets. This offloading depends on the size of the structure, the
sizes of the log streams using the structure, and the HIGHOFFLOAD and LOWOFFLOAD
parameters in the log stream definition in the LOGR policy.
Uempty
IMS V10 IMS Version 10
49
Notes:
DBRC issues some DFSMS commands for recovery situations. These commands require
update authority to the RECONs and the STGADMIN.IGWSHCDS.REPAIR resource.
Read authority is required for all users for the RECONs and the "REPAIR" resource.
Update authority is required in some recovery situations. If a RECON I/O error occurs, it is
likely that update authority will be required for the recovery to the spare RECON. A lack of
update authority would result in the user failing. Obviously, it would be good for no users to
fail, however, it is probably essential that online systems not fail.
DBRC ALTERs the RECONs when switching from serial to parallel access or from parallel
to serial access. This should not be a typical operation. The ALTER is used to change
from LOG(NONE) to LOG(UNDO) or from LOG(UNDO) to LOG(NONE). ALTER authority
is required for the DBRC jobs that issue the command. DBRC also issues an ALTER when
reconfiguring the RECONs if the spare has the wrong setting for the LOG parameter. If the
spare has been defined with the correct LOG value, the ALTER is not required.
50
Notes:
Parallel RECON Access is turned on by specifying ACCESS(PARALLEL) on the
CHANGE.RECON or INIT.RECON command. It may be turned off with ACCESS(SERIAL).
SERIAL is the default for the INIT.RECON command.
Since PRA requires DFSMStvs a complete DFSMStvs environment must be active when
the command is issued. For example, the command must be issued on a z/OS system with
an SMSVSAM address space and the lock and cache structures must be defined.
A good pair of active RECONs and a spare RECON must be available when the
CHANGE.RECON ACCESS(PARALLEL) command is issued.
There cannot be an active RSR tracking subsystem when a change to parallel access is
made.
Uempty
IMS V10 IMS Version 10
51
Notes:
The LIST commands have new options with PRA. They are implemented with the
CONCURR, STATIC, and QUIESCE keywords. These keywords are ignored when PRA is
not being used.
If the CONCURR keyword is used, updates may occur to the RECONs while the list is
being produced. This could make the output inconsistent since some of the records could
be listed before a change and some after the change. For example, a database record
might include an authorization to a subsystem but the subsystem record might not show
the database as authorized to the subsystem. When CONCURR is used, a lock for a
record is held only to read the record.
If the STATIC keyword is used, the listing is consistent. For example, if a database record
listing includes an authorization to a subsystem, the subsystem record will show the
database as authorized to the subsystem. When STATIC is used without the QUIESCE
keyword, PRA locks each record when it reads it and holds the lock for the duration of the
list processing.
The QUIESCE keyword may be used with STATIC. It quiesces all other activity to the
RECONs during list processing. Other DBRC instances cannot access the RECONs
during this time. Since all other activity is quiesced, locking is not needed to provide
integrity or consistency unless there are retained locks. If there are retained locks from a
failed DBRC for which recovery has not been done, a lock is held while DBRC is positioned
on a record. QUIESCE reduces the overhead of the LIST command since it eliminates
locking. You should consider using QUIESCE when a LIST command will read many
RECON records. During the quiesce process batch jobs and utilities which use DBRC wait
even if they are not attempting to access the RECONs. For example, batch jobs do no DL/I
calls during the QUIESCE process.
The default of CONCURR or STATIC for the LIST command is set my the
CHANGE.RECON LIST command. When RECONs are upgraded to V10, the default is set
to STATIC. The QUIESCE keyword cannot be set by default.
Uempty
IMS V10 IMS Version 10
TIMEZIN = %SYS
The
TheDBRC
DBRCGroup
GroupID
IDisisGPB
GPB
IMSPLEX = PLEX1 GROUP ID = GPB
52
Notes:
This is an example of some of the output of a LIST.RECON command. The line which
includes, "LISTING OF RECON (CONCURRENT)" indicates that this listing was produced
with the CONCURR option. In this case, the LIST command included the CONCURR
keyword.
Near the middle of the example there is a line of "ACCESS=PARALLEL LIST=STATIC".
This indicates that PRA is active for this RECON and that the default of LIST commands in
STATIC.
At the bottom of the example is "GROUP ID = GPB". GPB is the DBRC group ID used for
this set of RECONs.
53
Notes:
PRA locks RECON records when they are read. The locks are either at a share level or an
exclusive level. As the names suggest, multiple DBRC instances may hold the lock for a
record at the same time if they are all at the share level. There can be only one holder of a
lock for a record at the exclusive level.
VSAM get requests use share level locks. VSAM get for update requests use exclusive
level locks.
Commit occurs when the DBRC request from IMS or the DBRC command has completed.
Exclusive level locks are held until commit. Share level locks may be released before
commit. Typically, share level locks are held until commit. When the CONCURR option is
used for a LIST command, the locks are released as part of the read process. When the
STATIC is used for a LIST command, the locks are held until commit. Sometimes DBRC
browses RECON records of a type looking for a specific record. When this occurs, locks
are obtained and released as each record is read. When the specific record is found, the
lock is obtained again and held until commit.
Uempty
IMS V10 IMS Version 10
Deadlocks
z Deadlock detection is done on a timer basis
Times determined by DEADLOCK_DETECTION parameters in IGDSMSxx
Similar to IRLM deadlock detection
There is no "worth value"
Deadlock victim does not depend on the type of DBRC (online vs. batch)
54
Notes:
The deadlock detection process of SMSVSAM is similar to that done by IRLM. There is a
local cycle and a global cycle. During the local cycle deadlocks within a SMSVSAM are
detected. During the global cycle deadlocks between units of recovery using different
SMSVSAMs are detected. The local cycle uses a waiters list in the detection process. At
each cycle a list is built of those units of recovery which are waiting. If the same wait exists
in two successive cycles, the locks are examined to see if a deadlock exists. When a
deadlock is found, a victim is chosen. Unlike the IRLM implementation, there is no "worth"
value associated with units of recovery. A victim is chosen without regard to the type of
DBRC instance in which it is executing.
The UOR which is the victim in a deadlock is backed out and its request is reprocessed.
If a deadlock occurs an IGW10072I message is sent to the console. It is followed by
IGW10073I messages. An IGW10073I message is issued once for each DBRC in the
deadlock chain and includes the record that that DBRC holds and which record it is waiting
for. The messages are:
Uempty
IMS V10 IMS Version 10
Lock Timeouts
z Lock requests may time out
Timeout value for DBRC is always 2 seconds
Deadlocks may be handled by lock timeout before deadlock is detected
z Request which times out is backed out and reprocessed
IGW10070I and IGW10071I messages are issued, otherwise user is
unaware of timeout
Messages identify requestor and holders of the lock
z If a retry fails after 5 retry attempts
Message DSP1184W is issued
Retries continue
z If a retry after a timeout fails after 15 retry attempts
WTOR message DSP1185A is issued
Operator must reply 'retry' or 'cancel'
55
Notes:
If a time out occurs an IGW10070I message is sent to the console. It is followed by an
IGW10071I message for each holder of the lock. The messages are:
IGW10070I jobname stepname urid A REQUEST TIMED OUT WAITING FOR A LOCK.
THERE ARE nn UNITS OF RECOVERY HOLDING THIS LOCK.
IGW10071I {UNIT OF RECOVERY urid | SUBSYSTEM NAME subsys TRANSACTION
ID tranid} RUNNING IN JOB jobname HOLDS {ADD TO END LOCK | EXCLUSIVE
LOCK ON KEY | SHARED LOCK ON KEY} IN BASE CLUSTER NAME cluster [PATH
NAME path] CAUSING {TRUE | FALSE} CONTENTION. [KEY VALUE = key]
A random delay is done before a retry after a timeout. This is done to resolve situations
where two requestors wait on each other multiple times
Message DSP1184W is sent to indicate that five retries have been attempted. Retries
continue. No action is required by the operator. The text of the message is: DSP1184W VSAM
ACCESS ERROR ENCOUNTERED 5 TIMES RC=0008 RSN=0022
If a timeout for the same lock request occurs 15 times for a unit of recovery, the DSP1185A
message is sent. It is sent after the backout of the UOR. The message is a WTOR. The
operator must reply to the message. The operator may be able to determine which DBRC
instance is holding the lock. If so, the RETRY reply may be issued after the holder of the
lock has completed its work. The text of the message is DSP1185A VSAM ACCESS ERROR
ENCOUNTERED 15 TIMES RC=0008 RSN=0022 - REPLY ’RETRY’ OR ’CANCEL’
The RSN=0022 in the DSP1184W and DSP1185A messages indicate the reason for the
error is a timeout for a lock request.
Uempty
IMS V10 IMS Version 10
This could produce duplicate output for GENJCL, LIST, and other
commands
Output may have already been written to SYSPRINT and/or JCLOUT
56
Notes:
As explained before, a lock timeout or a deadlock results in the backout of the unit of
recovery and the reprocessing of the DBRC request. The backout applies to the updates
to the RECONs. It does not apply to any other output data sets, such as SYSPRINT or the
JCLOUT data set used for GENJCL commands. Timeouts and deadlocks may produce
duplicate outputs to these data sets. DBRC recognizes the possibility of these
occurrences. It issues the DSP1186I message when a command is retried. This warns the
user that there may be duplicate output from the command. Duplicate output tends to be a
problem with GENJCL and LIST commands. It could occur for other commands, but the
consequences are less serious. For example, the SYSPRINT output of a CHANGE.DB
command could contain repeated lines.
The explanation of the DSP1186I message is:
An error that could be retried was detected. DBRC is attempting to reprocess a
command that might have produced external output. DBRC retries the processing,
which encountered errors, that it considers capable of being retried (for example,
deadlock or timeout). In this instance, data might have been written to a data set (for
Uempty
IMS V10 IMS Version 10
Monitoring of Locks
57
Notes:
The D SMS,CFLS command displays locking information from SMSVSAM. In this example
the lock structure size is 16384K or 16M. This implies that the lock table size is 8M which
is half of 16M. There are 48252 record table (or record list) entries. Only 4 of these record
table entries are being used at the time of the display.
The following lines show the locking rate, the contention rate, the false contention rate, and
the average number of requests waiting for locks during the last minute, the last hour, the
last 8 hours, and the last day. The data returned by the command is for the system where
the command is issued and an average of all of the systems. The response shows the lock
and contention rates for system SC64. The lines beginning with "(03)" are averages for all
of the systems. The "(03)" indicates that there are three systems.
58
Notes:
The IGW326W message is issued when the record table (record list) in the lock structure is
80% full. If the record table becomes full, new locks for updates cannot be granted.
The IGW859I message is issued when a unit of recovery first exceeds the first MAXLOCKS
subparameter in the IGDSMSxx member.
The IGW10074I message is issued after the IGW859I message when the unit of recovery
requests more locks. Its issuance is controlled by the second MAXLOCKS subparameter.
This subparameter specifies an incremental number of locks. The message is issued each
time the incremental number of additional locks is requested.
Uempty
IMS V10 IMS Version 10
RMF Information
z Structure Activity Reports
Cache structure
Reports size, service times, reads from cache, cross invalidations
Lock structure
Reports size, service times, contention, false contention
z RMF III
VSAM RLS Activity report
Reports by storage class or by data set
• Read rate
• % reads from SMSVSAM pool, cache structure, and DASD
• % reads for which SMSVSAM buffer was invalid
VSAM LRU Overview report
May be used to get sizing information for the SMSVSAM buffer pools
59
Notes:
Lock and cache structure usage information is also available from the RMF Structure
Activity Report. IMS data sharing users are familiar with these reports for the IRLM lock
structure and OSAM and VSAM cache structures. The same type of report is available for
the SMSVSAM structures.
RMF III has a VSAM RLS Activity report. An example of this report is shown on the next
page.
The RMF III VSAM LRU Overview report provides information about the size of the
SMSVSAM buffer pool. The size of this pool is dynamically adjusted by SMSVSAM. The
RLS_MAX_POOL_SIZE parameter sets the limit for the pool size, although it might be
temporarily exceeded. During each LRU cycle, SMSVSAM determines whether the
system is over the goal. If it is, adjustments are made. The report shows the percentage of
time when the buffer pool exceeded the desired limit. It also reports on percentages of
requests which were satisfied from the buffer pool, the cache structures, and DASD.
60
Notes:
This is an example of the RMF III VSAM RLS Activity report. It reports on three storage
classes used by RLS. These storage classes are RLS1, RLS2, and RLS3. For each class
it reports direct and sequential access activities. Under the "Read" columns it reports the
percentage of requests that are satisfied from the SMSVSAM buffers (BMF%), from the
coupling facility structures (CF%), and from DASD (DASD%). Under "BMF" is shows the
percentage of reads which found the CI in the SMSVSAM buffer pool but the buffer had
been invalidated by an update to the CI in another system.
Uempty
IMS V10 IMS Version 10
Recovery
z DFSMStvs backs out and releases locks of failed users
Each DFSMStvs instance has its own undo log
Used for backouts after failures
Backouts are invoked by DFSMStvs for failures including:
Lock time outs
Deadlocks
DBRC abends
z SMSVSAM address space started automatically at IPL
Restarted automatically if it fails
Backs out in-flight work and releases retained locks
Accepts new work
DBRC survives SMSVSAM failures
Reissues VSAM request when SMSVSAM recovers
61
Notes:
Each DFSMStvs instance has its own undo log and associated shunt log. The logs are
shared by all users of the DFSMStvs instance, but they are not shared by DFSMStvs
instances on different z/OS systems. The undo and shunt logs are used for backouts when
there is a failure or deadlock by a user of DFSMStvs services, such as a DBRC instance.
When you IPL a z/OS system the SMSVSAM address space is automatically started if it
has been defined for the system. If the address space fails, it is automatically restarted by
z/OS. When it is restarted, it backs out any work that was in-flight at the time of the failure.
It also releases the locks held for the work. After this recovery, it accepts new work.
Recovery
z Peer recovery for z/OS system failures
In case of system failures, peer instance of DFSMStvs may be started on
another z/OS
This z/OS must have a primary instance of DFSMStvs on it
ARM is highly recommended
Peer uses log to backout in-flight work and release retained locks
Peer does not accept new work
62
Notes:
Peer recovery is the process of completing the work that was left in an incomplete state
due to the failure of an instance of DFSMStvs. Peer recovery is done by another instance
of DFSMStvs. Peer recovery occurs only in cases of system failure, not merely when
DFSMStvs fails. When a z/OS system fails, a peer recovery instance of DFSMStvs is used
to back out in-flight work and release locks. The z/OS system where peer recovery is run
must have a primary instance of DFSMStvs running on it.
Peer recovery is not automatically invoked unless Automatic Restart Management (ARM)
is used to invoke it. Without ARM, an operator command is required to start peer recovery.
ARM information is available in the z/OS DFSMStvs Planning and Operating Guide and in
z/OS MVS Setting Up a Sysplex.
Peer recovery backs out the in-flight work of the failed system and releases the locks for
this work. The peer does not accept new work.
The peer recovery instance of DFSMStvs does the following:
Uempty • It registers with VSAM RLS and RRS as the failed instance of DFSMStvs and indicates
to RRS that it is beginning restart processing as the failed instance.
• It reads the failed instance's undo log to retrieve information about in-progress units of
recovery.
• It invokes RRS to retrieve information about unit of recovery status.
• It processes the log data and the information returned by RRS to determine whether to
commit or back out units of recovery. It backs out in-flight work and releases locks for
this work.
• When all outstanding units of recovery have been processed, it unregisters with RRS
and VSAM RLS.
The peer recovery instance of DFSMStvs registers as the failed instance in order to gain
access to the failed instance's resources. This registration persists until peer recovery is
complete. As a result, should the failed instance restart, it will be unable to initialize
because its attempt to register will fail. It may be necessary to restart DFSMStvs manually
once peer recovery is complete.
z After failure:
TVS1 peer recovery may be done on z/OS2 or z/OS3
It does not require that IMS1 be restarted
IMS1 may be restarted on a different z/OS
z/OS 1 z/OS 2 z/OS 3
IMS1
IMS1 IMS2 IMS3
/ERE
63
Notes:
This example illustrates that peer recovery may be done on any z/OS system which has a
SMSVSAM address space with a current primary instance of DFSMStvs. Peer recovery
does not require that the IMSs using it be restarted. Of course, you would probably want to
restart any failed IMS online system. The emergency restart of IMS1 could be done on any
z/OS which has a DFSMStvs instance. It does not have to be done on the same z/OS
system where peer recovery is being done for the failed instance of DFSMStvs.
Uempty
IMS V10 IMS Version 10
SETSMS AKP(nnn,nnn,nnn,…)
Changes activity keypoint values
SETSMS DEADLOCK(localsecs,globalcycles)
Changes deadlock detection cycle parameters
SETSMS MAXLOCKS(max,incr)
Changes the thresholds for the IGW859I and IGW10074I messages
64
Notes:
The SETSMS command may be used to change parameters that were specified in the
IGDSMSxx member. Examples of the kinds of parameters that may be changed are shown
here.
65
Notes:
This explains how the RECON header and header extension records are used when
Parallel RECON Access is NOT used.
With serial access, the RECON header and header extension are read by each DBRC
request.
The header is read for two reasons. It is read to determine the current RECON options.
These include things such as trace options and time format options. Second, the header is
read to determine is there is a multiple update (MUP) record. A MUP record is written
before DBRC makes updates to multiple RECON records as part of one DBRC request.
This is used to ensure that all of the updates are made, or if they are not made, that they
may be backed out. MUP records contain information sufficient for backing out updates to
the RECONs. After the MUP record is written, DBRC makes the updates to the indicated
RECON records. When these are completed, the MUP record is deleted. Each DBRC
request first checks for a MUP record. If one exists, it indicates that another DBRC
instance has failed in the middle of making multiple updates. The DBRC instance which
Uempty reads the MUP record, backs out the partial updates and deletes the MUP record. This
mechanism provides integrity with serial access to the RECONs.
The header extension is read to determine the current RECON configuration. This is the
current COPY1, COPY2 and spare data sets. They could have been changed by another
DBRC instance since this DBRC last accessed the RECONs.
This processing differs with Parallel RECON Access.
66
Notes:
The header record is read by DBRC "logical open" but is locked with a shared lock except
when updates are done. It is read to check on the current RECON options. Updates are
rare. They are typically done by a DBRC CHANGE.RECON command.
Parallel RECON Access eliminates the need to read the RECON header extension for
every DBRC request.
The RECON header extension still contains the current RECON configuration information,
but DBRC does not need to read the header for every DBRC request. If a DBRC instance
reconfigures the RECONs, it uses SCI to communicate the new configuration to the other
instances. The configuration information is obtained from the header extension when a
new DBRC instance is initialized. The header extension does not have to be read for every
subsequent request of the DBRC instance.
MUP records are not used with Parallel RECON Access. Backouts of incomplete updates
are done by DFSMStvs using its undo log stream. This does not eliminate the need to read
the header for each DBRC request. The continues to be read to find any changes to
RECON options. (e.g. if a CHANGE.RECON TRACEON has been issued).
Uempty These changes in processing of the header extension record with Parallel RECON Access
eliminate a reason for possible contention on the header extension record. It also reduces
the number of I/Os to the RECONs required for most DBRC requests.
Serial PRA
• RECON header ext. read during "logical • SCI used to communicate RECON
open" to determine configuration configuration changes
67
Notes:
Serial processing uses hardware reserves or global data set serialization to serialize
access to the RECONs. Only one DBRC instance may be accessing the RECONs at any
time. PRA allows multiple DBRC instances to access the RECONs at the same time. It
locks individual RECON records to provide integrity. Since it uses locking, there is the
possibility of deadlocks or timeouts for lock requests.
Serial processing maintains the status of the RECONs in the header/header extension
records. Every access to the RECONs first has to check the header/header extension for
the current status. PRA uses SCI communication to notify other DBRC instances of any
change in the RECON configuration. PRA does not access the header/header extension
with every access to the RECONs.
Serial processing has special handling for requests that require updates to multiple
RECON records. This is needed to maintain integrity for multiple updates. It writes a MUP
record to the header/header extension before doing its intended multiple updates and then
deletes the MUP information after the intended multiple updates are done. PRA does not
have this processing. It uses TVS to maintain integrity for multiple updates. If one or more
Uempty RECON records are updated, but the other records in the request cannot be updated, the
TVS log is used to back out the updates that were made.
Serial processing uses VSAM LSR (local shared resources) pools. Each DBRC instance
has its own pools. These pools are invalidated at the beginning of each request to DBRC.
This is necessary because another DBRC instance may have modified the CIs that are in
the pool. PRA does not use LSR pools. It uses the SMSVSAM RLS pool in its LPAR.
Parallel Sysplex buffer invalidations are used to invalidate only the buffers that have been
updated by DBRC instances running in other LPARs. Cache structures are used in the
invalidation process. These cache structures also maintain copies of RECON CIs so that
some reads to the RECON data sets may be eliminated.
SCI registration and Automatic RECON Loss Notification are optional with serial access.
They are required with PRA.
Notes:
This is a summary of the migration and coexistence considerations. Most of these have
been covered previously.
Products and application programs which access the RECONs natively must be adapted
for DFSMStvs. The recommended way of handling this is the use of the DBRC API. The
DBRC API supports both Parallel RECON Access and serial access. If the DBRC API is
not used, the programs must support the DFSMStvs interfaces. These include the use of
RRS for commit and backout, opening the RECONs for DFSMStvs access, and the use of
RPLs which invoke DFSMStvs access. Even if they successfully implement these
interfaces, full support cannot be done. For example, there is no interface to quiesce user
code for the LIST command with the STATIC QUIESCE option.
Uempty
IMS V10 IMS Version 10
69
Notes:
Parallel RECON Access is invoked with the CHANGE.RECON ACCESS(PARALLEL)
command. The command internally issues an ALTER for the RECON data sets changing
the LOG parameter to LOG(UNDO). This requires that the DFSMStvs environment be
present. Of course, operations procedures and recovery procedures should be updated for
DFSMStvs.
70
Notes:
PRA exploits Transactional VSAM for the RECON data sets. This allows multiple DBRC
instances, which are online systems, IMS batch jobs, and IMS utilities, to access the
RECON data sets concurrently. Volume or global data set serialization is not required.
This reduces RECON contention. The reduced contention provides for greater growth
potential and increased throughput possibilities. The primary recipient of the benefits for
most installations will be online systems since they will suffer less interference from batch
jobs and utilities which are accessing the RECONs.
Uempty
IMS V10 IMS Version 10
71
Notes:
These books provide information on DFSMStvs. Much of the information assumes that
DFSMStvs is being used to support concurrent access to VSAM files from CICS and batch
programs. When reading these publications keep in mind that DBRC use of DFSMStvs
has the following characteristics:
• Forward recovery logs are not used for the RECONs.
• Each DBRC request is a "transaction". Requests include:
- DBRC commands or subsets of them. Some commands are processed as multiple
requests.
- Subsystem signons and signoffs
- Database authorizations or unauthorizations
- Recordings of log
- Recordings of image copies
- Recordings of reorganizations
Uempty
IMS V10 IMS Version 10
DBRC Enhancements
z Timestamp precision
Avoids timestamp duplications with extremely fast systems
z SCI DBRC Registration
Support for multiple sets of RECONs
z RECON READONLY support
RECON readers require only READ authority
RECON updaters require only UPDATE (not ALTER) authority
z DBRC API Enhancements
Update commands may be issued
Enhanced queries
Alternate RECON and IMS DD name support
Database authorization capability for utility functions
z Parallel RECON Access
Improved throughput with many IMS instances
72
Notes:
This summarizes the DBRC enhancements in IMS V10.
73
Notes:
Uempty
IMS V10 IMS Version 10
74
Notes:
IMS V8 RECONs may be upgraded directly to IMS V10. Similarly, IMS V9 RECONs may
be upgraded to IMS V10. There is no support to upgrade RECONs from previous releases
directly to IMS V10.
PK06145 is an IMS V8 SPE (Small Programming Enhancement) APAR. It allows IMS V8
to use RECONs which have been upgraded to IMS V10.
PK06147 is an IMS V9 SPE APAR. It allows IMS V9 to use RECONs which have been
upgraded to IMS V10.
These APARs should be applied to IMS V8 or IMS V9 before its RECONs are upgraded to
IMS V10.
RECON Upgrade
z CHANGE.RECON UPGRADE
Using IMS V10 DBRC Utility (DSPURX00)
May be executed while subsystems are running
Upgrade fails if there is subsystem record for an IMS V8 or V9 subsystem
without the DBRC coexistence DBRC SPE
• Some utilities do not create subsystem records
- They are not protected by the check for subsystem records
- If they are running without the SPE, unpredictable results may occur
- Examples: Change Accumulation, Log Archive, DSPURX00, HALDB
Partition Definition Utility, V9 DBRC API applications
75
Notes:
RECONs are upgraded to IMS V10 by using the DBRC CHANGE.RECON UPGRADE
command with the IMS V10 DBRC utility (DSPURX00).
The upgrade may be run while the RECONs are allocated to and being used by IMS V8 or
IMS V9, Of course, these systems must be able to use IMS V10 RECONs. The upgrade
checks the RECONs to ensure that any subsystems using the RECONs are capable of
using IMS V10 RECONs. It does this by examining the SUBSYS records in the RECONs.
Some IMS utilities do not create SUBSYS records. Thus, the upgrade cannot determine if
they are running. Users must ensure that any IMS utility which is running at the time of the
upgrade has the appropriate maintenance (PK06145 or PK06147) which allows it to read
IMS V10 RECONs.
Uempty
IMS V10 IMS Version 10
RECON Listings
z "COEXISTENCE LEVEL" added to subsystem record listing
Added by V10 and V10 coexistence SPE for V9 and V8
May be used to determine if subsystems would cause an upgrade failure
SSYS
SSID=IMS1 LOG START=06.137 17:25:44.2
SSTYPE=ONLINE ABNORMAL TERM=OFF RECOVERY STARTED=NO BACKUP=N
TRACKED=NO TRACKER TERM=OFF SHARING COVERED DBS=NO
IRLMID=**NULL** IRLM STATUS=NORMAL GSGNAME=**NULL**
COEXISTENCE LEVEL=10.1
In this example the subsystem is at 9.1 but has the 10.1 coexistence
maintenance applied
76
Notes:
IMS V10 has added the coexistence level to the RECON listing of subsystem records. This
has also been added to IMS V8 and V9 by the IMS V10 coexistence SPEs for these
releases. The VERSION= field has existed in previous releases. It indicates the IMS
release level of the subsystem. The COEXISTENCE LEVEL= field indicates if the
coexistence maintenance for a later release has been applied. In this example, the IMS
V10 DBRC coexistence maintenance has been applied to the IMS V9 system used by this
subsystem. This listing could have been produced by an IMS V9 DBRC utility with the IMS
V10 coexistence SPE applied or it could have been produced by the IMS V10 DBRC utility.
RECON Upgrade
z Upgrade from IMS V8 or V9 to IMS V10
Reads SSYS records to check for DBRC SPE
Updates RECON header record
Sets version indicator, sets MINVERS value, resets CDSLID value, sets
ACCESS to SERIAL, and sets LIST to STATIC
Updates RECON header extension record
Sets version indicator, moves PLEXNAME, and adds GROUPID
Updates Image Copy records
IC type field expanded and moved
Updates Subsystem records
API flag added
Quick!
77
Notes:
The upgrade of the RECONs includes the reading of the subsystem (SSYS) records to
ensure that these subsystems are running with the DBRC coexistence SPE. If not, the
subsystem could not use the RECONs and the upgrade fails.
The upgrade changes a few records in the RECONs. The header and header extension
records are changed to include the correct version indicator and to values for the
parameters shown. The Cross DBRC Service Level ID (CDSLID) is set to the higher of the
value in the RECONs before the upgrade and "1". The Image Copy records are rewritten
to accommodate the larger IC type field. This field was expanded to include new image
copy types for FlashCopy and fuzzy user image copies. The subsystem records are
rewritten to accommodate the DBRC API flag for subsystems using the DBRC API.
Since only a few records are updated, a typical upgrade will be quick.
Uempty
IMS V10 IMS Version 10
MINVERS
z IMS V10 MINVERS valid values
'8.1', '9.1', and '10.1'
z Upgrade of RECONs
MINVERS('7.1') changed to MINVERS('8.1')
MINVERS('8.1') remains MINVERS('8.1')
MINVERS('9.1') remains MINVERS('9.1')
78
Notes:
MINVERS is the parameter on the INIT.RECON and CHANGE.RECON commands which
controls the minimum level of IMS which may use the RECONs. The minimum level of IMS
which can use V10 RECONs is V8. If the previous MINVERS value was for '7.1', it is
changed to '8.1' by the upgrade. Otherwise, upgrades do not change the MINVERS value.
MINVERS values of 81 and 91 (specified without the decimal point or the single quotes)
are accepted by IMS V10 for compatibility, however, using the single quotes and the
decimal point are required for specifying V10 ('10.1') and recommended for specifying V8
('8.1') and V9 ('9.1').
Notes:
The IMSplex name is optional. It is required for Automatic RECON Loss Notification and
Parallel RECON Access. The IMSplex name is specified with up to 5 characters. It is
specified either in the IMSPLEX= execution parameter or by the DBRC SCI Registration
exit routine. When first specified, it is stored in the RECONs. IMS V8 and V9 store the
IMSplex name as 'CSLxxxxx' where 'xxxxx' is the value specified in the IMSPLEX=
parameter or in the exit routine. When the RECONs are upgraded to V10, the value stored
is 'xxxxxyyy' where 'yyy' is the DBRC Group ID. The upgrade sets the DBRC Group ID to
'001' which is the default value.
IMS V8, V9, and V10 list only the 5 characters of the IMSplex name in listings of the
RECON header. These listing include a line with IMSPLEX=xxxxx when an IMSplex name
has been stored in the RECONs. If there is no value stored, the line includes
IMSPLEX=**NONE**. IMS V10 listings also include the DBRC Group ID on this line. If
there is no IMSplex name the Group ID is listed as GROUP=**NONE**. If there is an
IMSplex name, the Group ID is listed as GROUP=yyy where yyy is the Group ID.
Uempty
IMS V10 IMS Version 10
Notes:
The DBRC SCI Registration exit routine (DSPSCIX0) may be used to specify the IMSplex
name, as in previous releases, and the new DBRC Group ID. The use of the exit routine is
recommended for users of IMSplex. It removes the requirement to specify IMSPLEX= for
the execution of all IMS jobs which use DBRC. This includes batch jobs and utilities. With
IMS V10 the exit also may specify the DBRC Sharing Group ID. This removes the
requirement to specify DBRCGRP= for IMS executions.
IMS V8 and V9 systems can tolerate the specification of the DBRC Group ID in the
RECONs. DBRCGRP= is not a valid parameter on the EXEC statement for V8 and V9.
When the exit routine is invoked in a V8 or V9 environment, the DBRC Group ID is not
passed to it. The exit routine cannot specify the DBRC Group ID. Even though a V8 or V9
instance cannot specify the DBRC Group ID, it can join an IMSplex where V10 instances
are using DBRC Group IDs. The V8 or V9 instance will be passed all ARLN notifications
from the IMSplex group. If a V8 or V9 system reconfigures its RECONs, its ARLN
notification will be processed by all members of the IMSplex. This will include all V10
systems. If there are multiple DBRC Groups, all members of all groups will process the
notification. For these reasons, you should not use multiple DBRC Group IDs in an
IMSplex while you are still using IMS V8 or V9 systems.
Uempty
IMS V10 IMS Version 10
RECON Listings
z Version 10 adds information to RECON status listing
RECON
RECOVERY CONTROL DATA SET, IMS V10R1
DMB#=231 INIT TOKEN=06082F0536577F
NOFORCER LOG DSN CHECK=CHECK44 STARTNEW=NO
TAPE UNIT=3480 DASD UNIT=SYSDA TRACEOFF SSID=**NULL**
LIST DLOG=NO CA/IC/LOG DATA SETS CATALOGED=NO
MINIMUM VERSION = 8.1 CROSS DBRC SERVICE LEVEL ID= 00001
REORG NUMBER VERIFICATION=NO
LOG RETENTION PERIOD=00.001 00:00:00.0
COMMAND AUTH=NONE HLQ=**NULL**
ACCESS=SERIAL LIST=STATIC
SIZALERT DSNUM=15 VOLNUM=16 PERCENT= 95
LOGALERT DSNUM=3 VOLNUM=16
TIMEZIN = %SYS
Notes:
The RECON status or header listing has some added and changed information.
Of course, the IMS version is listed as "V10R1". This means that the RECONs have been
upgraded to IMS V10.
There is a new line which lists the type of RECON access, either SERIAL or PARALLEL.
On the same line the default for the DBRC LIST command, either STATIC or CONCURR, is
shown.
On the line where the IMSPLEX value is shown, the DBRC Group ID value is also shown.
In this example, these parameters have no values so "** NONE **" is listed.
The sample listing shown here includes the "CROSS DBRC SERVICE LEVEL ID". This
also appears on IMS V9 RECON listings when the maintenance for APARs PQ98655 and
PK01097 is applied and on IMS V8 RECON listings when the maintenance for APARs
PQ98654 and PK01096 is applied. The service level ID is used to invoke functions which
require a consistent level of maintenance on all IMS systems using the RECONs.
82
Notes:
This shows the DBRC steps for migration to IMS V10.
The first set of steps allows you to begin using IMS V10. The migration/coexistence SPE
must be installed on the old release before you upgrade the RECONs to V10. The V10
DBRC Type 4 SVC must be installed before you may use IMS V10. The upgrade of the
RECONs to IMS V10 requires that you use the SDFSRESL library created by the
installation of IMS V10. The upgrade using this library will be to the IMS V10 format. Once
the RECONs have been upgraded, you may begin using IMS V10. You may also continue
to use IMS V8 or V9.
Once you have discontinued all use of IMS V8 and V9, you can change the MINVERS
value to '10.1'. This causes IMS to begin using the increased precision timestamp. Before
changing MINVERS to '10.1', you must ensure that the IMS utility control statements that
you use specify full precision in their timestamps. The control statements generated by
GENJCL statements will always generate control statements with the correct timestamps.
Remember that the position of the timestamp in the control statements for the IMS V10
Change Accumulation and Database Recovery utilities does not depend on the MINVERS
Uempty value, however, if MINVERS is not '10.1' the low order part of the timestamp does not
matter since these positions in timestamps are not recorded in the RECONs unless
MINVERS('10.1') is specified.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Uempty
IMS V10 IMS Version 10
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Packaging
z IMS V10 product number: 5635-A01
FMID Feature Description
HMK1010 System Services
JMK1011 Database Manager
JMK1012 Transaction Manager
JMK1013 Extended Terminal Option (ETO)
JMK1014 Recovery Level Tracking (RSR)
JMK1015 Database Level Tracking (RSR)
JMK1016 IMS Java
HIR2220 IRLM 2.2
Notes:
IMS V10 packaging is the same as that for IMS V9. Transaction Manager is a prerequisite
for ETO. Recovery Level Tracking RSR is a prerequisite for Database Level Tracking RSR.
IRLM 2.2 is the only IRLM shipped and supported with IMS V10.
Uempty
IMS V10 IMS Version 10
Software Prerequisites
z Minimum software level prerequisites
z/OS V1R7 (5694-A01)
RACF, or equivalent, if security is used
High Level Assembler Toolkit (5696-234)
IRLM 2.2, if IRLM is used
z Minimum software levels for optional functions:
IMS V10 Image Copy 2 and Database Recovery fast replication
z/OS V1R8
DBRC Parallel RECON Access
z/OS DFSMStvs, a separately orderable feature of z/OS
Enterprise Workload Manager
z/OS 1.8 or z/OS 1.7 with PTF OA12935
See the IMS V10 Release Planning Guide for additional requirements with
IMS V10 functions
5
Notes:
The minimum level of z/OS for IMS V10 is z/OS V1R7. In addition to z/OS the user must
install RACF, or an equivalent security product, in order to use security with IMS V10. As
with previous IMS releases, the High Level Assembler Toolkit is required to provide
assembler macros that IMS uses. If the IRLM is used, IRLM 2.2 is required. Program
Isolation (PI) is also supported with IMS V10. IRLM is required for block level data sharing.
z/OS V1.7 runs on the following IBM System z9 and zSeries servers or equivalents:
z9-109, z900, z990 , z800, and z890 .
z/OS V1R8 is required if the fast replication function of Image Copy 2 and the Database
Recovery utility are used.
DBRC Parallel RECON Access requires z/OS DFSMStvs which is a separately orderable
feature of z/OS V1R7 or z/OS V1R8. Special bids will be considered for IMS customers
using the Parallel RECON Access function, who do not already have DFSMStvs, to acquire
DFSMStvs for use restricted to IMS.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
DFSMS APAR OA11468/PTF UA18949 is a prerequisite for Fast Path customers running
at z/OS 1.7 or above.
EWLM support is available in z/OS 1.8 or via APAR OA12935 for z/OS 1.7. For both
releases of z/OS the EWLM, Virtualization Engine, and Java SDK FMIDs must be installed
in the z/OS system.
The IMS V10 Release Planning Guide has additional information about requirements when
using particular functions in IMS V10.
Uempty
IMS V10 IMS Version 10
Supported Connections
z ISC, MSC, Shared queues are all supported with
IMS V10, V9, and V8
IRLM 2.2 with IMS V10 may connect to IRLM 2.1 with IMS V9 or V8
Notes:
All currently supported releases of IMS and CICS are supported for ISC connectivity to IMS
V10.
All currently supported releases of IMS are supported for MSC connectivity to IMS V10.
All currently supported releases of IMS are supported for shared queues with IMS V10
Transaction Manager.
All currently supported releases of DB2 on z/OS are supported for connections from IMS
V10.
All currently supported releases of CICS are supported for DBCTL connectivity to IMS V10.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
IMS V8 and V9 RECONs may be upgraded to IMS V10 by executing the DBRC utility
(DSPURX00) and using the CHANGE.RECON UPGRADE command with an IMS V10
SDFSRESL library. Before doing the upgrade you should apply the Small Programming
Enhancement to your IMS V8 or V9 system. This allows the V8 or V9 systems to use the
RECONs after they have been upgraded to V10.
SPE PK06145 for IMS V8 also supplies compatibility support that allows IMS V10 to invoke
HALDB Online Reorganizations (OLR) for partitions that are accessed by IMS V8. IMS V8
cannot invoke HALDB OLR, but when this maintenance is applied it may access partitions
for which OLR is used.
Other Coexistence Maintenance:
• Global Online Change Coexistence APARs
V8 - PK23401; V9 - PK23402
Uempty The Global Online Change coexistence SPEs allow lower level IMS systems to
share an OLCSTAT data set with IMS V10. IMS V10 makes changes to the header
record. The SPEs allow IMS V8 and V9 to implement and tolerate these changes.
• System Management Enhancement Coexistence SPEs
V8 - PK30188; V9 - PK30189
The System Management Enhancement coexistence SPEs allow lower level IMS
systems to coexist with IMS V10. Lower level IMS systems which process
transaction submitted from the OM API will receive an AD status code if they reply to
the IOPCB.
• Resource Consistency Checking Coexistence SPEs
V8 - PK32969; V9 - PK32970
Resource Consistency Checking is not done in IMS V10
IMS V10 does not support the resource consistency checking function of the
Resource Manager. The Resource Consistency Checking SPEs allow lower level
IMS systems to use this function among themselves while in an IMSplex with IMS
V10 systems. The elimination of resource consistency checking is explained later in
this section of the class.
• Operations Management Coexistence SPEs
V8 - PK27279; V9 - PK27280
The Operations Management coexistence SPEs allow OM address spaces and
IMSs at lower level of IMS to coexist in a CSL environment with IMS V10 OM.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The Batch Backout, Log Archive, and Log Recovery utilities access one log. The release
level of the utility must match the IMS release that was used to create the log.
The IMS V10 Database Recovery utility (DFSURDB0) accepts Image Copies, HISAM
Unload data sets, Change Accumulation data sets, and IMS logs as inputs. These inputs
may be created by any currently supported release of IMS.
The Change Accumulation utility accepts IMS logs and Change Accumulation data sets as
inputs. These inputs may be created by any currently supported release of IMS.
Uempty
IMS V10 IMS Version 10
Notes:
Resource consistency checking for global online change is not done by IMS V10. This
function was available in IMS V8 and V9. It checks to ensure that the data set names used
for the active ACBLIB, FORMAT, MODBLKS, and MATRIX data sets are the same for all of
the IMS systems. It is only done when global online change is be used (OLC=GLOBAL is
specified in the DFSCGxxx member) and an RM structure is used. It can be disabled in V8
and V9 by specifying values for the NORSCCC= parameter in the DFSCGxxx member.
Users were likely to disable resource consistency checking since the use of resource
consistency checking created a single point of failure. For example, the loss of the ACBLIB
data set would effect all systems since all would be using the same data set.
IMS V10 does not do resource consistency checking. The NORSCCC= parameter in the
DFSCGxxx member may be specified for compatibility, but it is ignored by V10.
If your IMSplex has a mixture of IMS V10 and V9 or V8 systems, resource consistency
checking will apply only to the V8 and V9 systems. When resource consistency checking is
used, only the V8 and V9 systems must use the same data set(s). The Resource
Consistency Checking SPEs, PK32969 for V8 and PK32970 for V9, must be applied for the
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
IMS V8 or V9 systems to use resource consistency checking when an IMS V10 system is
part of the IMSplex.
Uempty
IMS V10 IMS Version 10
z Migration steps
Upgrade the RSR tracking system RECONs to V10
Migrate RSR tracking system to V10
Upgrade the active system RECONs to V10
Migrate active system Transport Manager Subsystem (TMS) running
Isolated Log Sender to V10
Migrate active IMS to V10
10
Notes:
The migration of systems using RSR is similar to migrations for previous releases. IMS
V10 tracking systems can process logs produced by lower releases. The IMS V10 Isolated
Log Sender (ILS) function of the Transport Manager System (TMS) can process logs
created by lower releases. On the other hand, IMS V8 and V9 tracking systems cannot
accept logs produced by IMS V10 and the IMS V8 and V9 ILSs cannot accept logs
produced by IMS V10. Of course, you could migrate all of the RSR components at the
same time. You would more likely prefer to migrate them in stages. The restrictions
mentioned above imply that the order of migration of the components is as shown on the
slide. The tracking system must be migrated before or at the same time as the ILS at the
active site. The ILS at the active site must be migrated before or at the same time as the
active IMS system. The RECONs must be upgraded to IMS V10 before the systems that
use them are migrated to IMS V10.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Log Records
z Some log records have changed
z New log records have been added
z DSECTS for IMS log records may be generated by assembling:
ILOGREC RECID=ALL
11
Notes:
Among the log records which have been changed for IMS V10 are the following types:
07, 08, 22, 4001, 4004, 4006, 4007, 4012, 4083, 45, 56FA, 5950, 5951, 5953, 5954,
5955, 5956, 5957, 5958, 56FA, and 7205.
This is NOT an exhaustive list of changed log records.
If you have application programs which process IMS log records, you should examine to
see if they are affected by the changes to the log records. You can assemble DSECTs for
IMS log records by using the ILOGREC macro.
Uempty
IMS V10 IMS Version 10
12
Notes:
There are APARs for IMS V9 and V8 to support fallback from IMS V10 to these releases.
The fixes for these APARs are needed if messages created under IMS V10 need to be
requeued to an IMS V9 or V8 system after a fallback to these releases. These fixes are not
required to take messages from an IMS V8 or V9 system and requeue them on an IMS V10
system.
QCF 2.1 requires the fix for APAR P28050 for IMS V10 support.
There are APARs for IMS V9 and V8 to support fallback from IMS V10 using the IMS
Queue Control Facility (QCF). The fixes for these APARs are needed if messages created
under IMS V10 need to be requeued to an IMS V9 or V8 system after a fallback to these
releases. These fixes are not required to take messages from an IMS V8 or V9 system and
requeue them on an IMS V10 system.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
13
Notes:
Uempty
IMS V10 IMS Version 10
IMS Library
z Information Center contains information on IMS V10
14
Notes:
The Information Center has been updated to include information on IMS V10. The topics
on the left side of the screen map to the titles of the IMS V10 manuals.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The following table summarizes the source of the content of these IMS V10 manuals.
Uempty
IMS V10 IMS Version 10
16
Notes:
The following table summarizes the source of the content of these IMS V10 manuals.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
17
Notes:
The following table summarizes the source of the content of these IMS V10 manuals.
Uempty
IMS V10 IMS Version 10
18
Notes:
The following table summarizes the source of the content of these IMS V10 manuals.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The following table summarizes the source of the content of these IMS V10 manuals.
Uempty
IMS V10 IMS Version 10
IVP Enhancements
20
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Highlights
z IVP enhancements for existing functions
Support of RACF implementation and SMU removal
IMS Java sample application
IMS Connect sample application
z IVP support for new functions
Operations Manager (OM) Subscribe/Unsubscribe sample
Dynamic Resource Definition User Interface (DRD UI)
z Continues to be invoked as in previous releases
ISPF Option 6
EXEC ‘hlq.SDFSCLST(DFSIXC01)’ ‘HLQ(imshlq)’
Where imshlq is the High Level Qualifier of the IMS data sets
IMS Application Menu
21
Notes:
The IMS V10 Installation Verification Program provides new sample applications and
examples to clarify existing functionality in IMS. Additionally, the IVP includes support for
new functions that are introduced in IMS V10.
Uempty
IMS V10 IMS Version 10
Help____________________________________________
IVP Sub-Option/Security Selection - DBT IMS 10.1
Command ====>
22
Notes:
A new RACF Security section is added to the Sub-options panel which requires the user to
specify whether or not RACF Security is to be used.
The default is not to use this sub-option (no slash).
If the sub-option is selected, the IVP builds the necessary jobs and tasks to define
resources to RACF and to set up the use of several IMS security user exit routines. The
user can modify the sample RACF resource definition task. The sample user exit routines
always authorize the user to the resources. This sub-option is not available for DB batch.
New IVP steps that implement RACF security:
• IV_D218T which includes actions that replace the IV_E316J actions in previous
releases. The new step establishes IMS Security and provides an example of defining
the IVP security definitions to RACF.
• IV_C105J which provides a new step to replace the IV_E315J actions in previous
releases. The new step assembles and binds the RACF security exits in
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Uempty
IMS V10 IMS Version 10
Help____________________________________________
Adds necessary jobs and tasks for the IMS JDBC application sample
The Java sub-option is not available for DB batch or DCCTL environments
23
Notes:
A new Java section is added to the Sub-options panel. If the sub-option is selected, the IVP
adds the necessary jobs and tasks for the IMS JDBC application execution.
The Java Sample verifies that a Java workload can be run in an IMS Java Dependent
Region environment. The changes in the IVP that support this capability are included in the
"C", "E", "G", and "H" steps.
The IVP provides the steps that:
• Add new database, application, and transaction definition statements to the IVP stage 1
source input.
• Add control statement members to the IMS.PROCLIB for Java virtual machine (JVM)
initialization.
• Allocate the data set for the auto dealership database.
• Start an IMS control region.
• Start a JMP dependent region.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-27
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Uempty
IMS V10 IMS Version 10
24
Notes:
Several new IVP variables have also been added to support the Java sample:
• IXUJPATH - specifies the path name of the absolute Java libraries. The default value is
/usr/lpp/ims/imsjava10. This substitutes a value for string “ImsjavaPath” in the IMS
DFSJVMMS and DFSJVMEV proclib members.
• IXUSPATH - specifies the path name of the sample Java libraries. The default value is
/usr/lpp/ims/imsjava10. This substitutes a value for string “SamplesPath” in the IMS
DFSJVMMS and DFSJVMEV proclib members.
• IXUJHOME - specifies the path name of the Java installation libraries. The default value
is /usr/lpp/java150/J1.5/bin. This substitutes a value for string “JavaHome” in the IMS
DFSJVMMS and DFSJVMEV proclib members.
• IXUJOUT - specifies the path name of the HFS file for the output data. The default value
is /tmp
• IXUJERR - specifies the path name of the HFS file for the error data. The default value
is /tmp
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-29
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
To support the IVP, new DBD and PSB sources have been added into the IMS.SDFSISRC
library.
Uempty
IMS V10 IMS Version 10
Help____________________________________________
Command ====>
25
Notes:
A new IMS Connect section is added to the Sub-options panel. The default is not to use
this sub-option (no slash). It is available for DB/DC and XRF environments. If this
sub-option is selected, the IVP adds the necessary jobs and tasks for IMS Connect
application execution
DFSIHWS1 is an assembler language IMS Connect application program that sends the
PART transaction to IMS Connect and receives a response.
The IVP provides the steps that:
• Assemble and bind the sample application program and user exits.
• Add a configuration member in the PROCLIB data set to define the IMS Connect
environment.
• Allocate the Recorder data set HWSRCDR for output data capture.
• Start an IMS control region with OTMA enabled.
• Start the IMS Connect address space.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-31
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
• Send a transaction message to IMS via IMS Connect and receive a response.
Uempty
IMS V10 IMS Version 10
26
Notes:
To support the IMS Connect IVP, a new IVP variable and a new member in IMS.SDFSISRC
have been added.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-33
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Add new parameter AUDITLOG= Audit Trail log data set name in the OM
PROCLIB member CSLOI000 - step E303J
Add CFRM and LOGR policy definitions for the new Audit Trail log data set -
step E307T
27
Notes:
IMS V10 provides a TSO SPOC sample to view all messages and displays information
from the audit trail.
The changes are delivered as enhancements to the CSL “E” steps of the IVP jobs and
tasks.
Uempty
IMS V10 IMS Version 10
Manage Resources
z Dynamic Resource Definition is a new capability in IMS 10
Manage Resources is a general purpose interface that can be used to issue
various resource definition and operational commands
28
Notes:
Manage Resources is a new capability in IMS 10. The IVP provides samples, using
Manage Resources, that update both a program and a transaction.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-35
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
DRD Example
Help____________________________________________
Command ====>
29
Notes:
A new panel provides the user with options on actions that can be performed against
resources. In this example a request is made to update a resource by entering option 4.
Uempty
IMS V10 IMS Version 10
DRD Example …
Select a resource type. To base the resource on a model, specify model info
Press enter to continue.
30
Notes:
The next panel that displays is the panel that allows a user to select which resource is to be
updated. The example on this visual shows a request to update a transaction.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-37
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
DRD Example …
File Action Manage Resources SPOC View Options Help
----------------------------------------------------------------
Plex1 IMS Update a Transaction
Command ====>___________________________________________________
________________________________________________________________
--------------------Plex. .______ Route. .________ Wait. .______
START STOP
Enter “/” to select option Enter “/” to select option
_ Q Start queuing _ Q Stop queuing
_ SCHD Start scheduling _ SCHD Stop scheduling
_ SUSPEND Transfer to ready queue _ TRACE Stop trace
_ TRACE Start trace
SET
AOCMD AOI command option. . . . . . . . ____ Yes,No,Tran
CLASS Set to class. . . . . . . . . . . ____ 1-999
CMTMODE Commit mode . . . . . . . . . . . __________ Single, Multiple
CONV Conversational. . . . . . . . . . ____ Yes, No
DCLWA Log Write-Ahead option. . . . . . ____ Yes, No
DEFAULT Default - descriptor only . . . . ____ Yes, No
31
Notes:
The previous request results in the panel that defines the parameter values applicable to a
transaction. The user can now provide the desired changes.
Uempty
IMS V10 IMS Version 10
Miscellaneous
z Support for IXUUPROC variable as optional rather than required
User JES2 PROCLIB ddname or JES3 DDNAME suffix
If not specified, /*JOBPARM or //*MAIN statement not generated
JCLLIB ORDER statement can be used to specify PROCLIB
z New option to access the IVP Variable Export Utility from IVP panel
Help____________________________________________
Select the desired Phase and position option and press ENTER
32
Notes:
The IVP variable IXUUPROC (User JES2 PROCLIB DDNAME or JES3 DDNAME suffix)
was a required value in prior releases of IMS. In the IMS V10 IVP, it is made optional. If the
variable is not specified, the JES2 “/*JOBPARM PROCLIB=xxxxxxxx” JCL statement or
the JES3 “//*MAIN PROC=xx” is not generated in the JCL. This allows the user to specify
the JES PROCLIBs using the JCLLIB ORDER statement in one of the JESx variables
IXUJESC1 to IXUJESC5.
The Variable Export Utility can be directly accessed as an option from the IVP Phase
Selection panel.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-39
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Miscellaneous …
z More useful MFS device definition
Default of DEV TYPE=(3270,2),FEAT=IGNORE
Rather than DEV TYPE=3270-A02,FEAT=IGNORE
33
Notes:
The IMS IVP job IV_E204J has been changed to provide a DEV statement default of 'DEV
TYPE=(3270,2),FEAT=IGNORE' rather than 'DEV TYPE=3270-A02,FEAT=IGNORE'. This
is used for all terminals defined to IMS with 'DEV TYPE=3270-An' and SIZE=(x,80) where x
is greater than or equal to 24 (in addition to using it for terminals specifically defined as
'DEV TYPE=(3270,2)'. The change makes the IVP easier to use for many customers
because it eliminates the need to have to edit the MFS source to match their systems.
The hard coded unit type SYSDA is changed to SYSALLDA in all the IVP JCL. SYSDA is
not a required unit type. SYSALLDA is a required unit type.
Uempty
IMS V10 IMS Version 10
Benefits
z The IVP tasks
34
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-41
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
35
Notes:
Uempty
IMS V10 IMS Version 10
Highlights
36
Notes:
The Syntax Checker is an IMS capability that can define, verify and validate the parameters
and their values in the members of IMS.PROCLIB. IMS V10 provides several
enhancements to the Syntax Checker as listed on this visual.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-43
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Invocation
z IMS 10 Syntax Checker
Continues to be invoked as in previous releases
ISPF Option 6
EXEC ‘hlq.SDFSEXEC(DFSSCSRT)’ ‘HLQ(hlq)’
Where hlq is the High Level Qualifier of the IMS data sets
Coexists on the same z/OS along with previous releases of IMS
Can be used to check parameters in IMS 10 and previous IMS releases
IMS 10
IMS V9 Syntax
IMS V10
PROCLIB Checker
PROCLIB
members members
37
Notes:
The invocation of the Syntax Checker in IMS V10 is no different than in previous releases.
It is a stand alone, offline product that can coexist on the same z/OS environment as
previous releases of IMS. When used to check parameters of previous releases, make
sure that the release number shown is correct.
Uempty
IMS V10 IMS Version 10
z To facilitate migration to IMS V10, the Syntax Checker adds support for
many of the same members in IMS V8 and IMS V9
38
Notes:
In IMS V10, the Syntax Checker continues to support the following members: DFSPBxxx,
DFSDCxxx and the DFSSQxxx. In addition, support for 10 other members of
IMS.PROCLIB has been added:
DFSDFxxx - Dynamic Resource Definition, Common Service Layer, Shared Queues, and
Diagnostics and Statistics parameters. (Support for V10 only)
DFSCGxxx - Common Service Layer Parameters
CSLOIxxx - OM Initialization Parameters
CSLRIxxx - RM Initialization Parameters
CSLSIxxx - SCI Initialization Parameters
CQSIPxxx - CQS Initialization Parameters
CQSSLxxx - CQS Local Structure Definition Proclib Member
CQSSGxxx - CQS Global Structure Definition Proclib Member
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-45
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
IMS Connect Configuration Member. (Note: These members do not have a specific
member name prefix. The user can select any name. Support for V9 and V10 only).
BPE User Exit List member (Note: These members do not have a specific member name
prefix. The user can select any name).
To facilitate migration to IMS V10, the Syntax Checker’s support for the currently processed
members, DFSPBxxx, DFSDCxxx and the DFSSQxxx includes any new parameters in V8
and V9 that have been added since GA of those releases. Support of IMS V7 PROCLIB
members is dropped. Syntax Checker only supports the three latest releases of IMS.
Uempty
IMS V10 IMS Version 10
39
Notes:
IMS V10 introduces a new member in IMS.PROCLIB. DFSDFxxx supports the parameters
for Dynamic Resource Definition, Common Service Layer, Shared Queues, and
Diagnostics and Statistics . The Syntax Checker recognizes these parameters and
provides validation support.
Note that the DFSDFxxx member is new to IMS V10. Additionally, the IMS Connect
configuration member and BPE user exit list member all have names that can be tailored to
the user environment. As a result, the names are not specifically listed here but can be
defined to the Syntax Checker during execution.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-47
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Example
*-----------------------------------------------------------------*
* IMS COMMON SERVICE LAYER PROCLIB MEMBER *
*
*-----------------------------------------------------------------*
CMDSEC=N, /* NO CMD AUTHORIZATION CHECKING */
40
Notes:
The IMS V10 Syntax Checker recognizes comments in several of the members of Proclib.
Comments can be in two forms:
• When an “*” is encountered in column 1, the entire line is considered a comment. A
member can have multiple consecutive comment lines.
• On the same line as a a parameter, the text between a paired “/*” and “*/” is
considered a comment.
Uempty
IMS V10 IMS Version 10
41
Notes:
The panel for the Shared Queues member, DFSSQxxx, now supports the addition of
comments. Note that this is added only for IMS V10 and does not affect IMS V8 or IMS V9.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-49
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Contract mode
• Displays keyword values on one line followed by “…”
IMSPLEX ( NAME = PLEX1, RSRCSTRUCTURE ( STRNAME = …
Expand mode
• Displays keyword values on multiple lines for easier viewing
IMSPLEX (
NAME = PLEX1,
RSRCSTRUCTURE (
STRNAME = RSRC1 ) )
42
Notes:
To facilitate viewing keyword values when sub-keywords and sub-keyword lists are
available, two modes are provided.
The Contract mode displays the keyword values on one line. If the values associated with
the keyword extend beyond the line, they are not shown but a “…” is displayed to give the
viewer an indication that there is more to the keyword that is not displayed.
The Expand mode uses multiple lines, and as many as are needed, to display all the
keywords, sub-keywords and sub-keyword lists that are part of the definition.
Uempty
IMS V10 IMS Version 10
z Insert
43
Notes:
The “Sel” field in the Parameters panel provides new options to invoke the Expand and
Contract modes:
• The “Expand” “Sel” option, “+” (plus), displays the keyword on multiple lines. As
described on previous visuals, when a keyword is expanded, the sub-parameters are
displayed in a predefined order.
• The “Contract” “Sel” option, “-” (minus sign), displays the keywords on one line. As
much of the keyword as will fit on one line is displayed followed by “...”.
The options are not available for all members or keywords.
The “Sel” field also provides the option to Insert a new keyword. When selected, a pop-up
window of available keywords is displayed to allow the user to choose the desired keyword.
• I (Insert) adds a new keyword to the display. Note that insertion of a comment requires
the use of Sel code “C”.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-51
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
44
Notes:
New “Pull Down” options are displayed when View is selected from the top of the screen.
The Expand All and Contract ALL options are new.
Uempty
IMS V10 IMS Version 10
45
Notes:
Two of the new PROCLIB member names that can be processed by the Syntax Checker
do not have required names or prefixes. They are defined by the user requesting the
function and then specified as part of the startup procedure. These members include the
BPE Exit List Member and the IMS Connect Configuration Member.
When the Syntax Checker detects an unknown member name, a new Member Selection
list is displayed to assist in the identification of the member.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-53
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
File Help
46
Notes:
This visual shows the panel that is displayed to assist the user in identifying the member
type.
Uempty
IMS V10 IMS Version 10
Benefits
z IMS V10 Syntax Checker
Assists with IMS release to release migrations when converting PROCLIB
members
Provides the ability to define, verify and validate parameters
Supports new parameters
Supports 13 members of IMS.PROCLIB
47
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-55
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
KBLA Coexistence
48
Notes:
Uempty
IMS V10 IMS Version 10
49
Notes:
IMS V9 introduced the ISPF menu-based utility, KBLA (Knowledge-Based Log Analysis),
for processing log records.
IMS V10 enhances this capability to support the log record changes introduced in this
release. Additionally, enhancements to support multiple concurrent releases of IMS ensure
that the correct log record DSECTs associated with an IMS release are used and that the
parameters which were defined for the prior release are not invalidated or superseded by
the installation of a new release.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-57
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Default Parameter Maintenance Panel (0.1) allows entry of four data sets
Entries specifying version 9 or version 10 can be selected for processing
• Every KBLA processing panel has a parameter where the user can specify the
desired IMS level
50
Notes:
Users specify the appropriate SDFSRESL library for an IMS version in the “Default
Parameter Maintenance” panel (Option 0.1). An audit in KBLA restricts the specifiable
version number to either 9 or 10. Different SDFSRESL libraries for a version can be
specified such as 9, 91, 10, 101, etc. KBLA attempts to find the best match of the IMS
version specified on a processing panel to the SDFSRESL data set supplied on the Option
0.1 panel.
Uempty
IMS V10 IMS Version 10
51
Notes:
With IMS V9, if a value was not specified for the 'KBLA Loadlib‘ parameter in the KBLA
ISPF Option 0.1 panel (“IMS K.B.L.A - Define KBLA Environment), KBLA defaulted to the
specification associated with IMS V9 resource library. KBLA always included this data set
as the first DSN in the JOBLIB DD concatenation sequence.
V10 renames the variable from “KBLA Loadlib” which previously implied that a value was
required, to “KBLA Test Loadlib” which is intended to imply that a value is optional and
perhaps only used for testing purposes. If specified, the associated data set will be
included as the first DSN in the JOBLIB concatenation sequence.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-59
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Automatically invoked only on initial entry to the IMS V10 Level KBLA ISPF
environment after migration
Purpose
Ensures that the IMS V10 SDFSRESL data set is defined as a variable
for the KBLA ISPF environment
Establishes the environment
52
Notes:
In order to facilitate migration from prior IMS releases, a migration panel is provided. This
panel will automatically be invoked if the user has not explicitly supplied a V10 SDFSRESL,
which is identified as such on the Option 0.1 panel.
Existing IMS V9 KBLA users should note that their previous user-set parameter values are
retained during the migration and any new parameters that have been added to the IMS
V10 KBLA environment are implemented as ‘optional’ parameters.
Uempty
IMS V10 IMS Version 10
53
Notes:
If not specified, the V10 SDFSRESL name is set to hlq.SDFSRESL where hlq is the high
level qualifier for the environment.
Additionally, the panel automatically propagates the IMS V9 level “KBLA Loadlib” value into
“KBLA Test Loadlib”. The user can nullify or set the value to a different name. If the panel
determines that the ‘KBLA Loadlib’ data set is the same data set as the existing IMS V9
data set, this value will be removed. The panel will provide an opportunity to enter another
data set name as the ‘KBLA Loadlib’, or this variable may be left blank. When the JCL for
KBLA utilities is generated, the JOBLIB will contain only the SDFSRESL data set name for
the selected IMS version if the ‘KBLA Loadlib’ variable contains blanks.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-61
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
An Example - Migration …
z Migration Panel
TIME....15:17:05
DATE....2005/01/20
Supply the indicated values and press ENTER . JULIAN..2005.020
KBLA Loadlib . . . . . . .
(If the KBLA Loadlib DSN is the same as the SDFSRESL for IMS Version 9
it will be set to a null value)
54
Notes:
Uempty
IMS V10 IMS Version 10
Version 9 or Version 10
z Every KBLA processing panel has a parameter where the user can
specify the desired IMS level
z Benefits
Simplified migration of KBLA to IMS 10, and implementation of multiple
system support
Allows concurrent KBLA access for multiple IMS levels without any setup
reconfiguration
55
Notes:
KBLA uses the IMS version information on the processing panel to create the JCL
appropriate to the log data sets that are being processed.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-63
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
56
Notes:
Uempty
IMS V10 IMS Version 10
57
Notes:
This is an overview of the tasks for migration to IMS V10.
Remember that IMS V10 is the first release of IMS not to support BTAM or the Security
Management Utility (SMU). Their use should be discontinued before migrating to IMS V10.
As for all installations of new products the Preventive Service Planning (PSP) bucket and
the Program Directory for the product should be reviewed before beginning the migration.
The IMS V10 Installation Verification Guide has content similar to the Installation Volume 1:
Installation Verification manual for IMS V9. You should read this Guide before beginning
the migration process. Chapters 1, 2, and 3 and Appendix G should be reviewed for
installation information.
Other products may need to be upgraded for use with IMS V10. They could require
maintenance or new releases.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-65
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
58
Notes:
You should apply DBRC coexistence SPEs to your IMS V8 or V9 systems before upgrading
your RECONs to IMS V10. This is required for the IMS V8 or V9 systems to be able to use
the RECONs after the upgrade.
Similarly, you should apply the other coexistence SPEs to your lower level IMS systems.
The only user exit routine that must be updated for use with IMS V10 is the RECON I/O Exit
Routine (DSPCEXT0). If you use this routine, you should examine it for required changes
due to the change in RECON records.
CBPDO is Custom-Built Product Delivery Offering. The CBPDO product package consists
of one logical tape (multiple volumes). A CBPDO package that includes IMS can also
include other products in the same System Release (SREL). CBPDO also provides service
for the products included with the product order. The service includes all PTFs available
within one week of order fulfillment. All PTFs are identified by one or more SOURCEIDs,
including PUTyymm, RSUyymm, SMCREC, and SMCCOR.
Uempty ServerPac is an entitled software delivery package. It consists of products and service for
which IBM has performed the SMP/E installation steps and some of the post-SMP/E
installation steps. To install the package on your system and complete the installation of the
software it includes, use the CustomPac Installation Dialog, which is the same dialog used
for all CustomPac offerings, including SystemPac® (dump-by-data-set format),
ProductPac®, and RefreshPac. For IMS, ServerPac allocates, catalogs, and loads all the
data sets; sets up the SMP/E environment; supplies a job to update PARMLIB (IEFSSNxx,
PROGxx, IEASVCxx, and SCHEDxx) ; and directs you to start the IVP
Running the IVP is optional, but recommended. All required installations tasks are done
outside of the IVP. The IVP verifies that the installation is correct.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-67
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
59
Notes:
System definition is required as with previous IMS releases. Most system definition
statements from previous IMS releases are compatible with IMS V10. BTAM definitions are
no longer allowed.
System definition creates the Type 2 and Type 4 SVC modules which must be installed in
the z/OS system. A z/OS IPL is not required. They may be installed by running
DFSUSVC0 and specifying SVCTYPE=(2,4).
In IMS Versions 9 and 10 use a dynamic resource cleanup module (DFSMRC20). No user
setup is required; you do not need to install the static resource cleanup module
(DFSMRCL0) on the host z/OS system for IMS V9 or V10. IMS V8 uses the static resource
cleanup module (DFSMRCL0). Do not delete it from your z/OS system while there is still a
possibility that you will need to run IMS V8.
Upgrade the RECONs by using the CHANGE.RECON UPGRADE command using the IMS
V10 release of the DBRC utility.
An ACBGEN is required for use with the online system or any batch DBB jobs.
Uempty
IMS V10 IMS Version 10
60
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-69
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Migration Considerations
z This section repeats information previously covered in the class
These are changes that might affect your migration
Changed messages
Changed responses
Changed parameters
Changed control statements
…
61
Notes:
The following pages repeat information that appears elsewhere in this class. This is a
collection of information about migration that was previously presented in the class. The
information concerns changes in IMS V10 that might require adjustments when you
migrate without taking advantage of new optional capabilities.
Uempty
IMS V10 IMS Version 10
TERMINAL
- A severity code of 2 is issued to allow system definition to continue
Devices such as Spool, Reader, Printer, Punch, Tape and Disk are not
affected.
62
Notes:
Although IBM withdrew marketing and service of BTAM products several years ago, IMS
continued to support the BTAM macros through IMS V9. IMS V10 removes this support.
The following list shows the device types affected:
BTAM Device Type Comments or Other Specifications
----------------------------- --------------------------------------------------
1050 Switched Terminal
2740 Non-Station-Control
2740 Non-switched, model 1
2740 Non-switched, model 2
2740 Switched Terminal, model 1
2741 Non-switched
2741 Switched Terminal
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-71
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
2260 Local
2780
3270 Remote, Non-switched
3270 Local
3270 Switched Terminal
3275 Switched Terminal
3741 Switched Terminal
SYSTEM/3
SYSTEM/7 BSC, BSC and Contention
SYSTEM/7 Start/Stop, Start/Stop and Contention
Warning message G411 will be issued if the macro statement operand has an unsupported
BTAM terminal specification during the IMS STAGE 1 system definition process. In
addition, a severity code of 2 will be issued to allow system definition to continue. This
warning message and severity code will be documented in the IMS V10 Messages and
Codes manual.
Uempty
IMS V10 IMS Version 10
IMS-provided security
The Security Maintenance Utility
Application Group Name Exit Routine (DFSISIS0)
IMS.MATRIXx data sets
z Primary consideration
If migration from SMU to SAF/RACF has not already been done, migration
to IMS V10 will also need to include migration from SMU to SAF/RACF
63
Notes:
IMS V10 no longer supports the Security Maintenance Utility (SMU) capability. As a result,
SMU components have been removed including the SMU Utility, the AGN Exit Routine
(DFSISIS0) and the MATRIX data sets. Note that the IMS.MATRIXx data sets have been
deleted and removed from all IMS procedures and logic.
A primary consideration in this area includes migration. IMS systems that use SMU must
migrate to the SAF interface at the time that the upgrate to IMS V10 occurs.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-73
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
64
Notes:
Both IMS V8 and V9 provide migration paths to the use of SAF/RACF security. IMS V9
provides migration capabilities that are not available with IMS V8.
Uempty
IMS V10 IMS Version 10
65
Notes:
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-75
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Transaction Scheduling
z SCHD= parameter on system definition TRANSACT macro is ignored
z Only one scheduling option is used in IMS V10
SCHD=3 option is always used
When the transaction defined on the TRANSACT macro cannot be
scheduled for "internal reasons", any transaction in the selected class
may be scheduled. If no more transactions for this class exist, IMS
schedules transaction in next eligible class.
• "Internal reasons" are database intent or no more space in PSB pool or DMB
pool to bring in needed blocks
SCHD=1 was the default in previous releases
When the transaction defined on the TRANSACT macro cannot be
scheduled for internal reasons, only transaction of equal or higher priority
in the selected class may be scheduled. If five intent failures occur within
a class, transactions in the next class are attempted
66
Notes:
In previous release of IMS, the SCHD= parameter on the system definition TRANSACT
macro specified the scheduling option used when the transaction defined on the
TRANSACT macro could not be scheduled for internal reasons (database intent or no
more space in PSB pool or DMB pool to bring in needed blocks). IMS V10 always uses
the SCHD=3 option. The default in previous releases was SCHD=1.
SCHD=1 specified that only transactions of equal or higher priority in the selected class
would be scheduled. Five consecutive intent conflicts are allowed within a class before
IMS starts scheduling the next eligible class.
SCHD=3 specified that any transaction in the selected class could be scheduled. IMS
starts scheduling the next eligible class after attempting to schedule all the transactions
in the current class
Two other options were available in previous releases.
SCHD=2 specified that only higher-priority transactions in the selected class could be
scheduled.
Uempty SCHD=4 specified that IMS should skip to the next class and attempt to schedule the
highest-priority transaction in that class.
Scheduling failures for the "internal reasons" should be rare. Intent conflicts only occur
when PROCOPTs with the E (exclusive) option are used. The PSB and DMB pools
should always be large enough to hold the currently required PSBs and DMBs.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-77
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
IMS V10 has simplified the implementation of Fast Path. It does not have to specified at
system definition time. The FPCTRL system definition macro is ignored. In previous
releases it was required to enable Fast Path capabilities. It also was used to specify the
default values for some Fast Path parameters. Fast Path capabilities are always generated
for DB/DC and DBCTL systems. They are enabled by a parameter at execution time.
You must specify FP=Y at execution time for an online system to enable Fast Path
capabilities in IMS V10. The default for the parameter is FP=N. Since defaults for Fast
Path parameters cannot be specified at system definition time, they should be specified at
execution time. These parameters are DBBF=, DBFX=, BSIZ=, and OTHR=. The default
values for these parameters are the same as the default values for the FPCTRL macro in
previous releases. These are:
DBBF=10
DBFX=4
BSIZ=2048
Uempty OTHR=2
These values are highly unlikely to be appropriate for most Fast Path users.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-79
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
68
Notes:
When migrating to IMS V10, user-written routines or procedures that look for the DFS1929I
message should recognize the header format change to include the IMS version and
Control Region type. Additionally, these routines should be modified to recognize that
there are two versions of the message.
Uempty
IMS V10 IMS Version 10
69
Notes:
The IMS Application Menu has been modified to accommodate two new options. "Manage
Resources" is option 2. This changed the option numbers for the items that follow it.
"Abend Search and Notification" has been added as option 9.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-81
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
70
Notes:
Uempty
IMS V10 IMS Version 10
71
Notes:
The BLDPSB=YES option is new with IMS V10 and ACBLIB member online change. It
indicates that ACBGEN rebuilds all PSBs that reference the changed DBD on the BUILD
DBD=dbdname statement into the staging ACBLIB. Member online change requires that
all PSBs be rebuilt (flag set in PDIR) or it will fail. For performance reasons, these
relationships are found during the execution of ACBGEN in batch versus having to discover
these relationships online when ACBLIB member online change is invoked. However, this
means there may be additional processing done at ACBGEN time and the ACBGEN utility
may run longer. BLDPSB=YES is the default.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-83
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
BLDPSB=NO is not the default, so this operates differently than in previous versions. It
must be specified if you want this capability.
Uempty
IMS V10 IMS Version 10
z Migration
If you currently have CSL and a resource structure
You will get SSPM
You may want to eliminate operational procedures, definitions, etc. that
were used to enforce serialization across the sysplex
72
Notes:
If you have an IMSplex with the common service layer (SCI, OM, and RM address spaces)
with a resource structure, serial program management will automatically be enforced
across the IMSplex with IMS V10. There are no program or definitions changes required
for this. Only one copy of a program with SCHDTYP=SERIAL will be scheduled in the
IMSplex at any time. This applies to MPRs, JMPs, and message-driven BMPs. It does not
apply to non-message driven BMPs, JBPs, CCTL (CICS), or ODBA applications such as
DB2 Stored Procedures.
If you have implemented the Common Service Layer and defined a resource structure with
previous releases of IMS, you will automatically get the SSPM function when you migrate
your IMS systems to V10. You probably created some operational procedures and/or
definitions to enforce serialization in your previous release. For example, you may have
started a dependent region with the class for the transaction on only one IMS system. This
is OK with V10, but it is not required for the enforcement of serialization.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-85
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z Bandwidth
Migrate using the default of non-Bandwidth mode in IMS V10
Compatible with previous releases
After migration, bandwidth Mode can be enabled using the UPD command
Requires both partners of the link to be IMS V10 systems
Adjust buffer sizes
• Minimum of 4096
• To be effective, the buffers should be large enough to accommodate multiple
messages
73
Notes:
When migrating to IMS V10, ensure that the older routing exit routines, if any, have been
converted to DFSMSCE0. This migration can be accomplished in any of the supported
previous releases (V7, V8, V9) prior to the actual IMS V10 migration. If the exit routines
still exist while the V10 migration is in progress then the V10 migration tasks need to
include the upgrade of the previous releases to DFSMSCE0.
A like-for-like migration from a previous release to IMS V10 allows MSC to be initialized in
non-bandwidth mode. This mode is compatible with MSC operations in previous releases.
The ability to turn on bandwidth mode is provided via the UPD command and requires both
partners of the link to be at an IMS V10 level. In this mode, the minimum size of the buffers
should be 4096. To be more effective, the buffer sizes should be defined to accommodate
multiple messages.
Uempty
IMS V10 IMS Version 10
74
Notes:
Note that the buffer size minimum and maximum ranges have changed in IMS V10. If the
link is a VTAM link, the buffer size can now be any size defined in the range and no longer
requires a size that fits into the previous formula of X times 2 to the power of Y, where X
had to be a value from 8 to 15, and Y has to be a value from 3 to 13. . The MSPLINK
macro description in the System Definition Guide still documents a table but only for
compatibility purposes.
If the partner of the MSC link is a V8 or V9 IMS system then those definitions must be at a
minimum of 1024.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-87
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
75
Notes:
The considerations listed on this visual address issues that should be considered when
migrating from a previous release of IMS. The assumption is that migration to IMS V10 is
based on existing functionality without adding any new capabilities during the migration
process.
The message flood control enhancement in IMS V10 is automatically enabled with a
default limit of 5000 messages. To provide compatibility with previous releases and
deactivate the support, either specify an INPUT value of 0 in a descriptor or issue the /STA
TMEMBER INPUT command.
Likewise, the timeout support for synchronous CM1 message is automatically enabled with
a default value of 5 minutes. To provide compatibility with previous releases and deactivate
the support, specify T/O value of 0 in a descriptor or issuing the /STA TMEMBER
TIMEOUT command.
Note that the /DISPLAY command output associated with OTMA and TMEMBER requests
has been expanded to two output lines and includes new information. As a migration
consideration, this is a key issue for automated operations.
Uempty
IMS V10 IMS Version 10
z Migration
Old Log Transaction Analysis utility JCL continues to work
Specification of NOLOG or NOREPORT on EXEC statement ignored
• These actions are now controlled by the presence or absence of DD statements
Log Merge utility continues to work but is not required
Multiple logs may be specified as input to the other utilities
Old Statistical Analysis utility JCL must be modified
Move SYSIN from step 6 to the first step
Delete the LOGOUT DD statement from first step
Delete the last five steps
Logs from previous releases are not valid input to these V10 utilities
76
Figure 15-75. Log Transaction Analysis, Log Merge, and Statistical Analysis utilities CMA01.0
Notes:
The JCL used in previous releases for the Log Transaction Utility can be used with IMS
V10. There is one slight incompatibility. Previously you could specify an OUT= parameter
on the EXEC statement. OUT=NOLOG specified that an output report should not be
written to the LOGOUT DD data set. OUT=NOREPORT specified that an output report
should not be written to the PRINTER DD data set. In IMS V10 if you do not want either of
these data sets do not include the DD statement for it. IMS V10 ignores the OUT=
parameter on the EXEC statement.
The Log Merge utility was used in previous releases to merge logs from different systems.
The output of Log Merge was used as input to the Log Transaction Analysis or Statistical
Analysis utilities. The Log Merge utility can be used with IMS V10, but it is not required.
Both analysis utilities can merge multiple logs as part of their processing.
The JCL used for the Statistical Analysis utilities in previous releases must be changed for
IMS V10. The actions needed to change the JCL are listed on the slide. The control
statements were specified in the SYSIN data set of the sixth step. The SYSIN data set is
now part of the first (and only) step. The LOGOUT DD in the old first step was used to pass
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-89
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
data to the following steps. Since only one step is used in IMS V10, the LOGOUT DD is no
longer used. The last five steps are no longer used, so their JCL should be eliminated.
Logs produced by IMS V8 and IMS V9 are not valid input to the IMS V10 Log Transaction
Analysis utility and the IMS V10 Statistical Analysis utility.
Uempty
IMS V10 IMS Version 10
z Migration
If an installation wants to limit the sort space to less than the system default, it
should code the CORE= parameter for the desired value.
77
Notes:
The default for the CORE= parameter on the Database Change Accumulation and
Database Prefix Resolution utilities is changed in IMS V10 from 200K to MAX. When MAX
is used, the IMS utility does not limit the amount of space used by sort. It is limited by the
default value specified for the sort product. The sort space is particularly important for
some non-IBM sort programs which create UCBs for sort work data sets below the 16M
line. The sort space may limit the number of these data sets that may be used. By
increasing the default space, the number of sort work data sets may be increased. This
may shorten the elapsed execution time for these utilities.
A new message has been added to the Database Change Accumulation and Database
Prefix Resolution utilities. It is issued when the CORE= parameter is not specified. The
message is:
DFS3007I SORT CORE SIZE WILL DEFAULT TO CORE=MAX
If an installation wants to limit the sort space to less than the system default, it should code
the CORE= parameter for the desired value.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-91
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
Full precision timestamps are not implemented unless the RECONs have MINVERS(’10.1’)
specified. Even when MINVERS is set to a lower value, the IMS V10 Change
Accumulation and Database Recovery utility control statements require new formats which
accommodate full precision timestamps. Nevertheless, this is unlikely to be a concern to
users since GENJCL.CA and GENJCL.RECOV in IMS V10 always produce control
statements with the V10 formats.
When MINVERS('10.1') is set log records are created with the full precision timestamps. If
you fallback to MINVERS('9.1') or MINVERS('8.1'), the log records created with full
precision timestamps must be deleted before the CHANGE.RECON MINVERS(…)
command is issued. The records that must be deleted include PRILOG, PRISLD, PRIOLD,
etc. and the ALLOC records associated with these log records.
If you wish, you may specify abbreviated timestamps for most uses. DBRC will interpret
the time correctly. Full precision timestamps are required in CHANGE and DELETE
commands when a full precision timestamp is part of the RECON record key.
Uempty The timestamp precision value may be coded on the TIMEFMT parameter of the %SET
statement in skeletal JCL. It is a value from 1 to 6. The default in previous releases was 1.
In IMS V10 the default depends on the MINVERS value. MINVERS('10.1') sets the default
to 6. MINVERS values less than '10.1' sets the default to 1. This could affect the output of
GENJCL.USER. If you have specifically coded the TIMEFMT parameter, timestamp
precision in the output will not change. If you have not coded TIMEFMT, the output may
change when the MINVERS value is set to '10.1'.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-93
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Version 10 example:
----+----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
DB0DI32DB012006.175 12:00:00.123456 -08:00DI320101 DI320102 DI320103
DB0DI32DB012006.175 12:00:00.123456 -08:00DI320104
DB0AB77DB012006.175 12:00:00.1 -08:00 AB770101 AB770102
/*
Notes:
The Database Change Accumulation utility DB0 and DB1 control statements have been
modified to support timestamps with greater precision. The new expanded timestamp
format may be used in V10 but it is not required. DB0 control statements are used to
specify the database data sets that are accumulated to the new change accumulation data
set. DB1 control statements are used to specify the database data sets that are written to
the new output log data set. Since the timestamps now may occupy more columns in the
control statements, the position of the database data set DDNAMEs have moved and only
three may be specified on one control statement. In previous versions the timestamp was
specified in columns 12-37 and DDNAMEs were in columns 38-45, 47-54, 56-63, and
65-72. In V10 the timestamp uses columns 12-42 and DDNAMEs are in columns 43-50,
52-59, and 61-68. If a database has more than three data sets that are in the same
Change Accum group, multiple control statements are required in V10. The V10 example
shows two control statements to replace the first control statement in the V9 example. Two
control statements are required because four DDNAMEs are specified. The V10 example
shows the greater precision timestamp. The last control statement in the V10 example
does not specify the greater precision timestamp.
Uempty GENJCL.CA has been updated to create the new format of the control statements. These
changes to the control statements will have no effects on users who create Change
Accumulation JCL and control statements with GENJCL.CA. This is the vast majority of
IMS installations.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-95
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
//SYSIN DD *
S DI32DB01 DI320101 2006.175 12:00:00.1-08:00 C
/*
Version 10 examples:
----+----1----+----2----+----3----+----4----+----5----+----6----+----7---
//SYSIN DD *
S DI32DB01 DI320101 2006.175 12:00:00.123456 -08:00 C
/*
//SYSIN DD *
S DI32DB01 DI320101 2006.175 12:00:00.1 -08:00 C
/*
Notes:
The S control statement is used to specify the database and DDNAME for the database
data set that is to be recovered. If the recovery is a timestamp recovery, the timestamp is
also specified. The new expanded timestamp format may be used in V10 but it is not
required. In previous releases column 57 was used for an indicator. The indicator could
specify that a user image copy had been restored or that an RSR receive was done. Since
the timestamp may use column 57, the indicator is now coded in column 63 when needed.
The first example for V10 shows the use of the expanded timestamp. The second shows
the use of the shorter timestamp. Both examples have the ‘C’ which indicates that there is
no image copy input.
There is another small change in the coding of the timestamp. In previous releases there
was not a space between the time and the sign for the time zone offset. In the V8 or V9
example on this page the sign is in column 50. In V10 there is a blank between the time
and the sign for the offset. In the two examples on this page the blank is in column 55 for
the first V10 example and column 50 for the second example.
Uempty GENJCL.RECOV has been updated to create the new format of the control statement for
timestamp recovery. The change in the control statement will have no effects on users who
create Database Recovery JCL and control statements with GENJCL.RECOV. This is the
vast majority of IMS installations.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-97
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
RECON Listings
z Version 10 adds information to RECON status listing
RECON
RECOVERY CONTROL DATA SET, IMS V10R1
DMB#=231 INIT TOKEN=06082F0536577F
NOFORCER LOG DSN CHECK=CHECK44 STARTNEW=NO
TAPE UNIT=3480 DASD UNIT=SYSDA TRACEOFF SSID=**NULL**
LIST DLOG=NO CA/IC/LOG DATA SETS CATALOGED=NO
MINIMUM VERSION = 8.1 CROSS DBRC SERVICE LEVEL ID= 00001
REORG NUMBER VERIFICATION=NO
LOG RETENTION PERIOD=00.001 00:00:00.0
COMMAND AUTH=NONE HLQ=**NULL**
ACCESS=SERIAL LIST=STATIC
SIZALERT DSNUM=15 VOLNUM=16 PERCENT= 95
LOGALERT DSNUM=3 VOLNUM=16
TIMEZIN = %SYS
Notes:
The RECON status or header listing has some added and changed information.
Of course, the IMS version is listed as "V10R1". This means that the RECONs have been
upgraded to IMS V10.
There is a new line which lists the type of RECON access, either SERIAL or PARALLEL.
On the same line the default for the DBRC LIST command, either STATIC or CONCURR, is
shown.
On the line where the IMSPLEX value is shown, the DBRC Group ID value is also shown.
In this example, these parameters have no values so "** NONE **" is listed.
The sample listing shown here includes the "CROSS DBRC SERVICE LEVEL ID". This
also appears on IMS V9 RECON listings when the maintenance for APARs PQ98655 and
PK01097 is applied and on IMS V8 RECON listings when the maintenance for APARs
PQ98654 and PK01096 is applied. The service level ID is used to invoke functions which
require a consistent level of maintenance on all IMS systems using the RECONs.
Uempty
IMS V10 IMS Version 10
z Migration
Security was not checked in V9
Security checking in V10 might cause application which ran successfully
in V9 to fail in V10
82
Notes:
DBRC command security was introduced in IMS V8. It may be used to invoke
authorization checking for DBRC commands. RACF, or any SAF security product, may be
used. Alternatively, an exit routine may be invoked or both the security product and the exit
routine may be invoked. Commands are authorized by defining a resource representing
the command. In RACF this is done with an RDEFINE statement.
This authorization is extended to the DBRC API in IMS V10. API requests invoke
command authorization checking. Command authorization checking uses resources which
are defined to secure specific commands or API requests.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-99
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
z Recommendation
Always specify VERSION= parameter
Allows reassembly in future releases without changes
83
Notes:
Each DBRC API macro includes the VERSION= parameter. New functions, such as
AUTH, and new options, such as READONLY=YES, require VERSION=2.0. In IMS V9 the
only valid value for VERSION was 1.0. It was also the default. In IMS V10 VERSION=
defaults to 2.0.
Applications written in IMS V9 will continue to run in V10 without change. Reassembly is
not required. In fact, reassembly could cause the program to change due to the change in
the default for VERSION=. In some cases, the default of VERSION=2.0 may cause
different results from the previous default of VERSION=1.0. This is not always the case.
Some of the changes are only the use of previously reserved bytes in the control blocks
that are produced. In any case, if you wrote a program for IMS V9 and reassemble it using
an IMS V10 macro library, it is safest to specify VERSION=1.0 on the DFSAPI macros
before the reassembly.
Since the VERSION= parameter defaults to the latest level of the macros and later levels
may produce different results, it is safest to specify the VERSION= parameter value
Uempty explicitly. This will ensure that future assemblies of DBRC API programs will produce the
same results.
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-101
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
Notes:
The IMSplex name is optional. It is required for Automatic RECON Loss Notification and
Parallel RECON Access. The IMSplex name is specified with up to 5 characters. If it was
set under IMS V8 or V9, it will be maintained when the RECONs are upgraded to IMS V10.
If it was not set under IMS V8 and V9 it may be set in IMS V10 by a CHANGE.RECON
command. It is stored in the RECONs. IMS V8 and V9 store the IMSplex name as
'CSLxxxxx' where 'xxxxx'. When the RECONs are upgraded to V10, the value stored is
'xxxxxyyy' where 'yyy' is the DBRC Group ID. The upgrade sets the DBRC Group ID to
'001'. It may be changed with a CHANGE.RECON IMSPLEX(plexname,groupid)
command.
IMS V8, V9, and V10 list only the 5 characters of the IMSplex name in listings of the
RECON header. These listing include a line with IMSPLEX=xxxxx when an IMSplex name
has been stored in the RECONs. If there is no value stored, the line includes
IMSPLEX=**NONE**. IMS V10 listings also include the DBRC Group ID on this line. If
there is no IMSplex name the Group ID is listed as GROUP=**NONE**. If there is an
IMSplex name, the Group ID is listed as GROUP=yyy where yyy is the Group ID.
Uempty
IMS V10 IMS Version 10
85
Notes:
The DBRC SCI Registration exit routine (DSPSCIX0) may be used to specify the IMSplex
name, as in previous releases, and the new DBRC Group ID. The use of the exit routine is
recommended for users of IMSplex. It removes the requirement to specify IMSPLEX= for
the execution of all IMS jobs which use DBRC. This includes batch jobs and utilities. With
IMS V10 the exit also may specify the DBRC Sharing Group ID. This removes the
requirement to specify DBRCGRP= for IMS executions.
IMS V8 and V9 systems can tolerate the specification of the DBRC Group ID in the
RECONs. DBRCGRP= is not a valid parameter on the EXEC statement for V8 and V9.
When the exit routine is invoked in a V8 or V9 environment, the DBRC Group ID is not
passed to it. The exit routine cannot specify the DBRC Group ID. Even though a V8 or V9
instance cannot specify the DBRC Group ID, it can join an IMSplex where V10 instances
are using DBRC Group IDs. The V8 or V9 instance will be passed all ARLN notifications
from the IMSplex group. If a V8 or V9 system reconfigures its RECONs, its ARLN
notification will be processed by all members of the IMSplex. This will include all V10
systems. If there are multiple DBRC Groups, all members of all groups will process the
© Copyright IBM Corp. 2007, 2008 Unit 15. Installation and Migration 15-103
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Student Notebook
notification. For these reasons, you should not use multiple DBRC Group IDs in an
IMSplex while you are still using IMS V8 or V9 systems.
bibl Bibliography
Manuals:
SC18-9699 IMS Version 10: Application Programming API Reference
SC18-9698 IMS Version 10: Application Programming Guide
SC18-9697 IMS Version 10: Application Programming Planning Guide
SC18-9700 IMS Version 10: Command Reference, Volume 1
SC18-9701 IMS Version 10: Command Reference, Volume 2
SC18-9702 IMS Version 10: Command Reference, Volume 3
SC18-9703 IMS Version 10: Communications and Connections Guide
SC18-9704 IMS Version 10: Database Administration Guide
SC18-9705 IMS Version 10: Database Utilities Reference
GC18-9706 IMS Version 10: Diagnosis Guide
GC18-9707 IMS Version 10: Diagnosis Reference
SC18-9708 IMS Version 10: Exit Routine Reference
SC18-9709 IMS Version 10: IMSplex Administration Guide
GC18-9710 IMS Version 10: Installation Guide
GC18-9782 IMS Version 10: Licensed Programming Specifications
SC18-9711 IMS Version 10: Master Index and Glossary
GC18-9712 IMS Version 10: Messages and Codes Reference, Volume 1:
DFS Messages
GC18-9713 IMS Version 10: Messages and Codes Reference, Volume 2:
Non-DFS Messages
GC18-9714 IMS Version 10: Messages and Codes Reference, Volume 3:
IMS Abend Codes
GC18-9715 IMS Version 10: Messages and Codes Reference, Volume 4:
IMS Component Codes
SC18-9716 IMS Version 10: Operations and Automation Guide
GC18-9717 IMS Version 10: Release Planning Guide
SC18-9718 IMS Version 10: System Administration Guide
GC18-9998 IMS Version 10: System Definition Guide
GC18-9966 IMS Version 10: System Definition Reference
SC18-9967 IMS Version 10: System Programming API Reference
Web URLs:
http://www.ibm.com/ims
IBM’s IMS web site
backpg
Back page
The IMS ASN function provides timely, automatic notifications of system problems via email using SMTP, offering quick access to error explanations and diagnostics. This facilitates rapid problem determination and includes links to relevant resources, significantly reducing problem resolution times .
SMSVSAM Cache Structures enhance performance by reducing disk I/O operations through caching frequently accessed data. They interact with Lock Structures by ensuring cached data's consistency and integrity during concurrent accesses, as Lock Structures manage the synchronization of data access among multiple processes .
The global status support feature allows new and restarted IMS systems to assume global statuses for database, area, and transaction resources that were set while they were down. This simplifies operations in a Parallel Sysplex environment by enabling resources to be managed globally, supporting both new systems and systems that are down .
IMS V10 introduces several system enhancements, including changes to system definition and execution parameters, virtual storage constraint relief, and sysplex serial program management. These enhancements aim to improve efficiency and reliability in sysplex environments by optimizing resource allocation and reducing overhead associated with managing large distributed systems .
SMSVSAM plays a crucial role by structuring the locks and managing potential deadlocks within VSAM records. It tracks locking of records, handles lock timeouts, and manages retries after lock timeouts and deadlocks, ensuring data integrity and consistency during concurrent access by different applications .
In IMS Version 10, the SCHD=3 option is always used for transaction scheduling. Previously, the default option was SCHD=1, which specified that only transactions of equal or higher priority in the selected class could be scheduled. The change ensures consistent scheduling behavior by default, removing variability in transaction processing under certain conditions .
The IMS Connect Sample Application improves integration by providing a framework for communication between IMS and external systems, facilitating seamless data exchange. This sample demonstrates how IMS can handle connections from clients using TCP/IP, ensuring broader compatibility and accessibility of IMS resources .
The virtual storage constraint relief feature allows developers and administrators to better utilize available storage resources in IMS. It reduces the need to manually manage storage allocations and clears constraints that previously could cause bottleneck issues, thus enhancing system scalability and performance .
DBRC enhancements include support for Parallel RECON Access which requires z/OS DFSMStvs, allowing improved concurrency in access. Additionally, migrations from IMS versions 9 and 8 to version 10 are supported, ensuring compatibility of databases and application programs across these versions .
Enhanced log record statistics in IMS V10 allow for more detailed analysis of system operations and performance tracking, enabling administrators to identify bottlenecks and optimize resource allocation. This improvement helps maintain efficient processing and quickens issue resolution by providing deeper insights into system activity .