Mainframe Analyzer - 1.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.

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: 1.3.6-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: 1.3.6-funcrel

Please see: Mainframe - Structural rules.

What results can you expect?

Objects

See Analysis results for the object model.

Cobol

Link Type Linked Objects Code Example
Calling Called
CALL PROG* Program, section or copybook Program or entrypoint CALL "CC2DISPLAY"
TRANSAC* EXEC CICS XCTL
PROGRAM(TEST)
END EXEC
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.
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.
*
Section First executed paragraph in section
Paragraph Next executed paragraph in same section
- 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 Display "a string"
  • 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
  • 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

CLOSE
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
WRITE

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

Link Sub-link Description 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 - - 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 Sub-link Description 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

Links Sub-link Calling object Called object
ACCESS WRITE, READ, EXECUTE JCL Step JCL Data Set
PROTOTYPE - Cobol File Link JCL Data Set
Cobol Data Link JCL Data Set
JCL Data Set Cobol JCL Program
CALL - JCL Step Cobol JCL Program
JCL Job JCL Step
JCL Procedure JCL Step
JCL Step JCL Procedure
USE - JCL Step IMS DBD
MONITOR AFTER JCL Step JCL Step

IMS

Links Sub-link Calling object Called object
ACCESS WRITE IMS PC Block IMS Segment
USE - IMS PC Block IMS DBD or IMS GSAM File

CICS

Links Sub-link Calling object Called object
CALL TRANSAC CICS Transid Client/Cobol Program

For Transactional Code, the following are valid:

Link Sub-link Calling object Called objects When does this link occur?
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, CLOSE, READ, WRITE Client/Cobol Program or its Sub object CICS Dataset ENDBR, DELETE,
LINK, READ, READNEXT,
READPREV, REWRITE,
STARTBR, XCTL,
WRITE

e.g.:

EXEC CICS
READ DATASET ('C1MASTR')
INTO (BLKBLK(BLKBLK-OCUR))
RIDFLD (CICS-RRN) RRN
RESP (WS-RESP) END-EXEC
ACCESS READ, WRITE Client/Cobol Program or its Sub object CICS Transient Data DELETEQ, READQ, WRITEQ

e.g.:

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

Detailed Results

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

Dependencies with other extensions

None.

Customize COBOL analyzer

The extension is shipped with a parameterization XML file called Parametrization_Cobol.xml file - see Mainframe - Analysis configuration for more information about this. This file takes priority over the same file delivered in Imaging Core (in Configuration\Parametrization\Cobol) therefore if you are moving to using the Mainframe Analyzer, you must ensure the following:

  • You must copy the file (or the rules in file) from the Imaging Core installation folder Configuration\Parametrization\Cobol into the deployed extension on your AIP Node(s): %PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.mainframe.-funcrel\configuration\parametrization\Cobol

  • If you upgrade to a newer release of the extension, and if you have modified the Parametrization_Cobol.xml file to add custom rules, you must ensure that you copy the file (or the rules) into the new extension installation location, e.g.:

    • Current extension installation location: %PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.mainframe.<version1>-funcrel\configuration\parametrization\Cobol
    • New extension installation location: %PROGRAMDATA%\CAST\CAST\Extensions\com.castsoftware.mainframe.<version2>-funcrel\configuration\parametrization\Cobol

Application qualification information

Please see: Mainframe - Application qualification specifics.

Prepare and deliver the source code

Please see: Mainframe - Analysis configuration and execution.

Analysis configuration and execution

Please see: Mainframe - Analysis configuration and execution and all child pages: