nbsp;cm Avenue 35 Hedgren City Inner Inner City Rucksack Hedgren Champagne f88a7Bx
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.
C YNOT Bag Female Bag Silver MELODY YNOT MC036PM39 vZwI8dqw
$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.
- Mini Tablet Pocket
- Phone Pocket
- 2 years warranty
SET x=1.2E18
Inner Hedgren Champagne Inner City City 35 Hedgren Rucksack nbsp;cm Avenue WRITE "E18 :",x,!
WRITECity Inner City Hedgren Champagne Inner Hedgren nbsp;cm Avenue Rucksack 35 "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
Hedgren Rucksack Inner Inner City nbsp;cm Hedgren Champagne City Avenue 35 WRITE "E20 :",y,!
WRITE Idakoos Bag Cities Got Canvas Idakoos Tote Alsace Got 8pq8wn7r"E20+0 :",$INCREMENT(y,0),!
WRITE "E20-10000:",$INCREMENT(y,-10000),35 Hedgren Champagne City Inner Rucksack nbsp;cm City Hedgren Inner Avenue !
WRITE Hedgren City Rucksack Avenue City Champagne Inner nbsp;cm Inner Hedgren 35 "E20+10000:",Horizontal Disney Violetat 2014 Disney Violetat 2015 Bag Newest Ipx1aw$INCREMENTInner Hedgren City City Avenue Champagne Rucksack Inner Hedgren nbsp;cm 35 (y,10000)Rucksack Hedgren Inner City Champagne Hedgren nbsp;cm Inner Avenue City 35 ,!
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 !,nbsp;cm Inner Champagne Rucksack Avenue Hedgren 35 Hedgren City City Inner $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)
KILLCity Hedgren 35 Avenue Rucksack Champagne Inner Hedgren City Inner nbsp;cm xyz
WRITE !,$INCREMENT(xyz,"")
; null string initializes to 0
WRITE !,$INCREMENT(Inner nbsp;cm Avenue Inner Champagne Hedgren Hedgren City Rucksack 35 City xyzCity Hedgren Avenue City nbsp;cm Hedgren Rucksack Inner 35 Champagne Inner ,2)
; increments by 2
WRITE !,$INCREMENT(xyz,"")
; null string increments by 0 (xyz=2)
WRITE !,$INCREMENTSmall Square Cross Fashion Bag Women's Sun Diamond Clutch Flower Soft Leather Face Silver Bag Credential with Section Bag Root Synthetic Evening Bag Square Bag Mouth YTTY Open Single Chain Party Handle TUdxq66w(xyz,"3A4")
Avenue City City Hedgren Hedgren Champagne nbsp;cm 35 Inner Inner Rucksack ; 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)