Problem Description

Some words/objects are wrongly recognized as dataset or program in Mainframe analysis (JCL)

For example :
In the following code, line number and FROM is wrongly recognized as dataset, which can be seen in enlighten (showing only for FROM)

The following example gives " 01854400", which is just a line number, as a dataset object:
//SYSIN DD * 01854300
ᙦ SORT FIELDS=COPY 01854400

The following example gives "FROM" as a dataset object:
//SYSIN DD *
ᙦ DELETE FROM IMUI.QADTBIF;

It is reported in CAST version 7.0.8

Applicable in CAST Version
Release
Yes/No
8.3.x(tick)
Action Plan

Usually this is due to parameterization in AdvancedJCL.xml. To check the same

  1. Open AdvancedJCL.xml (available in the mainframe extension directory) and check if the wrongly recognized word exist in the same.
  2. If there are some then read the content and see if it explains the reason.
    For instance for the example mentioned in the description the reason of the issue is due to below rule in the AdvancedJCL.xml

    the FROM issue is due to the rule :
    
    <DDCARD>
    <NAME>SYSIN</NAME>
    <KeyWord>DELETE</KeyWord>
    <Link>WRITE</Link>
    </DDCARD>
    
    the line number issue is due to the rule :
    
    <DDCARD>
    <NAME>SYSIN</NAME>
    <KeyWord>COPY</KeyWord>
    <Link>READ</Link>
    </DDCARD>

    So it is as per design  and hence it is normal that analyser recognized it as a dataset.

  3. Remove these two blocks from your AdvancedJCL.xml to fix the issue

    Recommended solution is to deactivate the generic rule and create dedicated rule if necessary (See the cookbook)

Notes/Comments


Related Pages