IBM Support

PM05985: ENHANCE TRANSACTION EXPIRATION TO SUPPORT MQSERIES.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Enhance transaction expiration to support MQSeries with expiry
    data.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: IMS V10 OTMA customers                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: OTMA transaction expriaton and shared   *
    *                      queues enhancements are needed          *
    ****************************************************************
    * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF      *
    ****************************************************************
    OTMA transaction expiration at GU time needs to be enhanced
    as follows:
    1. The symptom dump and DFS554A message won't be generated
    to save the CPU cycles. However, the symptom dump and
    DFS554A can still be issued if our customers specify YES
    to the TODUMP= parameter in the OTMA client descriptor,
    DFSYDTx, proclib member.
    2. A DFS3688I message instead of DFS555I/DFS2224 needs to be
    issued to the OTMA client when an OTMA transaction is
    expired at GU time for the consistency reason.
    Prior to this APAR enhancement, the OTMA client gets DFS555I
    for the transaction expiraton when the receiving IMS is the
    same as the processing IMS for the transaction. When the
    receiving IMS is different from the processing IMS, a DFS2224
    is issued.
    
    Also, for an OTMA client, such as Websphere MQ, if an OTMA
    input transaction gets processed at the shared queues
    back-end IMS and creates an OTMA ALTPCB output, this output
    is queued to the shared queues with the back-end IMS affinity.
    The OTMA client connected to the front-end IMS cannot
    get this ALTPCB output. A solution is needed so that it
    would be easier for customers using WebSphere MQ and IMS to
    migrate from non-shared queues to shared queues environment.
    

Problem conclusion

Temporary fix

Comments

  • Module changes:
    
    DFSYIDC0 - supports new type M descriptor parameters:
               TODUMP= FOR SUPPRESSING U243 DUMP AND ITS DFS554A
               ALTPCBE= FOR SENDING SQ BE ALTPCB TO FE
    DFSYMOM0 - builds MTEDMP and MTEBEALT based on descriptors
    DFSYMEM0 - passes the xcf msg arrival time in the state data
               prefix when input is expired
    DFSYTIB0 - builds DFSYPRE flags based on the msg prefix and
               builds nack x'34' with xcf msg arrival time
    DFSDLA30 - enhances DFSLUMIF GU call by passing the original
               msg, checking DLA555NO/DLASNPNO on exit
    DFSYLUS0 - sends DFS3688I instead of DFS555I/DFS2224 when
               OTMA input msg is expired at GU time
               sends the original input message instead of
               DFS3688I when requested by the client
               enhances find_QAB routine for restart for
               creating the original YQAB for BE ALTCPB reroute
               Also, enhance restart logic for ALTPCBE=YES cases
    DFSAOSW0 - builds DFS3688I for SQ BE for a CM1 msg
    DFSYSLM0 - builds state data prefix for msg from BE CM1
    DFSICL30 - supports tpipename* for /DIS TMEMBER TPIPE cmd
    DFSYDPD0 - supports tpipename* for QCNT and SYNC options
    DFSYFND0 - detects if a BE OTMA ALTPCB output needs to be
               sent to FE and builds the prefix with the
               member/tpipe info. And, the OTMA output prefix
               is built with the original TMAMHCOR data.
    DFSFXC30 - avoid sending DFS554A for OTMA U243
    DFSFXC40 - issues a notify msg for an OTMA BE ALTPCB output
    DFSYQAB0 - reroutes msg based on prefix if it has BE SQ
               ALTPCB member and tpipe info
    DFSAOAM2, DFSAOAM2, and DFSYINI0 were recompiled
    ============================================================
    Control block changes:
    
    DFSAOSD - defines a field to keep the elapse time from SQ BE
    DFSLUMIF- adds a new parm MSGIN to pass the original msg
              to the GU call
    DFSP62XT- defines P62MSGIN to keep address of MSGIN
              adds P62SNPNO flag to suppress U243 symptom dump
    DFSYDES - adds flags to track OTMABE= and TODUMP= settings
    DFSYMSG - adds TMAMEXPR flag for msg expired at GU time
              adds TMAMINPT to return original input message
              instead of DFS3688I for msg expired at GU time
    DFSYMTE - adds MTEBEALT when OTMABE=YES is specified
              adds MTEDMP when TODUMP=YES is specified
    DFSYPRE - adds LUP_TODUMP in msg when MTEDMP is on
              adds LUP_BE_ALTPCB_OK in msg when MTEBEALT is on
              adds LUP_TRACE when tpipe trace is on
              adds LUP_EXPIPT to return original msg at GU time
              adds LUP_BE_ALTPCB_MN for member override
              adds LUP_BE_ALTPCB_TPIPE for tpipe override
              adds LUP_BE_ALTPCB_MSG to request FE to send msg
              adds LUP_BE_ALTPCB_SYNC for sync tpipe
              adds LUP_BE_ALTPCB_HOLD for hold queue tpipe
              adds LUP_FE_ALTPCB_SYNC for ERE
              adds LUP_FE_ALTPCB_HQC  for ERE
    DFSYTIB - adds YTIB_ELAPSE_TIME to save the expiration time
    DFS62DLA- adds DLA555NO to suppress DFS555I for DFS3688I
              adds DLASNPNO to suppress U243 symptom dump
    IPST    - adds PST3BALT so FXC40 can send a notify msg
    ===========================================================
    
    
    The following are the external doc changes:
    ============================================================
    IMS RELEASE PLANNING GUIDE
    ============================================================
    
    OTMA transaction expiration at GU time has been updated
    to provide two enhancements:
    1. By default, the symptom dump of U243 abend and
    its DFS554A message for an expired transaction won't be
    generated to save the CPU cycles. However, OTMA can be
    configured to generate the symptom dump and DFS554A message
    by specifying TODUMP=YES in the DFSYDTx proclib member.
    2. By default, a DFS3688I message instead of DFS555I/DFS2224
    will be sent to the OTMA client. However, if the OTMA input
    has TMAMINPT flag set, the input transaction data instead of
    DFS3688I message will be sent back to the OTMA client for
    the transaction expiration.
    
    WebSphere MQ for z/OS Version 7.0.1 with APAR PM47795
    has been enhanced to support IMS transaction expiration
    function.
    
    In addition,
    in a shared queues environment, when OTMA input transactions
    are received by a front-end IMS and processed by a back-end
    IMS, OTMA can now be configured to return ALTPCB output
    from the back-end IMS to the OTMA client through the
    front-end IMS by specifying ALTPCBE=YES in the DFSYDTx proclib
    member of the front-end IMS.
    
    ============================================================
    IMS System Definition
    ============================================================
    DFSYDTx
    OTMA client descriptor syntax and parameters
    
    Parameters
    
    TODUMP= specifies whether (YES) or (NO) the symptom dump
    and the DFS554A message of U243 pseudo abend for OTMA
    transaction expiration needs to be issued. This parameter is
    optional and defaults to TODUMP=NO.
    
    ALTPCBE= specifies whether (YES) or (NO) the OTMA shared
    queues backend ALTPCB output, which is originated from
    an OTMA frontend IMS, needs to be delivered to the
    frontend IMS for the OTMA client. This parameter is
    optional and defaults to ALTPCBE=NO.
    
    If the super member function is activated for the ALTPCB
    output at the shared-queues back-end IMS, the
    super member will take precedence.
    
    ============================================================
    IMS Communications and Connections
    ============================================================
    
    OTMA support for transaction expiration
    
    Change the following paragraph,
    
    From:
    
    For transactions that are not MSC, Fast Path,
    or conversational, when an IMS application program issues
    a GU call to retrieve a transaction from the input queue.
    If a transaction expires before an IMS application program
    retrieves the transaction, OTMA discards the transaction,
    issues pseudoabend 0243, and issues either message DFS555I
    or, if IMS is running in a shared-queues environment,
    message DFS2224I.
    
    To:
    
    For transactions that are not MSC, Fast Path,
    or conversational, when an IMS application program issues
    a GU call to retrieve a transaction from the input queue.
    If a transaction expires before an IMS application program
    retrieves the transaction, OTMA discards the transaction
    and issues a message DFS3688I, by default, to the OTMA
    client. However, if the OTMA input has TMAMINPT flag set,
    the original input transaction data instead of the
    DFS3688I message will be sent back to the OTMA client for
    the transaction expiration.
    In addition, the symptom dump and DFS554A message won't be
    generated to save the CPU cycles. However, OTMA can be
    configured to generate the symptom dump and DFS554A message
    by specifying TODUMP=YES in the DFSYDTx proclib member. If
    the input message has TMAMDUMP flag set in the state data
    prefix and the transaction is expired at the GU time, a
    pseudo abend U243 with DFS554A and symptom dump will be
    taken.
    ============================================================
    IMS Communications and Connections
    ============================================================
    Section
    Explanation of OTMA message-control information fields
    Response Flag
    
    Add:
    Value X'04'
    Input expired at GU time
    Specifies that OTMA expires the input transaction at the GU
    time.
    
    Value X'01'
    Support for returning the original input in the response
    Specifies that the OTMA client wants the original input
    message to be returned instead of a DFS3688I message.
    
    State Data Section
    Table 1 State data format for transaction-related information
    
    Byte - 54
    Length - 8
    Content - XCF arrival time
    Description - When an input transaction is expired, the
                  field contains the XCF arrival time of the
                  input message. This value would help client
                  determine how much time the message spends in
                  IMS.
    
    Section
    OTMA message prefix
    State data section
    Transaction and callout message
    
    add two more flags:
    Byte: 3
    Length: 1
    Content: Additional client flags
    Value: X'02'
    Description: Enable symptom dump and DFS554A message
    for transaction expiration when the transaction is
    expired at GU time.
    
    Byte: 3
    Length: 1
    Content: Additional client flags
    Value: X'01'
    Description: Allow the OTMA shared queues back-end
    ALTPCB output message, which is originated from
    an OTMA frontend IMS, to be delivered to the
    frontend IMS for the OTMA client.
    
    ============================================================
    IMS Communications and Connections
    ============================================================
    
    Using shared queues with OTMA
    
    Retrieving ALTPCB output from a back-end IMS system
    
    add the following paragraph to the end:
    
    For OTMA client which does not activate the super
    member function, for example, WebSphere MQ,
    if an OTMA transaction gets processed at the back-end IMS
    and the OTMA ALTPCB output is created, this output message,
    by default, will be queued to shared queues
    with the back-end affinity. The OTMA client connected to
    the front-end IMS will not be able to get the message.
    However, if the front-end IMS has ALTPCBE=YES specified
    in the DFSYDTx proclib member or the input message has
    TMAMALTB flag set in the state data prefix, the OTMA ALTPCB
    output generated at the back-end IMS will be delivered to
    the front-end IMS for the OTMA client.
    
    ============================================================
    IMS Messages and Codes, Volume 1
    ============================================================
    
    Introduce an additional format of DFS3688I just for OTMA
    
    Transaction aaaaaaaa expired: ELAPSE=ssssss TPIPE=pp TMEMBER=mm
    
    Where
    pp is the tpipe name for OTMA input message
    
    mm is the tmember name for OTMA input message
    ============================================================
    IMS Commands, Volume 1
    ============================================================
    
    /DISPLAY TMEMBER
    
    Syntax
    
    add tpipename* to the syntax diagram following the TPIPE
    keyword
    
    Usage notes
    
    The tpipe name can be ended with a generic character.
    This generic form of tpipe name can also be used with QCNT or
    SYNC keywords. The tpipe name with a generic character
    cannot be mixed with other tpipe names. The valid formats
    for using a tpipe name with the generic character are:
    /DIS TMEMBER membername TPIPE tpipename*
    /DIS TMEMBER membername TPIPE tpipename* QCNT
    /DIS TMEMBER membername TPIPE tpipename* SYNC
    

APAR Information

  • APAR number

    PM05985

  • Reported component name

    IMS V10

  • Reported component ID

    5635A0100

  • Reported release

    010

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Xsystem

  • Submitted date

    2010-01-25

  • Closed date

    2012-01-12

  • Last modified date

    2012-02-02

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

    PM05984

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

    UK75413 UK75414

Modules/Macros

  • DFSAOAM2 DFSAOA00 DFSAOSD  DFSAOSW0 DFSDLA30
    DFSFXC30 DFSFXC40 DFSICL30 DFSLUMDS DFSLUMIF DFSP62XT DFSYDPD0
    DFSYFND0 DFSYIDC0 DFSYINI0 DFSYLUS0 DFSYMEM0 DFSYMOM0 DFSYMSG
    DFSYMTE  DFSYPRE  DFSYQAB0 DFSYSLM0 DFSYTIB  DFSYTIB0 DFS6LUS2
    DFS62DLA IPST
    

Publications Referenced
SC18970000SC18970300GC18971201GC18971701GC18996600

Fix information

  • Fixed component name

    IMS V10

  • Fixed component ID

    5635A0100

Applicable component levels

  • R010 PSY UK75413

       UP12/01/19 P F201

  • R012 PSY UK75414

       UP12/01/19 P F201

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 February 2012