Audit table

New Contributor
Posts: 2

Audit table


I am new to SAS DI. I want to understand How audit tables get populated with macro returned values?

Trusted Advisor
Posts: 3,215

Re: Audit table

There are audit tables with SAS that are not suited for auditing. Logging is not the task done by the SAS-log.
Please be very clear in you questions words and your issues.      

---->-- ja karman --<-----
New Contributor
Posts: 2

Re: Audit table

Hi Jaap,

Thank you for quick response.

We have a data set with variables Job name, start time, end time, return code and few more. As we run our SAS DI job, record for each run should populate to this data set with appropriate value. How to achieve this?



Trusted Advisor
Posts: 3,215

Re: Audit table

Ok Usha your question look to be on building a real own auditing approach. Your requirement seems to point that way.  The running of DI-jobs getting monitored.

There are a lot of ways  you could achieve this. And sorry as SAS institute did make a real mess of this topic.  Well let stat with that mess.

There is traditional ARM logging SAS(R) 9.4 Interface to Application Response Measurement (ARM): Reference This was introduced with SAS 9.

This could have lead into a joined operation to other suppliers as ARM is an open standard Application Response Measurement - Wikipedia, the free encyclopedia

Than SAS went for his own approach with a logging framework SAS(R) 9.4 Interface to Application Response Measurement (ARM): Reference it is an isolated SAS only approach not really a fit with an enterprise approach having centralized approaches for that.  The did deliver a starterset framework for those as SAS Audit, Performance and Measurement APM tool (9.2 on request) . This one is depreceated with SAS 9.4 for the event manager. Just go tru those pages and you will find
The job events are a timy part of all that ETL processing on ARM-logging (picture on page 6). Yep the goal is mentioned to be IT staff but their approach is not aligned to be a fit for enterprise IT staff.

Restart with you question again ....

DI is a developers tools and what is finished is handed (should be handed) over to an operational environment. That is deployment releasemangement of your code and not of SAS. The SAS system should have a production state for both of them and you SAS installation being developed in other one (still following?).

When you build your code that is on a development data area and your auditing should have isolated names or should develop/production ETL share the same auditing data?
That is a question to be answered.     proceeding ....
Having your audit table centralized that one should survive shared updates or not? When allowing shared updates there must be a SAS/shareserver or a RDBMS system for that.

Still wanting to build that by your own you could use the intitstmt  (run before processing) and termstmt (run before closing) sas system options pointing to some own code for that.

SAS(R) 9.3 System Options: Reference, Second Edition That is needing cooperation with your SAS-admin (sas config settings) or being used as execution options for the Batchjobs

DI is having pre process en post process options that can defined with code being executed first or last but with this as generated hard coded sas statements.

The defining of the a record at the start is not an issue. But what to do when to SAS codes stops to execute or even worse is goes in a system abend and vanishing at all without trace.
The first situation could by bypassed by using macro-coding as that works even when SAS has gone into syntax checking mode.
Having an external RDBMS will make all local measurement of CPU IO and memory useless.

Now you have your options to choose, not one but many.

What option would be a good fit for your situation?

---->-- ja karman --<-----
Respected Advisor
Posts: 4,736

Re: Audit table

Hi Jaap

Just two comments to your "layout of options".

When allowing shared updates there must be a SAS/shareserver or a RDBMS system

Because a SAS table would only be locked for a short time one can also get away using "filelockwait".

When using a scheduler like LSF the implementation of a "run-log" table is eventually not required as LSF maintains such history - and as LSF maintains such history "outside" of the SAS job all the problems with job failure but then still a need for logging go away.

Posts: 24

Re: Audit table

Hi Ja ,


I am have a setup of VA+EG+MC . I want to prepare a report to visualize the load on the server at a particular time .i.e , no of concurrent users , resources they are using and stuffs like that.

I was going through the SASEV-ARTIFACT library but could not find suitable information . (Though AUDIT_TRANSACTIONS was great) . I have gone through the SAS Guides but an elaborative decription of tables and their columns was missing. Searched for some SAS Conference papers but could not find one.

Please help me with some insights on how could I better understand the Environment Manager Data Mart and the APM and ACM tables.

Any help with be appreciated.



Pratik Singh

Ask a Question
Discussion stats
  • 5 replies
  • 4 in conversation