From: Marc on
For years I have been thinking and asking, why SAS, even the latest
version, doesn't do something to mark/segment/divide different log
pieces for different RUNs and with distinctive marks?
It's pretty annoying each time to find where is where when debugging
the programs, especially for me because there are always so many.

I would like to know your opinion.

----Marc
From: Tom Abernathy on
On Mar 24, 5:05 pm, Marc <morain...(a)gmail.com> wrote:
> For years I have been thinking and asking, why SAS, even the latest
> version, doesn't do something to mark/segment/divide different log
> pieces for different RUNs and with distinctive marks?
> It's pretty annoying each time to find where is where when debugging
> the programs, especially for me because there are always so many.
>
> I would like to know your opinion.
>
> ----Marc

I am curious what types of marks you would like? Isn't the code
printed in the log distinctive enough for you to detect which commands
you are running?
From: Marc on
On Mar 24, 9:32 pm, Tom Abernathy <tom.aberna...(a)gmail.com> wrote:
> On Mar 24, 5:05 pm, Marc <morain...(a)gmail.com> wrote:
>
> > For years I have been thinking and asking, why SAS, even the latest
> > version, doesn't do something to mark/segment/divide different log
> > pieces for different RUNs and with distinctive marks?
> > It's pretty annoying each time to find where is where when debugging
> > the programs, especially for me because there are always so many.
>
> > I would like to know your opinion.
>
> > ----Marc
>
> I am curious what types of marks you would like? Isn't the code
> printed in the log distinctive enough for you to detect which commands
> you are running?

Hi Tom,

Thank you so much for answering my post.

Well, what I'm saying is: I want it automatically generates some
marks, simple ones, like lines, to separate different runs in the log,
Not by any of my additional job. I always got thousands lines in the
log in one morning's job.

If there's some colorful lines or marks......

I've never tried to find ways to work out this.

May you help?
From: data _null_; on
On Mar 25, 1:00 am, Marc <morain...(a)gmail.com> wrote:
> On Mar 24, 9:32 pm, Tom Abernathy <tom.aberna...(a)gmail.com> wrote:
>
> > On Mar 24, 5:05 pm, Marc <morain...(a)gmail.com> wrote:
>
> > > For years I have been thinking and asking, why SAS, even the latest
> > > version, doesn't do something to mark/segment/divide different log
> > > pieces for different RUNs and with distinctive marks?
> > > It's pretty annoying each time to find where is where when debugging
> > > the programs, especially for me because there are always so many.
>
> > > I would like to know your opinion.
>
> > > ----Marc
>
> > I am curious what types of marks you would like? Isn't the code
> > printed in the log distinctive enough for you to detect which commands
> > you are running?
>
> Hi Tom,
>
> Thank you so much for answering my post.
>
> Well, what I'm saying is: I want it automatically generates some
> marks, simple ones, like lines, to separate different runs in the log,
> Not by any of my additional job. I always got thousands lines in the
> log in one morning's job.
>
> If there's some colorful lines or marks......
>
> I've never tried to find ways to work out this.
>
> May you help?

I usually just
DM 'CLEAR LOG';
when it gets too full. You could also PUT a line by adding something
like this to the top of the code you submit.

skip 40;
%put NOTE: %sysfunc(datetime(),datetime20.) %sysfunc(repeat(*,50));

I suppose you could even make a submit "button" that includes clear
log or other commands.
From: montura on
As far as I know, there is no language with native support for that
feature.
Of course I only know a few language, so I could be wrong.

When it comes to SAS, the issue has already been resolved with
structured programming.
Its easy with SCL objects, I use the following structure.-the code is
a bit long, so I cut it off after a few steps.

After every step where I code a standard error detect, I throw an
error that will stop the entire application, immediately.
No cascade of errors.
Sometimes, zero observations after a SQL or data step is also an
error, there are different detect logic for that.

Maybe its time to learn a bit of "computer science and structure"
instead of simple commands and options????


class
population;
public num runSequence /
(initialValue=2);
public list gSelected / (sendEvent='N',
autocreate='N');
public list gMessage / (sendEvent='N',
autocreate='N');

public list interface /
(initialValue={

'interface1',

'interface2',

'interface3',

'interface4',

'interface5',

'interface6'
});

_init: method /
(state='o');

_super();
gSelected=getniteml(envlist('G'),
'selected');
gMessage =getniteml(envlist('G'),
'message');

endmethod;

runInterface:
method;
dcl num
xMethod;
do xMethod=1 to listlen(interface) while
(listlen(gMessage)=0);
call send(_self_, getitemc(interface,
xMethod));

end;

endmethod;

interface1: method / (description='Regulated PWSID
Population');
submit continue
sql;
create table systemIndex
as
select
pwsid
from
libmsis.basic
where activity='A'
and
regby
='S'
order by
pwsid;

quit;

endsubmit;

if symgetn('sqlrc')
then
insertc(gMessage, description||' '||_method_,
-1);

endmethod;

interface2: method / (description='Source
Population');
submit continue
sql;
create table sourceIndex
as
select
a.*,

b.sourceid,

b.srceaval,

b.srcecode,

b.srcekey
from systemIndex
a
left join libmsis.source
b
on
a.pwsid=b.pwsid
where b.srceaval in
('P','I','R','S')
order by pwsid,
sourceid;

quit;

endsubmit;

if symgetn('sqlrc')
then
insertc(gMessage, description||' '||_method_,
-1);

endmethod;

interface3: method / (description='Surface Water Treatment
Population');
submit continue
sql;
create table SWtreatedIndex
as
select distinct pwsid||tpid as
trmtKey
from
libmsis.trmtproc
where trmtobj = 'P'
and
trmtproc
in('341','342','343','344','345','346','347')
order by
trmtKey;

quit;

endsubmit;

if symgetn('sqlrc')
then
insertc(gMessage, description||' '||_method_,
-1);

endmethod;
 |  Next  |  Last
Pages: 1 2
Prev: GLIMMIX warning
Next: Why won't SAS fix PROC EXPORT