Dear All, I have a program like below , which is to modify the labels of the datasets. proc sql noprint; select distinct quote(trim(memname)) into :mis_tables SEPARATED by ',' from sashelp.vcolumn where libname='libref'; quit; %put &mis_tables; options nomlogic nosymbolgen nomprint; /* Updating the lables */ %macro s(kname1 ,kname2,labels ); %let labels2 = %sysfunc(tranwrd(%quote(&labels),%str(??),%str(,))); proc datasets lib=resasdmc nodetails nolist ; modify &kname1; label &kname2="&labels2" ; quit; %mend s; data ddd(keep=table_name tech_name label_name_1); set mis_ref_labels; //oracle table where table_name in (&mis_tables); label_name_1= tranwrd (label_name,',','??'); run; data _null_; set ddd; call execute('%nrstr(%s('||(strip(table_name))||' , '||(strip(tech_name))||','||%str(strip(label_name_1))||'))'); run; Table ddd: TABLE_NAME TECH_NAME label_name_1 MIS_FLAT_BUS_SEG_KPI AMT0_AAE_N Acq Cost And Admin Exp?? Net MIS_FACT AMT0_AAE_O Acq Cost And Admin Exp?? Retro MIS_FACT AMT1_APR_N Agg Pol Res?? Net MIS_BUS_COND_DEDUCTIONS ADDCOMM_AMOUNT ADDCOMM_AMOUNT MIS_BUS_COND_DEDUCTIONS ADDCOMM_AMOUNT_MAIN ADDCOMM_AMOUNT_MAIN MIS_BUS_COND_DEDUCTIONS ADDCOMM_DEDBASIS ADDCOMM_DEDBASIS MIS_BUS_COND_DEDUCTIONS ADDCOMM_DEDUCTION_TAB ADDCOMM_DEDUCTION_TAB MIS_BUS_COND_DEDUCTIONS ADDCOMM_FK_AMT_CY ADDCOMM_FK_AMT_CY MIS_BUS_COND_DEDUCTIONS ADDCOMM_METHOD_ID ADDCOMM_METHOD_ID MIS_BUS_COND_DEDUCTIONS ADDCOMM_METHOD_TITLE ADDCOMM_METHOD_TITLE MIS_BUS_COND_DEDUCTIONS ADDCOMM_PCT Management Expense (%) I am gettign an error : ERROR: Expected close parenthesis after macro function invocation not found. Rootcause : The last row, label_name1 column is having a value Management Expense (%) where the character '%)' is masking ')'., there by causes closing parenthesis issue. Can anyone please help here? Thanks, Chithra
... View more