z/OS Communications Server: SNA Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Examining LU names

z/OS Communications Server: SNA Customization
SC27-3666-00

In the sample network, assume that GWNCP40 is selected for the session between the terminal (N02L0256) and the application program (A50CICS). Route activation for this session does not take place until the BIND flows for the session. In this case, the BIND flows from the VTAM® host (V50CDRM) to the gateway NCP (GWNCP40). Assume that the link is not operative between the gateway NCP (GWNCP40) and the NCP subarea (NCP02) in NET1. As a result, the virtual route (VR) cannot be activated and the LU-LU session fails. There is no information provided to the session management exit routine indicating that the route is unavailable, even though the gateway NCP is available. If the user at the terminal attempts to reinitiate the session, the session management exit routine, using the same logic, continues to select the same gateway NCP over which the complete network route is unavailable.

In the sample session management exit routine, the gateway path selection function performs the following logic to select a GWPATH from the list:
  1. Examines the real LU name of the application program in the PLU and the SLU RIC to determine if the LU name is either A50CICS or A60CICS. If the DLU or OLU is neither of these names, the session management exit code uses the default gateway path selection.
  2. If the real LU name is A50CICS, ensure that GWNCP30 is the first entry in the list. If the LU name is A60CICS, the session management exit reorders the list, if necessary, to ensure that GWNCP40 is the first entry in the GWPATH selection list
The following code locates the real LU name for the PLU or SLU. If the LU name is not a CICS® application program, the exit returns control to VTAM without modifying the GWPATH list.    
***********************************************************************
*        SME ROUTINE - GATEWAY PATH SELECTION FUNCTION
***********************************************************************
GWPATH   EQU   *
*
** LOCATE USER DATA STORAGE AREA - GWPATH NAME AND SUBAREA ADDRESS
*
GWPTHS1A EQU   *
         L     R1,8(R11)        USER DATA FIELD ADDRESS
         L     R1,0(R1)         USER DATA STORAGE AREA ADDRESS
*
** LOCATE PLU RESOURCE INFORMATION CONTROL VECTOR - REAL LUNAME
*
GWPTHS1B EQU   *
         SR    R5,R5            CLEAR WORK REGISTER 5
         L     R4,12(R11)       PLU RIC ADDRESS
         LA    R4,4(R4)         PLU RIC SSCPNAME ADDRESS
         IC    R5,0(R4)         PLU RIC SSCPNAME LENGTH
         AR    R4,R5        PLU RIC REAL NETID ADDRESS VECTOR MINUS ONE
         LA    R4,1(R4)         PLU RIC NETID LENGTH ADDRESS
         IC    R5,0(R4)         PLU RIC NETID LENGTH
         AR    R4,R5       PLU RIC REAL LUNAME ADDRESS VECTOR MINUS ONE
         LA    R4,1(R4)         PLU RIC REAL LUNAME LENGTH ADDRESS
         IC    R5,0(R4)         PLU RIC REAL LUNAME LENGTH
         LTR   R5,R5            TEST PLU REAL NAME FOR ZERO LENGTH
         BE    GWPTHS1C         YES, NO REAL PLU NAME
         BCTR  R5,0             PLU RIC REAL LUNAME LENGTH MINUS ONE
         LA    R4,1(R4)         PLU RIC REAL LUNAME ADDRESS
*
** COMPARE THE PLU RIC LUNAME TO APPLICATION NAME: A50CICS OR A60CICS
*
         EX    R5,CICS50        COMPARE PLU RIC REAL LUNAME TO ACICS50
         BE    GWPTHS2A         YES, REORDER GWPATH AS NECESSARY
         EX    R5,CICS60        COMPARE PLU RIC REAL LUNAME TO ACICS60
         BE    GWPTHS2B         YES, REORDER GWPATH AS NECESSARY
*
** LOCATE SLU RESOURCE INFORMATION CONTROL VECTOR - REAL LUNAME
*
GWPTHS1C EQU   *
         SR    R5,R5            CLEAR WORK REGISTER 5
         L     R4,16(R11)       SLU RIC ADDRESS
         LA    R4,4(R4)         SLU RIC SSCPNAME ADDRESS
         IC    R5,0(R4)         SLU RIC SSCPNAME LENGTH
         AR    R4,R5        SLU RIC REAL NETID ADDRESS VECTOR MINUS ONE
         LA    R4,1(R4)         SLU RIC NETID LENGTH ADDRESS
         IC    R5,0(R4)         SLU RIC NETID LENGTH
         AR    R4,R5       SLU RIC REAL LUNAME ADDRESS VECTOR MINUS ONE
         LA    R4,1(R4)         SLU RIC REAL LUNAME LENGTH ADDRESS
         IC    R5,0(R4)         SLU RIC REAL LUNAME LENGTH
         LTR   R5,R5            TEST SLU REAL NAME FOR ZERO LENGTH
         BE    GWPTHDEF      YES, NO SLU REAL NAME - USE DEFAULT GWPATH
         BCTR  R5,0             SLU RIC REAL LUNAME LENGTH MINUS ONE
         LA    R4,1(R4)         SLU RIC REAL LUNAME ADDRESS
*
** COMPARE THE SLU RIC LUNAME TO APPLICATION NAME: A50CICS OR A60CICS
*
         EX    R5,CICS50        COMPARE SLU RIC REAL LUNAME TO ACICS50
         BE    GWPTHS2A         YES, REORDER GWPATH AS NECESSARY
         EX    R5,CICS60        COMPARE SLU RIC REAL LUNAME TO ACICS60
         BE    GWPTHS2B         YES, REORDER GWPATH AS NECESSARY
*
** IF NEITHER THE PLU OR SLU RIC REAL LUNAME EQUALS A50CICS OR A60CICS
** THEN SET RETURN CODE TO PROCEED WITH DEFAULT GWPATH SELECTION LIST
*
GWPTHDEF EQU   *
         LA    R15,4             RETURN CODE TO USE DEFAULT GWPATH LIST
         B     RETURN            RETURN CONTROL TO VTAM
*
** PLU OR SLU RIC REAL LUNAME EQUALS A50CICS -
** SAVE FIRST GWPATH ENTRY NAME AND SUBAREA ADDRESS IN USER
** DATA STORAGE
*
GWPTHS2A EQU   *
         MVC   8(8,R1),GWNCP30   FIRST GWPATH NAME MUST BE GWNCP30
         LA    R5,30             FIRST GWPATH SUBAREA MUST BE 30
         ST    R5,16(R1)         SAVE IN USER DATA STORAGE
         B     GWPTHS3       CONTINUE, REORDER GWPATH LIST IF NECESSARY
*
** PLU OR SLU RIC REAL LUNAME EQUALS A60CICS -
** INITIALIZE REGISTERS TO MODIFY GWPATH SELECTION LIST AS NECESSARY
*
GWPTHS2B EQU   *
         MVC   8(8,R1),GWNCP40   FIRST GWPATH NAME MUST BE GWNCP40
         LA    R5,40             FIRST GWPATH SUBAREA MUST BE 40
         ST    R5,16(R1)         SAVE IN USER DATA STORAGE
         B     GWPTHS3       CONTINUE, REORDER GWPATH LIST IF NECESSARY
*
** INSTRUCTIONS EXECUTED TO COMPARE: PLU RIC REAL LUNAME TO A50CICS
**                                     OR A60CICS
**                                   SLU RIC REAL LUNAME TO A50CICS
**                                     OR A60CICS
*
CICS50   CLC   0(8,R4),=CL8'A50CICS'  LUNAME COMPARE INSTRUCTION
CICS60   CLC   0(8,R4),=CL8'A60CICS'  LUNAME COMPARE INSTRUCTION
*
** CONSTANTS - GATEWAY NCP NAMES
*
GWNCP30  DC    CL8'GWNCP30'          GATEWAY NCP NAME - GWNCP30
GWNCP40  DC    CL8'GWNCP40'          GATEWAY NCP NAME - GWNCP40
*
***********************************************************************

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014