IBM Support

PM15423: U101 ABEND FROM DFH$MOLS WHEN USING BREAK CONTROL STATEMENT.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When running the IBM-supplied sample program DFH$MOLS you
    receive an abend U101. You are using the BREAK control statement
    to set up multiple SELECT/IGNORE groups as follows:
    SELECT APPLID=appl1
    SELECT TRANID=tran1
    BREAK
    SELECT APPLID=appl2
    SELECT TRANID=tran2
    BREAK
    PRINT PER
    OPTION LOCAL
    UNLOAD
    SORT
    
    The error actually occurs while processing the first statement
    of the SELECT/IGNORE group following a BREAK.
    The abend was caused by the branch to the ERR101 routine just
    before the label SELAPPLP. This branch was taken because the
    APPLID operand of  the SELECT statement was not recognized as
    valid.
    
    The APPLID operand of the SELECT statement was not recognized
    as valid because the literals used for comparison following
    label EQ98 are not properly addressed when control reaches EQ98
    after a BREAK has been issued.
    The code is trying to check for APPLID, TRANID, USERID, etc.
    but it is not really checking for these values due to the
    addressability error.
    
    The literals are not properly addressed because R3 was used to
    address them (see Assembler message ASMA303W for the USING
    immediately following label SELCTPRM).
    
    After a BREAK, R3 points to a GETMAINed area of storage holding
    a new SIBLOCK structure. It no longer points to the static
    (first) SIBLOCK structure in the DFH$MOL0 CSECT, which is
    followed by the literal pool in the IBM-supplied sample.
    
    The solution is to move the LTORG statement in CSECT DFH$MOL0
    to just before the label SIBLOCK. In this case, the program
    produces the desired result.
    Additional Symptom(s) Search Keyword(s):
    KIXREVEPH
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All.                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: Abend U0101 running DFH$MOLS with the   *
    *                      BREAK parameter.                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A DFH$MOLS job contained the BREAK parameter.  This drove code
    in DFH$MOL0. Both R3 and R12 had established USING statements
    that could address literals within a literal pool. Since the
    displacement from R3 was less than from R12, R3 was chosen as
    the base register when referencing the literals. However, code
    after the USING statement modified the contents of R3 which
    meant that the literals were not referenced correctly.
    This caused an abend U0101.
    KEYWORDS: LTORG
    

Problem conclusion

  • A LTORG has been inserted before R3 is established as a base
    register, which ensures that R12 is chosen as the base
    register for the literal pool.
    

Temporary fix

  • CICS AR400 AR500
    ++ APAR (AM15423).
    ++ VER (C150) FMID(HCI6400).
    ++ MACUPD (DFH$MOLS) DISTLIB(ADFHSAMP) SYSLIB(SDFHSAMP)
       /* MODULE: DFH$MOLS --- TYPE: SOURCE */.
    ./ CHANGE NAME=DFH$MOLS,SEQFLD=738
             LTORG ,                           @BA15423 99140000
             SPACE ,                           @BA15423 99150000
    ./ ENDUP
    ++ APAR (AM15423).
    ++ VER (C150) FMID(HCI6500).
    ++ MACUPD (DFH$MOLS) DISTLIB(ADFHSAMP) SYSLIB(SDFHSAMP)
       /* MODULE: DFH$MOLS --- TYPE: COPY */.
    ./ CHANGE NAME=DFH$MOLS,SEQFLD=738
             LTORG ,                           @BA15423 99140000
             SPACE ,                           @BA15423 99150000
    ./ ENDUP
    

Comments

APAR Information

  • APAR number

    PM15423

  • Reported component name

    CICSTS V3 Z/OS

  • Reported component ID

    5655M1500

  • Reported release

    400

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-05-27

  • Closed date

    2010-07-19

  • Last modified date

    2010-08-02

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

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

    PM16738 UK58957 UK58958

Modules/Macros

  •    DFH$MOLS
    

Fix information

  • Fixed component name

    CICSTS V3 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R400 PSY UK58957

       UP10/07/23 P F007

  • R500 PSY UK58958

       UP10/07/23 P F007

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.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 August 2010