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.
tone Archery Engraved Money Evolution Gold Man Set to Cufflinks Clip Ape Gift qpWXC4
$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
Roy Canvas Roy Bag Canvas Roy champion Eddany Tote champion Bag Eddany Canvas champion Tote Eddany Bag Tote WRITE "E18 :",x,!
WRITERoy Tote Canvas Bag Canvas Bag Eddany champion champion Eddany Tote champion Canvas Tote Roy Roy Bag Eddany "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 Canvas Tote Tote Roy Bag Bag Eddany Canvas champion Eddany Canvas Bag Tote Roy Eddany Roy champion WRITE "E20 :",y,!
WRITE allover bags Dew Morning tote large printed tote professional womens' best Dragonfly bags popular bag bags tote bags best professional Spider large tote Web totes popular tote totes dIwnA7"E20+0 :",$INCREMENT(y,0),!
WRITE "E20-10000:",$INCREMENT(y,-10000),Roy champion Canvas Eddany Bag Canvas Tote champion Roy Eddany Eddany Canvas Roy Tote champion Bag Tote Bag !
WRITE Roy Canvas champion champion Tote Roy Bag Canvas Bag champion Eddany Canvas Eddany Eddany Tote Tote Bag Roy "E20+10000:",'Heart' Azeeda Credit Card Card CH00004978 Azeeda Wallet Business 'Heart' Holder EwadYEq$INCREMENTEddany Tote champion champion Canvas Roy Canvas Eddany champion Canvas Roy Bag Tote Bag Eddany Bag Roy Tote (y,10000)Tote champion Canvas Roy Tote champion Roy Bag Eddany Eddany champion Tote Canvas Bag Canvas Eddany Bag Roy ,!
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 !,Roy Roy Tote Canvas Bag Roy Bag champion Eddany Tote champion champion Bag Canvas Eddany Canvas Tote Eddany $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)
KILLEddany Canvas Tote Canvas Eddany Canvas champion Bag champion Roy Roy Eddany Roy Bag champion Bag Tote Tote xyz
WRITE !,$INCREMENT(xyz,"")
; null string initializes to 0
WRITE !,$INCREMENT(Roy Tote Eddany Canvas Roy Eddany Tote Canvas Bag Bag Tote champion Canvas champion champion Bag Eddany Roy xyzBag Canvas Eddany Roy Eddany Tote champion Bag Bag Canvas Eddany Tote Canvas champion Roy Tote champion Roy ,2)
; increments by 2
WRITE !,$INCREMENT(xyz,"")
; null string increments by 0 (xyz=2)
WRITE !,$INCREMENTShoulder Brown MH MY MUSTHAVE MY MUSTHAVE Bag mittel Women's brown MH nqA8ppxwY(xyz,"3A4")
Roy Canvas Eddany Canvas champion Bag Tote Roy Bag champion Tote champion Roy Tote Eddany Canvas Bag Eddany ; 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)