z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


AXREXX - System REXX services

z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
SA23-1372-00

Description

AXREXX provides a macro interface for System REXX services.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: The caller must be authorized with any of the following attributes:
  • Supervisor state
  • PKM 0-7
  • PSW key 0-7
  • APF-authorized
Dispatchable unit mode: Task mode
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 31- or 64-bit
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks may be held.
Control parameters: Control parameters must be in the primary address space. However, control parameters for AR-mode callers must be in an address or data space that is addressable through a public entry on the caller's dispatchable unit access list (DU-AL).

The user-provided REXX arguments supplied by the REXXARGS parameter have the same requirements and restrictions as the control parameters.

The user-provided REXX variables in the REXXVARS parameter have the same requirements and restrictions as the control parameters.

The user-provided data set name in the REXXINDSN parameter has the same requirements and restrictions as the control parameters.

The user-provided data set name in the REXXOUTDSN parameter has the same requirements and restrictions as the control parameters.

The user-provided information in the REXXDIAG parameter has the same requirements and restrictions as the control parameters.

The user-provided information in the UTOKEN parameter has the same requirements and restrictions as the control parameters.

The user-provided information in the REXXLIB parameter has the same requirements and restrictions as the control parameters.

Programming requirements

AXRZARG must be included in the invoking module.

Restrictions

The caller must not have any FRRs (Functional Recovery Routines) established.

Input register information

Before issuing the AXREXX macro, the caller does not have to place any information into any general purpose register (GPR) or access register (AR), unless using the input register in register notation for a particular parameter, or using the input register as a base register.

Output register information

When control returns to the caller, the general purpose registers (GPRs) contain:
Register
Contents
0
When the value in register 15 is not zero, the reason code from the service
1
Used as a work register by the system
2-13
Unchanged
14
Used as a work register by the system
15
The return code from the AXREXX Service
When control returns to the caller, the access registers (ARs) contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

None.

Syntax

The AXREXX macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
  One or more blanks must precede AXREXX.
   
AXREXX  
   
  One or more blanks must follow AXREXX.
   
REQUEST=EXECUTE  
REQUEST=CANCEL  
REQUEST=GETREXXLIB  
   
 ,SECURITY=BYUTOKEN Default: SECURITY=BYUTOKEN
 ,SECURITY=BYAXRUSER  
   
 ,REXXLIB=xrexxlib xrexxlib: RS-type address or address in register (2) - (12)
 ,REXXLIB=NO_REXXLIB Default: REXXLIB=NO_REXXLIB
   
,REXXLIBLEN=xrexxliblen rexxliblen: RS-type address or address in register (2) - (12)
,REXXLIBLEN=NO_REXXLIBLEN Default: REXXLIBLEN=NO_REXXLIBLEN
   
 ,UTOKEN=utoken utoken: RS-type address or address in register (2) - (12)
 ,UTOKEN=TASK Default: UTOKEN=TASK
   
 ,TSO=NO Default: TSO=NO
 ,TSO=YES  
   
 ,REXXINDSN=rexxindsn xrexxindsn: RS-type address or address in register (2) - (12)
 ,REXXINDSN=NO REXXINDSN Default: REXXINDSN=NO_REXXNDSN
   
 ,REXXINEMEMNAME=rexxinmemname rexxinmemname: RS-type address or address in register (2) - (12)
 ,REXXINMEMNAME=NO REXXINMEMNAME Default: REXXINMEMNAME=NO_REXXINMEMNAME
   
 ,CONSDATA=NO Default: CONSDATA=NO
 ,CONSDATA=YES  
   
 ,CART=cart cart: RS-type address or address in register (2) - (12)
   
 ,CONSNAME=consname consname: RS-type address or address in register (2) - (12)
   
 ,TIMELIMIT=YES Default: TIMELIMIT=YES
 ,TIMELIMIT=NO  
   
 ,TIMEINT=timeint timeint: RS-type address or address in register (2) - (12)
 ,TIMEINT=SYSTEM Default: TIMEINT=SYSTEM
   
 ,NAME=name name: RS-type address or address in register (2) - (12)
   
 ,REXXARGS=rexxargs rexxargs: RS-type address or address in register (2) - (12)
 ,REXXARGS=NO_ARGS Default: REXXARGS=NO_ARGS
   
 ,REXXVARS=rexxvars rexxvars: RS-type address or address in register (2) - (12)
 ,REXXVARS=NO_VARS Default: REXXVARS=NO_VARS
   
 ,REXXOUTDSN=rexxoutdsn rexxoutdsn: RS-type address or address in register (2) - (12)
 ,REXXOUTDSN=NO_REXXOUTDSN Default: REXXOUTDSN=NO_REXXOUTDSN
   
 ,REXXOUTMEMNAME=rexxoutmemname rexxoutmemname: RS-type address or address in register (2) - (12)
 ,REXXOUTMEMNAME=NO_REXXOUTMEMNAME Default: REXXOUTMEMNAME=NO_REXXOUTMEMNAME
   
 ,REXXDIAG=rexxdiag rexxdiag: RS-type address or address in register (2) - (12)
   
 ,SYNC=YES Default: SYNC=YES
 ,SYNC=NO  
   
 ,OREQTOKEN=oreqtoken oreqtoken: RS-type address or address in register (2) - (12)
   
 ,REQTOKEN=reqtoken reqtoken: RS-type address or address in register (2) - (12)
   
 ,RETCODE=retcode retcode: RS-type address or register (2) - (12)
   
 ,RSNCODE=rsncode rsncode: RS-type address or register (2) - (12)
   
 ,PLISTVER=IMPLIED_VERSION Default: PLISTVER=IMPLIED_VERSION
 ,PLISTVER=MAX  
 ,PLISTVER=0  
   
 ,MF=S Default: MF=S
 ,MF=(L,list addr) list addr: RS-type address or register (1) - (12)
 ,MF=(L,list addr,attr)  
 ,MF=(L,list addr,0D)  
 ,MF=(E,list addr)  

 ,MF=(E,list addr,COMPLETE)

 
   

Parameters

The parameters are explained as follows:

name
An optional symbol, starting in column 1, that is the name on the AXREXX macro invocation. The name must conform to the rules for an ordinary assembler language symbol.
REQUEST=EXECUTE
REQUEST=CANCEL
REQUEST=GETREXXLIB
A required parameter, which identifies the request type.
REQUEST=EXECUTE
Executes a REXX exec.
REQUEST=CANCEL
Cancels a prior Execute request.
REQUEST=GETREXXLIB
Returns the REXXLIB concatenation.
,SECURITY=BYUTOKEN
,SECURITY=BYAXRUSER
When REQUEST=EXECUTE is specified, an optional parameter that indicates how the security environment should be established for the exec. The default is SECURITY=BYTOKEN.
,SECURITY=BYUTOKEN
Keyword that indicates that the security environment should be established from the UTOKEN that was passed or defaulted.
,SECURITY=BYAXRUSER
Keyword that indicates that the security environment should be established from the value of AXRUSER specified in AXR00.
,REXXLIB=xrexxlib
When REQUEST=GETREXXLIB is specified, a required parameter that indicates the storage area where the REXXLIB concatenation details are returned. For the mapping of this storage area, see AxrRxlHeader and AxrRxlEntry of AXRZARG in z/OS MVS Data Areas in z/OS Internet Library at http://www.ibm.com/systems/z/os/zos/bkserv/.

To code: Specify the RS-type address, or address in register (2) - (12), of a fullword field.

,REXXLIBLEN=xrexxliblen
When REQUEST=GETREXXLIB is specified, a required parameter containing the length of the value of the Rexxlib parameter in bytes. The length must be greater than or equal to 20480.

To code: Specify the RS-type address, or address in register (2) - (12), of a fullword field.

,UTOKEN=utoken
,UTOKEN=TASK
When SECURITY=BYUTOKEN and REQUEST=EXECUTE are specified, an optional keyword that contains the security token to be used to establish the security environment under which the exec is to be executed. The optional input field contains the address of the security token to be associated with the execution of the REXX exec. The REXX exec will run under the security environment associated with the input UTOKEN. Additionally, if the REXX exec invokes the AXRCMD function, the UTOKEN is passed to MGCRE to provide security information. You can obtain the UTOKEN value by using the RACROUTE REQUEST=TOKENXTR, RACROUTE REQUEST=VERIFYX, or RACROUTE REQUEST=TOKENBLD macros. See z/OS Security Server RACROUTE Macro Reference for more information about the RACROUTE macros. The UTOKEN should be that of the user on whose behalf the exec is issued. UTOKEN is an optional parameter; if it is omitted, the UTOKEN of the invoker will be used. The default is TASK, which indicates the use of the UTOKEN associated with the task invoking AXREXX.

To code: Specify the RS-type address, or address in register (2) - (12), of an 80-character field.

,TSO=NO
,TSO=YES
When REQUEST=EXECUTE is specified, an optional parameter that indicates whether the exec is to be run in a TSO host command environment. If the exec is to perform dynamic allocation (e.g. with TSO ALLOCATE or BPXWDYN), it should be run in the TSO=YES environment. The default is TSO=NO.
,TSO=NO
Indicates that the exec is to run in an MVS™ host command environment, in an address space with up to 63 other concurrently running execs.
,TSO=YES
Indicates the exec is to be run in a TSO host command environment. In this case, the exec will run isolated in a separate address space with no other concurrent work. Not all of the services and functionality of TSO will be present. Additionally, TSO services which depend upon JES as the primary subsystem will not work. See z/OS MVS Programming: Authorized Assembler Services Guide for a discussion of what TSO services are supported. TSO=YES users should be aware that there is a limit of 8 TSO Server address spaces.
,REXXINDSN=rexxindsn
,REXXINDSN=NO_REXXINDSN
When TSO=NO and REQUEST=EXECUTE are specified, an optional input parameter containing the name of the data set that the PARSE external function will read data from. The exec may obtain the DDNAME associated with this data set by accessing the AXRINDD variable. The default is NO_REXXINDSN.

To code: Specify the RS-type address, or address in register (2) - (12), of a 44-character field.

,REXXINMEMNAME=rexxinmemname
,REXXINMEMNAME=NO_REXXINMEMNAME
When REXXINDSN=rexxindsn, TSO=NO and REQUEST=EXECUTE are specified, an optional input parameter containing the name of the member in the data set specified by the REXXINDSN keyword. The default is NO_REXXINMEMNAME.

To code: Specify the RS-type address, or address in register (2) - (12), of an 8-character field.

,CONSDATA=NO
,CONSDATA=YES
When REQUEST=EXECUTE is specified, an optional keyword that indicates whether the results of the execution of the exec are to be treated as a system command.
,CONSDATA=NO
Indicates that the exec is not being invoked as a system command.
,CONSDATA=YES
Indicates that the exec is invoked as a system command. It also specifies console attributes of the issuer to be used on AXRWTO or AXRMLWTO function invocations that the REXX exec may make.
,CART=cart
When CONSDATA=YES and REQUEST=EXECUTE are specified, the address of an 8-character field that contains the name of the command and response token to be used on any AXRWTO or AXRMLWTO invocations by the exec.

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,CONSNAME=consname
When CONSDATA=YES and REQUEST=EXECUTE are specified, the name of the console to be used with any AXRWTO or AXRMLWTO function invocations in the EXEC.

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,TIMELIMIT=YES
,TIMELIMIT=NO
When REQUEST=EXECUTE is specified, an optional parameter indicating whether a time limit is applied. This time limit does not include the time the request spends waiting to be dispatched.
,TIMELIMIT=YES
Indicates that a time limit should be applied.
,TIMELIMIT=NO
Indicates that no time limit is to be applied.
,TIMEINT=timeint
,TIMEINT=SYSTEM
When TIMELIMIT=YES and REQUEST=EXECUTE are specified, you can specify an optional input parameter containing the number of seconds to allow the REXX exec to run. If the exec exceeds the threshold, it will be stopped and a return or reason code will be set indicating so. A maximum of 21474536 seconds can be specified. A value of 0 is equivalent to TIMELIMIT=NO. The default is SYSTEM, which indicates that a default of 30 seconds will be used.

To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.

,NAME=name
When REQUEST=EXECUTE is specified, a required input parameter containing the name of the REXX exec.

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,REXXARGS=rexxargs
,REXXARGS=NO_ARGS
When REQUEST=EXECUTE is specified, you can specify an optional input/output parameter containing the argument list to be passed to the REXX program. The mapping of the argument list is specified by a header section mapped by AXRARGLST followed by one or more sections mapped by AXRARGENTRY for each argument. The entries mapped by AXRARGENTRY must appear in the same order as the arguments specified on the ARG statement in the REXX program. The mappings for both AXRARGLST and AXRARGENTRY can be found in AXRZARG. For more detailed information about how to initialize this parameter see z/OS MVS Programming: Authorized Assembler Services Guide. The default is NO_ARGS.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,REXXVARS=rexxvars
,REXXVARS=NO_VARS
When REQUEST=EXECUTE is specified, you can specify an optional input/output parameter containing a variable list that can be used to initialize variables in the REXX programs. The variable list can also be used to obtain the final value of variables in the REXX program. Use the same mapping as RexxArgs. The default is NO_VARS.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,REXXOUTDSN=rexxoutdsn
,REXXOUTDSN=NO_REXXOUTDSN
When REQUEST=EXECUTE is specified, an optional input parameter containing the name of the data set that the exec will direct the output from SAY, error messages and tracing to. The REXX exec may obtain the DDNAME associated with this data set by accessing the AXROUTDD variable. The default is NO_REXXOUTDSN.

To code: Specify the RS-type address, or address in register (2)-(12), of a 44-character field.

,REXXOUTMEMNAME=rexxoutmemname
,REXXOUTMEMNAME=NO_REXXOUTMEMNAME
When REXXOUTDSN=rexxoutdsn and REQUEST=EXECUTE are specified, an optional input parameter containing the name of the member in the data set specified by the REXXOUTDSN keyword. The default is NO_REXXOUTMEMNAME.

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,REXXDIAG=rexxdiag
When REQUEST=EXECUTE is specified, an optional output parameter buffer containing the return code from the exec and diagnostic data. For SYNC=NO invocations, not all the diagnostic data from the execution of the exec will be returned. In particular, the return code from the exec will not be returned. See AXRDIAG in AXRZARG for a mapping.

To code: Specify the RS-type address, or address in register (2)-(12), of a character field.

,SYNC=YES
,SYNC=NO
When REQUEST=EXECUTE is specified, you can specify an optional parameter that indicates whether the request is synchronous. The default is SYNC=YES.
,SYNC=YES
Indicates the request is synchronous.
,SYNC=NO
Indicates the request is asynchronous.
,OREQTOKEN=oreqtoken
When SYNC=NO and REQUEST=EXECUTE are specified, an optional output parameter containing a unique token associated with this EXECUTE request.

To code: Specify the RS-type address, or address in register (2)-(12), of a 16-character field.

,REQTOKEN=reqtoken
When REQUEST=CANCEL is specified, a required input parameter containing the token that was returned when the EXECUTE request was made.

To code: Specify the RS-type address, or address in register (2)-(12), of a 16 character field.

,RETCODE=retcode
An optional output parameter into which the return code is to be copied from GPR 15.

To code: Specify the RS-type address of a fullword field, or register (2)-(12).

,RSNCODE=rsncode
An optional output parameter into which the reason code is to be copied from GPR 0.

To code: Specify the RS-type address of a fullword field, or register (2)-(12).

,PLISTVER=IMPLIED_VERSION
,PLISTVER=MAX
,PLISTVER=0
An optional input parameter that specifies the version of the macro. PLISTVER determines which parameter list the system generates. PLISTVER is an optional input parameter on all forms of the macro, including the list form. When using PLISTVER, specify the same value on all of the macro forms used for a request. The values are:
  • IMPLIED_VERSION, which is the lowest version that allows all parameters specified on the request to be processed. If you omit the PLISTVER parameter, IMPLIED_VERSION is the default.
  • MAX, indicates you want the parameter list to be the largest size currently possible. This size might grow from release to release and affect the amount of storage that your program needs.

    If you can tolerate the size change, IBM® recommends that you always specify PLISTVER=MAX on the list form of the macro. Specifying MAX ensures that the list-form parameter list is always long enough to hold all the parameters you might specify on the execute form, when both forms are assembled with the same level of the system. In this way, MAX ensures that the parameter list does not overwrite nearby storage.

  • 0, if you use the currently available parameters.
To code: Specify one of the following:
  • IMPLIED_VERSION
  • MAX
  • A decimal value of 0
,MF=S
,MF=(L,list addr)
,MF=(L,list addr,attr)
,MF=(L,list addr,0D)
,MF=(E,list addr)
,MF=(E,list addr,COMPLETE)
An optional input parameter that specifies the macro form.

Use MF=S to specify the standard form of the macro, which builds an inline parameter list and generates the macro invocation to transfer control to the service. MF=S is the default.

Use MF=L to specify the list form of the macro. Use the list form together with the execute form of the macro for applications that require reentrant code. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter may be coded with the list form of the macro.

Use MF=E to specify the execute form of the macro. Use the execute form together with the list form of the macro for applications that require reentrant code. The execute form of the macro stores the parameters into the storage area defined by the list form, and generates the macro invocation to transfer control to the service.

,list addr
The name of a storage area to contain the parameters. For MF=S and MF=E, this can be an RS-type address or an address in register (1)-(12).
,attr
An optional 1 to 60 character input string that you use to force boundary alignment of the parameter list. Use a value of 0F to force the parameter list to a word boundary, or 0D to force the parameter list to a doubleword boundary. If you do not code attr, the system provides a value of 0D.
,COMPLETE
Specifies that the system is to check for required parameters and supply defaults for omitted optional parameters.

ABEND codes

None.

Return and reason codes

When the AXREXX macro returns control to your program:
  • GPR 15 (and retcode, when you code RETCODE) contains a return code.
  • When the value in GPR 15 is not zero, GPR 0 (and rsncode, when you code RSNCODE) contains a reason code.

Macro AXRZARG provides equate symbols for the return and reason codes.

The following table identifies the hexadecimal return and reason codes and the equate symbol associated with each reason code. IBM support personnel may request the entire reason code, including the xxxx value.

Table 1. Return and Reason Codes for the AXREXX Macro
Return Code Reason Code Equate Symbol Meaning and Action
0 Equate Symbol: AxrRetCodeOK

Meaning: AXREXX request successful.

Action: None required. If RexxDiag was specified, AXRDIAG1, AXRDIAG2, AXRDIAG3, and AXRDIAG4 contain the message ids of any message beginning with IRX (REXX) or IKJ (TSO) that were issued when processing the exec. The format of the message id is packed decimal with the sign bits shifted out. A 1 in the high order byte distinguishes an IKJ message from and IRX message.

8 Equate Symbol: AxrRetcodeError

Meaning: The AXREXX request failed due to a user error.

Action: Refer to the action provided with the specific reason code.

8 xxxx0801 Equate Symbol: AXRNoFrrAllowed

Meaning: Caller invoked AXREXX with an FRR.

Action: Remove the FRR and then invoke AXREXX.

8 xxxx0802 Equate Symbol: AXRNoLocksAllowed

Meaning: Caller invoked AXREXX holding a lock.

Action: Free the lock and then invoke AXREXX.

8 xxxx0803 Equate Symbol: AXRNotTcbMode

Meaning: Caller was not running as a task.

Action: Move the invocation of AXREXX under a task.

8 xxxx0804 Equate Symbol: AXRNotAuthorized

Meaning: Caller is not APF authorized, running in a system key or in supervisor state.

Action: Avoid invoking AXREXX in this environment.

8 xxxx0805 Equate Symbol: AXRNotEnabled

Meaning: Caller is disabled.

Action: Avoid invoking AXREXX in this environment.

8 xxxx0806 Equate Symbol: AXRRexxArgsCannotAccess

Meaning: The RexxArgs parameter is not accessible.

Action: Verify that the RexxArgs parameter is accessible and in the key in which AXREXX was invoked

8 xxxx0807 Equate Symbol: AXRArgCannotAccess

Meaning: An argument in the argument list cannot be accessed.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter to determine the index of the argument that was not accessible. Verify that AxrArgAddr and AxrArgAlet contain the address and alet of the argument. Verify that the argument is in the same key as the invoker.

8 xxxx0808 Equate Symbol: AxrArgBadLength

Meaning: The length of an argument is not valid.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter to determine the index of the argument whose length was incorrect. Correct AxrArgLength.

8 xxxx0809 Equate Symbol: AxrArgBadType

Meaning: Type of an argument is not valid.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter to determine the index of the argument whose type is incorrect. Correct AxrArgType with one of the valid types listed in AXRZARG.

8 xxxx080A Equate Symbol: AXRPlistCannotAccess

Meaning: The input parameter list was not accessible.

Action: Verify that the input parameter list is in the same key as the invoker. Verify that it is accessible.

8 xxxx080B Equate Symbol: AxrArgTooMany

Meaning: Too many arguments were specified.

Action: Verify the contents of AxrArgLstNumber in the RexxArgs parameter. The maximum possible value is 20.

8 xxxx080C Equate Symbol: AxrArgBadNumeric

Meaning: The output argument from a REXX exec is not numeric.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter for the index of the invalid argument. Make sure that the REXX exec did not return a value in scientific notation.

8 xxxx080D Equate Symbol: AXRArgBadBitString

Meaning: The output argument from a REXX exec is not a bit string.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter for the incorrect argument. Correct the exec or change AxrArgType.

8 xxxx080E Equate Symbol: AXRArgBadHexString

Meaning: The output argument from a REXX exec is not a hex string.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter for the index of the incorrect argument. Correct the exec or change AxrArgType.

8 xxxx0810 Equate Symbol: AXRArgBadNameLength

Meaning: The length of the name of an argument is too long.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter for the index of the incorrect argument. Correct AxrArgNameLength.

8 xxxx0811 Equate Symbol: AXRNotAbleToAllocateRexxInDsn

Meaning: The REXX processor was unable to allocate the REXXINDsn data set.

Action: The return and reason codes from DYNALLOC are inserted into AXRDIAG1 and AXRDIAG2 in the RexxDiag parameter. Look up the return and reason codes in the z/OS MVS Programming: Authorized Assembler Services Guide. Look in the System Log for any messages that were issued by DYNALLOC.

8 xxxx0812 Equate Symbol: AXRNotAbleToAllocateRexxOutDsn

Meaning: The System REXX processor was unable to allocate the RexxOutDsn data set.

Action: The return and reason codes from DYNALLOC are inserted into AXRDIAG1 and AXRDIAG2 in the RexxDiag parameter. Look up the return and reason codes in the z/OS MVS Programming: Authorized Assembler Services Guide. Look in the System Log for any messages that were issued by DYNALLOC.

8 xxxx0813 Equate Symbol: AXRUtokenCannotAccess

Meaning: Unable to access the Utoken input parameter.

Action: Ensure that the Utoken input parameter is in the key of the AXREXX invoker and that it is accessible.

8 xxxx0814 Equate Symbol: AXRRexxInDsnCannotAccess

Meaning: Unable to access the RexxInDsn input parameter.

Action: Ensure that the RexxInDsn input parameter is in the key of the AXREXX invoker and that it is accessible.

8 xxxx0815 Equate Symbol: AXRRexxOutDsnCannotAccess

Meaning: Unable to access the RexxOutDsn input parameter.

Action: Ensure that the RexxOutDsn input parameter is in the key of the AXREXX invoker and that it is accessible.

8 xxxx0816 Equate Symbol: AXRRexxVarsCannotAccess

Meaning: Unable to access the RexxVars input parameter.

Action: Ensure that the RexxVars parameter is accessible and in the key in which AXREXX was invoked.

8 xxxx0817 Equate Symbol: AXRBadTimeInt

Meaning: The value of the Timeint keyword is not valid.

Action: Ensure that the value of the TimeInt keyword is less than 21474536 seconds.

8 xxxx0818 Equate Symbol: AXRArgBadAcronym

Meaning: The acronym for the RexxArgs keyword is incorrect.

Action: Ensure that AxrArgLstID is set to AxrArgLstAcro.

8 xxxx0819 Equate Symbol: AXRVarBadAcronym

Meaning: The acronym for the RexxVars keyword is not correct.

Action: Ensure that AxrArgLstId is set to AxrVarLstAcro.

8 xxxx081A Equate Symbol: AXRArgBadVersion

Meaning: The version for the RexxArgs keyword is not correct.

Action: Ensure that the version is one that is supported.

8 xxxx081B Equate Symbol: AXRVarBadVersion

Meaning: The version for the RexxVars keyword is not correct.

Action: Ensure that the version is one that is supported.

8 xxxx081C Equate Symbol: AxrVarTooMany

Meaning: Too many variables were specified.

Action: Verify the contents of AxrArgLstNumber in the RexxVars parameter. The maximum possible value is 256.

8 xxxx081D Equate Symbol: AxrVarBadNumeric

Meaning: An output variable from a REXX exec is not numeric.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter for the index of the incorrect variable. Make sure that the REXX exec did not return a value in scientific notation.

8 xxxx081E Equate Symbol: AXRVarBadBitString

Meaning: An output variable from a REXX exec is not a bit string.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter for the index of the incorrect variable. Correct the exec or change AxrArgType.

8 xxxx081F Equate Symbol: AXRVarBadHexString

Meaning: An output variable from a REXX exec is not a hex string.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter for the index of the incorrect variable. Correct the exec or change AxrArgType.

8 xxxx0820 Equate Symbol: AXRVarBadNameLength

Meaning: The length of the name of a variable is too long.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter for the index of the incorrect variable. Correct the AxrArgNameLength.

8 xxxx0821 Equate Symbol: AXRVarBadType

Meaning: The type specification for a variable is not valid.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter for the index of the incorrect variable. Correct AxrArgType with one of the valid types listed in AXRZARG.

8 xxxx0822 Equate Symbol: AXRVarCannotAccess

Meaning: A variable could not be accessed.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter for the index of the variable that could not be accessed. Ensure that AxrArgAddr and AxrArgAlet contain the address and alet of the variable. Ensure that the variable is in the same key as the invoker.

8 xxxx0823 Equate Symbol: AXRVarBadLength

Meaning: The length of a variable was not valid.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter for the index of the variable whose length is not valid. Correct AxrArgLength.

8 xxxx0824 Equate Symbol: AXRArgLstRsvNotZero

Meaning: A reserved field in the AXRARGLST mapping was non-zero for the RexxArgs AXREXX parameter.

Action: Clear the reserved fields in the AXRARGLST mapping.

8 xxxx0825 Equate Symbol: AXRVarLstRsvNotZero

Meaning: A reserved field in the AXRARGLST mapping was not zero for the RexxVars AXREXX parameter.

Action: Clear the reserved fields in the AXRARGLST mapping.

8 xxxx0826 Equate Symbol: AXRNotAbleToUnallocateRexxInDsn

Meaning: A bad return code was returned from DYNALLOC when attempting to unallocate the RexxinDsn data set.

Action: The return and reason codes from DYNALLOC are insterted into AXRDIAG1 and AXRDIAG2 in the RexxDiag parameter. Look in the System Log for any messages that DYNALLOC may have issued.

8 xxxx0827 Equate Symbol: AXRNotAbleToUnallocateRexxOutDsn

Meaning: A bad return code was returned from DYNALLOC when attempting to unallocate the RexxOutDsn data set.

Action: The return and reason codes from DYNALLOC are inserted into AXRDIAG1 and AXRDIAG2 in the RexxDiag parameter. Look in the System Log for any messages that DYNALLOC may have issued.

8 xxxx0828 Equate Symbol: AXRExecSyntaxError

Meaning: A syntax error or another run time error was encountered during the execution of a REXX exec.

Action: The REXX interpreter issues one or more error messages that indicate the offending line number. If RexxOutDsn is specified, look at the data set for the message. If RexxOutDsn is not specified but CONSDATA is specified, look at the console or the system log. If RexxDiag is specified:
  • AXRDIAG1 contains the number of the error which corresponds to an IRXnnnI message.
  • AXRDIAG2 contains the line number where the error occurred.
  • AXRDIAG3 and AXRDIAG4 contain the message ids of the last two IRX or IKJ messages that were issued before the exec completed.
All of these values are in packed decimal format with the sign bits shifted out. A 1 in the high order byte distinguishes an IKJ message from an IRX message.
8 xxxx082A Equate Symbol: AXRArgNumericTooBig

Meaning: The value of an output argument was either too large or too small to be represented in the buffer that was passed.

Action: Inspect AxrArgLstEntryInError in the RexxArgs parameter for the index of the argument that caused the error.

8 xxxx082B Equate Symbol: AXRVarNoExist

Meaning: An output variable was not set in the exec.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the output variable that caused the error. Determine why this variable was not set in the exec.

8 xxxx082C Equate Symbol: AXRArgNoExist

Meaning: An output argument was not set in the exec.

Action: Inspect AxrArgLstEntryInError in the RexxArgs parameter for the index of the argument that caused the error. Determine why this argument was not set in the exec.

8 xxxx082D Equate Symbol: AXRVarTooLong

Meaning: The buffer of the client could not accommodate the value of the variable.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the variable that caused the error. Increase the size of the output variable or ensure that the variable's size can be accommodated by the passed buffer.

8 xxxx082E Equate Symbol: AXRArgTooLong

Meaning: The buffer of the client could not accommodate the value of the argument.

Action: Inspect AxrArgLstEntryInError in the RexxArgs parameter for the index of the argument that caused the error. Increase the size of the output argument or ensure that the argument's size can be accommodated by the passed buffer.

8 xxxx082F Equate Symbol: AXRVarBadName

Meaning: The name of a variable was not acceptable to REXX.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the variable that caused the error. Correct the name.

8 xxxx0830 Equate Symbol: AXRArgBadName

Meaning: The name of an argument was not acceptable to REXX.

Action: Inspect AxrArgLstEntryInError in the RexxArgs parameter for the index of the argument that caused the error. Correct the name.

8 xxxx0831 Equate Symbol: AXRVarNumericTooBig

Meaning: A value of an output variable was either too large or too small to be represented in the buffer that was passed.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the variable that caused the error.

8 xxxx0832 Equate Symbol: AXRArgNameCannotAccess

Meaning: The argument name was not accessible.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the argument that caused the error. Ensure that AxrArgNameAddr and AxrArgNameAlet contain the address and alet of the argument name. Ensure that the argument name is in the same key as the invoker.

8 xxxx0833 Equate Symbol: AXRVarNameCannotAccess

Meaning: The variable name was not accessible and caused a program check when System REXX attempted to access.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the variable that caused the error. Ensure that AxrArgNameAddr and AxrArgNameAlet contain the address and alet of the variable name. Ensure that the variable name is in the same key as the invoker.

8 xxxx0835 Equate Symbol: AXRDiagCannotAccess

Meaning: The value of the RexxDiag parameter was not accessible.

Action: Ensure the RexxDiag parameter is in the same key as the invoker. Correct the RexxDiag parameter.

8 xxxx0837 Equate Symbol: AXRArgNeitherInOrOut

Meaning: A REXX argument is neither an input or output argument.

Action: Inspect AxrArgLstEntryInError in the RexxArgs parameter for the index of the offending argument and set either AXRArgInput, AXRArgOutput or both in the argument list entry.

8 xxxx0838 Equate Symbol: AXRVarNeitherInOrOut

Meaning: A REXX variable is neither an input or output variable.

Action: Inspect AxrArgLstEntryInError in the RexxArgs parameter for the index of the offending variable and set either AXRArgInput, AXRArgOutput, or both in the entry in the variable list entry.

8 xxxx0839 Equate Symbol: AXRArgBadUnsigned

Meaning: An unsigned argument returned from REXX was prefixed with a sign.

Action: AxrArgLstEntryInError in the RexxArgs parameter contains the index of the invalid argument. Correct the REXX exec to return an unsigned value or change the argument to signed.

8 xxxx083A Equate Symbol: AXRVarBadUnsigned

Meaning: An unsigned variable returned from REXX was prefixed with a sign.

Action: AxrArgLstEntryInError in the RexxVars parameter contains the index of the invalid variable. Change the exec to return an unsigned value or change the variable to be signed.

8 xxxx083B Equate Symbol: AXRBadConsoleName

Meaning: The specified CONSNAME parameter was syntactically incorrect.

Action: Correct the syntax of the CONSNAME parameter so that it is a syntactically valid console name.

8 xxxx083E Equate Symbol: AXRRexxInNotAuth

Meaning: Invoker is not SAF authorized to the data set name specified on the RexxInDsn keyword.

Action: Either change the data set name or change the security environment so that the data set can be accessed.

8 xxxx083F Equate Symbol: AXRRexxOutNotAuth

Meaning: Invoker is not SAF authorized to access the data set name specified on the RexxOutDsn keyword.

Action: Either change the data set name or change the security environment so that the data set can be accessed.

8 xxxx0840 Equate Symbol: AXRRexxInDsnBad

Meaning: The RexxInDsn specification is not syntactically correct.

Action: Change the input to a valid data set name.

8 xxxx0841 Equate Symbol: AXRRexxOutDsnBad

Meaning: The RexxOutDsn specification is not syntactically correct.

Action: Change the input to a valid data set name.

8 xxxx0842 Equate Symbol: AXRRacrouteBad

Meaning: RACROUTE VERIFY returned a bad return code when attempting to create a security environment prior to running the REXX exec.

Action: The SAF return code is stored in AXRDIAG1. The RACF® return and reason codes are stored in AXRDIAG2 and AXRDIAG3 respectively (all in the REXXDiag parameter). Certain types of address spaces do not have a legitimate security environment and as such the AXREXX invoker may have to provide a different UTOKEN or use SECURITY=BYAXRUSER.

8 xxxx0843 Equate Symbol: AXRRexxOutCannotOpen

Meaning: A failure occurred when attempting to open the data set specified by RexxOutDsn.

Action: The return code from IRXINOUT is set in AXRDIAG1. The return code is documented in z/OS TSO/E REXX Reference. Additionally, the REXX interpreter may issue messages describing the error.

8 xxxx0844 Equate Symbol: AXRRexxInCannotOpen

Meaning: A failure occurred when attempting to open the specified by RexxInDsn.

Action: The return code from IRXINOUT is set in AXRDIAG1 in the RexxDiag parameter and is documented in the z/OS TSO/E REXX Reference. Additionally, the REXX interpreter may issue messages describing the error.

8 xxxx0846 Equate Symbol: AXRBadRequest

Meaning: The AXREXX input parameter list is incorrect. An incorrect request type is specified.

Action: Determine why the AXREXX input parameter list is incorrect.

8 xxxx0847 Equate Symbol: AXRArgRsvNotZero

Meaning: A reserved field in the AXRARGENTRY mapping was non-zero for the RexxArgs AXREXX parameter.

Action: AxrArgLstEntryInError in the RexxArgs parameter contains the index of the entry that caused the error. Clear the reserved fields.

8 xxxx0848 Equate Symbol: AXRVarRsvNotZero

Meaning: A reserved field in the AXRARGENTRY mapping was non-zero for the RexxVars AXREXX parameter.

Action: AxrArgLstEntryInError in the RexxVars parameter contains the index of the entry that caused the error. Clear the reserved fields.

8 xxxx0849 Equate Symbol: AXRBadReqToken

Meaning: For a CANCEL request, the input Request Token is not valid.

Action: Correct the invocation to provide a valid Request Token.

8 xxxx084A Equate Symbol: AXRRexxInNotSeq

Meaning: RexxInDsn is a PDS, but RexxInMemName is not specified.

Action: Specify the RexxInMemName keyword or change RexxInDsn.

8 xxxx084B Equate Symbol: AXRRexxInNotPDS

Meaning: RexxInMemName is specified but RexxInDsn is not a PDS.

Action: Remove RexxInMemName or specify a PDS for RexxInDsn.

8 xxxx084C Equate Symbol: AXRRexxOutNotSeq

Meaning: RexxOutDsn is a PDS, but RexxOutMemName is not specified.

Action: Specify the RexxOutMemName keyword or change RexxOutDsn.

8 xxxx084D Equate Symbol: AXRRexxOutNotPDS

Meaning: RexxOutMemName is specified but RexxOutDsn is not a partitioned data set (PDS).

Action: Remove the RexxOutMemName keyword or change the specification of RexxOutDsn to a PDS.

8 xxxx084E Equate Symbol: AXRRexxInNotMember

Meaning: RexxInMemName does not exist in the data set specified by RexxInDsn.

Action: Either create the member or specify a different RexxInDsn data set name.

8 xxxx0850 Equate Symbol: AXRVarBadValue

Meaning: The value of an input variable was not acceptable to REXX.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the variable that caused the error.

8 xxxx0851 Equate Symbol: AXRExecNotFound

Meaning: The exec was not found in the System REXX library.

Action: Correct the spelling of the exec in the NAME keyword.

8 xxxx0852 Equate Symbol: AXRVarOutBadValue

Meaning: The value of an output variable was not acceptable to REXX.

Action: Inspect AxrArgLstEntryInError in the RexxVars parameter for the index of the variable that caused the error.

8 xxxx0853 Equate Symbol: AXRArgOutBadValue

Meaning: The value of an output argument was not acceptable to REXX.

Action: Inspect AxrARgLstEntryInError in the RexxArgs parameter for the index of the argument that caused the error.

8 xxxx0854 Equate Symbol: AXRParmlistBadAlet

Meaning: The ALET of the parmlist is not valid.

Action: Correct the Alet.

8 xxxx0855 Equate Symbol: AXRUtokenBadAlet

Meaning: The ALET of the UTOKEN parameter is not valid.

Action: Correct the Alet.

8 xxxx0856 Equate Symbol: AXRRexxArgsBadAlet

Meaning: The ALET of the REXXARGS parameter is not valid.

Action: Correct the Alet.

8 xxxx0857 Equate Symbol: AXRRexxVarsBadAlet

Meaning: The ALET of the REXXVARS parameter is not valid.

Action: Correct the Alet.

8 xxxx0858 Equate Symbol: AXRRexxInDsnBadAlet

Meaning: The ALET of the REXXINDSN parameter is not valid.

Action: Correct the Alet.

8 xxxx0859 Equate Symbol: AXRRexxOutDsnBadAlet

Meaning: The ALET of the REXXOUTDSN parameter is not valid.

Action: Correct the Alet.

8 xxxx085A Equate Symbol: AXRRexxDiagBadAlet

Meaning: The ALET of the REXXDIAG parameter is not valid.

Action: Correct the Alet.

8 xxxx085B Equate Symbol: AXRArgBadAlet

Meaning: The ALET of the argument entry is not valid.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter to determine the index of the argument entry whose alet was incorrect. Correct AxrArgAlet.

8 xxxx085C Equate Symbol: AXRArgNameBadAlet

Meaning: The ALET of the argument entry name is not valid.

Action: Refer to AxrArgLstEntryInError in the RexxArgs parameter to determine the index of the argument entry name whose alet was incorrect. Correct AxrArgNameAlet.

8 xxxx085D Equate Symbol: AXRVarBadAlet

Meaning: The ALET of the variable entry is not valid.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter to determine the index of the variable entry whose alet was incorrect. Correct AxrArgAlet.

8 xxxx085E Equate Symbol: AXRVarNameBadAlet

Meaning: The ALET of the variable entry name is not valid.

Action: Refer to AxrArgLstEntryInError in the RexxVars parameter to determine the index of the variable entry name whose alet was incorrect. Correct AxrArgNameAlet.

8 xxxx085F Equate Symbol: AXRRexxlibBadAlet

Meaning: The ALET of the Rexxlib parameter is not valid.

Action: Correct the ALET.

8 xxxx0860 Equate Symbol: AXRBadRexxlibLen

Meaning: The length specified by the RexxlibLen keyword is not valid.

Action: Ensure that the specified RexxlibLen is greater than or equal to 8192.

8 xxxx0861 Equate Symbol: AXRBadRexxlib

Meaning: A program check occurred when attempting to access the parameter specified by the REXXLIB keyword.

Action: Correct the Rexxlib keyword.

C Equate Symbol: AxrRetcodeEnvError

Meaning: Environmental error

Action: Refer to the action provided with the specific reason code.

C xxxx0C01 Equate Symbol: AxrNotActive

Meaning: Function is not available. Either the AXR address space has terminated or has not initialized.

Action: Avoid requesting this function until the ENF signal for AXR initialization is issued or message AXR0102I is issued. If the AXR address space has terminated, it needs to be restarted.

C xxxx0C02 Equate Symbol: AxrArgNoStorage

Meaning: No storage is available for a REXX argument or variable.

Action: Reissue the AXREXX request after the requests that are in progress complete.

C xxxx0C03 Equate Symbol: AXRAllReqBlocksInUse

Meaning: All the storage available to represent REXX requests is in use.

Action: Reissue the AXREXX request after the requests that are in progress complete.

C xxxx0C04 Equate Symbol: AXRTooManyRexxReqs

Meaning: The threshold of active and waiting REXX requests has been exceeded.

Action: System REXX will issue ENF signal (65) with a qualifier of '10000000'x to indicate that it has begun accepting new requests. The AXREXX invoker can listen for this signal.

C xxxx0C05 Equate Symbol: AXRBadIWMEREG

Meaning: A bad return code was returned from IWMEREG. The return code and reason codes from IWMEREG are placed in AXRDIAG1 and AXRDIAG2 in the RexxDiag parameter respectively.

Action: Examine the return and reason codes from IWMEREG. If no diagnosis is possible, contact IBM Service.

C xxxx0C06 Equate Symbol: AXRAscreFailed

Meaning: An attempt to create a server address space to run the exec failed.

Action: The return and reason codes from ASCRE are stored in AxrDiag1 and AxrDiag2 in the RexxDiag parameter.

C xxxx0C07 Equate Symbol: AXRReqCancelled

Meaning: The request was cancelled.

Action: None.

C xxxx0C08 Equate Symbol: AXRExecRexxEnvError

Meaning: The REXX Interpreter was unable to run the exec.

Action: The REXX Interpreter issues one or more messages describing the problem. If REXXOUTDSN was specified, look in the data set for the messages. If CONSDATA was specified and REXXOUTDSN was not specified, look at the console or the system log. If RexxDiag was specified, AXRDIAG1, AXRDIAG2, AXRDIAG3 and AXRDIAG4 contain the message ids of any messages beginning with IRX (REXX) or IKJ (TSO) that were issued. The format of the message id is packed decimal with the sign bits shifted out. A 1 in the high order byte distinguishes an IKJ message from an IRX message.

C xxxx0C09 Equate Symbol: AXRBadAxruser

Meaning: AXRUSER was improperly defined in parmlib member AXR00.

Action: Correct AXR00 and restart System REXX.

C xxxx0C10 Equate Symbol: AxrTooManyExtents

Meaning: The REXXLIB concatenation contains too many extents. Sysrexx cannot process any more execs.

Action: Sysrexx must be terminated. The REXXLIB concatenation must then be modified so that the number of extents is reduced below the limit. SYSREXX may then be restarted.

C xxxx0C0A Equate Symbol: AXRTimeIntExpired

Meaning: The input time limit expired before the exec completed.

Action: Increase the time limit or modify the exec.

C xxxx0C0B Equate Symbol: AXRReqNotActive

Meaning: For a CANCEL request, the request to be cancelled is no longer active.

Action: None.

C xxxx0C0C Equate Symbol: AXRReqAlreadyCancelled

Meaning: For a CANCEL request, the request to be cancelled is already cancelled.

Action: None.

C xxxx0C0D Equate Symbol: AXRRexxOutFail

Meaning: A failure occurred when attempting to process the data set specified by the RexxOutDsn parameter. If the failure was due to an abend, the abend code is saved in AXRDIAG1 and the abend reason code is saved in AXRDIAG2 in the RexxDiag parameter. No dump is taken.

Action: Look up the abend and reason code in the z/OS MVS System Codes to determine the proper action.

C xxxx0C0E Equate Symbol: AXRRexxInFail

Meaning: A failure occurred when attempting to process the data set specified by the RexxInDsn parameter. If the failure was due to an abend, the abend code is saved in AXRDIAG1 and the abend reason code is saved in AXRDIAG2 of the RexxDiag parameter. No dump is taken.

Action: Look up the abend and reason code in z/OS MVS System Codes to determine the proper action.

C xxxx0C0F Equate Symbol: AXRBadIWMECREA

Meaning: A bad return code was returned from IWMECREA. The return code and reason codes from IWMESQRY and the return and reason codes from IWMECREA are placed in AXRDIAG1, AXRDIAG2, AXRDIAG3 and AXRDIAG4 respectively of the RexxDiag parameter.

Action: Inspect the return and reason codes from IWMESQRY and IWMECREA by looking it up in the z/OS MVS Programming: Workload Management Services. If the problem cannot be resolved, contact IBM Service.

10 Equate Symbol: AxrRetcodeCompError

Meaning: Unexpected failure.

Action: Refer to the action provided with the specific reason code.

10 xxxx1001 Equate Symbol: AxrRexxServerAbended

Meaning: An abend occurred after the REXX server began processing the request.

Action: Contact IBM Service with information from the dump.

10 xxxx1002 Equate Symbol: AxrBadServerRC

Meaning: An unexpected return code was returned from the REXX server.

Action: Contact IBM Service with information from the dump.

10 xxxx1003 Equate Symbol: AXRRexxClientAbended

Meaning: An abend occurred before the request was passed to the REXX Server or after the request was processed by the REXX server.

Action: Contact IBM Service with information from the dump.

10 xxxx1007 Equate Symbol: AXRExitAbended

Meaning: An abend occurred in a System REXX defined exit, which is given control by the REXX interpreter or in the REXX interpreter.

Action: If the abend occurred within a System REXX exit, contact IBM Service with information from the dump.

10 xxxx100B Equate Symbol: AXRAddrSpaceTerm

Meaning: The address space created to run an exec either terminated before running the exec or while running the exec.

Action: If the address space was cancelled then there is no action. If the address space was terminated unexpectedly, then contact IBM Service.

10 xxxx100D Equate Symbol: AXRCancelAbended

Meaning: An attempt to cancel a request resulted in an abend.

Action: Contact IBM Service with information from the dump.

10 xxxx100F Equate Symbol: AXRRexxInterpreterAbend

Meaning: Either the REXX interpreter abended or was percolated to.

Action: See the RexxDiag parameter. AxrDiag1 contains either 100 for a user abend or 104 for a system abend. AxrDiag2 contains the abend code. A system dump may be produced.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014