Mainframe Analyzer - 2.3


Compatibility: v2 v3 Express
What's new? Release Notes
ID: com.castsoftware.mainframe

Description

This extension provides support for Mainframe (Cobol, CICS, JCL, IMS…). If your application contains Mainframe source code and you want to view these object types and their links with other objects, then you should install this extension.

Feature baseline and equivalence

Mainframe Analyzer 2.3 provides the same functional baseline as the previous 1.7.x releases. See the release notes for the release-specific changes.

Transactions

Transaction support is derived from metamodel concepts used to build CAST Imaging Blueprint and structural transaction flows. Entry Points start transactions; Exit Points include both output/boundary concepts and Data Entities manipulated by transactions.

Role Support Breakdown
Entry Point
  • Batch
  • Message Queue Subscriber
  • UI Component
  • Exposed Web Services
Exit Point
  • Message Queue Publisher
  • Run Service
  • Web Services Call
Unresolved Storage
  • Data Query
Data Entity with Accurate FP
  • Segment
Data Entities
  • FileStorage

Data version: 2.3.0-funcrel

ISO 5055 Structural Rules

Quality support is based on ISO 5055 structural rules available for the selected extension version.

Reliability Maintainability Security Performance Efficiency

Data version: 2.3.0-funcrel

Structural rules

All Mainframe Analyzer related rules are provided in the default CAST Assessment Model shipped with CAST Imaging Core: https://technologies.castsoftware.com/AIP/technologies/-4/external link.

Dependencies with other extensions

Some extensions require the presence of other extensions in order to function correctly. The Mainframe Analyzer extension requires that the following other extensions are also installed:

Download and installation instructions

For Mainframe applications, the extension will be automatically installed:

What results can you expect?

Objects

COBOL

Type Name Description
Cobol Class Cobol Class Represents a COBOL class detected in analyzed source code.
Cobol Interface Cobol Interface Represents a COBOL interface detected in analyzed source code.
Cobol Data Link Cobol Data Link Represents a COBOL data link used by sort or file processing.
Cobol File Link Cobol External File Link Represents an external COBOL file link.
Cobol File Link Cobol File Link Represents a COBOL file link saved from file descriptions.
Cobol Conditional Test Cobol Conditional Test Represents a COBOL conditional test detected in analyzed source code.
Cobol Constant Data Cobol Constant Data Represents COBOL constant data detected in analyzed source code.
Cobol Literal Cobol Literal Represents a COBOL literal detected in analyzed source code.
Cobol SQL Query Cobol SQL Query Represents a SQL query detected in COBOL source code.
Cobol CopyBook Cobol CopyBook Represents a COBOL copybook included by analyzed COBOL source code.
Cobol Division Cobol Division Represents a COBOL division detected in analyzed source code.
Cobol Paragraph Cobol Paragraph Represents a COBOL paragraph detected in analyzed source code.
Cobol Section Cobol Section Represents a COBOL section detected in analyzed source code.
Declarative Block Cobol Declarative Block Represents a COBOL declarative block detected in analyzed source code.
Declarative Paragraph Cobol Declarative Paragraph Represents a COBOL declarative paragraph detected in analyzed source code.
Declarative Section Cobol Declarative Section Represents a COBOL declarative section detected in analyzed source code.
Cobol Data Queue Publisher Cobol Data Queue Publisher Represents a COBOL data queue publisher.
Publisher IBM MQ Publisher IBM MQ Represents an IBM MQ publisher detected in COBOL source code.
Cobol Data Queue Receiver Cobol Data Queue Receiver Represents a COBOL data queue receiver.
Subscriber IBM MQ Subscriber IBM MQ Represents an IBM MQ subscriber detected in COBOL source code.
Cobol Entry Point Cobol Entry Point Represents a COBOL entry point detected in analyzed source code.
Cobol Program Unknown Cobol Program Represents a COBOL program referenced but not analyzed.
Cobol Program Cobol Program Represents a COBOL program detected in analyzed source code.
Nested Cobol Program Cobol Nested Program Represents a nested COBOL program detected in analyzed source code.
Cobol Directory Cobol Directory Represents a COBOL directory in the analyzed source structure.
Cobol Root Directory Cobol Root Directory Represents the COBOL root directory in the analyzed source structure.
COBOL Call To Java Method Cobol Call To Java Method Represents a COBOL call to a Java method.
Cobol Index Cobol Index Represents a COBOL index detected in analyzed source code.
Cobol Transaction Cobol Transaction Represents a CICS transaction referenced from COBOL source code.
Cobol Data Cobol Data Represents COBOL data detected in analyzed source code.

JCL

Type Name Description
JCL Data Set JCL Data Set Represents a JCL data set detected in analyzed JCL source code.
JCL Data Set JCL Resolved Data Set Represents a resolved JCL data set detected in analyzed JCL source code.
JCL Directory JCL Directory Represents a JCL directory in the analyzed source structure.
JCL Root Directory JCL Root Directory Represents the JCL root directory in the analyzed source structure.
JCL External Procedure JCL External Procedure Represents an external JCL procedure.
JCL External Program JCL External Program Represents an external program referenced from JCL.
JCL External Program JCL External Program Represents an external JCL program reference.
JCL Included JCL Included File Represents a JCL included file that has been analyzed.
JCL Included not found JCL Included Not Found Represents a JCL include reference that could not be resolved.
JCL Index JCL Index Represents a JCL index detected in analyzed source code.
JCL in-stream Procedure JCL In-stream Procedure Represents a JCL in-stream procedure.
JCL To Java Program JCL to Java Program Represents a JCL reference to a Java program.
JCL Job JCL Catalogued Job Represents a catalogued JCL job.
JCL Job JCL Catalogued Job Prototype Represents a JCL job referenced but not analyzed.
Unknown JCL Procedure Unknown JCL Procedure Represents a JCL procedure referenced but not analyzed.
JCL Procedure JCL Catalogued Procedure Represents a catalogued JCL procedure.
JCL Step JCL Step Represents a JCL step detected in analyzed source code.
JCL SQL Query JCL SQL Query Represents a SQL query detected in JCL source code.
JCL Control Card JCL Control Card Represents a JCL control card detected in analyzed source code.

IMS

Type Name Description
IMS Alternate PCB IMS Alternate Program Control Block Represents an IMS alternate program control block.
IMS DB PCB IMS Database Program Control Block Represents an IMS database program control block.
IMS DB Definition IMS DB Definition Represents an IMS database definition detected in analyzed source code.
IMS DB Definition IMS DB Definition Represents an IMS database definition referenced but not analyzed.
IMS Folder IMS Directory Represents an IMS directory in the analyzed source structure.
IMS FILE IMS File Represents an IMS file detected in analyzed source code.
IMS FILE IMS Transaction File Represents an IMS transaction file reference.
IMS GSAM PCB IMS GSAM Program Control Block Represents an IMS GSAM program control block.
IMS Message Format Service IMS Message Format Service Represents an IMS Message Format Service object.
IMS MID IMS Message Input Descriptor Represents an IMS message input descriptor.
IMS MOD IMS Message Output Descriptor Represents an IMS message output descriptor.
IMS PCB IMS Program Control Block Represents an IMS program control block reference.
IMS PSB IMS Program Specification Block Represents an IMS program specification block detected in analyzed source code.
IMS PSB IMS Program Specification Block Represents an IMS program specification block referenced but not analyzed.
IMS DB Segment IMS DB Segment Represents an IMS database segment detected in analyzed source code.
IMS Segment IMS Segment Represents an IMS segment referenced but not analyzed.
IMS Transaction IMS Transaction Represents an IMS transaction detected in analyzed source code.
IMS Transaction File IMS Transaction File Represents an IMS transaction file detected in analyzed source code.
IMS SQL Query IMS SQL Query Represents a SQL query detected in IMS source code.

CICS

Type Name Description
CICS DataSet CICS DataSet Represents a CICS dataset reference.
CICS DataSet CICS DataSet Represents a CICS dataset detected in analyzed source code.
CICS DB2 Transaction CICS DB2 Transaction Represents a CICS DB2 transaction.
CICS Definition File CICS Definition File Represents a CICS definition file.
Cobol External File CICS External File Represents an external CICS file referenced from COBOL source code.
CICS Folder CICS Folder Represents a CICS folder in the analyzed source structure.
CICS Group CICS Group Represents a CICS CSD group.
Unknown CICS Map Unknown CICS Map Represents a CICS map referenced but not analyzed.
CICS Map CICS Map Represents a CICS map detected in analyzed source code.
Unknown CICS Mapset Unknown CICS Mapset Represents a CICS mapset referenced but not analyzed.
CICS Mapset CICS MapSet Represents a CICS mapset detected in analyzed source code.
CICS Map definition CICS Map Definition Represents a CICS BMS map definition.
CICS Temporary Storage CICS Temporary Storage Represents CICS temporary storage.
CICS Transaction CICS Transaction Represents a CICS transaction detected in analyzed source code.
Unknown CICS Transient Data Unknown CICS Transient Data Represents a CICS transient data queue referenced but not analyzed.
CICS Transient Data CICS Transient Data Represents a CICS transient data queue.
Cobol Transient Data Cobol Transient Data Represents CICS transient data referenced from COBOL source code.
CICS SOAP Operation CICS SOAP Operation Represents a CICS SOAP operation.
CICS SOAP Operation Call CICS SOAP Operation Call Represents a call to a CICS SOAP operation.
CICS Call To Program CICS Call To Program Represents a CICS call to a program.

Cobol

Link Type Calling Linked Objects Called Linked Objects Code Example

CALL PROG*


Program, section or copybook Program or entrypoint

CALL "CC2DISPLAY"

CALL TRANSAC* Program, section or copybook Program or entrypoint EXEC CICS XCTL
PROGRAM(TEST)
END EXEC
CALL PERFORM Program, section or sub-object Section or paragraph MODULE-ENTREE SECTION.
*
* LA LIGNE CI DESSOUS DOIT ETRE DELETEE APRES LES TESTS
*
MOVE '*** EXECUTION STARTEE NORMALEMENT ***' TO MESS.
DISPLAY MESS.
MOVE SPACE TO MESS.
*
PERFORM LECTURE-PARAM.
*
FIN-MODULE-ENTREE. EXIT.
EJECT
*
COPY SYBPINIT.
CALL GOTO Program First executed section or paragraph ****************
LECTURE-PARAM SECTION.
****************
*
READ MEF001.
IF FILE-STATUS NOT = '00'
DISPLAY 'CODE RETOUR' FILE-STATUS
DISPLAY 'CARTE PARAMETRE INEXISTANTE : ' CODE-ABEND
GO TO SORTIE-ERREUR
END-IF.
*
CALL GOTO Section First executed paragraph in section Same example as above.
CALL GOTO Paragraph Next executed paragraph in same section Same example as above.
CALL Section/Paragraph Section/Paragraph When Sections or Paragraphs are sequentially executed (one after the other) a Call link will be generated. For example, if a program is made of Section A then Section B then Paragraph C then Section D, the links will be resolved as A -> B -> C -> D.
INCLUDE Program or Copybook Copybook * -ACDA * MNPW * * * * * * * * * * * * * * * * * * * * * * * * *
* FD DU FICHIER INF103 PAR LE CHEMIN INF103
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
BLOCK CONTAINS 0.
*
COPY INF103 REPLACING INF103 BY ING103.
USE

Calls to matched character strings

Calls to matched character strings

Display "a string"
USE Cobol Program, Cobol Section, Cobol Paragraph Program Specification Block EXEC DLI SCH PSB (MYPSB) END-EXEC
ACCESS OPEN

Cobol Program or sub-object

Cobol File Link or Cobol Data Link

*======================================================== * OUVERTURE DU FICHIER IAHCDECE *======================================================== OPEN-IAHCDECE.
OPEN INPUT IAHCDECE. *======================================================== * LECTURES DU FICHIER IAHCDECE *======================================================== LECT-IAHCDECE.
READ IAHCDECE
. *======================================================== * FERMETURE DU FICHIER IAHCDECE *======================================================== CLOSE-IAHCDECE.
CLOSE IAHCDECE.
 

*======================================================== * LECTURE-SEGMENT-CISRAPMP *========================================================
EXEC DLI
GU
USING
PCB (3)
SEGMENT (CISRAPMP)
WHERE (CIOEAX = IN-PREM-H)
INTO (WS-DUMMY-AREA)
END-EXEC.
 

*========================================================
COMMANDE-CALL-LEVEL
*========================================================
CALL 'CBLTDLI' USING GU
CICSDLI-PCB
CICSDLI-SEGM
CICSDLI-QSSA

ACCESS CLOSE

Cobol Program or sub-object

Cobol File Link or Cobol Data Link

Same example as above.

ACCESS READ

Cobol Program or sub-object, Cobol Section, Cobol Paragraph

Cobol File Link, Cobol Data Link, Constant Data, Structured Data, Data, Conditional Test, Program Communication Block
(IMS PCB), IMS Segment

Same example as above.

ACCESS WRITE

Cobol Program or sub-object, Cobol Section, Cobol Paragraph

Cobol File Link, Cobol Data Link, Constant Data, Structured Data, Data, Conditional Test, Program Communication Block
(IMS PCB), IMS Segment

Same example as above.

For Embedded SQL links, the following are valid for all servers:

Link Type Description Code Example
USE SELECT This type is reserved for server side object referencing EXEC SQL… SELECT
USE UPDATE As above. EXEC SQL… UPDATE
USE INSERT As above. EXEC SQL… INSERT
USE DELETE As above. EXEC SQL… DELETE
CALL As above. EXEC SQL… CAL

For link types CALL PROG and CALL TRANSAC, two limitations exist when the call is in “string” form:

  • If the string is constant and declared in the “data-division” section, the entry point will be resolved in the normal way.
  • If the string is dynamic, the program may be found by the Dynamic Link Manager.

In addition, the following **Embedded SQL links **are valid for DB2 only:

Link Type Description Code Example
DEPEND ON This type is reserved for server side object referencing on structured or distinct UDTs. -
DDL CREATE This type is reserved for server side object referencing on Tables -
DDL DROP

JCL

Link Type Calling Linked Objects Called Linked Objects
ACCESS WRITE JCL Step JCL Data Set
ACCESS READ JCL Step JCL Data Set
ACCESS EXECUTE JCL Step JCL Data Set
PROTOTYPE Cobol File Link JCL Data Set
PROTOTYPE Cobol Data Link JCL Data Set
PROTOTYPE JCL Data Set Cobol JCL Program
CALL JCL Step Cobol JCL Program
CALL JCL Job JCL Step
CALL JCL Procedure JCL Step
CALL JCL Step JCL Procedure
USE JCL Step IMS DBD
MONITOR AFTER JCL Step JCL Step

IMS

Link Type Calling Linked Objects Called Linked Objects
ACCESS WRITE IMS PC Block IMS Segment
USE IMS PC Block IMS DBD or IMS GSAM File

CICS

Link Type Calling Linked Objects Called Linked Objects
CALL TRANSAC CICS Transid Client/Cobol Program

For Transactional Code, the following are valid:

Link Type Calling Linked Objects Called Linked Objects Code Example
CALL TRANSAC Client/Cobol Program or its Sub object Client/Cobol Program

EXEC CICS XCTL
PROGRAM(TEST)
END EXEC

or

EXEC CICS LINK
PROGRAM(TEST)
END EXEC

CALL TRANSAC Client/Cobol Program or its Sub object CICS Transaction

EXEC CICS START
TRANSID(TRANSID)
END EXEC

or

EXEC CICS RETURN
TRANSID (W-XFR-CTRS)
COMMAREA (W-CIC-CMA-LDON)
LENGTH (W-CIC-CMA-QLENDON)
END-EXEC

MONITOR Client/Cobol Program or its Sub object CICS Map EXEC CICS
SEND MAP (W-CIC-CMAPCUR)
MAPSET (W-CIC-CMPSCUR)
FROM (MGAB10O)
ERASE
FREEKB
FRSET
CURSOR
END-EXEC

or

EXEC CICS
RECEIVE MAP (W-CIC-CMAPCUR)
MAPSET (W-CIC-CMPSCUR)
FROM (MGAB10O)
END-EXEC

ACCESS OPEN

ACCESS CLOSE

ACCESS READ

ACCESS WRITE

Client/Cobol Program or its Sub object CICS Dataset ENDBR, DELETE,
LINK, READ, READNEXT,
READPREV, REWRITE,
STARTBR, XCTL,
WRITE

ex:

EXEC CICS
READ DATASET ('C1MASTR')
INTO (BLKBLK(BLKBLK-OCUR))
RIDFLD (CICS-RRN) RRN
RESP (WS-RESP) END-EXEC.

ACCESS READ

ACCESS WRITE

Client/Cobol Program or its Sub object CICS Transient Data DELETEQ, READQ, WRITEQ

ex:

EXEC CICS DELETEQ TD QUEUE (W-CIC-TSQ-LNOM)

Detailed Results

For version-specific analysis result notes and functional changes grouped by COBOL, VSAM, JCL, IMS, CICS, IBM MQ and cross-technology areas, see Detailed Results.