Issue 30689 — Misleading information returned by the Syntax Check (Pre-Compiler)
Status: Solved in 10.2.01
Solution available in patch(es): G101
Misleading information returned by the Pre-Compiler Syntax Check Environment: - Uniface: Uniface 9.6.04 - Operating System: OS independent - Database: DBMS independent To reproduce: - When the following code is entered in an included proc: ENTRY LP_QUIT_WORD if($hv_APPLICATION$ = "")return(-90) ; the compilation information is around the next line: $hv_APPLICATION$->QUIT(0,-,-) if($procerror < 0) putmess "Word_Fault (APP->QUIT) %%$procerror%%%" ;<msg> return($procerror) endif if($hv_APPLICATION$ != "") deleteinstance $hv_APPLICATION$ if($procerror<0) putmess "UnifaceFault (DeleteInstance) %%$procerror%%%" ;<msg> return($procerror) endif $hv_APPLICATION$ = "" endif return(0) The following error message pops up: 8249 - Compiler found errors 1 one procs. But the message frame shows the following information: Compiling IP (LP_QUIT_WORD) 4 $hv_APPLICATION$->QUIT(0,-,-) (LP_QUIT_WORD) warning: 1000 - Argument marked as optional. (LP_QUIT_WORD) warning: 1000 - Argument marked as optional. Syntax check [info 0, warnings 2, errors 0] 1023 - Compilation done. - When the statement: $hv_APPLICATION$->QUIT(0,-,-) is changed to: $hv_APPLICATION$->QUIT(0) the pop up error message is gone. Note: this problem did not occur with Uniface 9.5
There is no known workaround for this problem.
Syntax errors and warnings are from now on reported correctly. If you do not want the Syntax check to report errors when leaving the Include or Global Proc Editor you can switch off the following Proc Editor preference: 'Syntax Check Include Proc and Triggers after Save'.