IBM Support

PH39094: IMS CATALOG API (DFS3CATQ MACRO) GET AND LIST FUNCTIONS AGAINST CATALOG ALIAS DATABASE FAIL 23/10/31 PTF PECHANGE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When using IMS Catalog API (DFS3CATQ macro) GET or LIST FUNC for
    Database/DBD and DB is Catalog ALIAS DBDname, Catalog API
    return code X'00080004' and reason code X'00040000' is returned.
    This API error indicates that Catalog ALIAS DBDs are "not found"
    because DFS3PU00 (Catalog Populate Utility) does not populate
    ALIAS Catalog DBDs into Catalog/Directory.  Only the "standard"
    Catalog DBDs, DFSCD000 and DFSCX000, are stored in
    Catalog/Directory.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All IMS V15 users of the IMS Catalog API (DFS3CATQ) using a  *
    * catalog alias.                                               *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * The IMS Catalog API (DFS3CATQ) FUNCTION=GET with NAME= for a *
    * catalog alias DBD does not return an object.  FUNCTION=LIST  *
    * will not return the catalog alias name in its output.        *
    *                                                              *
    * An additional problem can occur if an application performs   *
    * multiple FUNCTION=HLQ requests. The first request can        *
    * succeed and any subsequent one can fail with an ABENDS0C4 in *
    * DFS3CQ00 around offset x1A30.                                *
    *                                                              *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * INSTALL CORRECTIVE SERVICE FOR APAR/PTF.                     *
    *                                                              *
    *                                                              *
    ****************************************************************
    When a catalog alias is being used for the IMS catalog DBD, the
    aliases are not written as members to the IMS directory.  Since
    the alias named member is not present in the directory, the IMS
    Catalog API will not locate such a member when the alias name is
    used or covered by the NAME=value on a GET or LIST function.
    
    When a FUNCTION=HLQ request is made more than once, the
    subsequent one may attempt to reuse a storage block from the
    first request.  Since the storage from the first request will
    have been released, any subsequent use can suffer an ABENDS0C4
    if the storage no longer is accessible to the subsequent use.
    

Problem conclusion

  • The DFS3CATQ macro is enhanced with a new parameter
    USEALIAS=YES.  This new parameter will inform the IMS Catalog
    API to retrieve the IMS catalog DBD when the NAME= pattern on
    the GET or LIST functions cover the catalog alias name. This
    capability is only enabled after FUNCTION=HLQ or
    FUNCTION=OPEN,CATALIAS= requests were previously performed by
    the application.
    
    When the FUNCTION=HLQ or FUNCTION=OPEN,CATALIAS= is performed,
    the subsequent GET or LIST with the USEALIAS=YES parameter and a
    NAME= value that covers the catalog alias name, then the IMS
    Catalog API will return the catalog object with the alias name
    rather than the true name of DFSCD000 or DFSCX000.  If the NAME=
    pattern covers the DFSCD000 or DFSCX000 object, such as
    NAME=DFSC*, then the returned name will be with the true name
    and not with the catalog alias prefix.
    
    If USEALIAS=YES is not used, or FUNCTION=HLQ was not performed
    or FUNCTION=OPEN,CATALIAS= was not performed then a request for
    the catalog alias will perform in its present way and not return
    the catalog alias object.
    
    To prevent the ABENDS0C4, each FUNCTION=HLQ request will avoid
    reusing storage from a prior request.
    
    New module DFS3CQ05 is created to handle the FUNCTION=HLQ
    request.
    
    Module DFS3CQ00 is changed to remove the prior FUNCTION=HLQ code
    and instead call DFS3CQ05.
    
    Module DFS3CQ20 is changed to handle a request for a catalog
    alias and returning the object as the alias name.
    
    Module DFS3DU10 is changed to reduce the storage usage below the
    16MB line.
    
    Module DFSBSCH0 is changed to prevent updates of a binary search
    structure when reads are taking place.
    
    
    
    IMSMGDACBS/K
    

Temporary fix

Comments

  • REPINNED RP23/10/18 (ATXT) TO ADD POSTREQ PH57631 INFO.
    **** PE23/10/18 PTF IN ERROR. SEE APAR PH57631 FOR DESCRIPTION
    ×**** PE23/10/18 FIX IN ERROR. SEE APAR PH57631  FOR DESCRIPTION
    

APAR Information

  • APAR number

    PH39094

  • Reported component name

    IMS V15

  • Reported component ID

    5635A0600

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    YesPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-07-19

  • Closed date

    2023-10-13

  • Last modified date

    2023-11-15

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

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

    UI93201

Modules/Macros

  • DFS3CQ05 DFS3CQ00 DFSRDB30 DFSBSCH0 DFS3DU10 DFS3CATQ DFS3CQ20
    

Publications Referenced
SC194227    

Fix information

  • Fixed component name

    IMS V15

  • Fixed component ID

    5635A0600

Applicable component levels

  • R500 PSY UI93201

       UP23/10/17 P F310 Ø

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":"SSEPH2","label":"IMS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"15","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
22 December 2023