How to terminate a DS2 program with error?

Reply
Occasional Contributor
Posts: 17

How to terminate a DS2 program with error?

 

Hi

 

Is it possible to terminate a DS2 program with error? If so how?

 

I noticed that the Abort statement is not available in DS2.

 

Thanks.

 

PROC Star
Posts: 2,339

Re: How to terminate a DS2 program with error?

I guess an ugly kludge could be to add something like this:

 if COND then do; DIV=0 ;DIV=1/DIV; end;  

This results in a general error and stops further processing.

PROC Star
Posts: 260

Re: How to terminate a DS2 program with error?

To put an error in the log, use the log metod, e.g.:

proc ds2 ;
data _NULL_;
   dcl package logger root();
   method init();
      root.log(n'error', 'you got yhis all wrong!');
   end;
enddata;
run;
quit;

To stop execution, use STOP or whatever.

Occasional Contributor
Posts: 17

Re: How to terminate a DS2 program with error?

Hi

I ran your exact code from EG. Is it possible to get the Message out in  the regular job log?

 

 

NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
24         
25         GOPTIONS ACCESSIBLE;
26         proc ds2 ;
27         data _NULL_;
28            dcl package logger root();
29            method init();
30               root.log(n'error', 'you got yhis all wrong!');
31            end;
32         enddata;
33         run;
NOTE: Execution succeeded. No rows affected.
34         quit;

NOTE: PROCEDURE DS2 used (Total process time):
      real time           1.73 seconds
      cpu time            0.09 seconds
      
Occasional Contributor
Posts: 17

Re: How to terminate a DS2 program with error?

I, ll read more about the logger package and I 'll post here if I find out something.
Ask a Question
Discussion stats
  • 4 replies
  • 116 views
  • 0 likes
  • 3 in conversation