IBM Support

PM12835: ABILITY TO OVERRIDE RLS CO-EXISTENCE PROTECTION FOR CICS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • VSAM will in general prevent simultaneous access to a data set
    in both RLS and non-RLS modes.  However, a read only file non
    RLS file can be opened if it is shroptions 2. CICS currently
    rejects this with msgDFHFC0512 to ensure applications get
    consistent views of the same underlying dataset. This apar will
    allow the user to override this co-existence protection for CICS
    and allow the open in the same region.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All.                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: It is not possible to open a single     *
    *                      data set via both a non-RLS file and an *
    *                      RLS file at the same time, in a given   *
    *                      CICS region.                            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    CICS will allow two files to be defined, one for RLS access and
    for for non-RLS access, both pointing to the same data set.
    CICS will not permit both these files being open at the same
    time. Any attempt to open the non-RLS file while the RLS file
    is already open will fail, and message DFHFC0512 will be
    issued. Similarly any attempt to open the RLS file whilst the
    non-RLS file is already open will fail, and message DFHFC0511
    will be issued.
    
    Additional Keywords: FC0511 FC0512 msgDFHFC0511 msgDFHFC0512
    

Problem conclusion

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

  • A new user exit, XFCRLSCO, is being introduced. This will be
    driven during the open of RLS files, and read only non-RLS
    files, at the point where the open would otherwise fail with the
    RLS coexistence failure. This new user exit allows CICS to be
    customized to suppress the RLS coexistence failure, and allow
    the open to proceed. The exit will only be driven if the non-RLS
    file is read only.
    Use of this exit will allow the same data set to be open via
    both RLS and non-RLS files, but care must be taken since read
    integrity between the two files cannot be guaranteed.
    
    
    
    
    
    
    
    The CICS Transaction Server for z/OS Version 4 Release 1
    Customization Guide (SC34-7001-01) will be updated in the
    following sections. Chapter 1 "Global user exit programs",
    section "Alphabetical list of global user exit points" (Table 2)
    will be updated with a new entry for XFCRLSCO, after the
    existing entry for XFCVSDS:
    Exit Name - XFCRLSCO
    Module or Domain - File control RLS coexistence program
    Where or when invoked - When the opening of a VSAM RLS file or
    non-RLS read-only file otherwise fails with an RLS coexistence
    failure.
    Topic - File control RLS coexistence program XFCRLSCO.
    
    Also in Chapter 1, a new sub-section will be added to the
    section "Global user exit points by function area". This new
    section will be as follows:
    
    File control RLS coexistence program exit XFCRLSCO
    
    The XFCRLSCO exit can be called during a request to open a file.
    Use this exit to allow an application to switch the mode between
    RLS and read-only non-RLS to access a particular data set.
    
    CICS does not allow an open request to take place for a non-RLS
    file if there is an RLS file already open against the same data
    set, or if the data set has outstanding RLS work in the system.
    Also, CICS does not allow an open request to take place for an
    RLS file if there is an existing non-RLS file already open
    against the base data set. In these situations, if an open
    request occurs and the non-RLS file is open for read-only
    access, the XFCRLSCO exit is driven. You can use this exit to
    decide whether to allow the open request to proceed or to fail
    in the usual manner with message DFHFC0511 or DFHFC0512.
    
    To switch the access mode, the application can open the data set
    using a new file with a different access mode. Do not keep the
    same data set open using both access methods simultaneously over
    an extended period of time, because CICS does not receive a
    consistent view of the data set when accessing it concurrently
    using both RLS and non-RLS files. In particular, CICS cannot get
    a consistent view if the data set is being updated by the RLS
    file at the same time as being read by the non-RLS file.
    
    If VSAM upgrade set processing occurs while the data set is open
    using both RLS and non-RLS files, there is an increased risk
    that read errors might occur because the upgrade processing has
    not completed on either the base cluster or the associated
    alternate indexes.
    
    Exit XFCRLSCO
    
    When Invoked
       During a file OPEN request, before the open request is
       issued to VSAM.
    
    Exit Specific Parameters
      UEPFILEN  - Address of the 8-byte file name. If the file name
                  is less than 8 characters in length, it is padded
                  with blanks.
      UEPDSNAME - Address of the 44-byte field containing the base
                  data set name. If the data set name is less than
                  44 characters in length, it is padded with blanks.
      UEPFSERV  - Address of the file SERVREQ byte
        UEPFRDIM   - Read valid indicator
        UEPFUPDIM  - Update valid indicator
        UEPFADDIM  - Add valid indicator
        UEPFDELIM  - Delete valid indicator
        UEPFBRZIM  - Browse valid indicator
      UEPFDSACC - Address of the file access method flag
        UEPFVSAM   - VSAM file indicator
        UEPFDTBL   - Data table file indicator
        UEPFDTUM   - User data table file indicator
        UEPFRLS    - RLS file indicator
        UEPFCFDT   - CFDT file indicator
      UEPRECUR  - Address of halfword recursion level
    
    Return Codes
      UERCNORM
        Continue processing as normal - the open request fails.
      UERCBYP
        Allow the open to take place - bypass the coexistence
        failure.
    
    XPI Calls
    You can use XPI commands, but the commands must not result in
    any state changes to any files.
    
    API and SPI calls
    You can use EXEC CICS SPI and API commands, but the commands
    must not make any state changes to any files. For example, you
    can use EXEC CICS INQUIRE FILE, but not EXEC CICS SET FILE,
    or EXEC CICS API commands against file control which result
    in state changes to any files.
    
    
    Note:
    1. The exit will not be driven if the non-RLS file has any
    updateable SERVREQS set (i.e. allows updates, adds, or deletes).
    2. The data set being opened must specify share options
    SHAREOPTION(2) on the VSAM base cluster. If lower share options
    are specified then VSAM will fail the second open.
    3. If static allocation is being used then be sure to specify
    DISP=SHR, otherwise VSAM will fail the open
    
    
    
    
    
    
    The CICS Transaction Server for z/OS Version 4 Release 1
    Diagnosis Reference (GC34-7038-01) will be updated in
    "Chapter 24. File control". The "Exits" section will be
    updated to list the new XFCRLSCO exit under the existing
    entry for DFHFCN, and also under a new entry for DFHFCRO.
    
    
    
    
    
    The CICS Transaction Server for z/OS Version 4 Release 1
    Data Areas manual (GC34-7014-02) will be updated in the
    "UEPAR Global user exit plist" structure (Table 719) with
    information for a new exit - XFCRLSCO. The following structure
    will be added after the plist for XFCSREQC and before the
    plist for XRCINIT:
    
    
        XFCRLSCO PARAMETERS
      Exit Specific parameters are:
        UEPFILEN  - Address of 8-byte field containing the file name
        UEPDSNAME - Address of 44-byte field containing the
                    base DSNAME
        UEPFSERV  - Address of the file SERVREQ byte
        UEPFDSACC - Address of the file access method flag
        UEPRECUR  - Address of halfword recursion level
      VALID RETURN CODES FOR XFCSREQ ARE:
        UERCNORM EQU  X'00'        NORMAL(DEFAULT)
        UERCBYP  EQU  X'04'        BYPASS THE OPEN FAILURE
      Valid values for UEPFSERV are:
        UEPFRDIM   EQU  X'80'      Read Valid Indicator
        UEPFUPDIM  EQU  X'20'      Update Valid Indicator
        UEPFADDIM  EQU  X'10'      Add Valid Indicator
        UEPFDELIM  EQU  X'08'      Delete Valid Indicator
        UEPFBRZIM  EQU  X'02'      Browse Valid Indicator
      Valid values for UEPFDSACC are:
        UEPFVSAM   EQU  X'80'      VSAM File Indicator
        UEPFDTBL   EQU  X'20'      Data table File Indicator
        UEPFDTUM   EQU  X'10'      User Data table File Indicator
        UEPFRLS    EQU  X'04'      RLS File Indicator
        UEPFCFDT   EQU  X'02'      CFDT File Indicator
    
    (30) ADDRESS   4  UEPFILEN      ADDRESS OF FILE NAME
    (34) ADDRESS   4  UEPDSNAME     ADDRESS OF DATA SET NAME
    (38) ADDRESS   4  UEPFSERV      ADDRESS OF SERVREQ BYTE
      VALID VALUES FOR UEPFSERV ARE:
    (38) BITSTRING 0  UEPFBRZIM     "X'02'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFDELIM     "X'08'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFADDIM     "X'10'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFUPDIM     "X'20'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFRDIM      "X'80'" BROWSE VALID INDICATOR
    (3C) ADDRESS   4  UEPFDSACC     ADDRESS OF ACCESS METHOD BYTE
      VALID VALUES FOR UEPFSERV ARE:
    (38) BITSTRING 0  UEPFCFDT      "X'02'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFFRLS      "X'04'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFDTUM      "X'10'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFDTBL      "X'20'" BROWSE VALID INDICATOR
    (38) BITSTRING 0  UEPFVSAM      "X'80'" BROWSE VALID INDICATOR
    (40) ADDRESS   4                RESERVED
    (44) ADDRESS   4                RESERVED
    (48) ADDRESS   4  UEPRECUR      UEPRECUR - AS DEFINED ABOVE
    
    
    The same table will be updated in the section labelled
    "EXITID EQU-LIST - Global User Exit Number". The following new
    entries will be added after the existing entry for XISQLCL:
    (B0) SIGNED 0 XFCRLSCO "118"
    
    
    
    The Data Areas manual will also be updated in   the "DSN File
    control dataset name" structure (Table 105). Four new bit
    values will be added to the FCTBCFL2 byte as follows:
    (BC) BITSTRING 0  FCTBCRCO "X'08'"  XFCRLSCO has allowed RLS
                                        and non-RLS ACBs open for
                                        this base cluster block
    (BC) BITSTRING 0  FCTBCCON "X'04'"  XFCRLSCO footprint FCN COEX
    (BC) BITSTRING 0  FCTBCCOW "X'02'"  XFCRLSCO footprint FCN WORK
    (BC) BITSTRING 0  FCTBCCOR "X'01'"  XFCRLSCO footprint FCRO
    
    
    New values will also be added to the structure after the
    existing reserved fullword at offset X'118' and before
    DFHBCEND:
    (11C) HALFWORD 2 FCTBC_NRUC   Non RLS file open with
                                  updateable SERVREQs count
    (11E) HALFWORD 2 FCTBCUCN     Count of ACBs that are open
                                  against this dataset for
                                  non-RLS files
    (120) HALFWORD 2 FCTBCUCR     Count of ACBs that are open
                                  against this dataset for
                                  RLS files
    (122) HALFWORD 2              Reserved
    
    The end of table will be updated as follows:
    (128) DBL WORD 8 DFHBCEND (0) Align, to round
                                  up gross length
                                  to double word
    (128)          0 DFHBCLEN     "DFHBCEND-DFHBCCDS" ,
    
    
    
    
    The CICS Transaction Server for z/OS Version 4 Release 1
    Trace Entries manual (SC34-7013-01) will be updated in
    "Chapter 2. AP domain trace points: new style" in the section
    "File controls trace points (AP 2300 - AP 24E1)". The following
    new trace points will be added, after existing entry AP 242B:
    
    AP 242E DFHFCRO EXC FCRO_TRACE_XFCRLSCO_BYPASS_ACTIVE
                                            1 FCTDSID
                                            2 FCTDNAME
    AP 242F DFHFCN  EXC FCN_TRACE_XFCRLSCO_BYPASS_ACTIVE
                                            1 FCTDSID
                                            2 FCTDNAME
                                            3 RLS OPEN ERROR
                                             (RLSCOEX or RLSWORK)
    
    
    
    
    
    
    
    
    
    The CICS Transaction Server for z/OS Version 4 Release 1
    Messages and Codes manual (GC34-7035-01) will be updated with
    two new messages, and one changed message. The new messages will
    be added in "Chapter 1. DFH messages" in the "DFHFCnnnn
    messages" section, after existing message DFHFC0208.
    
    DFHFC0209I <applid> User exit XFCRLSCO is allowing non-RLS file
    <filename> to bypass the RLS coexistence checks.
    
    Explanation:
    User exit XFCRLSCO is active and ran because non-RLS file
    <filename> is being opened. The user exit replied with
    a return code of UERCBYP.
    This return code means that the non-RLS file has read-only
    access and an RLS file is already open against the same
    data set.
    The non-RLS file must stay in read-only mode to continue to
    access the data set while the RLS file is open.
    
    System Action: Processing continues.
    
    User Response: None.
    
    Module: DFHFCNO.
    
    XMEOUT Parameters: applid, filename.
    
    Destination: Console.
    
    
    DFHFC0210I <applid> User exit XFCRLSCO is allowing RLS file
    <filename> to bypass the RLS coexistence checks.
    
    Explanation:
    User exit XFCRLSCO is active and ran because RLS file
    <filename> is being opened. The user exit replied with
    a return code of UERCBYP.
    This return code means that a non-RLS file has read-only
    access and is already open against the same data set.
    The non-RLS file must stay in read-only mode to continue to
    access the data set while the RLS file is open.
    
    System Action: Processing continues.
    
    User Response: None.
    
    Module: DFHFCRO.
    
    XMEOUT Parameters: applid, filename.
    
    Destination: Console.
    
    
    In the same section, message DFHFC0987 will be updated. The
    second paragraph of the message explanation will be updated
    to read as follows:
    
    A data set can not be opened by different files in both RLS and
    non-RLS mode at the same time, with two exceptions:
    * Another CICS region or batch process can open a data set in
    non-RLS read-only mode at the same time as the data set is open
    in RLS mode.
    * The XFCRLSCO user exit can override the default behavior and
    open the data set using both RLS and non-RLS files, provided
    that the non-RLS files have read-only access.
    
    
    ž**** PE11/09/19 FIX IN ERROR. SEE APAR PM47251  FOR DESCRIPTION
    

APAR Information

  • APAR number

    PM12835

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    600

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-04-23

  • Closed date

    2011-03-22

  • Last modified date

    2011-10-11

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

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

    UK65921 UK65922

Modules/Macros

  •    DESFCDR  DESFCLF  DESFCO1  DESFCRO  DESFCRS
    DESFCRV  DESPGDUF DFH$STTB DFHAPEX  DFHAPTR5 DFHDSND  DFHDSNPS
    DFHEXITP DFHFCBD  DFHFCDN  DFHFCDR  DFHFCDTS DFHFCDUF DFHFCFS
    DFHFCLF  DFHFCN   DFHFCNC  DFHFCNO  DFHFCRO  DFHFCRP  DFHFCRS
    DFHFCRV  DFHFCTRM DFHFCTRN DFHFCVR  DFHFCVS1 DFHMEFAC DFHMEFAE
    DFHMEFAK DFHMEFBE DFHPGDUF DFHSIC1  DFHSUEX  DFHUEDUF DFHUEH
    DFHUEIQ  DFHUEM   DFHUEXIT DFHUEXPT DFH12835 EYUTNLGX
    

Publications Referenced
SC34700101GC34703801GC34701402SC34701301GC34703501

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R60M PSY UK65922

       UP11/03/30 P F103

  • R600 PSY UK65921

       UP11/03/30 P F103

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":"4.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":"4.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
11 October 2011