IBM Support

PH44794: CODE ANALYSIS INTERNAL DEFECTS AND ENHANCEMENTS 15.0.4

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Code Analysis internal defects and enhancements
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: 01.PL/I code developers with preprocessors   *
    *                 02.PL/I code developers with preprocessors   *
    *                 03.COBOL developers using format             *
    *                 04.All                                       *
    *                 05.HLASM Assembler developers                *
    *                 06.Code Developers with code modified in     *
    *                    Eclipse using source format               *
    *                 07.COBOL programmers using the special       *
    *                    registers or debugging                    *
    *                 08.COBOL programmers using the special       *
    *                    registers or Java Native Interface (JNI)  *
    *                 09.COBOL developers with statements that     *
    *                    span multiple lines                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: 01.Syntax warnings in the include file  *
    *                         for PL/1 with preprocessor           *
    *                         statements with associate complete   *
    *                         program used in the client.          *
    *                      02.Code rules results for PL/I metrics  *
    *                         may have different results in Client *
    *                         and Host if the code contains        *
    *                         preprocessor statements.             *
    *                      03.Format of code used in client may    *
    *                         result in parser errors, which may   *
    *                         affect code rules results.           *
    *                      04.An exception is seen instead of an   *
    *                         error when the Code review tool      *
    *                         cannot register.                     *
    *                      05.NullPointerException (NPE) if an     *
    *                         assembler macro is not properly      *
    *                         terminated with a MEND statement.    *
    *                      06.National language characters that    *
    *                         were mis-identified as being double  *
    *                         or variable width in some scenarios, *
    *                         and so indention did not occur.      *
    *                      07.Code Review needs to support         *
    *                         DEBUG-ITEM and its subfields as      *
    *                         declared in COBOL 6.1 and higher.    *
    *                      08.Code Review needs to support         *
    *                         JNIENVPTR as declared in COBOL 6.1   *
    *                         and higher.                          *
    *                      09.Cobol parser needs updating to allow *
    *                         a COPY statement with REPLACING to   *
    *                         span multiple lines in more          *
    *                         instances.                           *
    ****************************************************************
    01.If in the client a developer has used the Associate Complete
       Program together with an identify preprocessor statements,
       the parser generates incorrect syntax warnings in the include
       file. This may be reflected in code rules.
    02.Client metrics for PL/I code and Code rules associated with
       those metrics may fail or be incorrect prior to Preprocessor
       Statement identification with Source->Preprocessor Statements
       ->Identify Using Configured Preprocessors. in the client, the
       metrics may incorrectly refresh or fail to refresh. For code
       review, that may result in different results between host and
       client.
    03.The formatter is unable to correctly identify when a
       statement moves beyond column 72 when 2 statements are on the
       same line.
    04.When batch CR cannot register, it is supposed to print out an
       error message that was constructed earlier in the code.
       Instead we see a java.lang.exception at
       com.ibm.akg.registration.RegistrationUtils.register(Registrat
       ionUtils.java:375) in DD ERRMSGS
    05.java.lang.NullPointerException at com.ibm.dmh.scan.classify.u
       tils.FileTypeClassification.classifyAsm(FileTypeClassificatio
       n.java:51) is seen instead of error message "Expecting MEND"
       when there is no terminating MEND in an assebler macro.
    06.When using some special single width national language
       characters, indenting was not always correct. This would
       affect code rules that relied on formatting or tested format
       rules.
    07.Code Review did not support the special register DEBUG-ITEM
       nor its subfields as described in https://www.ibm.com/docs/en
       /cobol-zos/6.1?topic=registers-debug-item. The DEBUG-ITEM
       special register provides the information to a debugging
       declarative procedure about the conditions that caused the
       debugging section execution.
    08.Code Review did not support the special register JNIENVPTR as
       described in https://www.ibm.com/docs/en/cobol-zos/6.1?topic=
       registers-jnienvptr. The JNIENVPTR special register
       references the JNI environment as a USAGE POINTER used in
       calling Java callable services.
    09.When a COPY statement with REPLACING is broken up across
       multiple lines like in the following example, error
       "DataDescriptionEntryClause" is invalid parsing may be
       reported.
       With a COPYBOOK of
            01  EXML01 SYNCHRONIZED.
              03  EXAMPLE-LENGTH      PIC 9(5) COMP.
              03  EXAMPLE-TYPE           PIC 99.
       and with a COBOL main source member having statements like
            01  EXML01                  COPY EXML01 REPLACING  ==01
                                                              EXML01
                                                              == BY
                ==   ==.
       an incorrect error was being declared in the parsing of the
       main source member for the DataDescriptionEntryClause, but
       when the main source statement is
       01  EXML01  COPY EXML01 REPLACING  ==01 EXML01 == BY ==   ==.
       there was no issue.
    

Problem conclusion

  • 01.The Associate Complete Program function and the Source>Prepro
       cessor Statements>Identify functions are not supported
       together by the COBOL and PL/I parsers. If you perform the
       Associate Complete Program action on an include file and also
       identify preprocessor statements in the main file, then the
       parser generates incorrect syntax warnings in the include
       file. This information has been noted as Technote 6554540
       https://www.ibm.com/support/pages/node/6554540
    02.The client is corrected to properly refresh when Preprocessor
       statements are identified.
    03.The formatting of COBOL code needed to be updated to support
       formatting when multiple statements were on a single line.
    04.Registration part was updated in the code review tool.
    05.Classification analysis for HLASM code updated.
    06.Formatting was improved to correctly identify and indent with
       the involved characters.
    07.IDz adding support for the special register DEBUG-ITEM and
       its subfields
    08.IDz adding support for the special register JNIENVPTR
    09.IDz made changes to better support multiple line statements
       in COBOL
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH44794

  • Reported component name

    SOURCE CODE ANA

  • Reported component ID

    5724T0733

  • Reported release

    F00

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-03-10

  • Closed date

    2022-03-10

  • Last modified date

    2022-04-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PH44798 PH44799 UI79668

Modules/Macros

  • AKGXCR03
    

Fix information

  • Fixed component name

    SOURCE CODE ANA

  • Fixed component ID

    5724T0733

Applicable component levels

  • RF00 PSY UI79668

       UP22/03/11 P F203

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU029","label":"Software"},"Product":{"code":"SSQ2R2","label":"Rational Developer for System z"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"F00"}]

Document Information

Modified date:
02 April 2022