Why is error message TPXL0053 ... BINDLOST - NO SB FOUND FOR CLSDST PASS being generated.

Document ID : KB000048822
Last Modified Date : 27/03/2018
Show Technical Document Details
Issue:

This Document explains why message TPXL0053 ... BINDLOST - NO SB FOUND FOR CLSDST PASS may appear when trying to logon to an application using CLSDST PASS(like TSO) and what you can do to resolve that situation.

 
      Environment:
      CA TPX for z/OS
      Resolution:

      TPXL0053 ... BINDLOST - NO SB FOUND FOR CLSDST PASS
      This error message indicates a lost BIND when TPX tries to establish a session from a 'GROUP' type terminal to an application using Substring (like TSO).

      This condition is observed when more than one application is defined with matching Substrings that are not unique.

      See following example for explanation:

      1. There are three applications using Substring definitions in the ACT :

        APPL Substring
        TSO1 TS1
        TSO2 TS2
        TSO3 TS
         
      2. When a request for a session with TSO2 is initiated, TPX selects virtual terminal (TYPE=GRP) GRP0001, and sends a REQSESS to TSO2:
        +------------------+             +----------------+
        ! Virtual Terminal !  REQSESS    ! Application    !
        !      GRP0001     ! ----------> !    TSO2        !
        +------------------+             +----------------+
      3. TSO2 accepts this request and passes it to one of its Minor Nodes, for example TS20001. A BIND is returned to VT GRP0001:
                                             +-------------+
                                             ! Application !
                                             !    TSO2     !
                                             +-------------+
                                                    !
                                                    V
            +------------------+             +-------------+
            ! Virtual Terminal !    BIND     ! Application !
            !      GRP0001     ! <---------- !   TS20001   !
            +------------------+             +-------------+

        Since the VT is TYPE-GRP, TPX cannot determine which REQSESS the incoming BIND belongs to.
        There may be other REQSESS being issued in parallel and waiting for reply from the application at the same time.
        The only way TPX can glue together the REQSESS from TSO2 to the BIND from TS20001 is by checking the Substrings.
         
      4. At TPX startup, a Substrings table is created, in reverse order.
        For our example this table will look like:

        APPL Substring
        TSO3 TS
        TSO2 TS2
        TSO1 TS1

        Since the Substrings are tested in this sequence: 'TS', 'TS2' and 'TS1', TS20001 matches the first Substring 'TS'.
        TPX is attempting to connect the REQSESS to TSO3 rather than TSO2, incorrectly, displaying the error message :
        TPXL0053 ... BINDLOST - NO SB FOUND FOR CLSDST PASS

        There are two possible solutions for this:
        1. Make sure that every Application has unique substrings values.
          In our example the substring 'TS' is not unique enough as every Minor Node starting with 'TS1' or 'TS2' will fit into 'TS' as well.
          If TSO3 had been defined with a substring of 'TS3' than TPX would correctly interpret application for TS20001, namely TSO2.
           
        2. The other solution is to use (TYPE=UNQ) Unique virtual terminals rather than TYP=GRP.
          This forces a one-to-one Appl:VT relationship and correctly interprets a REQSESS to TSO2 and accepts any BIND received for that session request.  The downside is that you likely need to define many more UNQ ACBs within your VTAMLST member since one is needed for each session.