Use the IXGDELET macro to delete log blocks from a log stream.
For information about using the system logger services and the system logger inventory, see z/OS MVS Programming: Assembler Services Guide, which includes information about related macros IXGCONN, IXGBRWSE, IXGWRITE, IXGINVNT, and IXGQUERY.
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 the service in SRB mode or use the MODE=SYNCEXIT keyword. |
Dispatchable unit mode: | Task or SRB |
Cross memory mode: | PASN=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 parameter: | All control parameters must be in the primary
address space with the following exceptions:
|
Before issuing the IXGDELET 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.
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.
None.
The standard form of the IXGDELET macro is written as follows:
Syntax | Description |
---|---|
name | name: symbol. Begin name in column 1. |
␣ | One or more blanks must precede IXGDELET. |
IXGDELET | |
␣ | One or more blanks must follow IXGDELET. |
,STREAMTOKEN=streamtoken | streamtoken: RS-type address or register (2) - (12). |
,BLOCKS=ALL | |
,BLOCKS=RANGE | |
,BLOCKID=blockid | blockid: 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). |
,FORCE=NO | Default: FORCE=NO |
,FORCE=YES | |
,FORCEINFO=NO | Default: FORCEINFO=NO |
,OBLOCKID=oblockid | oblockid: 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). |
,DIAG=NO_DIAG | Default: DIAG=NO_DIAG |
,DIAG=NO | |
,DIAG=YES | |
,PLISTVER=IMPLIED_VERSION | |
,PLISTVER=MAX | Default: IMPLIED_VERSION |
,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) | |
The parameters are explained as follows:
Block identifiers are returned in the RETBLOCKID field of the IXGWRITE service.
To ascertain the optimal answer area length, look at the ANSAA_PREFERRED_SIZE field of the IXGANSAA macro.
If you specify FORCE=NO, which is the default, the delete request can be overridden by the resource manager exit.
If you specify FORCE=YES, the delete request cannot be overridden by a delete exit.
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.
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 parameters.
If you specify DIAG=NO_DIAG, which is the default, then the DIAG option on the IXGCONN for this logstream will be in effect for this delete log data request.
If you specify DIAG=NO, then Logger will not take additional diagnostic action as defined on the logstream definition DIAG parameter.
If you specify DIAG=YES, then Logger will take additional diagnostic action as defined on the logstream definition DIAG parameter providing the IXGCONN connect DIAG specification allows it.
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.
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.
None.
When IXGDELET macro returns control to your program, GPR 15 contains a return code and GPR 0 contains a reason code.
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 | xxxx040B | Equate Symbol: IxgRsnCodeRMNotConnected Explanation: Program or environment error. The log stream is identified as being a source log stream managed by a resource manager (RMNAME is specified in the LOGR couple data set). However, at the time of the delete request, the resource manager was not connected to the log stream and FORCE=NO was specified on the request. Delete requests can only be honored on a resource manager managed system if the resource manager is connected to the log stream. Action: Either:
|
04 | xxxx040C | Equate Symbol: IxgRsnCodeRMOverrideOK Explanation: The caller's delete request was overridden by the associated resource manager. The override information was successfully processed. |
04 | xxxx040D | Equate Symbol: IxgRsnCodeRMNoBlock Explanation: Program error. The log block identifier on the IXGDELET request does not exist in the log stream. Either the block id never existed or was deleted in a previous IXGDELET request. This warning is issued only if a resource manager overrides the caller-specified block id. Action: Make sure that the block id specified on the IXGDELET request is correct. |
04 | xxxx040E | Equate Symbol: IxgRsnCodeRMBadGap Explanation: Environment error. The IXGDELET request failed because the requested log data was unreadable. This problem is caused by either an I/O error while attempting to read a DASD log data set or a log data set was deleted using an interface other than IXGDELET. This reason code is issued only when a resource manager exit overrides the block identifier specified on the IXGDELET request. Action: System logger returns the block identifier of the first readable log block (in the direction of youngest data) in the ANSAA_GAPS_NEXT_BLKID field of the answer area mapped by IXGANSAA. If appropriate, reissue the IXGDELET request using this block identifier. |
04 | xxxx040F | Equate Symbol: IxgRsnCodeRMEOFGap Explanation: Environment error. While processing the IXGDELET request, system logger prematurely reached the end or beginning of the log stream. The portion of the log stream from the requested log data to either the beginning or end of the log stream was unreadable. This problem is caused by either an I/O error while attempting to read a DASD log data set or a log data set was deleted using an interface other than IXGDELET. This reason code is issued only when a resource manager exit overrides the block identifier specified on the IXGDELET request. Action:
The action you take depends on whether your application can tolerate
any loss of data. You can either:
|
04 | xxxx0410 | Equate Symbol: IxgRsnCodeRMLossOfDataGap Explanation: Environment error. The log data you tried to delete is in a section of the log stream where data is permanently missing. This condition occurs when a system or coupling facility is in recovery from a failure and not all the log data could be recovered. This reason code is issued only when a resource manager exit overrides the block identifier specified on the IXGDELET request. 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. If your application can tolerate data loss, you can continue using the log stream. |
04 | xxxx0411 | Equate Symbol: IxgRsnCodeRMAbended Explanation: Program error. The resource manager abended and percolated to the system logger recovery environment. The IXGDELET request was not processed. Action: Look for and correct the problem in your resource manager program or reissue the delete request, specifying FORCE=YES. |
04 | xxxx0412 | Equate Symbol: IxgRsnCodeRMDisabled Explanation: Environment error. The log stream is identified as being managed by a resource manager (RMNAME is specified in the LOGR couple data set). The resource manager is connected to the log stream, but is disabled due to an abend from which it did not recover successfully (by percolating to system logger recovery environment). Action: Either:
|
04 | xxxx0414 | Equate Symbol: IxgRsnCodeRMStoppedDelete Explanation: The resource manager does not allow this IXGDELET request to delete any log blocks. Action: Determine why the resource manager is prohibiting deletes. Specify FORCE=YES to stop the resource manager exit from stopping the delete request. |
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 | xxxx0804 | Equate Symbol: IxgRsnCodeNoBlock Explanation: Program error. The block identifier or time stamp does not exist in the log stream. Either the value provided was never a valid location within the log stream or a prior IXGDELET request deleted the portion of the log stream it referenced. Action: Ensure that the value provided references an existing portion of the log stream and issue the request again. Use the LIST LOGSTREAM DETAIL(YES) request on the IXCMIPU utility to display the range of valid block identifiers for the log stream. |
08 | xxxx0806 | Equate Symbol: IxgRsnCodeBadStmToken Explanation:
Program error. One of the following occurred:
Action: Do one of the following:
|
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 | 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 | xxxx081F | Equate Symbol: IxgRsnCodeXcdsError Explanation: System error. System logger encountered an internal problem while processing the LOGR couple data set. Action: Contact the IBM Support Center. Provide the return and reason code and the contents of the answer area (ANSAREA field). |
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 | xxxx0836 | Equate Symbol: IxgRsnCodeBadGap Explanation: Environment error. The request failed because the requested log data was unreadable. This condition could be caused by either an I/O error while attempting to read a log data set or a log data set deleted without using the IXGDELET interface. Action: The block identifier of the first accessible block toward the youngest data in the log stream is returned in the ANSAA_GAPS_NEXT_BLKID field in the answer area mapped by the IXGANSAA macro. If appropriate, re-issue the IXGDELET request using this block identifier. |
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 | xxxx084A | Equate Symbol: IxgRsnCodeEOFGap Explanation: Environment error. The request prematurely reached the beginning or the end of the log stream. The portion of the log stream from the requested log data to either the beginning or the end of the log stream (depending on the direction of the read) was unreadable. This condition may be caused by either an I/O error while trying to read a log data set, or a log data set deleted without using the IXGDELET interface. Action:
The action necessary is completely up to the application depending
on how critical your data is. You can do one of the following:
|
08 | xxxx084B | Equate Symbol: IxgRsnCodeLossOfDataGap Explanation: Environment error. The requested log data referenced a section of the log stream where log data is permanently missing. This condition occurs when a system or coupling facility is in recovery due to a failure, but 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. |
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 | 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 | xxxx08D0 | Equate Symbol: IxgRsnCodeProblemState Explanation:
Environment error. The request was rejected because of one of the
following:
Action: Change the invoking environment to supervisor state. |
08 | xxxx08D1 | Equate Symbol: IxgRsnCodeProgramKey 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 | xxxx085F | Equate Symbol: IxgRsnPercToRequestor Explanation: Environment error. Percolation to the service requestor's task occurred because of an abend during system logger processing. Retry was not allowed. Action: Issue the request again. If the problem persists, contact the IBM Support Center. |
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 : Delete all data from the log stream.
IXGDELET STREAMTOKEN=TOKEN, X
BLOCKS=ALL, X
MODE=SYNC, X
ANSAREA=ANSAREA, X
ANSLEN=ANSLEN, X
RSNCODE=RSNCODE, X
MF=S, X
RETCODE=RETCODE
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
DATAREA DSECT
IXGANSAA LIST=YES answer area
Example 2 : Delete a range of data from the log stream asynchronously, if synchronous processing is not possible.
IXGDELET STREAMTOKEN=TOKEN, X
BLOCKS=RANGE, X
BLOCKID=BLOCKID, X
MODE=SYNCECB, X
ECB=ANECB, X
ANSAREA=ANSAREA, X
ANSLEN=ANSLEN, X
RSNCODE=RSNCODE, X
MF=S, X
RETCODE=RETCODE
*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* If rsncode = '00000401'X then wait on
* the ecb ANECB.
*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ANSLEN DC A(L'ANSAREA) length of logger's answer area
BLOCKID DS CL8 block id from which to delete
TOKEN DS CL16 stream token from connect
ANSAREA DS CL(ANSAA_LEN) answer area for log requests
ANECB DS F ecb on which to wait
RETCODE DS F return code
RSNCODE DS F reason code
DATAREA DSECT
IXGANSAA LIST=YES answer area
Example 3 : Delete all data from the log stream using registers with the macro.
LA R6,TOKEN load stream token into register 6
IXGDELET STREAMTOKEN=(6), X
BLOCKS=ALL, X
MODE=SYNC, X
ANSAREA=ANSAREA, X
ANSLEN=ANSLEN, X
RSNCODE=RSNCODE, X
MF=S, X
RETCODE=RETCODE
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
DATAREA DSECT
IXGANSAA LIST=YES answer area
R6 EQU 6