sas批量生成新变量代码?

如何对以下SAS代码进行简写?有多个保存日期-时间的文本型变量var1 var2 ……(命名不是那么规则;文本格式为2023-02-02 14:27:23),要分别生成新变量var1_date, var1_time保留日期和时间变量:

data a;
  set a;
  var1_date = datepart(input(var1, ymddttm30.));
  var1_time = timepart(input(var1, ymddttm30.));
  var2_date = datepart(input(var2, ymddttm30.));
  var2_time = timepart(input(var2, ymddttm30.

run;

data a;
  set a;
  do i = 1 to dim(vname);
    var_date = vname[i]||'_date';
    var_time = vname[i]||'_time';
    var_date = datepart(input(vname[i], ymddttm30.));
    var_time = timepart(input(vname[i], ymddttm30.));
  end;
run;