NEW Business Unit Rules:
Added the "Rule" command that allows you to enter all controls related to a record a single point in the program.
If used properly prevents insertions / logically incorrect updates / cancellations to your database.
But how does it work?

With each "check" you can specify the parameters. Its default is the record (Sender) caller.

The "Rule" instruction can be declared in any of the source point.
It is composed of a number of directives (Specified even several times).
Each directive requires to verify the rule, then BE verified.

"Expression" corresponds to an "if" statement, and if you do not verify the valid rule.*

"Found" accepts a query-sql and to be verified should must return rows (useful for delete / update business unit).

"NotFound" to verify the rule should NOT return rows (useful for pre-insert verification).

"Action" runs a block of code.

The enforcement of the rule is for each positional verification. Specifying "StopRule" you can stop the process.

"Rule" is used in tandem with "CheckRuleFor <your record>
Using <your Rule>".
<your Rule>.StringErrors contains all strings (if specified) errors, automatically enqueued.
<your Rule>.Errors is the collection of errors generated.

Auto-open/close db-connection.
If you don't specify an explicit "open connection" (MyDb.Open). RTM open/close connection automatically.
You can also specify a time-out connection that keeps on connection xxxx msecs since last SQL statement execution.