When posting an error message to the forum there are two things you can do that will help provide answers. First is to include the code that generated the error along with the actual error. Best is the entire procedure or data step. Second is to paste it into a code box opened with the forum {i} menu item.
Error messages often include an _ indicating the position of the reported error. When you paste the log into the main message window then the forum reformats the message losing some of the diagnostic informations.
Compare:
126 data exp;
127 a='i will try to removie spl char @ and another spl $'
128 a1=translate (a,'','@$' );
--
22
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, ;, <, <=,
<>, =, >, ><, >=, AND, EQ, GE, GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=,
|, ||, ~=.
129 run;
with
126 data exp;
127 a='i will try to removie spl char @ and another spl $'
128 a1=translate (a,'','@$' );
--
22
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, ;, <, <=,
<>, =, >, ><, >=, AND, EQ, GE, GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=,
|, ||, ~=.
129 run;
In the code box you can see that the undescores appear under the a1 which is not obvious from the previos. In this case I would look at ther previous line and note a missing semicolon.
... View more