Pass an integer value to a zoned numeric value

WTSupported in traditional Synergy on Windows


USupported on UNIX
VSupported on OpenVMS
xcall CVTIZV(value, field)



Passed directly or using one of the following functions: (n)

^VAL = Pass the integer by value.

^REF = Pass the integer by reference.

^XTRNL = Pass the integer by external reference. (OpenVMS only)


The variable that will be loaded with the converted integer. (n)



The CVTIZV routine is not supported in Synergy/DE 9 and higher. Instead, use an integer assignment. For example,

  • xcall cvtizv(^ref(prcnmlen),retlen) would become
retlen = ^addr(prcnmlen)
  • xcall cvtizv(^val(numeric field), retlen) would become
retlen = numeric field
  • xcall cvtizv(^xtrnl(SOME LITERAL), retlen) would become
retlen = ^xtrnl(SOME LITERAL)

See Moving integer data to a decimal/packed destination for more information about assigning integer values.

The CVTIZV subroutine converts an integer value to a zoned numeric value. The integer must be passed by value, reference, or external reference.

A field can be converted either into itself or into another named field.


The following example converts the externally defined constant SS$_ENDOFFILE and places the result in the variable sseof. SS$_ENDOFFILE is a system service condition value.

xcall cvtizv(^xtrnl(SS$_ENDOFFILE), sseof)