Число 21 811 является значением для даты '19SEP2019'd.Поэтому просто примените формат DATE9 для его преобразования.
%let date_return="%sysfunc(putn(&date_return,date9)):00:00:00"dt;
Обратите внимание, что вы также можете использовать необязательный второй аргумент для функции% SYSFUNC (), чтобы сообщить ему, как форматировать результаты функции.
%let data_return = %sysfunc(intnx(DAY,&data_proc.,-1),date9);
Тогда вам просто нужно добавить суффикс :00:00:00
, чтобы он выглядел как значение даты / времени вместо значения даты.
Обратите внимание, что вы, вероятно, можете устранить большую часть этой логики и просто позволить INTNX () найдите подходящий день, используя интервал WEEKDAY вместо интервала DAY.
%put "%sysfunc(intnx(weekday,%sysfunc(today())-1,0),date9):00:00:00"dt;