Library /sys$common/syshlp/CDDLHELP.HLB  —  CONDITION_NAME
  The CONDITION NAME field  attribute  clause  enables  the  VAX  COBOL
  compiler  to  associate  one  or  more  condition names with specific
  values for a field.

1  –  Parameters

  cond_name

      The condition.

  COB_condition_name

      A COBOL name for the condition.

  low_val, high_val

      Field values or  ranges  of  field  values  associated  with  the
      condition name.

  COB_ext_name

      A quoted string containing a COBOL external name.   See  the  VAX
      COBOL  Language Reference Manual for information on the legal use
      of external names.

2  –  Syntax Rules

   o  The condition name must be a string of up to 31  characters  from
      the  set  A-Z,  0-9,_,  and $.  The first character in the string
      must be a letter from A-Z, and the last character can not be _ or
      $.

   o  COB_condition_name, quoted strings, or  external  names  must  be
      legal VAX COBOL names.  However, the CDDL compiler does not check
      for correct syntax.  You must provide a correct value expression.

   o  The values low_val and  high_val  can  be  fixed  point  numbers,
      floating   point  numbers,  quoted  strings,  octal  numbers,  or
      hexadecimal numbers.

   o  The compiler ignores commas, but you can use them to  make  value
      specifications easier to read.

3  –  Usage Notes

   o  Only VAX COBOL supports this feature.  Other language  processors
      ignore the CONDITION NAME clause.

   o  Each CONDITION NAME clause  defines  one  condition  name.   Each
      condition name can represent a discrete value, a range of values,
      or any combination of these.

   o  You can use the CONDITION NAME clause as many times as  you  wish
      within a field description.

   o  The values low_val and high_val must be legal values  as  defined
      by the data type declared for the field.

   o  The length of a literal you specify in a  CONDITION  NAME  clause
      can not exceed the length declared for the field.

   o  You can specify a fixed point number as the value  of  any  field
      whose   valid   VAX  COBOL  data  type  is  not  DATE,  TEXT,  or
      UNSPECIFIED.

   o  You can specify a floating point number as the value of  a  field
      whose   valid   VAX  COBOL  data  type  is  not  DATE,  TEXT,  or
      UNSPECIFIED.

   o  You can specify a quoted string as the  value  only  of  a  field
      whose valid VAX COBOL data type is DATE, TEXT, or UNSPECIFIED.

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

   o  You can specify an octal number as the value  of  any  valid  VAX
      COBOL  data  type.   In  order  to specify an octal number, place
      single quotation marks (') around the number and precede it  with
      %O; for example,

      VALUE IS %O'16'

   o  You can specify a hexadecimal number as the value  of  any  valid
      VAX  COBOL  data type.  In order to specify a hexadecimal number,
      place single quotation marks (') around it and  precede  it  with
      %X; for example,

      VALUE IS %X'3E'

   o  Value n2 must be greater than or equal to value n1 in the field's
      collating sequence.

   o  Value n4 must be greater than or equal to value n3 in the field's
      collating sequence.

4  –  Example

  The following example defines three valid conditions according to the
  value of the field RECORD_IDENTIFIER.

  RECORD_IDENTIFIER       DATATYPE IS TEXT
                          SIZE IS 1 CHARACTER
                          CONDITION FOR COBOL IS ON_HAND
                              COBOL NAME "ON-HAND"
                              VALUE IS "S"
                          CONDITION FOR COBOL BACKORDER
                              COBOL NAME "BACKORDER"
                              VALUE IS "B"
                          CONDITION FOR COBOL OUT_OF_STOCK
                              COBOL NAME "OUT-OF-STOCK"
                              VALUE IS "O"
                          CONDITION FOR COBOL IS INVALID
                              VALUES ARE "A", "C" THRU "N",
                              "P" THRU "R", "T" THRU "Z".
Close Help