Issue 30824  —   Uniface: Compiler crashes when you try to extract time info from a date field

Status:   Solved in 10.2.01

Solution available in patch(es):      G101

Description:

 Summary:
 Compiler crashes when trying to extract date/time info from a date/time field

 Environment:
 +Uniface: Version 9.6.xx
 +Operating System: All versions
 +Database: DBMS independent

 Symptoms:
 When proc code (erroneously) attempts to extract time information from a date
 field, or date information from a time field, it crashes the proc compiler.

 - The following two pieces of code crash the compiler:

   Ex. 1

     variables
       date    dat
       numeric sec
     endvariables

     sec = dat[#H]

   Ex. 2

     variables
       time    tim
       numeric mon
     endvariables

     mon = tim[#M]

 - When using an unrelated datatype like 'float'
   instead of date or time, the compiler produces
   the correct (generic) error message:

     variables
       float   tim  ; float instead of date/time.
       numeric mon
     endvariables

     mon = tim[#M]

   The compiler output is

     Phase  7:   Procs compilation
     (EXEC)      1               mon = tim[#M]
     (EXEC)    error:   1000 - Syntax error (Argument not valid)

 A compiler error should also be given in the first two cases.

Workaround:

 There is no known workaround for this problem.

Notes: