SRSPARM parameter

From m204wiki
Jump to navigation Jump to search

Saved record set parameters

Summary

Default value
X'00'
Parameter type
User
Where set
User and $Resetn resettable
Related products
All
Introduced
Before Sirius Mods 6.7

Description

This bitmask parameter makes it possible to change the default behavior of the $Web_Save_Recset and $Web_Save_List functions as well as the $Web_Restore_Recset and $Web_Restore_List functions.

By default, these $Web_Save functions act as if the STEAL, USTEAL and MOVE options were specified; these $Web_Restore functions act as if MOVE were specified. The default behavior of all of these functions can, however, be changed on a thread basis by setting the SRSPARM parameter (which can be reset with $Resetn).

SRSPARM is a bitmask user parameter where the bits mean:

X'01' Make ERROR the default for $Web_Save_Recset and $Web_Save_List.
X'02' Make CANCEL the default for $Web_Save_Recset and $Web_Save_List. If this bit is set, the X'01' bit is irrelevant.
X'04' Make UERROR the default for $Web_Save_Recset and $Web_Save_List.
X'08' Make UCANCEL the default for $Web_Save_Recset and $Web_Save_List. If this bit is set, the X'04' bit is irrelevant.
X'10' Make COPY the default for $Web_Save_Recset and $Web_Save_List.
X'20' CANCEL request on a COPY style $Web_Save_Recset for an exclusively locked record set. If this bit is not set, this error would simply be reflected with an error code of 7.

This operation is not allowed, because there cannot be two threads that have the same records locked in exclusive mode, which is what would be the case after a COPY type save of an exclusively locked record set.

X'40' Make COPY the default for $Web_Rest_Recset and $Web_Rest_List.
X'80' CANCEL request on a COPY style $Web_Rest_Recset for an exclusively locked record set. If this bit is not set, this error would simply be reflected with an error code of 7.

This operation is not allowed, because there cannot be two threads that have the same records locked in exclusive mode, which is what would be the case after a COPY type restore of an exclusively locked record set.

In general, table full problems with saved record sets are best handled (as are most system-wide resource shortages) with request cancellation, because it does not make sense to code applications in a way that would be able to detect and correct for these shortages.