IBM Support

PK55461: ADD SUPPORT TO THE TM/MSC MESSAGE ROUTING USER EXIT, DFSMSCE0, TO ROUTE MESSAGES TO BACK END IMS'S WITHIN A IMSPLEX.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • This support will allow the DFSMSCE0
    user exit to indicate a transaction
    message is to be routed to another IMS
    within the IMSplex by setting a user
    flag and the IMSID of the IMS to
    route the message to.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All IMS V9 systems with shared queues (SQ)   *
    *                 support and the sysplex manager tool V1.3,   *
    *                 COMPID = 5655P0100.                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: This support will allow the DFSMSCE0    *
    *                      user exit to indicate a transaction     *
    *                      message is to be routed to another IMS  *
    *                      within the IMSplex by setting a user    *
    *                      flag and the IMSID of the IMS to        *
    *                      route the message to, for the sysplex   *
    *                      manager tool, COMPID = 5655P0100.       *
    ****************************************************************
    * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF      *
    ****************************************************************
    The TM/MSC user routing exit, DFSMSCE0 was enhanced to allow
    the exit to route a transaction message to a designated back
    end (BE) IMS within the shared queue (SQ) IMSplex. The exit can
    identify the IMS by its IMSID.  The IMSID is appended to the
    transaction message as the affinity name. This support is for
    the sysplex manager tool, COMPID = 5655P0100
    

Problem conclusion

Temporary fix

Comments

  • POSTREQ PK73869
    REPINNED RP08/10/21 (ATXT) TO ADD POSTREQ PK73869 INFO.
     **** PE08/10/21 PTF IN ERROR. SEE APAR PK73869 FOR DESCRIPTION.
    Conclusion:
    The three user exit routing entry points of DFSMSCE0,
    1. Terminal Routing, 2. Program Routing, and 3. Link Receive
    Routing, were changed to allow a IMSID to be appended to
    transaction messages.  In a shared queues (SQ) IMSplex system,
    this adds an affinity to the transaction message to the IMS
    of the selected IMSID.  For non shared queues systems, this
    affinity is ignored.
    
    To invoke affinity routing the user exit copies the 4
    character IMSID to field MSCEAFIN in the input parameter list
    mapped by macro/DSECT DFSMSCEP, and sets one of three flags as
    follows: MSTR2BSQ for terminal routing, MSPR2BSQ for program
    routing, and MSLR2BSQ for link receive routing.  When the user
    exit returns to IMS, the request will be validated and if OK,
    the IMSID will be appended to the messages shared queues name
    (i.e. mapped by DFSSQNM macro/DSECT).
    
    The transaction will need to be registered for affinity
    processing by issuing the /START TRANSACTION trancode AFFINITY
    command on the IMS with the selected IMSID, or the type 2
    command, UPDATE TRAN NAME(xxxx) START(SCHD) OPTION(AFFIN)
    i.e.
    R ##,/STA TRAN APOL12 AFFINITY
    DFS058I 16:20:29 START COMMAND COMPLETED   SYS3
    
    
    A transaction messages affinity can be displayed by the
    command,  /DIS TRAN ALL QCNT
    
    i.e.
    R ##,/DIS TRAN ALL QCNT
    DFS000I     TRAN          GBLQCT  AFFINITY     SYS3
    DFS000I     APOL12             1  SYS3         SYS3
    DFS000I     *03224/155809*   SYS3
    
    
    See the DFSMSCEP parameter list, labels MSTRAFIN, MSTR2BSQ,
    MSLR2BSQ, and MSPR2BSQ for more information.
    Also, the DFSMSCE0 sample exit has examples of this routing
    support.
    
    DFSCMS00 was changed to test for the MSLRFL2 = MSLR2BSQ flag
    and if set, copy the IMSID affinity name from MSCEAFIN
    to MSCEBAFIN, for Link Receive Routing.
    
    DFSCON10 BUILDKEY routine was changed to copy the IMSID
    affinity name from TPCBAFIN to MSCEBAFIN when MSPR2BSQ is
    set, for conversation transactions, for Program Routing.
    
    DFSDLA30 was changed to test for the MSPRFL2 = MSPR2BSQ flag
    and if set, copy the IMSID affinity name from MSCEAFIN
    to MSCBEAFIN for Program Routing.
    
    DFSFXC40 was changed to test for the TPPCBFL3 = TPCB3BSQ flag
    and if set, copy the IMSID affinity from TPCBAFIN (ALT PCBs)
    or MSCEBAFIO (I/O PCB), to MSCEBAFIN for DFSQC050 to append
    to the shared queues name, DFSSQNM, before calling the
    router, DFSICLR0.
    
    DFSICIO0 was changed to test for the MSTRFL2 = MSTR2BSQ flag
    and if set, copy the IMSID affinity name from MSCEAFIN
    to MSCEBAFIN for Terminal Routing.
    
    DFSIIMS0 changeid was updated to reassemble the DFSUSRX
    macro.
    
    DFSMSCEB was changed to add a 4 character field = MSCEBAFIN
    (reserved field was used) for the IMSID affinity parameter
    to pass the QMGR, DFSQC050.
    
    DFSMSCEC was changed to clear the MSCEAFIN field before
    invoking the DFSMSCE0 exit.  For program routing calls, a
    new flag field, MSPRFL4 is passed to the exit.
    
    DFSMSCEP was changed to add documentation for the back end
    affinity routing flags, MSTRFL2 = MSTR2BSQ, MSLRFL2 = MSLR2BSQ,
    and MSPRFL2 = MSPR2BSQ.
    MSCE1FL1 = MSCE1FAFF was added to support a force affinity
    mode option for APPC and OTMA synchronous mode transactions.
    MSCEAFIN field was added to set the 4 character IMSID to use
    for the affinity routing request.
    Flag MSPRFL4 = MSPR4OUT was added to indicate to the exit that
    the caller is a BMP using the OUT= parameter on the //EXEC
    control card, and is inserting to the I/O PCB.  The exit will
    be allowed to request affinity routing for these messages.
    
    DFSMSCE0 prologue was changed to show an affinity routing
    example in the routing diagrams.  Examples of affinity routing
    were added to the terminal, link receive, and program routing
    routines.
    
    DFSPCBS was changed to add flag TPPCBFL3 = TPCB3BSQ to
    indicate a backend affinity routing request is being issued
    for this PCB.  Field TPCBAFIN (reserved field was used) for the
    IMSID affinity parameter for this PCB.
    
    DFSQC050 was changed to check for a MSCEB work area with the
    MSCEBAFIN value set for the message being processed, and if set,
    append this name to the SQ name at SHQ_FILL in the DFSSQNM
    queue name.
    
    DFSRLM10 was changed to test for the MSTRFL2 = MSTR2BSQ flag
    and if set, copy the IMSID affinity name from MSCEAFIN
    to MSCEBAFIN. For synchronous APPC transactions, additional
    environmental requirements for resource recovery service
    (RRS=Y), and APPC/OTMA synchronous support (AOS=Y or F) are
    also checked.
    
    DFSTRM00 changeid was updated to reassemble the DFSUSRX
    macro.
    
    DFSUSRX was changed to correctly process the user exit address,
    UXDTERTN field in the UXDTE exit table, for the DFSMSCE0
    user exit, for DFSUSRX FUNC = GETADDR, DEFINE, and UNDEFINE.
    
    DFSYTIB0 was changed to test for the MSTRFL2 = MSTR2BSQ flag
    and if set, copy the IMSID affinity name from MSCEAFIN
    to MSCEBAFIN. For synchronous OTMA transactions, additional
    environmental requirements for resource recovery service
    (RRS=Y), and APPC/OTMA synchronous support (AOS=Y or F) are
    also checked.
    
    DFS6LUS2 was changed to reassemble for the DFSMSCEC macro.
    
    
    Subj: Doc file for PK55462 IMS V10 - DFSMSCE0 SPE KZ00050
    
    Publication Changes:
    The following changes will be added to the IMS V9 Customization
    Guide, (SC18-7817-03), Chapter 67, TM and MSC Message Routing
    and Control User Exit, (DFSMSCE0).
    
    ----------------------------------
    
    IN THE SECTION "About this routine"
    
    CHANGE FROM:
    
    In turn, the exit is allowed to affect the routing of most of
    these messages.
    Exceptions are cases where rerouting would violate IMS
    architecture or cause problems such as hung terminals or
    incorrect application program operation.
    
    For example, rerouting application program output messages
    to the I/O PCB is one of these exceptions (it is not allowed).
    
    For details on the routing capabilities for each exit entry
    point (Terminal, Link Application), see the DFSMSCEP user
    parameter list mapping tables in Contents of registers on
    entry, on page 332. The user reroute request flags are
    MSTRFL2 (terminal), MSLRFL2 (MSC link), and MSPRFL2/MSPRFL3
    (application). Setting one or more of these flags in
    conjunction with changing destination type causes the message
    to be canceled or rerouted (see following note).
    See the DFSMSCE0 sample exit for examples of message routing.
    
    TO:
    
    In turn, the exit is allowed to affect the routing of most of
    these messages.
    Exceptions are cases where rerouting would violate IMS
    architecture or cause problems such as hung terminals or
    incorrect application program operation.
    
    For example, rerouting application program output messages
    to the I/O PCB is one of these exceptions (it is not allowed),
    or affinity routing of synchronous APPC/OTMA transaction message
    to another IMS in a shared queues (SQ) environment if the
    resource recovery service (RRS = Y) or APPC/OTMA enablement
    service (AOS=Y) is not set (is not allowed).
    
    For details on the routing capabilities for each exit entry
    point (Terminal, Link Application), see the DFSMSCEP user
    parameter list mapping tables in Contents of registers on
    entry, on page 332. The user reroute request flags are
    MSTRFL2 (terminal), MSLRFL2 (MSC link), and MSPRFL2/MSPRFL3
    (application). Setting one or more of these flags in
    conjunction with changing destination type causes the message
    to be canceled or rerouted (see following note).
    See the DFSMSCE0 sample exit for examples of message routing.
    For affinity routing restrictions see the IMSplex
    Administration guide, section ' Managing APPC and OTMA
    messages in a sysplex environment'
    
    ----------------------------------
    
    IN THE SECTION "Defining Entry Points", change the following,
    
     The entry points enable:
       * Rerouting a message to a different destination name or IMS
       * Requesting affinity processing (processing messages on the
         current IMS)
       * Rejecting the message
    
    TO
    
      The entry points enable:
       * Rerouting a message to a different destination name,
         or different remote IMS in a MSC system
       * Requesting transaction affinity processing (i.e. request
         message be processed in a specific IMS) in a shared queues
         IMSplex system by requesting the message process local in
         the current IMS, or in a different back end IMS.
     * Rejecting the message
    ----------------------------------
    
    ADD THE FIELD MSCEAFIN to table 135 at offset 73
    
     Table 135. Main User Exit Parameter List Mapped by the
     DFSMSCEP Macro
    
     Field     Offset  Length  Description
     --------------------------------------------------------------
               73      7       Reserved
    
    
    CHANGE TO:
    
     Field     Offset  Length  Description
     --------------------------------------------------------------
     MSCEAFIN  73      3       Reserved
     MSCEAFIN  76      4       IMSID to route message for shared
                               queues affinity routing
    ===============================================================
    
     The documentation for the MSCEAFIN field, and the 3 backend
     shared queues affinity routing flags (MSTR2BSQ,
     MSLR2BSQ, and MSPR2BSQ, will be updated as follows:
    
    **********************************************************
    *             - I = IMS SETS (EXIT MUST NOT CHANGE)      *
    *             - U = USER EXIT SETS                       *
    *             - B = BOTH IMS/USER EXIT SET (OR CHANGE)   *
    **********************************************************
    
    
    MSCEAFIN  XL4   U  The IMSID to append to a transaction
    *                  message for IMSplex affinity routing.
    *                  This is a 1 to 4 byte alphameric character
    *                  name padded with blanks, assigned to one
    *                  of the IMSs within the IMSplex. (See IMSID
    *                  parameter on the IMSCTRL system definition
    *                  macro or EXEC control card parameter in
    *                  the IMS (DB/DC), or DCC (DCCTL) procedure.
    *                  One of the following flags must also be
    *                  set to indicate affinity routing is to be
    *                  performed: MSLR2BSQ=1, MSPR2BSQ=1,
    *                  MSTR2BSQ. IMS will append this name to the
    *                  transaction message QUEUENAME, to assign
    *                  affinity to the message.  The transaction
    *                  must be started with the AFFIN parameter
    *                  on the back end IMS where this IMSID is
    *                  defined.                          @PK55461
    
    The following flag is for the terminal routing entry point:
    
    MSTR2BSQ        U  This option is valid for transaction
    *                  messages in a shared queues (SQ)
    *                  environment.  It causes IMS to insert the
    *                  message to the SQ's with a queue name with
    *                  affinity to a back end IMS. The affinity
    *                  is determined by the 1-4 character IMSID
    *                  name at parameter MSCEAFIN. This
    *                  transaction must also be started with the
    *                  AFFIN parameter on the start transaction
    *                  command in the back end IMS. See MSCEAFIN
    *                  parameter for more information.
    *                  If non shared queues or if the message
    *                  does not have a transaction destination,
    *                  this option is ignored.  This provides the
    *                  ability to execute the transaction on a
    *                  back end IMS without having to specify
    *                  SERIAL=YES on the TRANSACT macro. @PK55461
    *
    
    The following flag is for Link Receive Routing entry point:
    
    MSLR2BSQ        U  This option is valid for transaction
    *                  messages in a shared queues (SQ)
    *                  environment.  It causes IMS to insert the
    *                  message to the SQ's with a queue name with
    *                  affinity to a back end IMS. The affinity
    *                  is determined by the 1-4 character IMSID
    *                  name at parameter MSCEAFIN. This
    *                  transaction must also be started with the
    *                  AFFIN parameter on the start transaction
    *                  command in the back end IMS. See MSCEAFIN
    *                  parameter for more information.
    *                  If non shared queues or if the message
    *                  does not have a transaction destination,
    *                  this option is ignored.  This provides the
    *                  ability to execute the transaction on a
    *                  back end IMS without having to specify
    *                  SERIAL=YES on the TRANSACT macro. @PK55461
    
    The following flag is for Program Routing entry point:
    
    MSPR2BSQ        U  This option is valid for transaction
    *                  messages in a shared queues (SQ)
    *                  environment.  It causes IMS to insert the
    *                  message to the SQ's with a queue name with
    *                  affinity to a back end IMS. The affinity
    *                  is determined by the 1-4 character IMSID
    *                  name at parameter MSCEAFIN. This
    *                  transaction must also be started with the
    *                  AFFIN parameter on the start transaction
    *                  command in the back end IMS. See MSCEAFIN
    *                  parameter for more information.
    *                  If non shared queues or if the message
    *                  does not have a transaction destination,
    *                  this option is ignored.  This provides the
    *                  ability to execute the transaction on a
    *                  back end IMS without having to specify
    *                  SERIAL=YES on the TRANSACT macro. @PK55461
    ×**** PE08/10/16 FIX IN ERROR. SEE APAR PK73869  FOR DESCRIPTION
    

APAR Information

  • APAR number

    PK55461

  • Reported component name

    IMS V9

  • Reported component ID

    5655J3800

  • Reported release

    900

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Xsystem

  • Submitted date

    2007-10-25

  • Closed date

    2008-05-28

  • Last modified date

    2008-11-20

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

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

    PK55462 UK36861 UK36862

Modules/Macros

  •    DFSCMS00 DFSCON10 DFSDLA30 DFSFXC40 DFSICIO0
    DFSIIMS0 DFSMSCEB DFSMSCEC DFSMSCEP DFSMSCE0 DFSPCBS  DFSQC050
    DFSRLM10 DFSTRM00 DFSUSRX  DFSYTIB0 DFS6LUS2
    

Publications Referenced
SC18781703    

Fix information

  • Fixed component name

    IMS V9

  • Fixed component ID

    5655J3800

Applicable component levels

  • R900 PSY UK36861

       UP08/06/06 P F806

  • R902 PSY UK36862

       UP08/06/06 P F806

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
20 November 2008