Перед генерацией кода убедитесь, что вы знаете, какой код вы хотите сгенерировать.Похоже, вы пытаетесь сгенерировать что-то вроде этого:
values(101,Stomach Pain,30NOV2018,15DEC2018,Clinic 47);
Но вам нужно генерировать кавычки вокруг ваших символьных переменных.Кроме того, нет необходимости преобразовывать даты в удобочитаемые литералы даты, просто оставьте их как необработанное число дней.
call execute(catx(' ','proc sql;','insert into leaddata','values('
,catx(',',quote(subjid),quote(mhterm),date1,number2,....)
,');quit;'));
Но если у вас есть данные в наборе данных, почему бы просто не вставить их непосредственно изнабор данных?
insert into leaddata select subjid,mhterm,.... from have ;