Documents What are SAS date and time values? How are they used and why do we care? What are some of the more important of the many functions, formats, and tools that have been developed that work with these crucial elements of the SAS System?
This paper discusses how to create simple and composite SAS indexes, how to determine which variables make good index key variables, when creating and using indexes is appropriate, what centiles are, and how to generate index usage messages.
Multiuser access to sas data requries administration in order to avoid error messages such as "LOCK ERROR". This can be done with two strategies at least: 1. limiting access to dataset with password. 2. Setting lock on data.
1. Using sas tools, you make a specific table read-only by alter and write
protecting it. The dataset alter and write options prevent table modifications, deletions or replacements.
data nochangedoctor (alter=shhh write=secret);
xray=1;
run;
data foo;
set nochangedoctor;
run;
proc datasets lib=work nolist;
modify foo (alter=xyzzy write=xyzzy);
run;
proc append base=foo(alter=xyzzy) new=foo;
run;
proc delete data=nochangedoctor(alter=shhh);
proc delete data=foo(alter=xyzzy);
run;
Use the dataset read= option to enforce a restricted access policy.
OS file attribute tools (such as unix chmod or windows cmd attrib) can also
protect the file containing a specific sas table.
libname option access=readonly can protect all tables in a library
2. This paper demonstrates how to use the LOCK statement in base SAS® to cause your program to wait until the tables you need are available. The techniques shown can be used to protect critical sections of code by locking multiple tables. Applying these concepts can greatly improve the reliability of programs that run in highly contentious batch environments.
The MODIFY statement has been part of the SAS® set of tools for years, yet it is rarely used. Good programmers have written very complicated code to accomplish that what be done very readily usingthis statement.






