Rule "tablename" gives this warning when it finds a filedname that is not qualified with a tablename.
FOR EACH customer : DISPLAY cust-num. /* should be customer.cust-num */ END. /* typo in variable: should be "name" instead "nane" */ DEFINE VARIABLE nane AS CHARACTER NO-UNDO. ASSIGN name = "Bill". /* expect to assign variable, but assigns customer.name instead! */ |
the risc:
Humans cannot see if "cust-num" is a variable or a database fieldname. Hard to find run-time bugs can result from small typos as illustrated in the example.
Comments
false positives
False positives occur when "Forward function declaration <> function declaration"
As stated in http://www.oehive.org/node/1403
To correct this add the parameters to the function declaration making it the same as the forward declaration.