U10201f114 wrong migration of standard U7 error trigger
Author: ulrichmerkel@web.de (ulrich-merkel)
in U7, the fields error trigger is defaulted to:
; Include an "else" block like the one shown below at the end of any ; Proc written in this trigger. ; . . . ; else ; message $text("%%$error") ; return (-1) ; endif
the u1002f114 migration returns an error:
(4\ERROR) warning: 1000 - Ignoring undeclare; trigger ERROR has not been declared yet.
because this comment-only trigger is converted to:
undeclare trigger error ; Include an "else" block like the one shown below at the end of any ; Proc written in this trigger. ; . . . ; else ; message $text("%%$error") ; return (-1) ; endif ; end
3 Comments
Local Administrator
Hi Uli, We are very much aware of this symptom and are looking into optimization of the migration of such commented out triggers. It's a long lecture to explain what's going on here, but some remarks:
Author: Henk van der Veer (henk.van.der.veer@uniface.com)
Local Administrator
Hi Henk, as the wold has changed, QA departments nowadays demand "zero warning compiles". It's just to draw your focus that default trigger texts once delivered by uniface are causing now warnings etc. in your current migration process. It's just to give you examples what may be hidden in the codebases of long years uniface customers. In the current situation, my suggestion would be
Author: ulrich-merkel (ulrichmerkel@web.de)
Local Administrator
Uli, Thanks for the feedback. Your suggestion is one of many we are considering and would help to get closer to “zero warning compiles”, but I'd prefer a solution that does not require the undeclare statement in an attempt to not pollute the code (this is purely my personal opinion - i.e. not necessarily on behalf of the Lab on all accounts) Uniface has been pretty successful in providing an upward compatible migration to newer versions since the early days of Uniface 3. In recent customer application migrations, we have even seen code that stems from the Uniface 5 era (early 90's). But sometimes migration has a price tag, e.g. because the compiler's checks are more strict in order to enable new features in an unambiguous way. We'll keep the community posted on how we deal with this topic. - Henk
Author: Henk van der Veer (henk.van.der.veer@uniface.com)