IBM Support

PI29922: GENERATE NEW CLIENTID FOR DUPLICATE CLIENTID. RETURN CLIENTID ONREQUEST.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • This packages two related enhancements:
    
    1)
    IMS Connect enhanced to generate and assign a unique client ID
    when the clientid name provided is a duplicate of one already in
    use.
     - this enhancements provides this user option to     eliminate
    session interruptions resulting from duplicate     clientid
    conditions.
    
    2)
    On request, return the clientid name associated with the session
    with the next outpt message.
     - this enhancement provides the user the option to request
    that the clientID name be returned with the next output
    message.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All IMS V12 IMS Connect users                *
    ****************************************************************
    * PROBLEM DESCRIPTION: IMS Connect enhanced to generate and    *
    *                      assign a unique client ID when the      *
    *                      client ID provided by the client is     *
    *                      a duplicate of one already in use.      *
    *                                                              *
    *                      On request, return the client ID name   *
    *                      associated with the session in the      *
    *                      next output message.                    *
    ****************************************************************
    * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF      *
    ****************************************************************
    
    1)
    IMS Connect enhanced to generate and assign a unique client ID
    when the client ID name provided by the client is a duplicate
    one already in use by the IMS Connect system.
    
     - This enhancements provides the user option to eliminate
       session interruptions resulting from duplicate client ID
       conditions resulting in RC=08, RSN=56 returned to client
       and console message HWSS0742W R=08, S=DUPECLNT.
    
    IMS Connect has defined new flag bit IRM_F2_GENCID x'01' in
    flag byte IRM_F2 of the IRM structure.
    
    Set this flag to indicate to IMS Connect to generate a new
    client ID if the supplied client ID (in IRM_CLIENTID field) is
    detected as a duplicate of one already in use.
    
    
    2)
    On request, return the client ID name associated with the
    session with the next output message.
    
     - This enhancement provides the user the option to request
       that the client ID name be returned with the next output
       message.
    
    IMS Connect has defined new flag bit IRM_F1_REQCID x'40' in
    flag byte IRM_F1 of the IRM structure.
    
    Set this flag on any input request to inform IMS Connect to
    return the session client ID with the next output.
    
    The client ID will be sent with the next output message in a
    segment header identified as GENCID. The GENCID header contains
    an LLZZ field followed by the identifier *GENCID* and an 8 byte
    field containing the client ID.
    
      Field     Length   description
      -----     ------   -----------
      LL        2 bytes  Length of GENCID segment
      ZZ        2 bytes  Reserved
      *GENCID*  8 bytes  Segment Identifier
      CLIENTID  8 bytes  Client ID
    
    The GENCID segment precedes any application data retuned in the
    output.
    
    Example of output with GENCID structure.
    LLZZ*GENCID*CLIENTID LLZZDATA... LLZZDATA... LLZZCSMOKY
    

Problem conclusion

Temporary fix

Comments

  • The following parts have been modified:
    
    Mapping macro's
     HWSEXPRM, HWSIMSCB
    
    User Message Exits:
     HWSSMPL0, HWSSMPL1 and HWSDPWR1
    
    Part HWSSDXMT
    
    --
    Changes to HWSEXPRM macro
    
     New flag bit in flag byte EXPXMT_FLAG1
    
      - EXPXMT_F1_CLID - equ x'02'
    
    Set by IMS Connect and passed to the XMIT routine of the user
    message exit to indicate that field EXPXMT_CLID contains the
    session client ID name.
    
     New flag bit definition CIDREQ equ x'20'
    
    Saved in EXPREA_UFLAG1 by READ routine of user message exit if
    the request to return the client ID is indicated in the IRM of
    the input message (i.e. IRM_F1_CIDREQ set).
    
    Passed in EXPXMT_UFLAG1 to the XMIT routine of the user message
    exit.
    
     New field
    
      - EXPXMT_CLID  8 bytes
    
    Set by IMS Connect with the client ID name before calling the
    XMIT routine of the user message exit.
    
    If user flag byte EXPXMT_UFLAG contains new flag CIDREQ (x'20')
    set to true, indicates that new 8 byte field EXPXMT_CLID
    contains the session client ID.
    
    --
    Changes to HWSIMSCB macro (changes to IRM)
    
     New flag bit in IRM_F1 flag byte of the IRM.
     - IRM_F1_CIDREQ  equ  x'40'
    
    Set by client on input to request that the session client ID be
    returned with the next output message.
    
    Detected by the READ routine of the user message exit.
    
     New flag bit in IRM_F2 flag byte of the IRM.
     - IRM_F2_GENCID  equ  x'01'
    
    Set by client on initial (first) input to inform IMS Connect to
    generate and assign a unique client ID to the session if the
    client ID provided by the client in IRM_CLIENTID matches one
    that is already in use.
    
    Propagated to OMUSR_F2_CIDREQ by READ routine of user message
    exit.
    
    --
    Changes to user message exits HWSSMPL0, HWSSMPL1 and HWSDPWR1
    
    In READ routine:
      If input message IRM header has IRM_F1_CIDREQ set by
      the client to request that the client ID be returned with the
      next output, then set flag CIDREQ in EXPREA_UFLAG1
    
      If initial input message IRM header has IRM_F2_GENCID set by
      the client to request that IMS Connect generate a new unique
      client ID to replace the client ID supplied by the client in
      IRM_CLIENTID of the IRM when that supplied client ID is in
      use, the setting is propagated to OMUSR_F2_CIDREQ during
      conversion to the OTMA header.
    
    In XMIT routine:
      If CIDREQ is set in EXPXMT_UFLAG1 and EXPXMT_F1_CLID is set
      in EXPXMT_FLAG1 then build *GENCID* segment structure header
      for the client ID return.
    
    --
    Changes to part HWSSDXMT
    
    Move the client ID into EXPXMT_CLID field.
    Set flag bit EXPXMT_F1_CLID in EXPXMT_FLAG1 to indicate that
    EXPXMT_CLID contains the client ID.
    
    -- Documentation Updates --
    
    Document changes to HWSEXPRM macro description
    
    IMS Version 12 Exit Routines (SC19-3016)
    >IMS reference information
      >Exit routines>IMS Connect exit routines
        >IMS Connect user message exit routines
          >IMS Connect communications with user message exits
            >XMIT Subroutine
    
    Modification to the parameter list passed to the User
    Message Exit XMIT routine.
    
    Table: Contents of parameter list pointed to by register 1
           at XMIT subroutine entry
    
    Add new flag bit in EXPXMT_FLAG1 flag byte:
      X'02' - EXPXMT_F1_CLID indicates field EXPXMT_CLID contains
                             client ID.
    
    Add new 8 byte field EXPXMT_CLID after reserved fields.
    
    After change:
     note:  Updated lines start with change bar (|) in column 1
    
    Field           Length      Meaning
    EXPXMT_FLAG1     1 byte   Data string flag:
                              X'80' - Input data contains a MSGID
                                      matching EXPINI_STRING1.
                              X'40' - Input data contains a MSGID
                                      matching EXPINI_STRING2.
                              X'20' - EXPXMT_F1_SYNC indicates a
                                      synchronous callout
                                      message.
    |                         X'02' - EXPXMT_F1_CLID indicates
    |                                 EXPXMT_CLID contains
    |                                 clientid name.
     EXPXMT_UFLAG    1 byte   User flag, X'xx'-User-defined value
     Reserved        2 bytes
     Reserved        4 bytes  Internal use only
     Reserved        4 bytes  Internal use only
     Reserved        4 bytes  Internal use only
     Reserved        4 bytes  Internal use only
    |EXPRM_CLID      8 bytes  Character.  Client_id name assigned to
                                          sessions.
    ----------------------------------------------------------------
    
    Document changes to IRM mapping macro description.
    
    IMS Version 12 Communications and Connections SC19-3012
    >IMS administration
     >Communications and connections
       >IMS Connect and TCP/IP communications
         >IMS Connect message structures
           >IRM structures for IMS Connect client messages
             >Format of user portion of IRM for HWSSMPL0, HWSSMPL1,
              and user-written message exit routines
    
    Table: User portion of IRM for HWSSMPL0, HWSSMPL1, and
           user-written user message exits
    
    Add description for new flag bit x'40' in IRM_FLAG1 byte
    
    After change:
         note - Updates lines start with change bar (|) in column 1
    
    IRM_F1           1 byte  32  X'20'    The purpose of this field
                                          differs depending on its
                                          value.
                                         X'80' - IRM_F1_MFSREQ
                                          The user requests that IMS
                                          return an MFS MOD name.
    |                                    X'40' - IRM_F1_CIDREQ
    |                                     The user request that IMS
    |                                     Connect return the
    |                                     client_id.
                                         X'20' - IRM_F1_UC
                                          This is a Unicode message.
                                         X'10' - IRM_F1_UCTC
                                          This is a Unicode
                                          transaction code.
                                         X'02' - IRM_F1_NOWAIT
                                          This CM0 send-and-receive
                                          message uses the NOWAIT
                                          option for the expected
                                          ACK or NAK response.
                                         X'01' - IRM_F1_TRNEXP
                                          The user requests that IMS
                                          Connect set the expiration
                                          time for the input
                                          transaction.
                                         X'00'
                                          The user requests that no
                                          MFS MOD name to be
                                          returned.
    ----------------
    Document GENCID output segment
    
    IMS Version 12 Communications and Connections SC19-3012
    >IMS administration>Communications and connections
     >IMS Connect and TCP/IP communications
      >IMS Connect message structures
       >Message structures and IMS Connect user message exit
        routines
        >Message structures
         >Output message from message exit to client
    
     Add new topic and table between RMM and CSM descriptions.
    
    Format of Returned Client ID message
    
    The IMS Connect returned client ID message (GENCID) is returned
    as the first (if no RMM segment) or second (follows RMM segment)
    structure of an output message from the message exit if the
    client ID is requested and output is present.
    
    The following table shows the output message format of the
    requested client ID built by the user message exits HWSSMPL0
    HWSSMPL1 and HWSDPWR1. The table contains the field name, field
    length, and field meaning.
    
    Table n.  Request client ID returned output message format
    Field     length   Meaning
    LL        2 bytes  Length of GENCID message
    ZZ        2 bytes  Reserved (set to binary zeros)
    ID        8 bytes  Character value of (*GENCID*)
    CLIENT ID 8 bytes  character value of Client ID name
    

APAR Information

  • APAR number

    PI29922

  • Reported component name

    IMS V12

  • Reported component ID

    5635A0300

  • Reported release

    200

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-11-18

  • Closed date

    2015-01-21

  • Last modified date

    2015-02-03

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

    PI26856

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

    UI24557

Modules/Macros

  •    HWSDPWR1 HWSEXPRM HWSIMSCB HWSSDXMT HWSSMPL0
    HWSSMPL1
    

Publications Referenced
SC19301200SC193016XX   

Fix information

  • Fixed component name

    IMS V12

  • Fixed component ID

    5635A0300

Applicable component levels

  • R200 PSY UI24557

       UP15/01/26 P F501

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"},"Platform":[{"code":"PF054","label":"z Systems"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 June 2020