Incorrect values for style attributes generate misleading error messages


If you specify an invalid value for a STYLE attribute, the following error is generated:

ERROR 79-322: Expecting a (.
ERROR 76-322: Syntax error, statement will be ignored.

This issue occurs when you specify style attributes to customize output created by non-Listing destinations, such as ODS HTML, PDF, or RTF. The error is misleading because no parentheses are missing. In the SAS log, the element is underlined, indicating that an error is to the right of the actual incorrect style specification.

In the example below, the value BOLD for FONT_STYLE is invalid. The error should read:

ERROR: Expecting ITALIC/ROMAN/SLANT

BOLD is a valid value for FONT_WEIGHT. C, R, and L are valid values for the JUST= style element (Center, Right, Left).

data test;
   input x $ y $;
   datalines;
a b
a b
w b
;
run;

/* Also occurs with: ods pdf file='file.pdf'; */
ods html body='body.html';
PROC TABULATE;
   class y x;
   table y, x * {s={background=burlywood foreground=darkblue
                font_style=bold just=l}};
  /*  table y, x * {s={background=burlywood foreground=darkblue
                    font_weight=bold just=l}};   */
run;

PROC REPORT nowd
     style(column)=[background=burlywood foreground=darkblue
                  font_style=bold font_size=5 just=l];
 /* PROC REPORT nowd
   style(column)=[background=burlywood foreground=darkblue
                  font_weight=bold font_size=5 just=l];  */
   column x y;
   define x / display;
   define y / display ;
run;

ods html close;

For more information, see the table of valid style attributes and their values in SAS® 9.4: Style Attributes Detailed Information.