IXGWRITE — Write log data to a log stream
Description
Use the IXGWRITE macro to allow a program to write a log block to a log stream. IXGWRITE returns a unique identifier for each log block written to the log stream.
System logger generates a time stamp for each log block as they are received from applications issuing IXGWRITE and writes the blocks to the log stream in that order. Applications that imbed their own time stamps in log blocks will find that the blocks may not be in application-generated time stamp order, especially if multiple applications are writing to a log stream simultaneously. In order to ensure chronological order of log blocks by application-generated time stamp, applications should provide their own serialization on the log stream.
For information on using the system logger services and the LOGR policy, see z/OS MVS Programming: Assembler Services Guide, which also includes information about related macros IXGCONN, IXGBRWSE, IXGINVNT, IXGDELET, and IXGQUERY.
Environment
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Problem state with any PSW key. The caller must be supervisor state with any system (0-7) PSW key to either invoke this service in SRB mode or to use the MODE=SYNCEXIT keyword. |
Dispatchable unit mode: | Task or SRB |
Cross memory mode: | Any PASN, any HASN, any SASN |
AMODE: | 31-bit or 64-bit |
ASC mode: | Primary or access register (AR) |
Interrupt status: | Enabled for I/O and external interrupts. |
Locks: | No locks held. |
Control parameters: | All control parameters must be in the primary
address space with the following exceptions:
|
Programming requirements
- Before issuing IXGWRITE, you must put the data you wish to write to the log stream into a buffer specified on the BUFFER parameter. IXGWRITE will then write this buffer to the log stream as a log block.
- The current primary address space from which you issue the IXGWRITE service must be the same as the primary address space at the time you issued the IXGCONN request.
- The parameter list for this service must be addressable in the caller's primary address space.
- The calling program must be connected to the log stream with write authority through the IXGCONN service.
- IXGWRITE cannot be issued if the connection is an import connection (IMPORTCONNECT=YES on the IXGCONN service). The IXGWRITE service must be issued under a write connection (IMPORTCONNECT=NO, which is the default).
- Include the IXGCON mapping macro in your program. This macro provides a list of equate symbols for the system logger services.
- Include mapping macro IXGANSAA in your program. This macro shows the format of the answer area output returned for each system logger service in the ANSAREA parameter.
- When coding the MODE=SYNCECB and ECB parameters,
you must ensure that:
- The virtual storage area specified for the ECB resides on a full word boundary.
- You initialize the ECB field to zero.
- The ECB resides in either the common or home address space storage at the time the IXGWRITE request is issued.
- The storage used for output parameters, such as ANSAREA, RETBLOCKID, and TIMESTAMP, are accessible by both the IXGWRITE invoker and the ECB waiter.
- When coding the MODE=SYNCEXIT parameter, you must ensure that the storage used for output parameters, such as ANSAREA, RETBLOCKID, and TIMESTAMP, are accessible by both the IXGWRITE invoker and the completion exit routine.
Restrictions
- All storage areas specified on this macro must be in the same
storage key as the caller's storage key, with the exception of the
BUFFKEY parameter.
Storage areas that are not ALET-qualified must exist in the caller's primary address space. The ECB should be addressable from the home address space.
- There is more than one version of this macro available. The parameters you can use depend on the version you specify on the PLISTVER parameter. See the description of the PLISTVER parameter for more information.
- You can call any of the system logger services in either AMODE 31 or 64, but the parameter list and all other data addresses, with the excption of BUFFER64 must reside in 31-bit storage.
Input register information
Before issuing the IXGWRITE macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.
Output register information
- Register
- Contents
- 0
- Reason code, if register 15 contains a non-zero return code
- 1
- Used as a work register by the system
- 2-13
- Unchanged
- 14
- Used as a work register by the system
- 15
- Return code
- Register
- Contents
- 0-1
- Used as a work register by the system
- 2-13
- Unchanged
- 14-15
- Used as a work register 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 standard form of the IXGWRITE macro is written as follows:
Syntax | Description |
---|---|
name | name: symbol. Begin name in column 1. |
␣ | One or more blanks must precede IXGWRITE. |
IXGWRITE | |
␣ | One or more blanks must follow IXGWRITE. |
,STREAMTOKEN=streamtoken | streamtoken: RS-type address or register (2) - (12). |
,BUFFER=buffer | buffer: RS-type address or register (2) - (12). |
BUFFER64=buffer64 | buffer64: RS-type address or register (2) - (12). |
,BLOCKLEN=blocklen | blocklen: RS-type address or register (2) - (12). |
,RETBLOCKID=retblockid | retblockid: RS-type address or register (2) - (12). |
,ANSAREA=ansarea | ansarea: RS-type address or register (2) - (12). |
,ANSLEN=anslen | anslen: RS-type address or register (2) - (12). |
,BUFFKEY=buffkey | buffkey: RS-type address or register (2) - (12). |
,BUFFKEY=* | Default: BUFFKEY=* |
,BUFFALET=buffalet | buffalet: RS-type address or register (2) - (12). |
,TIMESTAMP=timestamp | timestamp: RS-type address or register (2) - (12). |
MODE=SYNC | Default: MODE=SYNC |
MODE=ASYNCNORESPONSE | |
MODE=SYNCECB | |
MODE=SYNCEXIT | |
,REQDATA=reqdata | reqdata: RS-type address or register (2) - (12). |
,ECB=ecb | ecb: RS-type address or register (2) - (12). |
,PLISTVER=IMPLIED_VERSION | |
,PLISTVER=MAX | Default: IMPLIED_VERSION |
,PLISTVER=plistver | |
,PLISTVER=0 | |
,PLISTVER=1 | |
,RETCODE=retcode | retcode: RS-type address or register (2) - (12). |
,RSNCODE=rsncode | rsncode: RS-type address or register (2) - (12). |
,MF=S | Default: 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) | |
,MF=(E,list addr,NOCHECK) | |
,MF=(M,list addr) | |
,MF=(M,list addr,COMPLETE) | |
,MF=(M,list addr,NOCHECK) | |
Parameters
The parameters are explained as follows:
- ,STREAMTOKEN=streamtoken
- Specifies the name (or address in a register) of a required 16-byte input field containing the token for the log stream that you want to write to. The stream token is returned by the IXGCONN service at connection to the log stream.
- ,BUFFER=buffer
- ,BUFFER64=buffer64
- Specifies the field name (or address in a register) of the data
to be written to the log.
- BUFFER=buffer specifies that the location of the buffer is in 31-bit storage.
- BUFFER64=buffer64 specifies that the location of the buffer is in 64-bit storage.
- ,BLOCKLEN=blocklen
- Specifies the name (or address in a register) of a 4-byte input
field that contains the length in bytes of the log block you are writing
to the log stream.
The value of BLOCKLEN must be between 1 and the value for MAXBUFSIZE.
- RETBLOCKID=retblockid
- Specifies the name (or address in a register) of a 8-byte output field where IXGWRITE returns the unique block identifier for the log block written to the log stream.
- ,ANSAREA=ansarea
- Specifies the name (or address in a register) of an answer area containing information about this request. The answer area must be at least 40 bytes. To map this information, use the IXGANSAA macro.
- ,ANSLEN=anslen
- Specifies the name (or address in a register) of the 4-byte field
containing the answer area length. The length of the answer area must
be at least 40 bytes and must be the same length as the field specified
in ANSAREA.
To ascertain the optimal answer area length, look at the ANSAA_PREFERRED_SIZE field of the IXGANSAA macro.
- BUFFALET=buffalet
- Specifies the name (or address in a register) of a 4-byte input
field specifying the access list entry table (ALET) to be used to
access the buffer specified on the BUFFER or BUFFER64 keyword.
If the buffer is ALET-qualified, the ALET must index a valid entry
on the task's dispatchable unit access list (DUAL) or specify a SCOPE=COMMON
data space. An ALET that indexes the system logger PASN-AL list will
not work.
The default is 0, which means that the buffer is in the calling program's primary address space.
- BUFFKEY=buffkey
- Specifies the name (or address in a register) of a 4-byte input
field specifying the storage key for the buffer specified on the BUFFER or
BUFFER64 parameter.
If the caller is running in problem state, the caller's PSW key and the key specified in the BUFFKEY parameter must match.
If the caller is running in supervisor state, specify any syntactically valid (0 through 15) key on the BUFFKEY parameter.
If you omit the BUFFKEY parameter, the default used is the PSW key of the caller.
- TIMESTAMP=timestamp
- Specifies the name (or address in a register) of a 16-byte output field where the Greenwich mean time and local time stamps associated with the requested log block are returned when the write request is successful. Both time stamps will be in time of day (TOD) clock format.
- MODE=SYNC
- MODE=ASYNCNORESPONSE
- MODE=SYNCECB
- MODE=SYNCEXIT
- Specifies that the request should be processed in one of the following
ways:
- MODE=SYNC: Specifies that the request process synchronously. Control is not returned to the caller until request processing is complete. If necessary, the calling program will be suspended until the request completes.
- MODE=ASYNCNORESPONSE: Specifies that the request process asynchronously.
The caller is not notified when the request completes and the answer
area (ANSAREA) fields will not contain valid information.
To use this parameter, the system where the application is running must be IPLed. The application must run in supervisor state, key 0-7 to use this parameter.
- MODE=SYNCECB: Specifies that the request process synchronously if possible. If the request processes asynchronously, control returns to the caller before the request completes and the event control block (ECB) specified on the ECB keyword is posted when the request completes. The ECB keyword is required with MODE=SYNCECB.
- MODE=SYNCEXIT: Specifies that the request process synchronously,
if possible. If the request cannot be processed synchronously, your
complete exit (specified on the COMPLETEEXIT parameter on the IXGCONN
request) gets control when this request completes. Control returns
to the caller with a return and reason code indicating that the request
is not complete. The system passes the data specified on the REQDATA
parameter, if specified, to the complete exit.
When a MODE=SYNCEXIT request processes asynchronously, system logger maintains latent binds to the storage location specified by the answer area (ANSAREA) fields, and, if specified, to RETBLOCKID and TIMESTAMP.
To use this parameter, the system where the application is running must be IPLed. The application must run in supervisor state, key 0-7 to use this parameter.
- ,REQDATA=reqdata
- Specifies the name (or address in a register) of a 8-byte input field containing user-defined data to pass to the complete exit. REQDATA is only valid with the MODE=SYNCEXIT parameter.
- ,ECB=ecb
- Specifies the name (or address in a register) of a 4-byte input
field that contains the event control block (ECB) to be posted when
the request completes. Before coding ECB, you must ensure that:
- You initialize the ECB to zero.
- The ECB must reside in either common storage or the home address space where the IXGWRITE service was issued.
- The virtual storage area specified for the ECB must reside on a fullword boundary.
- ,PLISTVER=IMPLIED_VERSION
- ,PLISTVER=MAX
- ,PLISTVER=0
- ,PLISTVER=1
- An optional input parameter that specifies the version of the
macro. PLISTVER determines which parameter list the system generates.
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. Note that on the list form, the default will cause the smallest parameter list to be created.
- MAX, if 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 using the same level of the system. In this way, MAX ensures that the parameter list does not overwrite nearby storage.
- 0, which supports all parameters except those specifically referenced in higher versions.
- 1, which supports both the following parameters and parameters
from version 0:
- REQDATA
To code: Specify in this input parameter one of the following:- IMPLIED_VERSION
- MAX
- A decimal value of 0 or 1
- ,RETCODE=retcode
- Specifies a name (or address in a register) of a 4-byte output field where the system will place the return code. The return code is also in general purpose register (GPR) 15.
- ,RSNCODE=rsncode
- Specifies a name (or address in a register) of a 4-byte output field where the system will place the reason code. The reason code is also in general purpose register (GPR) 0, if you received a non-zero return code.
- ,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)
- ,MF=(E,list addr,NOCHECK)
- ,MF=(M,list addr)
- ,MF=(M,list addr,COMPLETE)
- ,MF=(M,list addr,NOCHECK)
- 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 can be specified on the list form of the macro. IBM recommends that you always specify PLISTVER=MAX on 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.
Use MF=M together with the list and execute forms of the macro for service routines that need to provide different options according to user-provided input. Use the list form to define a storage area; use the modify form to set the appropriate options; then use the execute form to call the service.
IBM recommends that you use the modify and execute forms in the following order:- Use MF=(M,list_addr,COMPLETE), specifying appropriate parameters, including all required ones.
- Use MF=(M,list_addr,NOCHECK), specifying the parameters you want to change.
- Use MF=(E,list_addr,NOCHECK), to execute the macro.
- ,list addr
- The name of a storage area to contain the parameters.
- ,attr
- An optional 1- to 60-character input string, which can contain any value that is valid on an assembler DS pseudo-op. You can use this parameter to force boundary alignment of the parameter list. If you do not code attr, the system provides a value of 0D, which forces the parameter list to a doubleword boundary.
- ,COMPLETE
- Specifies that the system is to check for required parameters and supply defaults for omitted optional parameters.
- ,NOCHECK
- Specifies that the system is not to check for required parameters and is not to supply defaults for omitted optional parameters.
ABEND codes
None.
Return and reason codes
When IXGWRITE macro returns control to your program, GPR 15 contains a return code and GPR 0 contains a reason code.
- 00
- IXGRSNCODEOK - Successful completion.
- 04
- IXGRSNCODEWARNING - The request was processed successfully, however a warning condition was encountered.
- 08
- IXGRETCODEERROR - An error has been encountered. The associated reason code provides more information.
- 0C
- IXGRETCODECOMPERROR - A system logger component error has been encountered.
The following table contains hexadecimal return and reason codes, the equate symbols associated with each reason code, and the meaning and suggested action for each return and reason code.
Return code | Reason code | Meaning and action |
---|---|---|
00 | xxxx0000 | Equate symbol: IxgRsnCodeOk Explanation: Request processed successfully. |
04 | xxxx0401 | Equate symbol: IxgRsnCodeProcessedAsynch Explanation: Program error. The program specified MODE=SYNCECB and the request must be processed asynchronously. Action: Wait for the ECB specified on the ECB parameter to be posted, indicating that the request is complete. Check the ANSAA_ASYNCH_RETCODE and ANSAA_ASYNCH_RSNCODE fields, mapped by IXGANSAA, to determine whether the request completed successfully. |
04 | xxxx0405 | Equate symbol: IxgRsnCodeWarningLossOfData Explanation:
Environment error. Returned for READCURSOR, START OLDEST and RESET
OLDEST requests. This condition occurs when a system and coupling
facility fail and not all of the log data in the log stream could
be recovered.
Action: If your application cannot tolerate any data loss, stop issuing system logger services to this log stream, disconnect from the log stream, and reconnect to a new, undamaged log stream. You can continue using the log stream if your applications can tolerate data loss. |
04 | xxxx0407 | Equate symbol: IxgRsnCodeConnPossibleLossOfData Explanation: Environment error. The request was successful, but there may be log blocks permanently missing between this log block and the one previously returned. This condition occurs when a system or coupling facility fails and not all of the data in the log stream could be recovered. Action: If your application cannot tolerate any data loss, stop issuing system logger services to this log stream, disconnect from the log stream, and reconnect to a new, undamaged log stream. You can continue using the log stream if your applications can tolerate data loss. |
04 | xxxx0408 | Equate symbol: IxgRsnCodeDsDirectoryFullWarning Explanation: Environment error. The request was successful, but the log streams DASD data set directory is full. System logger cannot offload any further data from the coupling facility structure to DASD. The system logger will continue to process IXGWRITE requests until this log streams portion of the coupling facility structure becomes full. Action: Either delete enough data from the log stream to free up space in the log streams data set directory so that offloading can occur or disconnect from the log stream. |
04 | xxxx0409 | Equate symbol: IxgRsnCodeWowWarning Explanation: Environment error. The request was successful, but an error condition was detected during a previous offload of data. System logger might not be able to offload further data. System logger will continue to process IXGWRITE requests only until the interim storage for the log stream is filled. (Interim storage is the coupling facility for a coupling facility log stream and local storage buffers for a DASD-only log stream.) Action: Do not issue any further requests for this log stream and disconnect. Connect to another log stream. Check the system log for message IXG301I to determine the cause of the error. If you cannot fix the error, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center. |
04 | 0000040A | Equate symbol: IxgRsnCodeDuplexFailureWarning Explanation: Environment error. The request was successful, but the system logger was unable to duplex log data to staging data sets, even though the log stream definition requested unconditional duplexing to staging data sets by specifying the log stream attributes: STG_DUPLEX=YES, DUPLEXMODE=UNCOND, or STG_DUPLEX=YES,DUPLEXMODE=DRXRC. When DUPLEXMODE=UNCOND is specified, but Logger was unable to obtain a staging data set to duplex the log data. Therefore, the Logger duplexing is being done in local buffers (data space). When DUPLEXMODE=DRXRC is specified for a logstream and being used for (non-local) disaster recovery duplexing, if the internal buffers used for asynchronous buffering of the log blocks become full. Meaning the internal buffers became full before at least one of the full buffers could be written to the staging data set. Action: For DUPLEXMODE=UNCOND, if duplexing to staging data sets is required, disconnect from this log stream and connect to a log stream that can be duplexed to staging data sets. For DUPLEXMODE=DRXRC, if duplexing to a DRXRC-type staging data sets is required, then cause the log data to be offload to the log stream secondary storage (offload data sets) and then continue writing to the log stream. |
08 | xxxx0801 | Equate symbol: IxgRsnCodeBadParmlist Explanation: Program error. The parameter list could not be accessed. Action: Ensure that the storage area for the parameter list is accessible to the system logger for the duration of the request. The parameter list storage must be addressable in the caller's primary address space and in the same key as the caller. |
08 | xxxx0802 | Equate symbol: IxgRsnCodeXESError Explanation: System error. A severe cross-system extended services (XES) error has occurred. Action: See ANSAA_DIAG1 for the XES return code and ANSAA_DIAG2 for the XES reason code. |
08 | xxxx0803 | Equate symbol: IxgRsnCodeBadBuffer Explanation: Program error. The virtual storage area specified on the BUFFER or BUFFER64 parameter is not addressable. Action: Ensure that the storage area specified on the BUFFER or BUFFER64 parameter is accessible to system logger for the duration of the request. If the BUFFKEY parameter is specified, make sure it contains a valid key associated with the storage area. If BUFFKEY is not used, ensure that the storage is in the same key as the program at the time the logger service was requested. The storage must be addressable in the caller's primary address space. |
08 | xxxx0806 | Equate symbol: IxgRsnCodeBadStmToken Explanation:
Program error. One of the following occurred:
Action: Do one of the following:
|
08 | xxxx0809 | Equate symbol: IxgRsnCodeBadWriteSize Explanation: Program error. The size of the log block specified in the BLOCKLEN parameter is not valid. The value for BLOCKLEN must be greater than zero and less than or equal to the maximum buffer size (MAXBUFSIZE) defined in the LOGR policy for the structure associated with this log stream. Action: Ensure that the value specified on the BLOCKLEN parameter is greater than 0 and less than or equal to the MAXBUFSIZE which is returned on the log stream connect request. |
08 | xxxx080A | Equate symbol: IxgRsnCodeRequestLocked Explanation: Program error. The program issuing the request is holding a lock. Action: Ensure that the program issuing the request is not holding a lock. |
08 | xxxx0814 | Equate symbol: IxgRsnCodeNotAvailForIPL Explanation: Environment error. The system logger address space is not available for the remainder of this IPL. The system issues messages about this error during system logger initialization. Action: See the explanation for system messages issued during system logger initialization. |
08 | xxxx0815 | Equate symbol: IxgRsnCodeNotEnabled Explanation: Program error. The program issuing the request is not enabled for I/O and external interrupts, so the request fails. Action: Make sure the program issuing the request is enabled for I/O and external interrupts. |
08 | xxxx0816 | Equate symbol: IxgRsnCodeBadAnslen Explanation: Program error. The answer area length (ANSLEN parameter) is not large enough. The system logger returned the required size in the Ansaa_Preferred_Size field of the answer area, mapped by IXGANSAA macro. Action: Re-issue the request, specifying an answer area of the required size. |
08 | xxxx0817 | Equate symbol: IxgRsnCodeBadAnsarea Explanation: Program error. The storage area specified on the ANSAREA parameter cannot be accessed. This may occur after the system logger address space has terminated. Action: Specify storage that is in the caller's primary address space and in the same key as the calling program at the time the system logger service was issued. This storage must be accessible until the request completes. |
08 | xxxx0818 | Equate symbol: IxgRsnCodeBadBlockidStor Explanation: Program error. The storage area specified by BLOCKID cannot be accessed. Action: Ensure that the storage area is accessible to system logger for the duration of the request. The storage must be addressable in the caller's primary address space and in the same key as the caller. |
08 | xxxx081C | Equate symbol: IxgRsnCodeNotAuthFunc Explanation: Program error. The program connected to the log stream with the AUTH=READ parameter and then tried to delete or write data. You cannot write or delete data when connected with read authority. Action: Issue the IXGCONN service with AUTH=WRITE authority and then re-issue this request. |
08 | xxxx082D | Equate symbol: IxgRsnCodeExpiredStmToken Explanation: Environment error. The stream token is no longer valid because the connector has been disconnected. Action: Connect to the log stream again before issuing any functional requests. |
08 | xxxx0837 | Equate symbol: IxgRsnCodeBadTimestamp Explanation: Program error. The storage area specified by TIMESTAMP cannot be accessed. Action: Ensure that the storage area is accessible to the system logger service for the duration of the request. The storage must be addressable in the caller's primary address space and in the same key as the caller. |
08 | xxxx083D | Equate symbol: IxgRsnCodeBadECBStor Explanation: Program error. The ECB storage area was not accessible to the system logger. Action: Ensure that the storage area is accessible to the system logger for the duration of the request. The storage must be addressable in the caller's home address space and in the same key as the caller. |
08 | xxxx083F | Equate symbol: IxgRsnCodeTestartError Explanation: System error. An unexpected error was encountered while attempting to validate the buffer ALET. Action: See ANSAA_DIAG1 in the answer area mapped by the IXGANSAA macro for the return code from the TESTART system service. |
08 | xxxx0841 | Equate symbol: IxgRsnCodeBadBufferAlet Explanation: Program error. The buffer ALET specified is not zero and does not represent a valid entry on the caller's dispatchable unit access list (DUAL). See the ANSAA_DIAG1 field of the answer area, mapped by the IXGANSAA macro, for the return code from the TESTART system service. Action: Ensure that the correct ALET was specified. If not, provide the correct ALET. Otherwise, add the correct ALET to dispatchable unit access list (DUAL). |
08 | xxxx0849 | Equate symbol: IxgRsnCodeBadBuffkey Explanation: Program error. The buffer key specified on the BUFFKEY parameter specifies an invalid key. Either the key is greater than 15 or the program is running in problem state and the specified key is not the same key as the PSW key at the time the system logger service was issued. Action: For problem state programs, either do not specify the BUFFKEY parameter or else specify the same key as the PSW key at the time the system logger service was issued. For supervisor state programs, specify a valid storage key (0 <= key <= 15). |
08 | xxxx084E | Equate symbol: IXGRSNCODESTRSACETOOSMALL
Explanation: Environment error. Structure
resources are not available to satisfy the request. All structure
resources are allocated as system logger control resources. This condition
occurs when the structure resources are consumed by the logstreams
connections.
Action: Increase
the size of the structure in the CFRM policy or use the SETXCF ALTER
command to dynamically increase the size of the structure.
|
08 | xxxx085C | Equate symbol: IxgRsnCodeDsDirectoryFull Explanation: Environment error. The interim storage (for example: the coupling facility structure space allocated or the staging data set space) for the log stream is full. System logger's attempts to offload the interim storage log data to DASD has failed because the log stream's data set directory is full. If this reason code is issued by the IXGWRITE request, no further write requests can be processed until additional directory space is available for the log stream. System logger will periodically re-drive its offload attempts for this condition, which is applicable to both coupling facility structure and DASD-only type log streams. If system logger is able to offload log data, then an ENF event will be issued informing the connectors that the log stream should be available for writing more log data. However, the time that passes before you can write to the log stream is unpredictable. The system issues related messages IXG257I, IXG261E, IXG262A and IXG301I. Action: The system programmer must make more log stream data set directory space available. For information about how an authorized application program might respond to this reason code, see Setting Up the System Logger Configuration in the z/OS MVS Programming: Authorized Assembler Services Guide. For information about how an unauthorized application program might respond to this reason code, see IXGWRITE: Writing to a log stream in the z/OS MVS Programming: Assembler Services Guide. |
08 | xxxx085D | Equate symbol: IxgRsnCodeWowError Explanation: Environment error. The interim storage (for example: the coupling facility structure space allocated or the staging data set space) for the log stream is full. System logger's attempts to offload the interim storage log data to DASD have failed because of severe errors. No further write requests can be processed until the offload error condition is cleared. System logger will periodically re-drive its offload attempts for this condition, which is applicable to both coupling facility structure and DASD-only type log streams. If system logger is able to offload log data, then an ENF event will be issued informing the connectors that the log stream should be available for writing more log data. However, the time that passes before you can write to the log stream is unpredictable. The system issues related message IXG301I. Action: The system programmer must correct the severe error condition inhibiting the log stream offload. If you are unable to correct the error, search problem reporting data bases for a fix for the problem. If no fixt exists, contact the IBM Support Center. You can retry your write request periodically or wait for the ENF signal that the log stream is available, or disconnect from this log stream and connect to another log stream. For information on how an authorized application program might respond to this reason code, see Setting up the system logger configuration in the z/OS MVS Programming: Authorized Assembler Services Guide. For information on how an authorized application program might respond to this reason code, see IXGWRITE: Writing to a log stream in the z/OS MVS Programming: Assembler Services Guide. |
08 | xxxx0860 | Equate symbol: IxgRsnCodeCFLogStreamStorFull Explanation: Environment error. The coupling facility structure space allocated for this log stream is full. No further requests can be processed until the log data in the coupling facility structure is offloaded to DASD log data sets. Action: Listen to the ENF signal 48 which will indicate that the log stream is available after the data has been offloaded to DASD. For IXGCONN requests, Listen to the ENF signal 48 which will indicate that the structure is available. Then, re-issue the request. |
08 | xxxx0861 | Equate symbol: IxgRsnCodeRebuildInProgress Explanation: Environment error. No requests can be processed for this log stream because a coupling facility structure re-build is in progress for the structure associated with this log stream. Action:
Listen for ENF signal 48 that will indicate one of the following:
|
08 | xxxx0862 | Equate symbol: IxgRsnCodeXESPurge Explanation: Environment error. An cross-system extended services (XES) request has been purged due to re-build processing. Action:
Listen for ENF signal 48 that will indicate one of the following:
|
08 | xxxx0863 | Equate symbol: IxgRsnCodeStructureFailed Explanation: Environment error. Either the coupling facility structure associated with the log stream has failed or the coupling facility itself has failed. Action: Listen for ENF signal 48 that will indicate
one of the following:
|
08 | xxxx0864 | Equate symbol: IxgRsnCodeNoConnectivity Explanation: Environment error. No connectivity exists to the coupling facility associated with the log stream. The system logger will either attempt to re-build the log stream in another coupling facility or the log stream will be disconnected. Action: Listen for ENF
signal 48 that will indicate one of the following:
If a re-build initiated because of a loss of connectivity previously failed, an ENF corresponding to this reason code might not be issued. Further action by the installation might be necessary to cause the change of the log stream status again. Check the log for messages IXG101I, IXG107I and related rebuild messages for information on resolving any outstanding issues. |
08 | xxxx0865 | Equate symbol: IxgRsnCodeStagingDSFull Explanation: Environment error. The staging data set allocated for this log stream on this system is full. No further requests can be processed until enough log data in the coupling facility structure is offloaded to DASD log data sets to relieve the staging data set's full condition. Action: Listen to the ENF signal 48 which will indicate that the log stream is available after room becomes available in the staging data set. Then, re-issue the request. |
08 | xxxx0867 | Equate symbol: IxgRsnCodeLocalBufferFull Explanation:
Environment error. One of the two following problems was detected:
No further writing requests can be processed until the log data in the local buffer space is offloaded to DASD log data sets or this connector's prior IXGWRITE requests complete. Note: This
reason code applies to both CF and DASD only log stream requests.
Action:
|
08 | xxxx0868 | Equate symbol: IxgRsnCodeStagingDSFormat Explanation: Environment error. The staging data set allocated for this log stream on this system has not finished being formatted for use by System Logger. No further IXGWRITE requests can be processed until the formatting completes. Action: Listen to the ENF signal 48 which will indicate that the logstream is available after formatting process is finished. Then, re-issue the request. |
08 | xxxx0890 | Equate symbol: IxgRsnCodeAddrSpaceNotAvail Explanation: System error. The system logger address space failed and is not available. Action: Do not issue system logger requests. |
08 | xxxx0891 | Equate symbol: IxgRsnCodeAddrSpaceInitializing Explanation: System error. The system logger address space is not available because it is IPLing. Action: Listen for ENF signal 48, which will indicate when the system logger address space is available. Re-connect to the log stream, then re-issue this request. You can also listen for ENF signal 48, which will indicate if the system logger address space will not be available for the life of the IPL. In that case, do not issue system logger services. |
08 | xxxx08D1 | Equate symbol: IxgRsnCodePrgramKey Explanation:
Environment error. The request was rejected because of one of the
following:
Action: Change the invoking environment to a system key (key 0-7). |
08 | xxxx08D2 | Equate symbol: IxgRsnCodeNoCompleteExit Explanation: Program error. MODE=SYNCEXIT was specified, but the connection request did not identify a complete exit. Action: Either change this request to a different MODE option, or reconnect to the log stream with a complete exit specified on the COMPLETEXIT parameter. |
08 | xxxx08D7 | Equate symbol: IxgRsnCodeRequestNotAllowed Explanation: Program error. The caller issued an IXGWRITE request while an import connection was active on this system (IXGCONN IMPORTCONNECT=YES). Action: Re-issue the request, based on the type of connection active. |
0C | xxxx0000 | Equate symbol: IxgRetCodeCompError Explanation:
User or System error. One of the following occurred:
Action: If this reason code is not the result of forcing the system logger address space, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center. Provide the diagnostic data in the answer area (IXGANSAA) and any dumps or LOGREC entries from system logger. |
Example 1
IXGWRITE STREAMTOKEN=TOKEN, X
BUFFER=BUFF, X
BLOCKLEN=BLKLEN, X
BUFFALET=BUFALET, X
RETBLOCKID=RETBLK, X
BUFFKEY=BUFKEY, X
TIMESTAMP=RET_TIME, X
MODE=SYNC, X
ANSAREA=ANSAREA, X
ANSLEN=ANSLEN, X
RSNCODE=RSNCODE, X
MF=S, X
RETCODE=RETCODE
BUFF DC CL256'BUFFER TEXT' buffer to write to log stream
BLKLEN DC F'256' length of block to be written
ANSLEN DC A(L'ANSAREA) length of logger's answer area
BUFKEY DC F'8' buffer key
TOKEN DS CL16 stream token from connect
RET_TIME DS CL16 returned timestamp of block
ANSAREA DS CL(ANSAA_LEN) answer area for log requests
RETCODE DS F return code
RSNCODE DS F reason code
BUFALET DC F'1' buffer alet secondary
RETBLK DS CL8 returned block id
DATAREA DSECT
IXGANSAA LIST=YES answer area
Example 2
IXGWRITE STREAMTOKEN=TOKEN, X
BUFFER=BUFF, X
BLOCKLEN=BLKLEN, X
BUFFALET=BUFALET, X
RETBLOCKID=RETBLK, X
MODE=SYNCECB, X
ECB=ANECB, X
ANSAREA=ANSAREA, X
ANSLEN=ANSLEN, X
RSNCODE=RSNCODE, X
MF=S, X
RETCODE=RETCODE
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* if return code = '00000401'X then wait
* on the ecb ANECB for the request to complete
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BUFF DC CL256'BUFFER TEXT' buffer to write to log stream
BLKLEN DC F'256' length of block to be written
ANSLEN DC A(L'ANSAREA) length of logger's answer area
TOKEN DS CL16 stream token from connect
ANSAREA DS CL(ANSAA_LEN) answer area for log requests
RETCODE DS F return code
RSNCODE DS F reason code
BUFALET DC F'1' buffer alet secondary
ANECB DS F ecb to wait on
RETBLK DS CL8 returned block id
DATAREA DSECT
IXGANSAA LIST=YES answer area
Example 3
LA R6,TOKEN load stream token in register 6
IXGWRITE STREAMTOKEN=(6), X
BUFFER=BUFF, X
BLOCKLEN=BLKLEN, X
RETBLOCKID=RETBLK, X
MODE=SYNC, X
ANSAREA=ANSAREA, X
ANSLEN=ANSLEN, X
RSNCODE=RSNCODE, X
MF=S, X
RETCODE=RETCODE
BUFF DC CL256'BUFFER TEXT' buffer to write to log stream
BLKLEN DC F'256' length of block to be written
ANSLEN DC A(L'ANSAREA) length of logger's answer area
TOKEN DS CL16 stream token from connect
ANSAREA DS CL(ANSAA_LEN) answer area for log requests
RETCODE DS F return code
RSNCODE DS F reason code
RETBLK DS CL8 returned block id
DATAREA DSECT
IXGANSAA LIST=YES answer area
R6 EQU 6 set up register 6