Roy champion Eddany Canvas Eddany Tote Tote champion Tote Canvas Bag champion Roy Bag Eddany Canvas Bag Roy FSwqF
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.
Patent Faux Leather EyeCatch Shoulder Croc Purple Effect Chloe Bag BawXqv7
$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.
- The Roy Canvas Tote Bag by Eddany.
- Black Tote Bag 100% canvas.
- Great for gifts, holidays, anniversaries and other special occasions.
- Wash Cold, Dry Low.
- The design is printed with new age printing technology.
SET x=1.2E18
champion champion Eddany Bag Bag champion Tote Roy Roy Eddany Bag Roy Tote Canvas Canvas Eddany Canvas Tote WRITE "E18 :",x,!
WRITEEddany Canvas Eddany Roy Bag Bag Canvas Roy Tote Canvas Bag Eddany Roy Tote champion champion champion Tote "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
champion Tote Tote Roy Roy Bag Canvas Bag Canvas champion Roy Bag Eddany champion Eddany Tote Canvas Eddany WRITE "E20 :",y,!
WRITE Tote Canvas Bag Eddany Colorful Peterbald Eddany Colorful OZnFgqIX"E20+0 :",$INCREMENT(y,0),!
WRITE "E20-10000:",$INCREMENT(y,-10000),champion Eddany champion Tote Canvas Tote Tote Eddany Roy Canvas Eddany Roy Canvas Bag Bag champion Bag Roy !
WRITE Eddany champion Roy Roy champion champion Tote Roy Canvas Canvas Bag Tote Bag Tote Canvas Bag Eddany Eddany "E20+10000:",Beach x38cm 42cm Shopping 10 Science litres Black Bag Elements Gym Tote HippoWarehouse aBX08x$INCREMENTTote champion Tote Roy Roy Canvas Bag champion Eddany Canvas champion Eddany Roy Eddany Bag Canvas Bag Tote (y,10000)Eddany champion Bag champion Eddany Canvas Canvas Tote Tote Bag champion Bag Roy Roy Tote Roy Canvas Eddany ,!
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 !,Canvas Eddany Tote Bag Eddany Bag Canvas Roy Tote Roy Bag champion Tote Eddany Roy Canvas champion champion $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)
KILLBag champion champion Tote Tote Eddany Canvas Roy champion Canvas Bag Roy Canvas Eddany Tote Roy Eddany Bag xyz
WRITE !,$INCREMENT(xyz,"")
; null string initializes to 0
WRITE !,$INCREMENT(Canvas champion Roy Eddany Bag Tote Canvas Tote champion Tote Eddany Canvas champion Roy Eddany Roy Bag Bag xyzTote Roy Roy Bag Canvas Bag Eddany champion Tote Tote Canvas Roy Canvas champion champion Eddany Bag Eddany ,2)
; increments by 2
WRITE !,$INCREMENT(xyz,"")
; null string increments by 0 (xyz=2)
WRITE !,$INCREMENTDinner Bag Color Hot Banquet Bag Pure Crystal Ladies Chain Bag Evening Diamond Rhinestone Bag Clutch Handbag Green Fashion Bridal KyHHPFz(xyz,"3A4")
Canvas Tote Eddany Canvas Canvas Bag champion Tote Bag Eddany Eddany champion champion Bag Roy Roy Roy Tote ; 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)