Skip to content

calc/createblockoneq-paired

Severity warning by default. It runs on calc-script bodies (.csc) in Rules only. A Script or a Template is a fragment that Deploy inlines into the Rule that invokes it, so the setting belongs to the Rule as a whole rather than to any one fragment, and this rule never fires on either one.

Every SET CREATEBLOCKONEQ ON; in the body must be followed later by a SET CREATEBLOCKONEQ OFF;. The two are paired in the order they appear: each OFF closes the nearest earlier unclosed ON, so two ON commands need two OFF commands, and an OFF above an ON does not close it. The warning is placed on the ON that was left open. A lone OFF is never flagged, because turning the setting off defensively costs nothing, and commented-out commands are ignored on both sides.

CREATEBLOCKONEQ tells Essbase to create a data block whenever an equation assigns to a sparse member combination that has no block yet. You turn it on for a specific reason: a seeding step, or an allocation that has to write into combinations that do not exist. It is a setting for a few statements, not for a whole script. Essbase applies it from that point on until something turns it off, so an ON left dangling changes every remaining assignment in the Rule: statements meant to touch only existing blocks start creating new ones, the calculation slows down, and the database grows with blocks nobody asked for. Pair the ON with an OFF right after the statements that need it.

This Rule body triggers the warning, because the ON is never closed:

SET CREATEBLOCKONEQ ON;
FIX("Budget", "Working", "FY26")
"Net Income" = "Revenue" - "Total Expenses";
ENDFIX
AGG("Entity");

The message reads:

`SET CREATEBLOCKONEQ ON;` is never turned back off. Add `SET CREATEBLOCKONEQ OFF;` after the statements that need it, so the rest of the script does not create blocks on every equation.

Close it as soon as the block that needs it is done:

SET CREATEBLOCKONEQ ON;
FIX("Budget", "Working", "FY26")
"Net Income" = "Revenue" - "Total Expenses";
ENDFIX
SET CREATEBLOCKONEQ OFF;
AGG("Entity");

Change its severity or turn it off in the Validation Rules panel, or exempt one artifact with an Exception. A seeding Rule whose only purpose is block creation is the usual reason to reach for an Exception rather than a severity change.