Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see How to Migrate to InterSystems IRIS, available on the WRC Distributions page (login required).


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 */

See Also