Skip to content

calc/fix-trailing-comma

Severity error by default. It runs on calc-script bodies (.csc) in Rules, Templates, and Scripts, and needs nothing but the file you have open.

The member list of every FIX(, FIXPARALLEL(, and EXCLUDE( header is scanned for a comma sitting immediately before the header’s own closing parenthesis, across line breaks and through any comment in between. Commas and parentheses inside quoted member names are inert, so a member such as "T(FIN)" does not confuse the scan. A trailing empty argument inside a nested @function is left alone, because skipped optional arguments are legal Essbase syntax in functions like @CURRMBRRANGE.

The comma survives editing in Calculation Manager, and Deploy then fails with a generic parse error that names no line and no character. Nothing in the message points at the comma, so finding it means bisecting the member list by hand. Catching it in the editor removes the round trip entirely.

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

The comma itself is underlined, and the message reads:

Trailing comma inside `FIX( … )` — Calc Manager rejects it with a generic error. Remove the comma before `)`.

The message names whichever keyword opened the list, so the same finding on a parallel block reads FIXPARALLEL( … ), and on an exclusion EXCLUDE( … ).

Corrected:

FIX( "Plan", "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. There is rarely a good reason to do either: Oracle rejects the script in every case this rule reports.