BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
FK1
Lapis Lazuli | Level 10 FK1
Lapis Lazuli | Level 10

Hello Folks,

 

not taking into account that the former is a macro statement while the later is a data step statement, I was wondering whether there is any difference in the sense of behaviour/performance between:

%ABORT ABEND;

and

data _NULL_;
  abort;
run;

I found in the documentation of the two statements

 

https://documentation.sas.com/?docsetId=mcrolref&docsetTarget=p0f7j2zr6z71nqn1fpefnmulzazf.htm&docse...

 

and

 

https://documentation.sas.com/?docsetId=lestmtsref&docsetTarget=p0hp2evpgqvfsfn1u223hh9ubv3g.htm&doc...

 

that both times it is stated that

 

"What happens next depends on

  • the method that you use to submit your SAS statements
  • the arguments that you use with %ABORT
  • your operating environment"

Or can they be used interchangeably?

 

Cheers,

FK1

1 ACCEPTED SOLUTION

Accepted Solutions
jimbarbour
Meteorite | Level 14

I also agree with @s_lassen  that they do the same thing.

 

I've found the most useful form is ABORT CANCEL (or %ABORT CANCEL) which stops the current step and cancels all downstream processing.

 

I have a little macro called Abort_Pgm that I use when I am in open code but don't want to write a DATA step:

%MACRO Abort_Pgm;
  %ABORT CANCEL;
%MEND Abort_Pgm;

I have found that macro useful.

 

Jim

View solution in original post

3 REPLIES 3
s_lassen
Meteorite | Level 14

AFAIK, %ABORT and the ABORT statement in a data step do the same.

 

So this

data _null_;
  abort;
run;

is equivalent to this

%abort;

And this

%abort abend;

does exactly the same as

data _null_;
  abort abend;
run;
jimbarbour
Meteorite | Level 14

I also agree with @s_lassen  that they do the same thing.

 

I've found the most useful form is ABORT CANCEL (or %ABORT CANCEL) which stops the current step and cancels all downstream processing.

 

I have a little macro called Abort_Pgm that I use when I am in open code but don't want to write a DATA step:

%MACRO Abort_Pgm;
  %ABORT CANCEL;
%MEND Abort_Pgm;

I have found that macro useful.

 

Jim

FK1
Lapis Lazuli | Level 10 FK1
Lapis Lazuli | Level 10
Thx,Jim for your explanation

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 1074 views
  • 4 likes
  • 3 in conversation