ctSetCurrentSequenceValue
Declaration
NINT ctSetCurrentSequenceValue(LONG seqhnd, LONG8 newval);
Description
Sets the current value for the specified sequence. If newval is outside the boundary set by the initial value (at one end) and the lower limit or upper limit (at the other end) for the sequence, ctSetCurrentSequenceValue() returns an error, and the sequence value remains unchanged.
You cannot set a sequence to the unknown value.
Improvements to Sequence API and Active Transactions
In V11.5 and later, FairCom sequence support has been improved as follows:
Return Values
Value |
Symbolic Constant |
Explanation |
---|---|---|
0 |
NO_ERROR |
Successfully created the sequence. |
900 |
SEQDUP_ERR |
A sequence having the specified name already exists. |
903 |
SEQTYP_ERR |
The specified sequence type contains an invalid combination of sequence type options. |
904 |
SEQINI_ERR |
The initial value specified for the sequence is out of range. |
905 |
SEQCUR_ERR |
The current value specified for the sequence is out of range. |
906 |
SEQLIM_ERR |
The limit value specified for the sequence is out of range. |
907 |
SEQINC_ERR |
The increment value specified for the sequence is out of range. |
901 |
SEQNAM_ERR |
Invalid sequence name specified (NULL, empty, or too long). |
See FairCom DB Error Codes for a complete listing of valid error values.
Example
ctSEQATTR seqattr;
NINT rc;
/*
** Create an incrementing sequence that starts with 1, increments by 3, and
** terminates with 100.
*/
strcpy(seqattr.seqnam, "MyFirstSequence");
seqattr.seqini = 1;
seqattr.seqinc = 3;
seqattr.seqlim = 100;
seqattr.seqtyp = ctSEQINC | ctSEQTRM | ctSEQLIM;
if ((rc = ctCreateSequence(&seqattr))) {
printf("Error: Failed to create the sequence: %d\n", rc);
} else {
printf("Successfully created the sequence.\n");
}
See also
ctCreateSequence, ctDeleteSequence, ctOpenSequence, ctCloseSequence, ctGetSequenceAttrs, ctSetSequenceAttrs, ctGetCurrentSequenceValue, ctSetCurrentSequenceValue, ctGetNextSequenceValue