IBM Support

PJ40290: Z/TPFDF SPMS DO NOT FLAG A MISSING #ESUB AFTER #SUBR

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • See Problem Summary.
    

Local fix

  • na
    

Problem summary

  • APAR NUMBER:  PJ40290
    PRODUCT:  z/TPF
    FUNCTIONAL AREA:  MISC
    SHIPPED IN PUT:  9
    
    ABSTRACT:
    Additional error checks should be added to notify users if
    certain z/TPFDF structured programming macro (SPM) constructs
    are incomplete
    
    PACKAGE CONTENTS:
    Source Segments:
    (C) base/macro/finis.mac
    
    Object Only Binaries:
    None.
    
    Configuration Independent Binaries:
    None.
    
    Support Files:
    None.
    
    OTHER BINARIES TO BUILD: NO
    None.
    
    COMMENTS:
    Additional checking should be added to check for z/TPFDF
    structured programming macro (SPM) application coding errors.
    In particular:
    - If a #SUBR SPM is coded following another #SUBR SPM (that is,
    the #ESUB SPM is missing or in the wrong place), an
    informational MNOTE (severity *) is generated (#SUBR SHOULD NOT
    BE NESTED WITHIN ANY SPM FIGURE). Because this MNOTE is
    informational, it can easily be missed, leading to
    unpredictable application behavior. This should be flagged as a
    higher severity MNOTE in the assembly.
    - If an #IF SPM is missing a corresponding #EIF SPM in an
    application, a "** ASMA044E Undefined symbol " error is
    generated. It would be helpful if a message was also generated
    to indicate that the problem was that an #EIF is missing.
    - If a #CAST or #DO SPM is missing a corresponding #ECAS or
    #EDO SPM, respectively, the user is not notified that the SPM
    structure is incomplete. As a result, the application may not
    behave as expected.
    

Problem conclusion

  • SOLUTION:
    finis.mac has been updated so that severity 4 MNOTE ("SPM
    NESTING STACK NOT EMPTY-#EIF,#EDO,#ECAS OR #ESUB MISSING") will
    be generated if any #IF, #DO, #CAST, or #SUBR SPM is not coded
    with a corresponding #EIF, #EDO, #ECAS, or #ESUB, respectively.
    Furthermore, with co-requisite z/TPFDF APAR PM67148, the
    existing informational MNOTE "#SUBR SHOULD NOT BE NESTED WITHIN
    ANY SPM FIGURE" has been changed to be a severity 4 MNOTE:
    "INCORRECT NESTING OF #SUBR MACRO OR MISSING #ESUB".
    
    COREQS: YES
    PM67148
    
    MIGRATION CONSIDERATIONS: YES
    Application programming interface (API) changes:
    Any application that is coded with an #IF, #DO, #CAST, or #SUBR
    SPM that does not have a corresponding #EIF, #EDO, #ECAS, or
    #ESUB will now generated an MNOTE 4 "SPM NESTING STACK NOT
    EMPTY-#EIF,#EDO,#ECAS OR #ESUB MISSING".  This means that
    object code may no longer be generated and any such
    applications will need to be updated as a result.
    
    
    
    BUILD COMMANDS AND INSTRUCTIONS: NO
    None.
    
    UPDATED INFORMATION UNITS: NO
    None.
    
    See your IBM representative if you need additional information.
    
    DOWNLOAD INSTRUCTIONS:
    http://www.ibm.com/software/htp/tpf/maint/maintztpf.html
    
    APAR URL:
    http://www.ibm.com/software/htp/tpf/ztpfmaint/put9/PJ40290.htm
    

Temporary fix

Comments

APAR Information

  • APAR number

    PJ40290

  • Reported component name

    Z/TPF

  • Reported component ID

    5748T1501

  • Reported release

    110

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2012-06-20

  • Closed date

    2012-10-26

  • Last modified date

    2012-11-05

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

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

Fix information

  • Fixed component name

    Z/TPF

  • Fixed component ID

    5748T1501

Applicable component levels

  • R110 PSY

       UP



Document information

More support for: TPF
z/TPF

Software version: 110

Reference #: PJ40290

Modified date: 05 November 2012