Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Previous sectionNext section


Raises MultiValue dynamic array delimiters to next level.




Argument Description
dynarray Any valid MultiValue dynamic array.


The $MVRAISE function returns a MultiValue dynamic array with its delimiters converted to the next higher-level delimiters. For example, @SM subvalue mark delimiters become @VM value mark delimiters. When a delimiter cannot be raised any further, it is returned unchanged.

The available levels, in ascending order, are: CHAR(250); @TM (CHAR(251)); @SM (CHAR(252)); @VM (CHAR(253)); @FM (CHAR(254)); and @IM (CHAR(255)).

The ObjectScript $MVRAISE function corresponds to the Cache MultiValue Basic RAISE function. The $MVLOWER function performs the opposite operation, lowering the level of dynamic array delimiters to the next lower level.


The following example uses the $MVRAISE function to convert dynamic array delimiters to the next higher level. It then uses the $MVLOWER function to reverse this operation:

  SET numvm="123"_$CHAR(253)_"456"_$CHAR(253)_"789"
  ZZDUMP numvm       /* Returns 123v456v789 */
  SET numraise=$MVRAISE(numvm)
  ZZDUMP numraise    /* Returns 123f456f789 */
  SET numlower=$MVLOWER(numraise)
  ZZDUMP numlower    /* Returns 123v456v789 */
Copy code to clipboard

See Also