Dear All, Please refer below code: Precode -
%let start_time=%sysfunc(datetime());
Postcode -
%let end_time = %qsysfunc(datetime());
%let to_date=%sysfunc(today(),date9.);
%put &to_date.;
proc sql;
select max(datepart(start_time)) format =date9.
into :date from target.test_control where job_name='ch_1';
run;
%put &date.;
proc sql;
select max(datepart(start_time))
format = date9. into :up_time from target.test_control where job_name='ch_1';
run;
%put &up_time.;
%let today_dt=%sysfunc(datepart(%sysfunc(datetime())),date9.);
%put &today_dt.;
%macro execute;
%if &up_time.= &today_dt.
%then %do;
proc sql;
update target.test_control
set start_time=&start_time.,
end_time=&end_time.,
last_update_time=&end_time.,
status ='Y'
where job_name='ch_1' and &date.=&to_date.;
run;
%end;
%else %do;
proc sql;
insert into target.test_control values('flow_1',"&etls_jobname.",&start_time.,&end_time.,&end_time.,'sasdemo','Y');
run;
%end;
%mend;
%execute; I am trying to update only new inserted(today's) observation in test_control table where max date of test_control table equal to today. Scenario : Trying to update few columns in test_control table based on two date macro variables which is created in above postcode section. variable names and condition = &date.=&to_date. , While executing this code it return below error message. date macro variable contains maximum updated date in control table and to_date variable contains system date, so i just want to update the observation where these two dates has equal value(todays date value). Please refer "where" condition in macro. Error Log - 184 07JAN2019 _______ 22 76 MPRINT(EXECUTE): update target.test_control set start_time=1862501204.91143, end_time=1862501204.93361, last_update_time=1862501204.93361, status ='Y' where job_name='ch_1' and 07JAN2019=07JAN2019; ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, <, <=, <>, =, >, >=, AND, EQ, EQT, GE, GET, GT, GTT, LE, LET, LT, LTT, NE, NET, OR, ^=, |, ||, ~=. ERROR 76-322: Syntax error, statement will be ignored. Thanks in advance.
... View more