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


Final accounting function

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

Because the alias selection function is not invoked at session termination, the session management exit routine can only allocate the alias suffix entries. Another session management exit function must deallocate the alias suffix entry when a session ends. The final accounting function, function code X'03', performs this task.

The final accounting function examines the alias LU name in the RIC of the PLU and the SLU. If the LU name contains a 5-character prefix of ALIAS, the session management exit routine can deallocate the proper alias suffix entry. This is done by converting the last 3 characters of the alias name to a binary value. That value is an index into the alias suffix storage area. The code then resets the allocation indicator from X'FF'—X'00'.

The entire final accounting function is not included in this sample; however, the portion of code that deallocates the appropriate entry at session termination follows:

***********************************************************************
*
**       SME ROUTINE - FINAL ACCOUNTING FUNCTION - DEALLOCATE ALIAS
*                                                  SUFFIX ROUTINE
*
ALIASS4  EQU   *
         L     R1,8(R11)        USER DATA FIELD ADDRESS
         L     R1,0(R1)         USER DATA STORAGE AREA ADDRESS
         LA    R15,0            NO FINAL ACCOUNTING RETURN CODE
         CLI   32(R1),X'FF'     TEST IF ALIAS SUFFIX STORAGE OBTAINED
         BE    RETURN           NO, ALIAS TRANSLATION NOT PERFORMED -
*                                 VTAM RETURN
         L     R1,32(R1)        ALIAS SUFFIX STORAGE ADDRESS
*
** LOCATE PLU RESOURCE INFORMATION CONTROL VECTOR - ALIAS LUNAME
*
ALIASS4A 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
         AR    R4,R5            PLU RIC ALIAS NETID ADDRESS VECTOR
*                                 MINUS ONE
         LA    R4,1(R4)         PLU RIC ALIAS NETID LENGTH ADDRESS
         IC    R5,0(R4)         PLU RIC ALIAS NETID LENGTH
         AR    R4,R5            PLU RIC ALIAS LUNAME ADDRESS VECTOR
*                                 MINUS ONE
         LA    R4,1(R4)         PLU RIC ALIAS LUNAME LENGTH
         LA    R4,1(R4)         PLU RIC ALIAS LUNAME ADDRESS
         CLC   0(5,R4),=C'ALIAS'  PLU RIC ALIAS NAME EQUAL 'ALIAS'
         BE    ALIASS4C         PLU ALIAS NAME ALLOCATED BY SME -
*                                 DEALLOCATE
*
** LOCATE SLU RESOURCE INFORMATION CONTROL VECTOR - REAL LUNAME
*
ALIASS4B EQU   *
         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 NETID ADDRESS VECTOR
*                                 MINUS ONE
         LA    R4,1(R4)         SLU RIC REAL LUNAME LENGTH ADDRESS
         IC    R5,0(R4)         SLU RIC REAL LUNAME LENGTH
         AR    R4,R5            SLU RIC ALIAS NETID ADDRESS VECTOR
*                                 MINUS ONE
         LA    R4,1(R4)         SLU RIC ALIAS NETID LENGTH ADDRESS
         IC    R5,0(R4)         SLU RIC ALIAS NETID LENGTH
         AR    R4,R5            SLU RIC ALIAS LUNAME ADDRESS VECTOR
*                                 MINUS ONE
         LA    R4,1(R4)         SLU RIC ALIAS LUNAME LENGTH
         LA    R4,1(R4)         SLU RIC ALIAS LUNAME ADDRESS
         CLC   0(5,R4),=C'ALIAS'  SLU RIC ALIAS NAME EQUAL 'ALIAS'
         BNE   RETURN           SLU RIC ALIAS NAME NOT ALLOCATED
*                                 BY SME - VTAM RETURN
*
** ALIAS NAME SUFFIX DEALLOCATION SUBROUTINE
**
** R1  = ADDRESS OF ALIAS NAME SUFFIX STORAGE
** R2  = ALIAS SUFFIX ENTRY INDEX
** R4  = ADDRESS OF ALIAS NAME NAME - PLU/SLU RIC
** R14 = RETURN ADDRESS - MAIN ROUTINE OF ALIAS FUNCTION
*
ALIASS4C EQU   *
         PACK  0(8,R1),5(3,R4)  PACK ALIAS SUFFIX VALUE
         CVB   R2,0(R1)         CONVERT ALIAS SUFFIX ENTRY TO BINARY
*                                 INDEX VALUE
         SLL   R2,2             OFFSET OF SUFFIX ENTRY
         LA    R1,8(R2,R1)      CALCULATE ALIAS SUFFIX ENTRY ADDRESS
         MVI   0(R1),X'00'      DEALLOCATE ALIAS SUFFIX ENTRY
         B     RETURN           EXIT TO VTAM
***********************************************************************

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014