Another interesting item. I have some early code that I believe was generated by the report wizard, maybe vdf9. It looks like this:
String sStart sStop
Number nStart nStop
Date dStart dStop
Get pSelStart1 to nStart
Get pSelStop1 to nStop
If (nStart<>0 and nStop<>0) ;
Constrain Grgrow.BUYER_NUM Between nStart And nStop
Else if (nStart > 0);
Constrain Grgrow.BUYER_NUM GE nStart
Else if (nStop > 0);
Constrain Grgrow.BUYER_NUM LE nStop
I have long since stopped using this method, but in one old project I have several reports structured this way (if ain't broke, don't fix it).

Because this is not defined as a procedure, the parser reports the variables defined as "global variable declaration without Global_Variable keyword".