IBM Support

PH67838: REMOTE FILE READ ACCESSES TO A CICS SHARED DATA TABLE LOADED AND OWNED BY A CICS/TS 6.1 OR 6.2 FOR ARE ALWAYS FUNCTION SHIPPED.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A CICS FOR initializes its Data Tables environment when its
    first Data Table is opened.  Part of initializing the Data Table
    environment is getmaining and building a DTHEADER control block
    in FOR private storage outside of the CICS DSA.
    
    
    If the first Data Table is opened when 2 different
    transactions each open a different Data Table at the same time
    this problem will happen.  The first transaction will begin Data
    Table initialization and then get suspended before finishing.
    Then the 2nd transaction will also begin Data Table
    initialization.  Both Data Tables will successfully open and
    load, but all remote accesses of these Data Tables from AORs
    will be function shipped, even for read requests.   The AORs
    will not access the data tables directly from the Data Space.
    
    One way to see if this problem has happened is to see if there
    are 2 DTHEADER control blocks built in the private storage (SP 0
    Key 8) of the FOR ASID.  In a dump, using the CICS verbx
    'FCP=2', one of the DTHEADERs will be formatted like this:
    
    DTGLOBAL 28A0C648 DATA TABLE GLOBAL AREA
    .
    0000  00586EC4 C6C8C4E3 C8C5C1C4 C5D94040  *..>DFHDTHEADER  *
    0010  28A07A0C A8A30864 28AA6428 28A0C600  *..:.yt........F.*
    0020  00000000 00000005 28ABD0E8 28A0C5E0  *..........}Y..E\*
    0030  00000000 00000005 00000008 00000005  *................*
    0040  00000000 28A0C150 28A7D6A0 28A0C150  *......A&.xO...A&*
    0050  28A0C0D0 00000000                    *..{}....        *
    
    The other DTHEADER control block is not visible in the 'FCP=2'
    output.  To find that, in browse mode, in the ASID of the FOR,
    search for 'DTHEADER' like this:    f 'DTHEADER' nobreak
    
    If the problem has happened, you'll get 2 hits like this:
    
    address    hex                                eyecatcher
    1670E040  00586EC4 C6C8C4E3 C8C5C1C4 C5D94040 ..>DFHDTHEADER
    1670E050  28A07A0C A8A30864 00000000 28A12B68 ..:.yt.......~..
    1670E060  00000000 00000000 00000000 28A12B48 .............~..
    1670E070  00000000 00000000 00000008 00000000 ................
    1670E080  00000000 28A0C080 28A0C6A0 28A0C080 ......{...F...{.
    1670E090  28A0C000 00000000                   ..{.....
    
    Note that this 'DTHEADER' at address 1670E040 is not the one
    that the 'FCP=2' formatter knows about.   Also note that this
    one has x'00000000' at offset x'28'.   That means there are no
    data tables chained off this DTHEADER.
    
    address   hex                                 eyecatcher
    
    28A0C648                    00586EC4 C6C8C4E3         ..>DFHDT
    28A0C650  C8C5C1C4 C5D94040 28A07A0C A8A30864 HEADER  ..:.yt..
    28A0C660  28AA6428 28A0C600 00000000 00000005 ......F.........
    28A0C670  28ABD0E8 28A0C5E0 00000000 00000005 ..}Y..E\........
    28A0C680  00000008 00000005 00000000 28A0C150 ..............A&
    28A0C690  28A7D6A0 28A0C150 28A0C0D0 00000000 .xO...A&..{}....
    
    Note that this 'DTHEADER' control block at 28A0C648 *is* the one
    that the 'FCP=2' formatter knows about.  Also note that this one
    has an address at +x'28'.  That means there are Data Tables
    associated with this DTHEADER.
    
    Finally, if remote accesses from AORs have been made to Data
    Tables in the FOR, do a SUMM FORMAT then find on 'PC
    INFORMATION'.  From there, find on the ASID of the FOR and you
    will get a hit in the PC table like this:
    
             AUTH
      PC     KEY   EXEC   ENTRY    EXEC         LATENT
    NUMBER   MASK  ASID  ADDRESS   STATE        PARMS
    --------  ----  ----  -------   -----  ------------------
    0001C900  0000  00DC  A8A2F5EC  P      1670E040  00000000
    0001C901  0080  00DC  A8A31DEC  P      1670E040  00000000
    
    In this example, the ASID of the FOR is x'00DC'.  The 1st PC
    address points to the entry point of program DFHDTCF in private
    storage of the FOR.  the 2nd PC address points to the entry
    point of program DFHDTSR in the private storage of the FOR.
    Both of the PCs have a LATENT PARMS that matches the address of
    the DTHEADER control block in FOR private storage that has all
    zeroes at +x'28'.
    

Local fix

  • Restart the FOR and ensure that the first Data Table opened in
    the FOR is opened all by itself, before other Data Tables are
    opened.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: CICS shared data tables support may     *
    *                      function ship requests to a data owning *
    *                      region.                                 *
    ****************************************************************
    DFHFCFS calls shared data tables initialisation in DFHDTLI when
    the first request from a DOR to a data table is made. DFHDTLI
    will call DFHDT64M to establish the 64-bit storage requirements
    for CICS shared datatables. This can result in a loss of control
    while adding the storage subpool for DTCTL64. If another file
    open is processed at this time, the DOR can create a second
    copy of the >DFHDTHEADER and >DFHDTDUMMY control blocks. This
    leads to subsequent requests against the opened table to be
    function shipped to the DOR from an AOR, as opposed to using the
    shared data tables cross memory services.
      No problem may be seen externally, however there can be a
    noticeable increase in CPU activity for CSMI transactions, and a
    degradation in transaction throughput when using shared data
    tables.
    

Problem conclusion

  • CICS has been changed to ensure the call to DT_SERVICES for
    shared data tables initialisation work is serialised.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH67838

  • Reported component name

    CICS TS Z/OS V6

  • Reported component ID

    5655YA100

  • Reported release

    400

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-08-20

  • Closed date

    2025-12-15

  • Last modified date

    2026-01-02

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

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

    UO06251 UO06252 UO06254

Modules/Macros

  • DFHDTLI  DFHFCFS
    

Fix information

  • Fixed component name

    CICS TS Z/OS V6

  • Fixed component ID

    5655YA100

Applicable component levels

  • R400 PSY UO06254

       UP25/12/17 P F512 ¢

  • R500 PSY UO06252

       UP25/12/16 P F512 ¢

  • R600 PSY UO06251

       UP25/12/17 P F512 ¢

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":"BU048","label":"IBM Software"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
02 January 2026