Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Usage Notes

Example

CDD/Plus Dictionary Data Definition Language Utility INITIAL_VALUE — VMS CDD+_4.1A

 The INITIAL_VALUE field attribute clause  declares  a  field's  value
 when CDDL first allocates the field.

Additional information available:

Usage NotesExample

Usage Notes

  o  The value of the literal must fit into the  space  allocated  for
     the field.

  o  You can specify a complex number as the INITIAL_VALUE only  of  a
     field  whose data type is F_FLOATING COMPLEX, D_FLOATING COMPLEX,
     G_FLOATING COMPLEX, or H_FLOATING COMPLEX.

  o  You can specify a fixed point number as the INITIAL_VALUE of  any
     field  whose  data  type  is not DATE, TEXT, UNSPECIFIED, VARYING
     STRING, or VIRTUAL FIELD.

  o  You can specify a floating point number as the INITIAL_VALUE of a
     field  whose  data  type  is not DATE, TEXT, UNSPECIFIED, VARYING
     STRING, or VIRTUAL FIELD.

  o  You can specify a quoted string as the INITIAL_VALUE  only  of  a
     field  whose  data  type  is  DATE, TEXT, UNSPECIFIED, or VARYING
     STRING.

  o  The quoted-string in the EXTERNAL subclause contains a legal  VAX
     COBOL external name.

  o  You can use 8-bit characters in CDDL quoted strings.

  o  You can specify a hexadecimal number as the  INITIAL_VALUE  of  a
     field  with  any  data  type  except  VIRTUAL FIELD.  In order to
     specify a hexadecimal number, place single  quotation  marks  (')
     around the number and precede it with %X; for example,

     INITIAL_VALUE IS %X'3E'

  o  You can specify an octal number as the INITIAL_VALUE of  a  field
     with  any data type except VIRTUAL FIELD.  In order to specify an
     octal number, place single quotation marks (') around the  number
     and precede it with %O; for example,

     INITIAL_VALUE IS %O'16'


  o  A VIRTUAL FIELD cannot have an INITIAL_VALUE clause.

  o  Language processors that do not support the INITIAL_VALUE  clause
     ignore it.

  o  If the base is not ten and scale is not  zero,  you  can  specify
     initial values only in hexadecimal or octal.  Furthermore, before
     you translate the initial value  to  hexadecimal  or  octal,  you
     should multiply it by the base raised to the value of the scale.

     For example, to specify an initial value of 1 for  a  field  with
     base  2  and scale 5, first multiply the value by 2 raised to the
     fifth, yielding 32.  Then convert 32 to its hexadecimal or  octal
     equivalent, and store that value.


Example

 The  following  data  declaration   gives   the   field   AMOUNT   an
 INITIAL_VALUE of 0.

 TRANSACTION STRUCTURE     OCCURS 1 TO 99 TIMES
                           DEPENDING ON TRANSACTION_COUNT.
     TRANS_DATE            DATATYPE IS DATE.
     ORDER_NUMBER          DATATYPE IS UNSIGNED NUMERIC
                           SIZE IS 10 DIGITS.
     AMOUNT                DATATYPE IS UNSIGNED NUMERIC
                           SIZE IS 8 DIGITS 2 FRACTIONS
                           INITIAL_VALUE IS 0.
 END TRANSACTION STRUCTURE.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026