Generic IMS Restrictions

Before analyzing IMS applications in Enterprise Analyzer, you need to be aware of the following generic restrictions on IMS support.

AIB Interface

The AIB interface is not supported.

Manual Decision Resolutions

Manual resolution of IMS-related decisions (PSB module decisions and the like) do not affect the results of IMS call analysis.

SYSSERVE Parameter of SCHD Call

The SYSSERVE parameter of the SCHD call does not affect analysis. The number of PCB blocks in the PSB is determined statically during PSB verification. IO PCBs are added automatically as needed. That might affect PCB numbering.

CALL Without Parameters

The active PSB name is not traced between programs if CALL without parameters is used.

Active PSB Name Calculated in Called Subroutine

The active PSB name is not detected if it is calculated in a called subroutine. Only “forward” passing of parameters is supported from calling to called module.

Impact Analysis and Interprogram Data Flows

Impact analysis and interprogram data flows are not supported.

Extra Dependencies Between Variables

There may be extra dependencies between variables in IMS calls (in intraprogram analysis, computational components, and so forth) because all CALL arguments except function-code are considered as being used in INOUT mode while in fact some CALLs have input-only and output-only parameters. This also may cause decisions to appear not to have been resolved, when in fact they have been.

When PCB Content Is Considered to Be Altered

PCB content is considered to be altered only by CBLTDLI(PLITDLI) calls or via a group MOVE of the whole PCB structure to another structure. Presence of MOVEs to subfields of a PCB may lead to incorrect analysis results. GU call is not considered as nullifying alternate PCBs.

Port Analysis for IMS Database Calls

For unqualified IMS database calls (without SSAs), port analysis uses only PCB information and does not analyze preceding IMS calls (for example, GNP after GU). Similarly, dependencies between any other IMS calls are not traced except the CHNG – ISRT pair.

For qualified database calls, only the unqualified portion of SSA is analyzed. Command codes are not supported (for example, a path call will be interpreted as a call reading only the last segment in a path).

PARMCOUNT Parameter

The PARMCOUNT parameter is accepted but not analyzed. All CALL parameters are considered as valid.

CHNG Calls

All CHNG calls are treated as setting transaction code destinations because, with no indicators of destination type, it is impossible to distinguish between transaction and terminal names. System tables with transactions and terminal names are needed to check type.

ISRT Calls

ISRT calls to IO-PCB without MOD name are ignored. Most likely they represent the construction of multi-segment messages.

Parsing of Macro Statements

PSB/DBD parsers do not perform full semantic checks of corresponding macro statements. Moreover, the PSB parser does not check that all referenced segments and fields are defined in corresponding DBDs.

Online CICS Applications Using IMS

Online CICS applications using IMS do no need System Definition files. They need only native CICS PCT files.

SET ADDRESS OF and PSB Scheduling

Limited support is available for SET ADDRESS OF <variable> to <PCB> and scheduling of PSBs (calls to PCB functions in CICS programs).