bufdbmeth

no buffer defined for table in method

rule "bufdbmeth" requires that DEFINE BUFFER statements exist for every database buffer that appears in the code for a method (in a class).

Example:

METHOD PUBLIC VOID SomethingStupid :
    IF customer.cust-name = "jurjen" THEN 
       customer.cust-name = "john".
END METHOD.

should have its own local buffer, like for example

METHOD PUBLIC VOID SomethingStupid :
    DEFINE BUFFER customer FOR customer.
    IF customer.cust-name = "jurjen" THEN 
       customer.cust-name = "john".
END METHOD.

That way, you prevent side-effects from changing a buffer that may also be used by other methods. You also prevent locking issues, which are likely to happen because class files stay in memory for some time (much like persistent procedures).

Note:
The rule does not only look at methods, but also at constructors, destructor, property_getters and property_setters.