Library /sys$common/syshlp/CDDLHELP.HLB  —  Fixed point
  Fixed point data  types  represent  scaled  quantities  in  a  binary
  format.  They can be SIGNED or UNSIGNED.

   o  You can declare the total number of  DIGITS  and  the  number  of
      those  digits  that  are FRACTIONS.  The number of digits must be
      greater than 0 and less than 32.  The number  of  fractions  must
      not  be greater than the number of digits.  The default number of
      fractions is 0.

   o  You can specify a SCALE  as  an  implied  exponent.   The  signed
      integer   must   be   in  the  range  -128  to  127.   The  SCALE
      specification indicates the number of places to shift the decimal
      point  when  the  field  is  evaluated.  A negative specification
      indicates a shift of the specified number of places to the  left,
      and  a  positive specification indicates a shift of the specified
      number of places to the right.

      When using SCALE, note the following rules:

       -  The SCALE specification and the FRACTIONS specification  have
          a  similar function.  They both indicate how many digits in a
          field are to the right of  the  decimal  point.   There  are,
          however, two important differences:

           o  The number of FRACTIONS you can specify is limited to the
              number  of  DIGITS  you  declare for the data type.  With
              SCALE, there is no such limitation.

           o  With SCALE, you can shift the decimal point to the  right
              and  to  the  left, but with FRACTIONS, you can shift the
              decimal point only to the left.

       -  Use a positive integer in the SCALE specification to move the
          decimal point to the right.

       -  Use a negative integer in the SCALE specification to move the
          decimal point to the left.

   o  You can also  specify  the  radix,  or  BASE,  with  an  unsigned
      integer.   The  BASE  indicates the number system to be used when
      the field is evaluated.  The default BASE is 10.

1  –  BYTE

  Specifies that the field is an 8-bit byte.  The BYTE can be SIGNED or
  UNSIGNED.   If  there  is  no  sign  specification,  UNSIGNED  is the
  default.

2  –  WORD

  Specifies that the field is a 16-bit word.  The field can  be  SIGNED
  or UNSIGNED.  If no sign is specified, UNSIGNED is the default.

3  –  LONGWORD

  Specifies that the field is a 32-bit longword.  The LONGWORD  can  be
  SIGNED  or  UNSIGNED.   If  no  sign  is  specified,  UNSIGNED is the
  default.

4  –  QUADWORD

  Specifies that the field is a 64-bit quadword field.  The  field  can
  be  SIGNED  or  UNSIGNED.   If  no sign is specified, UNSIGNED is the
  default.

5  –  OCTAWORD

  Specifies that the field is a 128-bit octaword field.  The field  can
  be  SIGNED  or  UNSIGNED.   If  no sign is specified, UNSIGNED is the
  default.

  1 Decimal_string

   o  You must declare the total number of DIGITS in  the  field.   You
      can also declare which of those digits are FRACTIONS.  The number
      of digits must be greater than 0 and less than 32.  The number of
      fractions  must  not  be  greater than the number of digits.  The
      default number of fractions is 0.

   o  You can specify a SCALE  as  an  implied  exponent.   The  signed
      integer   must   be   in  the  range  -128  to  127.   The  SCALE
      specification indicates the number of places to shift the decimal
      point  when  the  field  is  evaluated.  A negative specification
      indicates a shift of the specified number of places to the  left,
      and  positive indicates a shift of the specified number of places
      to the right.

      When using SCALE, note the following rules:

       -  The SCALE specification and the FRACTIONS specification  have
          a  similar function.  They both indicate how many digits in a
          field are to the right of  the  decimal  point.   There  are,
          however, two important differences:

           o  The number of FRACTIONS you can specify is limited to the
              number  of  DIGITS  you  declare for the data type.  With
              SCALE, there is no such limitation.

           o  With SCALE, you can shift the decimal point to the  right
              and  to  the  left, but with FRACTIONS, you can shift the
              decimal point only to the left.

       -  Use a positive integer in the SCALE specification to move the
          decimal point to the right.

       -  Use a negative integer in the SCALE specification to move the
          decimal point to the left.

   o  You can also  specify  the  radix,  or  BASE,  with  an  unsigned
      integer.   The  BASE  indicates the number system to be used when
      the field is evaluated.  The default BASE is 10.

6  –  PACKED DECIMAL

  Specifies that the field is a packed  decimal  numeric  field.   CDDL
  accepts PACKED NUMERIC as a synonym for PACKED DECIMAL.

7  –  UNSIGNED NUMERIC

  Specifies that the field is an unsigned decimal string.  You must use
  the UNSIGNED keyword.

8  –  ZONED NUMERIC

  Specifies that the field is a VAX  ZONED  NUMERIC  data  type.   CDDL
  accepts SIGNED NUMERIC as a synonym for ZONED NUMERIC.

9  –  LEFT SEPARATE NUMERIC

  Specifies that the field is a left separate  signed  numeric  decimal
  string.  CDDL accepts [SIGNED] NUMERIC LEFT SEPARATE as a synonym for
  LEFT SEPARATE NUMERIC.

10  –  LEFT OVERPUNCHED NUMERIC

  Specifies that the field is a left overpunched signed numeric decimal
  string.   CDDL accepts [SIGNED] NUMERIC LEFT OVERPUNCHED as a synonym
  for LEFT OVERPUNCHED NUMERIC.

11  –  RIGHT SEPARATE NUMERIC

  Specifies that the field is a right separate signed  numeric  decimal
  string.   CDDL  accepts  [SIGNED] NUMERIC RIGHT SEPARATE as a synonym
  for RIGHT SEPARATE NUMERIC.

12  –  RIGHT OVERPUNCHED NUMERIC

  Specifies that the  field  is  a  right  overpunched  signed  numeric
  decimal string.  CDDL accepts [SIGNED] NUMERIC RIGHT OVERPUNCHED as a
  synonym for RIGHT OVERPUNCHED NUMERIC.
Close Help