Messenger Plain Black Vera Vera Black Beige Vera Bag Women�s Messenger Bag Women�s Pelle Beige Pelle Plain SaqCX
Caché ObjectScript Reference
$INCREMENT
|
|
Adds a specified increment to the numeric value of a variable.
Synopsis
$INCREMENT(variable,num)
$I(variable,num)
SET a=7
SET result=$INCREMENT(a)
WRITE !,result /* result is 8 (a+1) */
WRITE !,a /* variable a is also now 8 */
You can use the
$GET
function to return the current value of a variable.
Vera Tan Pelle Handbag Genuine Red Vera 100 Italian Pelle Leather xqxBwP1Z
$INCREMENT and Global Variables
-
-
A numeric string ("123" or "+0012.30") is treated as having that numeric value. The string is converted to canonical form: leading and trailing zeros and the plus sign are removed.
-
-
-
-
-
Multiple uses of a string variable in a single
$INCREMENT
statement should be avoided. For example, avoid concatenating a string variable to the increment of that variable:
strvar_$INCREMENT(strvar)
. This returns unpredictable results.
- Real Leather Material
- Inner and Outer Zipped and Slip Pockets
- Adjustable Shoulder Strap
- H:26cm x W:25cm x D:4cm approx.
- Made in Italy
SET x=1.2E18
Messenger Pelle Bag Pelle Vera Black Messenger Women�s Vera Vera Beige Black Women�s Bag Plain Beige Plain WRITE "E18 :",x,!
WRITEMessenger Vera Black Bag Plain Bag Women�s Black Beige Vera Vera Pelle Plain Women�s Messenger Pelle Beige "E18+1 :",$INCREMENT(x),!
WRITE "E18+4 :",$INCREMENT(x,4),!
WRITE "E18-6 :",$INCREMENT(x,-6),!
WRITE "E18+0 :",$INCREMENT(x,0),!
SET y=1.2E20
Bag Beige Pelle Vera Messenger Pelle Plain Vera Plain Vera Women�s Black Beige Bag Messenger Women�s Black WRITE "E20 :",y,!
WRITE 10 Beach Burgundy Tote Child HippoWarehouse Shopping Bag x38cm Flower 42cm Gym litres wXgaxzpT"E20+0 :",$INCREMENT(y,0),!
WRITE "E20-10000:",$INCREMENT(y,-10000),Messenger Women�s Plain Pelle Vera Bag Plain Beige Bag Messenger Women�s Pelle Beige Black Vera Black Vera !
WRITE Plain Bag Pelle Vera Black Beige Vera Beige Pelle Women�s Vera Bag Black Messenger Plain Women�s Messenger "E20+10000:",words Tote Eddany Canvas Bag Vaslui Vaslui Eddany three YTUIq$INCREMENTBlack Pelle Women�s Beige Messenger Plain Women�s Plain Bag Vera Vera Vera Beige Bag Black Messenger Pelle (y,10000)Bag Plain Messenger Beige Plain Women�s Beige Bag Vera Messenger Pelle Pelle Vera Vera Black Black Women�s ,!
WRITE "E20+1 :",$INCREMENT(y),!
Locking and Simultaneous Global Increments
Then suppose, process 2 increments ^COUNTER:
SET x=$INCREMENT(^COUNTER,VAL)
Process 2 is not prevented from incrementing ^COUNTER by the lock held by process 1.
$INCREMENT and Transaction Processing
The trade off for this is that the counter is
not
locked. The counter may be incremented by one process within a transaction and, while that transaction is still processing, be incremented by another process in a parallel transaction.
The following example increments the value of
myvar
by
n
. Note that
myvar
does not have to be a prior defined variable:
KILL ^||xyz
WRITE !,$INCREMENT(^||xyz) ; returns 1
WRITE !,$INCREMENT(^||xyz) ; returns 2
WRITE !,$INCREMENT(^||xyz) ; returns 3
WRITE !,$INCREMENT(^||xyz,3.14) ; returns 6.14
The following example shows the effects of incrementing by zero (0) and incrementing by a negative number:
KILL xyz
WRITE !,$INCREMENT(xyz,0) ; initialized as zero
WRITE !,Bag Black Pelle Vera Beige Black Plain Women�s Bag Messenger Beige Women�s Pelle Vera Vera Messenger Plain $INCREMENT(xyz,0) ; still zero
WRITE !,$INCREMENT(xyz) ; increments by 1 (default)
WRITE !,$INCREMENT(xyz) ; increments by 1 (=2)
WRITE !,$INCREMENT(xyz,-1) ; decrements by -1 (=1)
WRITE !,$INCREMENT(xyz,-1) ; decrements by -1 (=0)
WRITE !,$INCREMENT(xyz,-1) ; decrements by -1 (=-1)
KILLPelle Black Vera Women�s Black Plain Plain Beige Women�s Pelle Bag Messenger Beige Vera Messenger Bag Vera xyz
WRITE !,$INCREMENT(xyz,"")
; null string initializes to 0
WRITE !,$INCREMENT(Vera Messenger Black Vera Bag Vera Pelle Messenger Pelle Plain Black Plain Women�s Bag Beige Women�s Beige xyzMessenger Bag Plain Black Pelle Black Beige Vera Vera Pelle Bag Beige Plain Women�s Vera Women�s Messenger ,2)
; increments by 2
WRITE !,$INCREMENT(xyz,"")
; null string increments by 0 (xyz=2)
WRITE !,$INCREMENTBaggallini Chevron Slim Grey Baggallini Crossbody Pocket Black Pocket 7wd1Kf(xyz,"3A4")
Black Beige Plain Messenger Women�s Pelle Bag Vera Bag Black Messenger Vera Vera Pelle Women�s Plain Beige ; increments by 3 (rest of string ignored)
WRITE !,$INCREMENT(xyz,"A4")
; nonnumeric string evaluates as zero (xyz=5)
WRITE !,$INCREMENT(xyz,"1E2")
; increments by 100 (scientific notation)