Skip to content

calc/member-exists

Severity error by default. It runs on calc-script bodies (.csc) in Rules, Templates, and Scripts, and needs the application data that a Pull or a Snapshot Import writes, so it stays quiet until the Pod has been populated.

Every token the script uses in a member position is resolved against the application’s members and aliases. A token that matches neither is reported as an error. A token that matches a real member name always wins over an alias, and matching ignores case, the way Essbase member lookup does. An alias that matches members in more than one dimension is reported separately, because the script does not say which one it means.

The same pass also checks bare keywords. Where a calc function accepts only a fixed set of words, a token outside that set is reported as an error naming the function and listing what it will accept.

A misspelled member does not fail when you save the file. It fails later, at Deploy or during Execute, and what Oracle sends back points at the statement rather than at the word. Catching it in the editor keeps the round trip short. Ambiguous aliases are worse: the script runs, but on whichever member Essbase resolves, which may not be the one you meant.

FIX( "Working", "FY Total" )
"Net Incme" = "Revenue" - "Total Expenses";
ENDFIX

The squiggle sits on the token, and the message reads:

"Net Incme" is not a known member or alias in this Pod's App Core.

App Core is the application’s catalog of dimensions, members, and aliases, brought down by Pull or a Snapshot import.

An alias used by two dimensions reports as:

Alias "Total" is ambiguous (matches Total Product, Total Entity). Use the member name.

Corrected, with the member name spelled out and the ambiguous alias replaced:

FIX( "Working", "FY Total" )
"Net Income" = "Revenue" - "Total Expenses";
ENDFIX

Change its severity or turn it off in the Validation Rules panel, or exempt one artifact with an Exception. One nuance: the ambiguous alias case is reported as a warning even while the rule’s severity is error, so that unknown members and ambiguous aliases stay distinguishable at a glance. If you set an explicit severity for this rule, your choice applies to every finding it produces.