z/OS TSO/E Programming Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Example 1: Update or Create a Variable Value

z/OS TSO/E Programming Services
SA32-0973-00

Figure 1 shows an example of how to invoke IKJCT441 to update a variable value or create that variable if it does not exist.

Figure 1. Example 1: Update or Create a Variable Value
SETS     CSECT
CVTPTR   EQU   16
CVTTVT   EQU   X'9C'
R15      EQU   15
R14      EQU   14
R13      EQU   13
R12      EQU   12
R11      EQU   11
R00      EQU   0
         IKJTSVT

 SETS     CSECT
         STM   R14,R12,12(R13)   SAVE CALLER'S REGISTERS
         BALR  R12,0             ESTABLISH ADDRESSABILITY
         USING *,R12             BASE REGISTER OF EXECUTING PROGRAM
         ST    R13,SAVEAREA+4    CALLER'S SAVEAREA ADDRESS
         LA    R15,SAVEAREA      EXECUTING PROGRAM'S SAVEAREA ADDRESS
         ST    R15,8(,R13)       EXECUTING PROGRAM'S SAVEAREA ADDRESS
         LA    R13,SAVEAREA      EXECUTING PROGRAM'S SAVEAREA ADDRESS
*

 
*
         L     R15,CVTPTR              ACCESS THE CVT
         L     R15,CVTTVT(,R15)        ACCESS THE TSVT
         L     R15,TSVTVACC-TSVT(,R15) ACCESS THE VARIABLE ACCESS RTN
*

*        INVOKE THE VARIABLE ACCESS SERVICE
*
         LTR   R15,R15         VERIFY TSVT ADDRESS PRESENT
         BNZ   CALL441         IF PRESENT, CALL IKJCT441
LINK441  LINK  EP=IKJCT441,                                            *
               PARAM=(ECODE,   ENTRY CODE                              *
               NAMEPTR,        POINTER TO VARIABLE NAME                *
               NAMELEN,        LENGTH OF VARIABLE NAME                 *
               VALUEPTR,       POINTER TO VARIABLE VALUE               *
               VALUELEN,       LENGTH OF VARIABLE VALUE                *
               TOKEN),         TOKEN TO VARIABLE ACCESS SERVICE        *
               VL=1            CAUSES HI BIT ON IN THE PARM LIST
         B     RET441

CALL441  CALL  (15),                                                   *
               (ECODE,         ENTRY CODE                              *
               NAMEPTR,        POINTER TO VARIABLE NAME                *
               NAMELEN,        LENGTH OF VARIABLE NAME                 *
               VALUEPTR,       POINTER TO VARIABLE VALUE               *
               VALUELEN,       LENGTH OF VARIABLE VALUE                *
               TOKEN),         TOKEN TO VARIABLE ACCESS SERVICE        *
               VL              CAUSES HI BIT ON IN THE PARM LIST

*
RET441   LTR   R15,R15         CHECK RETURN CODE
         BNZ   ERRORRTN
*
*
ERRORRTN DS   0H
         L    R13,4(,R13)      CALLER'S SAVEAREA
         L    R14,12(,R13)     RESTORE REGISTER 14
         LM   R00,R12,20(R13)  RESTORE REMAINING REGISTERS
         BR   R14              RETURN TO CALLER, REGISTER 15 CONTAINS
*                              THE RETURN CODE FROM IKJCT441
*
*
NAME     DC    CL12'VARIABLENAME'  NAME OF THE VARIABLE
NAMELEN  DC    F'12'               LENGTH OF THE VARIABLE NAME
VALUE    DC    CL3'YES'            VARIABLE VALUE
VALUELEN DC    F'3'                LENGTH OF THE VARIABLE VALUE
NAMEPTR  DC    A(NAME)             POINTER TO THE VARIABLE NAME
VALUEPTR DC    A(VALUE)            POINTER TO THE VARIABLE VALUE
TOKEN    DC    F'0'                TOKEN (UNUSED HERE)
ECODE    DC    A(TSVEUPDT)         ENTRY CODE FOR SETTING VALUES
SAVEAREA DS    18F
         END

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014