Re: Expression evaluates differently in XPA-3 compared to uniPaaS


The only workaround I found so far is to locate all my DirectSQL statements (not easy when you have 1700 programs to migrate)  and change the expression to:

Str ( '01/01/2016'DATE - '01/01/0001'DATE  + 1,'6.8' )
('6' picture would do, but I kept the '6.8' picture just in case, for full compatibility with uniPaaS)

Still it would be nice if there was a global setting to instruct XPA3 to handle dates the old way


On 17/1/2017 10:29 μμ, Avgerinos wrote:

Hi magicians

Documenting some difference in behavior I noticed while migrating from uniPaaS to XPA3 (tested on 3.1.b so far).

Expression  DVal (DStr ( '01/01/20616'D, 'DD/MM/YYYYY'), 'DD/MM/YYYYY' ) )  is sent as a parameter to an DirectSQL command (MSSQL).
I use the SQL Profiler to see how this finally evaluates:

  • in uniPaaS it evaluates as number 735964.00000000 (the integer behind a MagicDate) and works fine.
  • in XPA is evaluates as number 160101 and brings wrong results
It's messing up all programs that use direct SQL, since they all base on date filtering.
Any known workaround or global setting, so that I avoid correcting programs with Direct SQL one by one?

Thanks in advance

Join to automatically receive all group messages.