CICGETV - Call to Get, Set, or Drop a REXX Variable

Read syntax diagramSkip visual syntax diagram>>-CALL--CICGETV--,(-| operands |-)----------------------------><
 
operands:
 
|--varname_addr--,varname_len--,data_addr--,data_len------------>
 
>--,function_name-----------------------------------------------|
 

Calls this linkedit stub subroutine from an assembler REXX/CICS command routine, so as to retrieve from, or set or drop REXX variables in the REXX program that issued the command.

Operands

varname_addr
specifies the address of a character string containing the name of the REXX variable. The variable name (that this address points to) must be in uppercase.
varname_len
specifies the length of the variable name.
data_addr
specifies the fullword address where the address of variable contents are.
data_len
specifies the length of area pointed to by data_addr (fullword).
function_name
specifies the particular CICGETV function to be performed. There are three choices:
GET
retrieves the address and length of a REXX variable.
PUT
creates or replaces a REXX variable.
DEL
deletes a REXX variable.

Notes

  1. Immediately before any call to the CICGETV linkedited routine stub, register 10 must be loaded with the value of the RXWBADDR field in the passed parms (CICPARMS).
  2. If a get request is issued for a variable that does not exist, the value returned is the same as the variable name.
  3. CICGETV uses a standard save area convention with R13 pointing to an 18 fullword length area. R1 points to a standard parameter list. R14 contains the return address. R15, upon entry to CICGETV, returns CICGETV's entry point. Upon return, R15 contains the return code.
  4. The CICGETV module is located in the REXX/CICS distribution library.
  5. A return code of zero is reflected to indicate the success of the operation, or a decimal 99 indicating an internal error (such as a storage limit exceeded situation).