DTM$DW_HELPLIB.HLB  —  overview  user_filt, uf_examples, uf_example3
  The following example filters dates in the form DD-MMM-
  YYYY, for example 11-OCT-1999. Because it only filters
  this one form of date, it is quicker than the built-in
  date filter which filters many different date formats.
  It is also not the exact equivalent of the built-in
  date filter in other respects, for example it treats
  37-NOV-0999 as a date, but should be sufficient for
  most purposes.

     day := any(" 123") + digit;
     month := "JAN" | "FEB" | "MAR" | "APR" |
              "MAY" | "JUN" | "JUL" | "AUG" |
              "SEP" | "OCT" | "NOV" | "DEC";
     year := any(digits,4);
     date := day + "-" + month + "-" + year;
     global_replace( date, "dd-mmm-yyyy");

  This filter defines the pattern variables "day",
  "month" and "year" which are then used to define the
  pattern variable "date" used in the call to global_
  replace.

  The "day" pattern uses the DECTPU function "any" to
  match either a space or one of the characters "1", "2"
  or "3", followed by a digit.

  The "month" pattern uses the DECTPU pattern alternation
  operator "|" to specify a list of alternative string
  literals.

  The "year" pattern uses the DECTPU function "any"
  with the supplied pattern "digits". The "4" parameter
  indicates that exactly 4 digits are to be matched.

  The "date" pattern concatenates these patterns and
  linking punctuation.
Close Help