A robust and flexible approach to automating SAS jobs under Unix Mike Atkinson, with the Ministry of Health Services, British Columbia
|
|
- Bruno Fisher
- 8 years ago
- Views:
Transcription
1 A robust and flexible approach to automating SAS jobs under Unix Mike Atkinson, with the Ministry of Health Services, British Columbia Abstract So you ve got a Unix server that is terrific for running big jobs, either right when you command or perhaps scheduled to run off-hours. What if those jobs could you to indicate their success or failure, with generated reports as attachments (when successful)? And if they could automatically store all of their logs, date and time stamped? This paper describes the use of a perl script that has been developed at the BC Ministry of Health Services to schedule SAS jobs on Unix. Here the term job refers to a set of SAS program(s) and/or perl module(s) to be run in sequence. In practice, most of the steps in our jobs are SAS programs, with perl used to do things like ing reports, and sending files via FTP. The Unix server is up and running 24/7, which makes it ideal for scheduling those massive jobs to run at night while everyone is sleeping. You may be aware that Unix comes with a nifty scheduling facility called crontab, which lets you run programs at specific times and dates, including the ability to run programs at regular intervals. Our system extends the power of crontab so that we can easily run multi-step jobs. Log and output files are automatically date-time stamped, so they won t be overwritten. Reports are typically ed to recipients as a final step of each job. Directory Tree The Unix file system uses a tree structure, and trees are a great way to organise your SAS code, logs, data, and output. In our system, the effective root of the tree indicates the environment: devl, prod, test, et cetera. Under each environment (devl, prod, etc) is an identical structure for storing all the items related to SAS jobs: programs, logs, reports, data. Here is a sample tree structure for an automated system: /path/to/devl /parms /bin /sascode /demo /monthly_reports
2 /shared_code /macros /logs /demo /monthly_reports /shared_code /reports /demo /monthly_reports /shared_code /sasdata /demo /monthly_reports Some of these sub-directories (shown in bold above) are required by our job scheduling system; others can be created as needed based on system-specific requirements. The /bin sub-directory contains all perl code, including the scripts that run jobs. Other useful perl modules (such as a module designed to FTP files) and any custom perl modules are stored here as well. The /parms sub-directory contains two files related to each job. Each job requires a.run file and a.mail file in the /parms sub-directory, for instance: demo.run and demo.mail. The.run file lists the steps (SAS programs and/or perl modules) to be run, one per line. Parameter values can be passed to perl modules or to SAS programs on the command line. The /sascode sub-directory in turn has a separate sub-directory for each distinct system being automated. Each of its sub-directories stores a group of SAS programs that might represent a system or sub-system of a larger system. (Using sub-directories in this way is a great way to organise SAS code, logs, and reports.) Our convention is to create a sub-directory of /sascode named /shared_code to store programs that cross system boundaries, and to put shared macros in a sub-directory beneath /shared_code. Other SAS code is placed under the appropriate sub-directory name. The /logs sub-directory contains the same set of sub-directories as the /sascode sub-directory; that is, there is a log directory corresponding to each sascode directory. When a job is run, the log for each executed program is automatically placed into the appropriate /logs sub-directory, with the job start date and time both contained within the file name of the log. The /reports sub-directory should also contain the same set of sub-directories as the /sascode sub-directory. Reports to standard SAS output will be automatically stored in the correct sub-directory under /reports, again date and time stamped. There is a bit more flexibility around the /sasdata sub-directory. This sub-directory (as might be expected) is used to store SAS datasets, and is allocated within SAS programs using a libname statement. Programs can choose whether to store each SAS dataset
3 directly under the /sasdata directory, or to store datasets under a lower level sub-directory (one level down from /sasdata). One of the goals when writing production SAS programs is to make the code completely portable between environments. It is much easier to manage migration from development to production when the migration does not require a single change to the code. We use a simple method for portable programs: the perl script that executes SAS programs passes the environment (e.g. devl) as a parameter to each SAS job it runs. SAS programs can easily make this into a macro variable indicating which environment the job is running in. Portability can be achieved if SAS programs use this macro variable within the path to all referenced files. Crontab The perl script will pass the environment to each executed SAS program, but how does the perl script know which environment it is running in? Our perl script determines the environment by checking the current directory at run time. A convention we follow for scheduling jobs (under crontab) is that two commands are always scheduled together: a cd command (change directory) to set the current directory as the /bin directory in one of the environments, and, separated by a semi-colon on the same line, a command to run the perl script. For instance, a crontab entry might look like the following: * * cd /path/to/prod/bin; run_job demo Up until now, we ve not given a name to the perl script - here it appears as run_job. This run_job is actually a small stub that performs some initialisations and then calls the real workhorse perl module job_control.pm. Each system using our job scheduler has its own small stub script to set a few system-specific items (such as the path to the system) before calling job_control.pm. Most of the details of the perl module job_control.pm are outside the scope of this paper. When the run_job perl script is executing, it can easily determine what the current directory is in this case /path/to/prod/bin. This system-specific script would likely be expecting the path to be of the form /path/to/environment/bin, and in this case the script would find that it is running in the prod environment. Crontab will execute these commands at the indicated time: 5am on the first of each month. The perl scripts will look in the directory /path/to/prod/parms for files named demo.run and demo.mail, and will start executing the steps in the demo.run file. It is also easy to run a job immediately by entering the run_job command at the prompt (while in the /bin directory of the environment we want to run in). This is often how the job is submitted to restart at the point of error - described later in the section Running jobs manually.
4 Defining Jobs As mentioned above, each job requires two files in the /parms directory, named job_name.run and job_name.mail where job_name is replaced by the name of a job. The.run file lists the steps of the job, in the order they are to be run. The.mail file lists the addresses of people to receive s of job success/failure notifications and s with reports as attachments. The.run file contains one line for each step in a job. This line simply names the program to be run and the name of the system the program belongs to, and optionally provides parameter values to be passed to the job. Either a SAS program or perl module can be called in each step: the file type (after the dot) indicates the type of each step. Comments start with a pound sign. Here s a short sample job.run file that has been named demo.run. # Demonstration job # demo/compile_data.sas demo/summary_report.sas demo/mail_reports.pm period_type=month_end You may have noticed that each line in this job starts with demo/. This names the system (or sub-system) the programs belong to: this also forms part of the path to sub-directories where the SAS code will be found, and where logs and reports will be placed. For instance, SAS code might be in the directory /path/to/prod/sascode/demo. When this job is executed (by the run_job perl script), one step will be run at a time. The file type on each line in the.run file (.sas or.pm) indicates whether the named code is SAS or perl. In this job, first the SAS program named compile_data.sas will be run. This program must be in the sub-directory named /demo, which in turn falls within the /sascode directory, e.g. path_to/devl/sascode/monthly_reports. This command line has a parameter named period_type. The perl script will pass this to the SAS program, where it can be turned into a macro variable (named &period_type) with the value MONTH_END. (Note: The sample code for demo_init.sasinc is just a demonstration of parameter passing, and does create any macro variables actually used by sample program named summary_report.sas.) The next SAS program in the job, summary_reports.sas, can create reports in one or many available formats: standard output listing, PDF, RTF, et cetera. If reports are written to the standard output destination, they will be created (in the reports sub-directory) as.lst files, with the program name and date/time stamp in the filename. For more refined output, the reporting program can specify a filename for a PDF or other type of output file.
5 The final step of this job is a perl module called mail_reports.pm. This perl module is commonly found at the end of.run files. Like other perl modules and scripts (but unlike SAS code in the system), the mail_reports.pm module does not reside in a sub-directory named /bin/demo it sits right in the /bin sub-directory. When this perl module is executed, it will look for reports within the correct reports sub-directory, in this case the directory /path/to/devl/reports/demo. The mail_reports.pm perl module will only mail reports associated with this particular execution of the job, which are identified by the date and time stamp that should appear in every report s file name. The mail_reports.pm module sends reports to recipients based on information in the.mail file. This file lists the addresses of report recipients, and includes one or more regular expression patterns for each recipient. Each recipient is sent all report files (created by this run of the job) that have names matching at least one of the listed patterns for that recipient. A regular expression consisting of a single period (.) will match all reports created by the job (and in the named sub-directory). In addition to regular expressions, there are a couple of special characters available as well, mainly for job administrators: exclamation mark (!) and greater-than sign (>). The exclamation mark indicates that a recipient will receive a notification of success or failure each time the job is executed. The greater-than sign indicates that the recipient will receive a list of which reports were sent to all recipients. Here is a sample.mail file, which in this case would be named demo.mail: # # Send all the reports, a list of who was sent what report, # and the job summary report IT.Guy@ABC.net! >. # # Send all reports, but nothing else Main.User@ABC.net. # # Gets all PDF reports only Other.User@ABC.net pdf$ PDF$ # # Gets reports containing one, two or three in the file name Another.User@ABC.net one two three SAS programs The first thing one of our SAS programs needs to do is to determine which environment it s being run in: development, production, et cetera. This has to be done first since if the program will %include other SAS code, it needs to know whether to include code file(s) from the devl, prod, or another environment. The perl script (that runs each SAS program) extracts the environment from the current directory, and passes this to the SAS program via sysparm. Also passed via sysparm (as one single, long value) are other parameters and values, including the date-time stamp.
6 The SAS program can use a single statement to set the macro variable &Env as the environment. * Find whether we are running in DEVL or PROD environment; %let Env = %scan(&sysparm, 1, %str(:)); Now that we have set &Env, we are ready to %include SAS code from the correct environment, by including &Env in the file path. Our SAS programs are likely to %include some code to read the remaining parameters from &sysparm, such as: %include "/path/to/&env/sascode/shared_code/initial.sasinc"; Here s what the command (created by the run_job script) might look like. This would be a single, long command it is only wrapped here because it is too long to fit on one line of this document. Notice that the sysparm parameter is one long string of characters the format will be described later. /usr/sas/sas -autoexec /path/to/site/autoexec/autoexec.sas -log /path/devl/logs/demo/compile_data log -print /demo/devl/reports/demo/compile_data lst /demo/devl/sascode/demo/compile_data.sas -sysparm devl:subdir=demo:date_stamp= :run_instance=1:period= MONTH_END This command ensures that the date and time stamp ( ) appears in the log and listing file names. The value is also passed to the SAS program via sysparm, to be placed into SAS macro variable &date_stamp. The string passed to sysparm is available within SAS as the system macro variable &sysparm. As mentioned, each SAS program extracts this from the start of &sysparm, as shown above. The SAS code in the file initial.sasinc reads the remainder of &sysparm (following the first colon), setting macro variables for each pair of variable=value found (between successive colons. In addition, initial.sasinc does some generic initialisation, such as allocating macro and template libraries, and determining the current date. Here s some of the code from initial.sasinc, which reads the parameter pairs from &sysparm. * Parse the passed sysparm value, setting macro values; %macro parse_sysparm; %global sysparm; %* Start with the 2nd parm the first indicated the environment; %let i = 2; %* Pairs are separated by colons; %let pair = %scan(&sysparm, &i, %str(:));
7 %do %while (%str(&pair) ne %str()); %end; %* Each parameter pair has a macro name and value, separated ; %* by the equals sign; %let var_name = %scan(&pair, 1, %str(=)); %let var_value = %substr(&pair, (1 + %index(&pair, %str(=)))); %* Assign value to global macro variable &var_name; %global &var_name; %let &var_name=&var_value; %* Get the next value, if any; %let i = %eval(&i + 1); %let pair = %scan(&sysparm, &i, %str(:)); %mend parse_sysparm; * Call the macro just defined; %parse_sysparm; The above macro could be stored in a macro library, with only the last line (calling the macro) required in the initial.sasinc code. If presentation is not important, a program might simply print to the standard text-based SAS output destination, and generate a report in a fixed width font. But for any program that will be run frequently, it might be worth a bit of effort to make reports more readable. Most often we will generate reports (using ODS) into PDF format. A sample SAS program (job step) Imagine that you need a SAS program named summary_report.sas to produce a monthly summary report. We ll look at a relatively simple sample program that creates PDF output (which is not really a monthly report), and then see how this program might be handled by the system. /********************************************************************** * summary_reports.sas: Report personal health expenditures * * for Canada * * * * Change History: * * * * ---Date--- Who What * * M.Atkinson Original * * * **********************************************************************/ * Find whether we are running in DEVL or PROD environment; %let Env = %scan(&sysparm, 1, %str(:));
8 * Include initialisation code; * (Set dates for processing based on the current date); %include "/path/to/&env/sascode/demo_init.sasinc"; * Print values of global macro variables into the log for reference; * Any global macro variables containing an underscore will be included; %print_macro_vals(inc_text=%str(_)); * Give file names for HTML and PDF output; * The macro variable &date_stamp should appear in file names; filename htmlfile "/path/to/&env/reports/&subdir/personal_health_expend_&date_stamp..html"; filename pdffile "/path/to/&env/reports/&subdir/personal_health_expend_&date_stamp..pdf"; * Assign a libname to the demo library; libname demolib "/path/to/&env/sasdata/demo"; * Create report in HTML format; options missing=' '; options orientation=landscape; ods listing close; ods markup file=htmlfile (title="personal Health Expenditure") style=my_helvetica tagset=tagsets.remtitle; ods printer pdf file=pdffile style=my_helvetica notoc; * Build a format for millions; proc format; picture million low-high='0,000,009m' (prefix='$' mult= ); run; * Report expenditures; proc report data=demolib.personal_health_expenditure nowd; column row_order description year, amount; define row_order / noprint group; define description / group ' ' style(header)={vjust=bottom}; define year / across ' ' style(header)={vjust=bottom};
9 define amount / analysis ' ' format=million. style(header)={vjust=bottom}; compute amount; if (substr(description, 1, 1) = '%') then call define(_col_, "format", "percent7.1"); endcomp; title1 "Personal expenditure on medical care and health services"; footnote1 j=l h=10pt f=helvetica "From Statistics Canada: quit; ods printer close; ods markup close; ods listing; Using the Current Date The following code is an example of setting various macro variables based on the current date. This is an artificial example, since the program summary_reports.sas above does not use the values created by this.sasinc file, except for those created by shared_code/initial.sasinc. /************************************************************************** * demo_init.sasinc Demonstrate initialisation processing, including * * the setting of dates based on the current date. * * * * Change History: * * * * ---Date--- Who What * * M.Atkinson Created * **************************************************************************/ * Include the shared initialisation code; * (this sets macro variable ¤t_date); %include "/hlth/sda/&env/sascode/shared_code/initial.sasinc"; * Set date cutoff value based on current date; data _null_; * Use 6 days after current date, allowing for the case that data for ; * the date becomes available a few days prior to the actual date; current_date_plus6_sas = 6 + input("¤t_date", yymmdd8.); * If 6 days from current date is still prior to the 15th, ; * (i.e. we were prior to the 9th) then use the end of the prior month; if (day(current_date_plus6_sas) < 15) then do; call symput('mid_month', 'NO'); cutoff_sas = -1 + mdy(month(current_date_plus6_sas), 1, year(current_date_plus6_sas)); end;
10 * Otherwise, use mid-month (i.e. the 15th); else do; call symput('mid_month', 'YES'); cutoff_sas = mdy(month(current_date_plus6_sas), 15, year(current_date_plus6_sas)); end; call symput('cutoff_sas', cutoff_sas); call symput('cutoff_num', put(cutoff_sas, yymmddn8.)); run; * Print values of global macro variables into the log for reference; %print_macro_vals(inc_text=%str(_)); * Assign a libname to the demo library; libname demolib "/hlth/sda/&env/sasdata/demo"; One convention we have is to include an underscore in all macro variable names this makes it easy for our %print_macro_vals macro to pick out which macro variables to write to the log. We typically call this macro after initialising all macro variables, so that each log has a nice record of all the macro variable values that were in effect. For instance, the following might be written within the log: ************ User Macro Variable Values Shown Below ************ Note: Macro variables must contain one of: _ CURRENT_DATE = CUTOFF_NUM = CUTOFF_SAS = DATE_STAMP = MID_MONTH = NO PERIOD = MONTH_END RUN_INSTANCE = 1 TODAYS_DATE = ************ User Macro Variable Values Shown Above ************ A sample SAS step as part of a job Now suppose that this SAS program was one step of a job - the job shown in the section Defining Jobs. If a job fails, an is sent to the appropriate person or persons. In this case, the failure notification is sent only to IT.Guy@ABC.net (who has the! symbol in the.mail file). Presumably he will fix the error and re-submit. The indicating failure looks like this. (It tends to get your attention when you receive an with subject line containing failed in capital letters!) Subject: **run_job demo FAILED** run_job demo FAILED with return code 2 Command:...run_job demo
11 Environment:...devl Job Name:...demo Date Stamp: Start at step:...(beginning) End at step:...(end) Following steps were run: Start Return Time Code Command 18:23:46 0 demo/compile_data.sas period=month_end 18:23:57 ******2 demo/summary_reports.sas 18:23:57 Failure Time To run all steps from the failed step onward, you might use the following command: run_job demo summary_reports.sas & The last line of the failure message can be very handy. Once the error has been corrected, the job can be restarted at the step that had an error by using the command provided. Specifying the date-time stamp is key when restarting jobs. Since the mail_reports.pm perl module (usually the last step of the job) will be using the date-time stamp to identify all reports that apply to this job, it is important that the same date-time stamp value be used in the names of files created both in job steps run prior to the point of error, and in later job steps ran in the restarted job. Specifying the original date-time stamp as an argument to the perl script overrides the usual behaviour of using the current date and time, and the passed date-time stamp value is used instead. Oops if the same date/time stamp is used, won t the new log of the restarted step overwrite the log created by the failed execution? To prevent this from happening, old logs are kept in a separate file to the most recent log. Before a log file can be overwritten, it is renamed by the perl script, appending.old to the file name. If there have been two or more failures for the same step, logs for successive runs are appended to the log that ends with.old. The final, successful, log is always stored on its own, in the file ending with.log. When the job completes successfully, the final step (mail_reports.pm) will the report(s) to the indicated recipients. In the case of the demo job (as indicated by the demo.mail file), the recipients will be: IT.Guy@ABC.net (who receives all reports) Main.User@ABC.net (who also receives all reports) Other.User@ABC.net (who receives all reports of type PDF) Another.User@ABC.net (who receives reports where the file name contains one, two, or three ) All reports created during the job (by programs in the demo system), and which are targeted for a given recipient, will be mailed as multiple attachments of a single to
12 that recipient. Since the attached reports for each recipient may be different, each receives their own, separate, . Let s suppose that the program detail_reports.sas created reports named fancy_one.pdf, really_fancy.pdf, and summary_report.lst. All three reports would go to each of the recipients listed above, and the report named one.pdf will go to Other.User@ABC.net (and also to the other three recipients). But let s assume the job executed successfully the first time. An such as the following, showing the execution time for each step in the job, would be sent to IT.Guy. Subject: run_job demo was successful run_job demo completed with return code 0 Command:...run_job demo Environment:...devl Job Name:...demo Date Stamp: Start at step:...(beginning) End at step:...(end) Following steps were run: Start Return Time Code Command 18:18:35 0 demo/compile_data.sas period=month_end 18:18:46 0 demo/summary_reports.sas 18:18:55 0 demo/mail_reports.pm 18:18:55 Completion Time In addition to the job summary shown above, each recipient of report(s) would be sent an with applicable reports attached. Attachments to the could then be viewed on the screen or saved to disk. The with report attachments might look like the following: Subject: Reports from demo stream, Run date: This has the following 3 attachments: /path/to/devl/reports/demo/personal_health_expend_ html /path/to/devl/reports/demo/personal_health_expend_ pdf /path/to/devl/reports/demo/compile_data lst In addition to the text above listing these files, the would have the indicated files as attachments. Here s what the reports look like:
13 Personal_Health_Expend_ html: Personal expenditure on medical care and health services Total personal expenditure on consumer goods and services $596,009M $655,722M $719,917M $801,211M $891,197M Total personal expenditure on medical care and health services $28,986M $33,623M $38,032M $43,862M $50,589M Medical care $13,456M $15,395M $16,997M $19,657M $22,778M Hospital care and the like $1,388M $1,577M $1,798M $2,044M $2,380M Other medical care expenses $4,137M $4,546M $5,178M $5,480M $6,315M Drugs and pharmaceutical products $10,005M $12,105M $14,059M $16,681M $19,116M % of all personal expenditure on medical care and health services 4.9% 5.1% 5.3% 5.5% 5.7% From Statistics Canada: Personal_Health_Expend_ pdf: (on next page)
14 Personal expenditure on medical care and health services 18:18 Thursday, July 2, Total personal expenditure on consumer goods and services $596,009M $655,722M $719,917M $801,211M $891,197M Total personal expenditure on medical care and health services $28,986M $33,623M $38,032M $43,862M $50,589M Medical care $13,456M $15,395M $16,997M $19,657M $22,778M Hospital care and the like $1,388M $1,577M $1,798M $2,044M $2,380M Other medical care expenses $4,137M $4,546M $5,178M $5,480M $6,315M Drugs and pharmaceutical products $10,005M $12,105M $14,059M $16,681M $19,116M % of all personal expenditure on medical care and health services 4.9% 5.1% 5.3% 5.5% 5.7% From Statistics Canada:
15 compile_data lst: row_ Obs order year description Straight proc print with no frills 1 18:18 Thurday, July 2, Total personal expenditure on consumer goods and services Total personal expenditure on consumer goods and services Total personal expenditure on consumer goods and services Total personal expenditure on consumer goods and services Total personal expenditure on consumer goods and services Total personal expenditure on medical care and health services Total personal expenditure on medical care and health services Total personal expenditure on medical care and health services Total personal expenditure on medical care and health services Total personal expenditure on medical care and health services Medical care Medical care Medical care Medical care Medical care Obs amount Obs lag_description 1 2 Total personal expenditure on consumer goods and services 3 Total personal expenditure on consumer goods and services 4 Total personal expenditure on consumer goods and services 5 Total personal expenditure on consumer goods and services 6 Total personal expenditure on consumer goods and services 7 Total personal expenditure on medical care and health services 8 Total personal expenditure on medical care and health services 9 Total personal expenditure on medical care and health services 10 Total personal expenditure on medical care and health services 11 Total personal expenditure on medical care and health services 12 Medical care 13 Medical care 14 Medical care 15 Medical care Et cetera
16 IT.Guy would also receive a third , which lists which reports were sent to recipients. In this case, that might look like this: Subject: *Reports that the demo stream sent out, Run date: Recipient: IT.Guy@ABC.net /path/to/devl/reports/demo/personal_health_expend_ html /path/to/devl/reports/demo/personal_health_expend_ pdf /path/to/devl/reports/demo/compile_data lst Recipient: Main.User@ABC.net /path/to/devl/reports/demo/personal_health_expend_ html /path/to/devl/reports/demo/personal_health_expend_ pdf /path/to/devl/reports/demo/compile_data lst Recipient: Other.User@ABC.net /path/to/devl/reports/demo/personal_health_expend_ pdf Running jobs manually Jobs can be run on demand at the command prompt. First, we ensure that the current Unix directory is the /bin directory of the environment we wish to run in, such as /path/to/devl/bin. The command specify to run the entire job stream as a new run and using the current date and time in the date-time stamp, as in: run_job demo & or to run at a specific step and using a specific date-time stamp, as in: run_job demo summary_reports.sas & If all re-starts of a job specify the original date-time stamp (i.e. the time of the first attempt to run the job), all reports created by the job will have names which include this date-time stamp. If the failed step created reports, these will be overwritten by the new, successful, run of this step. At successful completion of the job, the latest version of all reports can be automatically mailed to recipients, regardless of whether the reports were generated prior to, within, or after the failed step. Note: the log file with this date-time stamp will be the log for the latest, successful, execution of each step. Earlier logs for failed steps are not lost however they are stored in a log file named with date-time stamp and also with the suffix.old.
17 Essential Perl Modules As mentioned earlier, the run_job perl script is just a stub that sets some parameters before calling the workhorse of the system, job_control.pm. The job_control.pm script reads both the.run file (to get the list of steps in the job) and the.mail file (for the list of recipients). Each line of the.run file is parsed to find the sub-directory, program name, and arguments (if applicable). Take for example, the following line: demo/compile_data.sas period=month_end Given this line (in the.mail file) the perl script will identify the sub-directory (demo) and the name of the program (compile_data.sas). Since in this case the program has the suffix.sas, the perl script will call the runpgm.pm perl module to execute the program using SAS. (If the suffix had been.pm, step would have been recognised as a perl module and executed as a perl subroutine.) The mail_reports.pm perl module is not required to be in every job, but is nearly always at the end of each job. When called, this perl module is given a system or sub-system name, such as demo in the call: demo/mail_reports.pm The mail_reports.pm module finds all files in the corresponding reports sub-directory (e.g. /path/to/prod/reports/demo) and performs pattern matching for each potential recipients as indicated by the information that was in the.mail file. An is sent to each recipient for whom one or more reports met the criteria, with those reports files as attachments. A summary of this information is sent to any recipient who has the pattern > (greater-than sign). Conclusion We ve developed a handy Unix-based framework for executing multi-step SAS jobs. Reports and logs are handled nicely, and it is straightforward to re-start failed jobs mid-stream. The system has the kind of reliability that helps one relax while on vacation. Contact Information Mike.Atkinson@gov.bc.ca working with the British Columbia Ministry of Health Services Victoria, British Columbia (250) SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies.
Automation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA
Automation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA ABSTRACT SAS includes powerful features in the Linux SAS server environment. While creating
More informationSAS ODS HTML + PROC Report = Fantastic Output Girish K. Narayandas, OptumInsight, Eden Prairie, MN
SA118-2014 SAS ODS HTML + PROC Report = Fantastic Output Girish K. Narayandas, OptumInsight, Eden Prairie, MN ABSTRACT ODS (Output Delivery System) is a wonderful feature in SAS to create consistent, presentable
More informationWriting Packages: A New Way to Distribute and Use SAS/IML Programs
Paper SAS4201-2016 Writing Packages: A New Way to Distribute and Use SAS/IML Programs Rick Wicklin, SAS Institute Inc. ABSTRACT SAS/IML 14.1 enables you to author, install, and call packages. A package
More informationYou have got SASMAIL!
You have got SASMAIL! Rajbir Chadha, Cognizant Technology Solutions, Wilmington, DE ABSTRACT As SAS software programs become complex, processing times increase. Sitting in front of the computer, waiting
More informationFIRST STEP - ADDITIONS TO THE CONFIGURATIONS FILE (CONFIG FILE) SECOND STEP Creating the email to send
Using SAS to E-Mail Reports and Results to Users Stuart Summers, Alliant, Brewster, NY ABSTRACT SAS applications that are repeatedly and periodically run have reports and files that need to go to various
More informationManaging Tables in Microsoft SQL Server using SAS
Managing Tables in Microsoft SQL Server using SAS Jason Chen, Kaiser Permanente, San Diego, CA Jon Javines, Kaiser Permanente, San Diego, CA Alan L Schepps, M.S., Kaiser Permanente, San Diego, CA Yuexin
More informationChoosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA
Choosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA ABSTRACT PROC EXPORT, LIBNAME, DDE or excelxp tagset? Many techniques exist to create an excel file using SAS.
More informationSAS Credit Scoring for Banking 4.3
SAS Credit Scoring for Banking 4.3 Hot Fix 1 SAS Banking Intelligence Solutions ii SAS Credit Scoring for Banking 4.3: Hot Fix 1 The correct bibliographic citation for this manual is as follows: SAS Institute
More informationHow To Write A Clinical Trial In Sas
PharmaSUG2013 Paper AD11 Let SAS Set Up and Track Your Project Tom Santopoli, Octagon, now part of Accenture Wayne Zhong, Octagon, now part of Accenture ABSTRACT When managing the programming activities
More informationA Method for Cleaning Clinical Trial Analysis Data Sets
A Method for Cleaning Clinical Trial Analysis Data Sets Carol R. Vaughn, Bridgewater Crossings, NJ ABSTRACT This paper presents a method for using SAS software to search SAS programs in selected directories
More informationMethodologies for Converting Microsoft Excel Spreadsheets to SAS datasets
Methodologies for Converting Microsoft Excel Spreadsheets to SAS datasets Karin LaPann ViroPharma Incorporated ABSTRACT Much functionality has been added to the SAS to Excel procedures in SAS version 9.
More informationAn Introduction to SAS/SHARE, By Example
Paper 020-29 An Introduction to SAS/SHARE, By Example Larry Altmayer, U.S. Census Bureau, Washington, DC ABSTRACT SAS/SHARE software is a useful tool for allowing several users to simultaneously access
More informationDatabase manager does something that sounds trivial. It makes it easy to setup a new database for searching with Mascot. It also makes it easy to
1 Database manager does something that sounds trivial. It makes it easy to setup a new database for searching with Mascot. It also makes it easy to automate regular updates of these databases. 2 However,
More informationPharmaSUG2011 - Paper AD11
PharmaSUG2011 - Paper AD11 Let the system do the work! Automate your SAS code execution on UNIX and Windows platforms Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.,
More informationImporting Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC
ABSTRACT PharmaSUG 2012 - Paper CC07 Importing Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC In Pharmaceuticals/CRO industries, Excel files are widely use for data storage.
More informationAn Approach to Creating Archives That Minimizes Storage Requirements
Paper SC-008 An Approach to Creating Archives That Minimizes Storage Requirements Ruben Chiflikyan, RTI International, Research Triangle Park, NC Mila Chiflikyan, RTI International, Research Triangle Park,
More informationBusiness Portal for Microsoft Dynamics GP. Electronic Document Delivery Release 10.0
Business Portal for Microsoft Dynamics GP Electronic Document Delivery Release 10.0 Copyright Copyright 2007 Microsoft Corporation. All rights reserved. Complying with all applicable copyright laws is
More informationManaging very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT
Paper AD01 Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT ABSTRACT The use of EXCEL spreadsheets is very common in SAS applications,
More informationCA Workload Automation Agent for Databases
CA Workload Automation Agent for Databases Implementation Guide r11.3.4 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the
More informationForms Printer User Guide
Forms Printer User Guide Version 10.51 for Dynamics GP 10 Forms Printer Build Version: 10.51.102 System Requirements Microsoft Dynamics GP 10 SP2 or greater Microsoft SQL Server 2005 or Higher Reporting
More informationABSTRACT INTRODUCTION
Automating Concatenation of PDF/RTF Reports Using ODS DOCUMENT Shirish Nalavade, eclinical Solutions, Mansfield, MA Shubha Manjunath, Independent Consultant, New London, CT ABSTRACT As part of clinical
More informationMAS 500 Intelligence Tips and Tricks Booklet Vol. 1
MAS 500 Intelligence Tips and Tricks Booklet Vol. 1 1 Contents Accessing the Sage MAS Intelligence Reports... 3 Copying, Pasting and Renaming Reports... 4 To create a new report from an existing report...
More informationPractical Powerful Version control in SAS projects A rapid, Walk-through Workshop
Practical Powerful Version control in SAS projects A rapid, Walk-through Workshop Lorne Salter, Blue Shield of California, San Francisco, CA Gordon Cumming, Wells Fargo Bank, N.A., San Francisco, CA ABSTRACT
More informationEssential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA
Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA ABSTRACT Throughout the course of a clinical trial the Statistical Programming group is
More informationAN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health
AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health INTRODUCTION There are a number of SAS tools that you may never have to use. Why? The main reason
More informationSENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL. Frank Fan, Clinovo, Sunnyvale CA
SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL Frank Fan, Clinovo, Sunnyvale CA WUSS 2011 Annual Conference October 2011 TABLE OF CONTENTS 1. ABSTRACT... 3 2. INTRODUCTION... 3 3. SYSTEM CONFIGURATION...
More informationWe begin by defining a few user-supplied parameters, to make the code transferable between various projects.
PharmaSUG 2013 Paper CC31 A Quick Patient Profile: Combining External Data with EDC-generated Subject CRF Titania Dumas-Roberson, Grifols Therapeutics, Inc., Durham, NC Yang Han, Grifols Therapeutics,
More informationUsing Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX
Paper 126-29 Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX ABSTRACT This hands-on workshop shows how to use the SAS Macro Facility
More informationAutomated distribution of SAS results Jacques Pagé, Les Services Conseils HARDY, Quebec, Qc
Paper 039-29 Automated distribution of SAS results Jacques Pagé, Les Services Conseils HARDY, Quebec, Qc ABSTRACT This paper highlights the programmable aspects of SAS results distribution using electronic
More informationEmailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA
Emailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA ABSTRACT With multiple programmers contributing to a batch
More informationWilliam E Benjamin Jr, Owl Computer Consultancy, LLC
So, You ve Got Data Enterprise Wide (SAS, ACCESS, EXCEL, MySQL, Oracle, and Others); Well, Let SAS Enterprise Guide Software Point-n-Click Your Way to Using It. William E Benjamin Jr, Owl Computer Consultancy,
More informationSAS UNIX-Space Analyzer A handy tool for UNIX SAS Administrators Airaha Chelvakkanthan Manickam, Cognizant Technology Solutions, Teaneck, NJ
PharmaSUG 2012 Paper PO11 SAS UNIX-Space Analyzer A handy tool for UNIX SAS Administrators Airaha Chelvakkanthan Manickam, Cognizant Technology Solutions, Teaneck, NJ ABSTRACT: In the fast growing area
More informationAn email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc.
SESUG 2012 Paper CT-02 An email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc., Raleigh, NC ABSTRACT Enterprise Guide (EG) provides useful
More informationSimply Accounting Intelligence Tips and Tricks Booklet Vol. 1
Simply Accounting Intelligence Tips and Tricks Booklet Vol. 1 1 Contents Accessing the SAI reports... 3 Running, Copying and Pasting reports... 4 Creating and linking a report... 5 Auto e-mailing reports...
More informationDiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com info@flexense.com 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
More informationAN ANIMATED GUIDE: SENDING SAS FILE TO EXCEL
Paper CC01 AN ANIMATED GUIDE: SENDING SAS FILE TO EXCEL Russ Lavery, Contractor for K&L Consulting Services, King of Prussia, U.S.A. ABSTRACT The primary purpose of this paper is to provide a generic DDE
More informationTivoli Access Manager Agent for Windows Installation Guide
IBM Tivoli Identity Manager Tivoli Access Manager Agent for Windows Installation Guide Version 4.5.0 SC32-1165-03 IBM Tivoli Identity Manager Tivoli Access Manager Agent for Windows Installation Guide
More informationUsing Form Scripts in WEBPLUS
Using Form Scripts in WEBPLUS In WEBPLUS you have the built-in ability to create forms that can be sent to your email address via Serif Web Resources. This is a nice simple option that s easy to set up,
More informationIntegrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
More informationTips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS. Vincent DelGobbo, SAS Institute Inc.
Paper HOW-071 Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS Vincent DelGobbo, SAS Institute Inc., Cary, NC ABSTRACT Transferring SAS data and analytical results
More informationLog Correlation Engine Backup Strategy
Log Correlation Engine Backup Strategy August 10, 2012 (Revision 1) Copyright 2002-2012 Tenable Network Security, Inc. Tenable Network Security, Nessus and ProfessionalFeed are registered trademarks of
More informationDesigning and Implementing Forms 34
C H A P T E R 34 Designing and Implementing Forms 34 You can add forms to your site to collect information from site visitors; for example, to survey potential customers, conduct credit-card transactions,
More informationReport Customization Using PROC REPORT Procedure Shruthi Amruthnath, EPITEC, INC., Southfield, MI
Paper SA12-2014 Report Customization Using PROC REPORT Procedure Shruthi Amruthnath, EPITEC, INC., Southfield, MI ABSTRACT SAS offers powerful report writing tools to generate customized reports. PROC
More informationWhile You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX
Paper 276-27 While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX ABSTRACT If you are tired of running the same jobs over and over again, this
More informationNovell Identity Manager
Password Management Guide AUTHORIZED DOCUMENTATION Novell Identity Manager 3.6.1 June 05, 2009 www.novell.com Identity Manager 3.6.1 Password Management Guide Legal Notices Novell, Inc. makes no representations
More informationVerify that the IIS Server meets or exceeds the system requirements. The latest system requirements are available at abila.com/solutions/millennium.
The current version of this guide was published on 5/21/2015. Verify that you have the latest version of this guide and the Installation Guide. The guides can be downloaded from http://kb.abila.com. This
More informationBetter Safe than Sorry: A SAS Macro to Selectively Back Up Files
Better Safe than Sorry: A SAS Macro to Selectively Back Up Files Jia Wang, Data and Analytic Solutions, Inc., Fairfax, VA Zhengyi Fang, Social & Scientific Systems, Inc., Silver Spring, MD ABSTRACT SAS
More informationUSER GUIDE. Snow Inventory Client for Unix Version 1.1.03 Release date 2015-04-29 Document date 2015-05-20
USER GUIDE Product Snow Inventory Client for Unix Version 1.1.03 Release date 2015-04-29 Document date 2015-05-20 CONTENT ABOUT THIS DOCUMENT... 3 OVERVIEW... 3 OPERATING SYSTEMS SUPPORTED... 3 PREREQUISITES...
More informationSearch and Replace in SAS Data Sets thru GUI
Search and Replace in SAS Data Sets thru GUI Edmond Cheng, Bureau of Labor Statistics, Washington, DC ABSTRACT In managing data with SAS /BASE software, performing a search and replace is not a straight
More informationCreate an Excel report using SAS : A comparison of the different techniques
Create an Excel report using SAS : A comparison of the different techniques Romain Miralles, Clinovo, Sunnyvale, CA Global SAS Forum 2011 April 2011 1 1. ABSTRACT Many techniques exist to create an Excel
More informationPreparing Real World Data in Excel Sheets for Statistical Analysis
Paper DM03 Preparing Real World Data in Excel Sheets for Statistical Analysis Volker Harm, Bayer Schering Pharma AG, Berlin, Germany ABSTRACT This paper collects a set of techniques of importing Excel
More informationKEY FEATURES OF SOURCE CONTROL UTILITIES
Source Code Revision Control Systems and Auto-Documenting Headers for SAS Programs on a UNIX or PC Multiuser Environment Terek Peterson, Alliance Consulting Group, Philadelphia, PA Max Cherny, Alliance
More informationApplications Development ABSTRACT PROGRAM DESIGN INTRODUCTION SAS FEATURES USED
Checking and Tracking SAS Programs Using SAS Software Keith M. Gregg, Ph.D., SCIREX Corporation, Chicago, IL Yefim Gershteyn, Ph.D., SCIREX Corporation, Chicago, IL ABSTRACT Various checks on consistency
More informationREx: An Automated System for Extracting Clinical Trial Data from Oracle to SAS
REx: An Automated System for Extracting Clinical Trial Data from Oracle to SAS Edward McCaney, Centocor Inc., Malvern, PA Gail Stoner, Centocor Inc., Malvern, PA Anthony Malinowski, Centocor Inc., Malvern,
More informationGet in Control! Configuration Management for SAS Projects John Quarantillo, Westat, Rockville, MD
AD004 Get in Control! Configuration Management for SAS Projects John Quarantillo, Westat, Rockville, MD Abstract SAS applications development can benefit greatly from the use of Configuration Management/Source
More informationTips and Tricks SAGE ACCPAC INTELLIGENCE
Tips and Tricks SAGE ACCPAC INTELLIGENCE 1 Table of Contents Auto e-mailing reports... 4 Automatically Running Macros... 7 Creating new Macros from Excel... 8 Compact Metadata Functionality... 9 Copying,
More informationVector HelpDesk - Administrator s Guide
Vector HelpDesk - Administrator s Guide Vector HelpDesk - Administrator s Guide Configuring and Maintaining Vector HelpDesk version 5.6 Vector HelpDesk - Administrator s Guide Copyright Vector Networks
More informationSUGI 29 Applications Development
Backing up File Systems with Hierarchical Structure Using SAS/CONNECT Fagen Xie, Kaiser Permanent Southern California, California, USA Wansu Chen, Kaiser Permanent Southern California, California, USA
More informationSending Emails in SAS to Facilitate Clinical Trial Frank Fan, Clinovo, Sunnyvale, CA
Sending Emails in SAS to Facilitate Clinical Trial Frank Fan, Clinovo, Sunnyvale, CA ABSTRACT Email has drastically changed our ways of working and communicating. In clinical trial data management, delivering
More informationAutoMerge for MS CRM 3
AutoMerge for MS CRM 3 Version 1.0.0 Users Guide (How to use AutoMerge for MS CRM 3) Users Guide AutoMerge.doc Table of Contents 1 USERS GUIDE 3 1.1 Introduction 3 1.2 IMPORTANT INFORMATION 3 2 XML CONFIGURATION
More informationWorkflow Templates Library
Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security
More informationExploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs
Exploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs Troy B. Wolfe, Qualex Consulting Services, Inc., Miami, Florida ABSTRACT As someone responsible for maintaining over 40 nightly batch
More informationTeamstudio USER GUIDE
Teamstudio Software Engineering Tools for IBM Lotus Notes and Domino USER GUIDE Edition 30 Copyright Notice This User Guide documents the entire Teamstudio product suite, including: Teamstudio Analyzer
More informationData Presentation. Paper 126-27. Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs
Paper 126-27 Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs Tugluke Abdurazak Abt Associates Inc. 1110 Vermont Avenue N.W. Suite 610 Washington D.C. 20005-3522
More informationCreate your own brick-level backup script for Exchange Server 5.5
Create your own brick-level backup script for Exchange Server 5.5 By Dominic Bosco Every Exchange Organization has its Very Important Mailboxes (VIMs). If you re like most Exchange Administrators, you
More informationSUGI 29 Coders' Corner
Paper 074-29 Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board INTRODUCTION In 19 years as a SAS consultant at the Federal Reserve Board, I have seen SAS users
More informationSAS Drug Development Release Notes 35DRG07
SAS Drug Development Release Notes 35DRG07 SAS Drug Development (SDD) 3.5 is validated to work with/on the following technologies: MS Windows: Windows 7 and Windows XP Mac OS X: Snow Leopard (10.6) Internet
More informationUsing SAS to Control and Automate a Multi SAS Program Process. Patrick Halpin November 2008
Using SAS to Control and Automate a Multi SAS Program Process Patrick Halpin November 2008 What are we covering today A little background on me Some quick questions How to use Done files Use a simple example
More informationCustomized Excel Output Using the Excel Libname Harry Droogendyk, Stratia Consulting Inc., Lynden, ON
Paper SIB-105 Customized Excel Output Using the Excel Libname Harry Droogendyk, Stratia Consulting Inc., Lynden, ON ABSTRACT The advent of the ODS ExcelXP tagset and its many features has afforded the
More informationOptimizing System Performance by Monitoring UNIX Server with SAS
Optimizing System Performance by Monitoring UNIX Server with SAS Sam Mao, Quintiles, Inc., Kansas City, MO Jay Zhou, Quintiles, Inc., Kansas City, MO ABSTRACT To optimize system performance and maximize
More informationEliminating Tedium by Building Applications that Use SQL Generated SAS Code Segments
Eliminating Tedium by Building Applications that Use SQL Generated SAS Code Segments David A. Mabey, Reader s Digest Association Inc., Pleasantville, NY ABSTRACT When SAS applications are driven by data-generated
More informationA Macro to Create Data Definition Documents
A Macro to Create Data Definition Documents Aileen L. Yam, sanofi-aventis Inc., Bridgewater, NJ ABSTRACT Data Definition documents are one of the requirements for NDA submissions. This paper contains a
More informationAudit Trail Administration
Audit Trail Administration 0890431-030 August 2003 Copyright 2003 by Concurrent Computer Corporation. All rights reserved. This publication or any part thereof is intended for use with Concurrent Computer
More informationFigure 1. Example of an Excellent File Directory Structure for Storing SAS Code Which is Easy to Backup.
Paper RF-05-2014 File Management and Backup Considerations When Using SAS Enterprise Guide (EG) Software Roger Muller, Data To Events, Inc., Carmel, IN ABSTRACT SAS Enterprise Guide provides a state-of-the-art
More informationUNIX Comes to the Rescue: A Comparison between UNIX SAS and PC SAS
UNIX Comes to the Rescue: A Comparison between UNIX SAS and PC SAS Chii-Dean Lin, San Diego State University, San Diego, CA Ming Ji, San Diego State University, San Diego, CA ABSTRACT Running SAS under
More informationHow To Configure A Bmca Log File Adapter For Windows 2.5 (For Windows) For A Powerpoint 2.2 (For Microsoft) (For Ubuntu) (Powerpoint 2) (Windows) (Perl) (
BMC Impact Event Adapters User Guide Supporting BMC Event and Impact Management 2.0 BMC ProactiveNet Performance Manager 8.0 November 2009 www.bmc.com Contacting BMC Software You can access the BMC Software
More informationHypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
More informationMOVES Batch Mode: Setting up and running groups of related MOVES run specifications. EPA Office of Transportation and Air Quality 11/3/2010
MOVES Batch Mode: Setting up and running groups of related MOVES run specifications EPA Office of Transportation and Air Quality 11/3/2010 Webinar Logistics Please use question box to send any questions
More informationPageScope Router. Version 1.5. Configuration Guide
PageScope Router Version 1.5 Configuration Guide Table of Contents TABLE OF CONTENTS... 2 1. Introduction...3 1.1 IP Address and Domain Name...3 2. Sending Files to PageScope Router...4 2.1 MFP Device
More informationSAS Marketing Automation 4.4. Unix Install Instructions for Hot Fix 44MA10
SAS Marketing Automation 4.4 Unix Install Instructions for Hot Fix 44MA10 Introduction This document describes the steps necessary to install and deploy the SAS Marketing Automation 4.4 Hot fix Release
More informationSyncTool for InterSystems Caché and Ensemble.
SyncTool for InterSystems Caché and Ensemble. Table of contents Introduction...4 Definitions...4 System requirements...4 Installation...5 How to use SyncTool...5 Configuration...5 Example for Group objects
More informationServerView Inventory Manager
User Guide - English FUJITSU Software ServerView Suite ServerView Inventory Manager ServerView Operations Manager V6.21 Edition October 2013 Comments Suggestions Corrections The User Documentation Department
More informationIt s not the Yellow Brick Road but the SAS PC FILES SERVER will take you Down the LIBNAME PATH= to Using the 64-Bit Excel Workbooks.
Pharmasug 2014 - paper CC-47 It s not the Yellow Brick Road but the SAS PC FILES SERVER will take you Down the LIBNAME PATH= to Using the 64-Bit Excel Workbooks. ABSTRACT William E Benjamin Jr, Owl Computer
More informationGovernment Applications
GV003 Routine Web Reporting with Simple SAS ODS Ashley H. Sanders, Animal Improvements Program Lab - USDA, Beltsville, MD ABSTRACT Data provided via the Internet today is no longer simply a value added
More informationTU04. Best practices for implementing a BI strategy with SAS Mike Vanderlinden, COMSYS IT Partners, Portage, MI
TU04 Best practices for implementing a BI strategy with SAS Mike Vanderlinden, COMSYS IT Partners, Portage, MI ABSTRACT Implementing a Business Intelligence strategy can be a daunting and challenging task.
More informationPROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL
PharmaSUG 2015 - Paper QT06 PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL ABSTRACT Inspired by Christianna William s paper on
More informationEventTracker: Configuring DLA Extension for AWStats Report AWStats Reports
EventTracker: Configuring DLA Extension for AWStats Report AWStats Reports Publication Date: Oct 18, 2011 EventTracker 8815 Centre Park Drive Columbia MD 21045 www.eventtracker.com About This Guide Abstract
More informationFP File Organizer 3.0 Instruction Manual
FP File Organizer 3.0 Instruction Manual Field Precision LLC PO Box 13595, Albuquerque, NM 87192 U.S.A. Telephone: +1-505-220-3975 Fax: +1-617-752-9077 E mail: techinfo@fieldp.com Internet: http://www.fieldp.com
More informationScheduling in SAS 9.3
Scheduling in SAS 9.3 SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc 2011. Scheduling in SAS 9.3. Cary, NC: SAS Institute Inc. Scheduling in SAS 9.3
More informationReturn of the Codes: SAS, Windows, and Your s Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix
Paper AP-11 Return of the Codes: SAS, Windows, and Your s Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix ABSTRACT Robust applications participate in the
More informationPost Processing Macro in Clinical Data Reporting Niraj J. Pandya
Post Processing Macro in Clinical Data Reporting Niraj J. Pandya ABSTRACT Post Processing is the last step of generating listings and analysis reports of clinical data reporting in pharmaceutical industry
More informationSAS Macros as File Management Utility Programs
Paper 219-26 SAS Macros as File Management Utility Programs Christopher J. Rook, EDP Contract Services, Bala Cynwyd, PA Shi-Tao Yeh, EDP Contract Services, Bala Cynwyd, PA ABSTRACT This paper provides
More informationHands-On UNIX Exercise:
Hands-On UNIX Exercise: This exercise takes you around some of the features of the shell. Even if you don't need to use them all straight away, it's very useful to be aware of them and to know how to deal
More informationHow to Use SDTM Definition and ADaM Specifications Documents. to Facilitate SAS Programming
How to Use SDTM Definition and ADaM Specifications Documents to Facilitate SAS Programming Yan Liu Sanofi Pasteur ABSTRCT SDTM and ADaM implementation guides set strict requirements for SDTM and ADaM variable
More information5. Crea+ng SAS Datasets from external files. GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming»
5. Crea+ng SAS Datasets from external files 107 Crea+ng a SAS dataset from a raw data file 108 LIBNAME statement In most of cases, you may want to assign a libref to a certain folder (a SAS library) LIBNAME
More informationMigrating FMS to SQL 2008. SIMS 2009 Autumn Main Release Onwards
Migrating FMS to SQL 2008 SIMS 2009 Autumn Main Release Onwards Revision History Version Change Description Date 1.0 Initial release 23/10/09 Capita Business Services Ltd 2009. All rights reserved. No
More informationHP Operations Manager Software for Windows Integration Guide
HP Operations Manager Software for Windows Integration Guide This guide documents the facilities to integrate EnterpriseSCHEDULE into HP Operations Manager Software for Windows (formerly known as HP OpenView
More informationIBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016. Integration Guide IBM
IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016 Integration Guide IBM Note Before using this information and the product it supports, read the information
More informationSwitching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ
PharmaSUG 2014 PO10 Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ ABSTRACT As more and more organizations adapt to the SAS Enterprise Guide,
More information