bufdbproc

no buffer defined for table in internal procedure

rule "bufdbproc" requires that DEFINE BUFFER statements exist for every database buffer that appears in the code for an internal procedure.

Example:

PROCEDURE SomethingStupid :
    IF customer.cust-name = "jurjen" THEN 
       customer.cust-name = "john".
END PROCEDURE.

should have its own local buffer, like for example

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

That way, you prevent side-effects from changing a buffer that may also be used by other ip's or functions. You also prevent locking issues, which are likely to happen when the procedure runs persistent.