Moving a Large SAS System Into an MVS Production Environment The Trials and Tribulations

Size: px
Start display at page:

Download "Moving a Large SAS System Into an MVS Production Environment The Trials and Tribulations"

Transcription

1 Moving a Large SAS System Into an MVS Production Environment The Trials and Tribulations Bernard Gardocki and Stephen Rhoades IMS HEALTH Inc., Plymouth Meeting, Pa ABSTRACT It is not the role, or responsibility of production integration personnel to review and test each program transitioning to the production environment. Therefore, the developer s implementation of systematically computed control totals becomes an essential requirement to successfully implement programs into the production environment. So how do you do move a system into production? We will cover the process of passing parameters into SAS streams, verifying record counts from tape files and disk files. Providing reports of record counts and reports on why a job abended and what should be done. A number of different techniques are used to check on input files including dictionary files and CALL EXECUTE, the code and the reasons they were used will also be covered. Definition of a large system. A database of 1,600,000 cases. Over one hundred job streams, many run multiple times per cycle. Files with up to 260 variables. Over 500 different output files. 8.3 million new records added quarterly. The system now has data for ten years. The quarterly update process takes weeks to process. The process ties up large portions of the CPU. Quite a few jobs run around an hour or more of CPU time PROBLEMS, PROBLEMS, PROBLEMS AND SOLUTIONS! For the SAS code, any comments in this color were inserted to add clarity. Problem 1. Reading in foreign tapes. Ever receive a box of poorly labeled cartridges containing multiple flat files each of which spans multiple cartridges? We have! How did we handle it? Our amateur cryptologist can usually mix and match the tapes. However, this is not very effective when we receive last quarter s data again for this quarter, or we are missing tapes or have received the wrong tape despite what the label says. We need to know as quickly as possible that there is a problem with the new data. Solution to Problem 1 No, we did not get a new supplier! However, we now receive written record counts, which are used for control record totals. The number of records on the cartridges must match the control totals or the process produces an error report and stops until the record count problems are resolved. This is how we set the job up to check the incoming record counts. PARTIAL JCL: //* //*- Read new external data - //*- Below SYSPARM allows passing parameters - //* //S03A EXEC SAS8, // PARM='SYSPARM="&YR1&YR5&QTR"' Multiple external files are read into the system using GDG file types //I1PHS1 DD DSN=NESUG.LQ00051.ABC,DISP=SHR // DD DSN=NESUG.LQ00051.DE,DISP=SHR, // UNIT=AFF=I1PHS1 //* Quarterly Rec counts for incoming files

2 Each quarter NESUG001 will be edited and control total record counts will be entered. //I2CNTS DD DSN=NESUG.PARMLIB(NESUG001), // DISP=SHR //O8ABEND DD SYSOUT=* If rec counts do not match an error rpt is sent here THE SAS CODE: Macro ERRABND2 is used later in the program. It will abend the job if the record counts on the external file being read do not match the control total record counts. %Macro ERRABND2; /*Start Macro*/ INRECS is calculated by the job. RECCNT is the rec control total contained in NESUG001 and passed into SAS using SYSPARM. If the record counts are not equal write the error report to O8ABEND %If %EVAL(&INRECS) ne %EVAL(&RECCNT) %THEN %DO; NOTE: The error report must be written prior to abending the job. DATA _NULL_; File O8ABEND; Astr=repeat('*',62); '0667' ; ' '0667' ; Additional report code removed to save space in this poster. Abend job with a return code of 667 ABORT ABEND 667; %End; %Mend errabnd2; /* End Macro */ Run; DATA O1CLM.abcfil O2MH.defil ; infile I1PHS1 END=EOF; If an external file is empty, must place EOF and N=1 prior to the INPUT statement. /* */ /*- Are input files empty? -*/ /* */ IF EOF and _N_ = 1 then do; CALL EXECUTE('%ERRABND3'); END; groupnum ssn_num key_memb Increment INRECS for each obs read into program. INRECS+1; /* Increment rec count */ When the last record is read into SAS use SYMPUT to move record count variable, INRECS to a SAS Macro variable of the same name. If EOF THEN DO; CALL SYMPUT('INRECS',INRECS); CALL EXECUTE runs macro ERRABND2 to compare the actual number of recs read with the control number of recs, abending if there is not an exact match. NOTE: Another Data Step runs while still it this step. CALL EXECUTE('%ERRABND2'); End; To insure the data is correct the source type field is checked. Processing stops if not correct. Here s how this is done: If typeflag in ( A, B, C, D ) Then someday 125 my_prince 135 will_come $char10.; else do; Send a report and abend the job. ERRABND1 code not shown

3 srctype=typeflag; CALL EXECUTE('%ERRABND1(' srctype ')'); end; Problem 2. A paradox, this year s data is not on last year s tapes Every quarter a number of jobs read in the output of the same jobs for the previous quarter. There is a problem for the first quarter processing which is expecting a SAS data file for the current year on last year's file. This file does not exist, how do we handle this? Solution to Problem 2 We opted to handle this through a combination of SAS and JCL. We used SAS to pass a return code of 1 to the system if we were processing the first quarter of the year for the most current data year. To do this a SAS program was written to pass a return code back to the JCL to alter processing. There is no manual intervention; the system does this automatically. To do this we can use SET statements in the JCL to create what look like SAS macro variables. These allow us to change things like dates and file names then pass them directly into the SAS programs. Here s how it goes: SET statements are used to dynamically change values within a JCL stream. Follow QTR and FLNBR as they get moved into the SAS code // SET QTR=1 CURRENT QTR // SET AFILE='ABC' SAS file name // SET PQTR=4 Previous QUARTER // SET PYR='1999' Year for prev quarter // SET DYR='2000' Data yr // SET FLNBR='1' File nbr, this is yr 2000 //*Set a condition code, if the quarter is 1, //* the return code is set to 1. &QTR and &FLNBR, from the SET statements, are passed into the SAS program. //S03A EXEC SAS8,PARM='SYSPARM="&QTR&FLNBR"' //********************************************* ***** //SYSIN DD DSN=G.SRLIB, DISP=SHR, // SUBSYS=(PANV,,NESUGU191) The SAS Code looks like this: DATA _NULL_; LENGTH QTR $1 FLNBR 1; /*Read in the SYSPARM values*/ QTR= SUBSTR(SYSPARM(),1,1); FLNBR= SUBSTR(SYSPARM(),2,1); IF QTR= 1 and FLNBR=1; abort return 1;/* Set rc to 1, end program*/ This JCL runs when the Return Code is 0 // IF RC LT 1 THEN //* Processing qtrs 2, 3 or 4 as the RC is 0 //* Copy SAS file temporary disk space //S05A EXEC SAS8,PARM='SYSPARM="&AFILE"' Read prev qtr file, write temp file //I1IN DD DSN=M&PYR&PQTR..A&DYR, // DISP=SHR //O1OUT DD DSN=&&TEMP01, // DISP=(NEW,PASS,DELETE), // SPACE=(CYL,(3100,25)),UNIT=DA //SYSIN DD DSN=I.SLIB,DISP=SHR, // SUBSYS=(PANV,,NESUGU192) Notice the ELSE. This JCL runs when the Condition Code is 1 // ELSE //***************************************** //* Processing the 1st quarter *** //* Create a dummy file *** //***************************************** //S01A EXEC PGM=IEFBR14 //* //O1A DD DSN=&&TEMP01, // DISP=(NEW,PASS,DELETE), // SPACE=(27648,(1,1),RLSE),UNIT=DA

4 ENDIF tells the system to run the rest of the JCL sequentially // ENDIF Problem 3. Adjusting memory A number of these jobs use large amounts of memory. We often boosted the jobs to the maximum allowed on our system, that is 128Mg. These will be tuned over time. As the SAS code is protected a way to dynamically change the memory option MEMSIZE was required. Solution to Problem 3. To solve this a JCL SET statement is used to change the memory and region sizes on the fly and pass it into the SAS program. First we use a JCL SET statement: // SET REG='64M' Notice that &REG goes to both REGION and MEMSIZE. //S15A EXEC SAS8,REGION=&REG, // PARM='MEMSIZE=&REG SYSPARM="&DYR&YR&QTR&FLNBR&PY R"' Problem 4. Spanning disk packs Spanning disk packs in an MVS shop running SMS is a rather onerous task. With SAS 6 we had to get create permanent temporary work files on private disk packs and then remove them after the jobs completed. This meant that we were severely limited on the number of jobs we could run simultaneously and other jobs needing the same space were subject to failure. Here s the code that we used with SAS6. All use this DCB and Space info: DCB=(DSORG=PS,RECFM=FS,LRECL=27 648, BLKSIZE=27648), SPACE=(CYL,(3000),RLSE), UNIT=SYSDA, //S01A EXEC PGM=IEFBR14 //********************************************* //* Create temp work space for SAS ** //********************************************* //DD3 DD DSN=NE190,DISP=(,KEEP), // VOL=SER=NESUG010 //DD5 DD DSN=NE190,DISP=(,KEEP), // VOL=SER=NESUG009 //DD6 DD DSN=NE190, // DISP=(OLD,CATLG),UNIT=SYSDA, // VOL=SER=(NESUG010,NESUG009) The NE190 file is then used in the SAS program as shown here: //S15A EXEC SASP,REGION=128M, // PARM= // 'SYSPARM="&DYR&YR&QTR&FLNBR"' //WORK DD DSN=NE190,DISP=(OLD,DELETE) Solution to Problem 4 (NOTE: SAS 8 is needed for this) No IEFBR14 utility is needed for this SAS 8 solution. //S15A EXEC SAS8,REGION=&REG, // PARM='MEMSIZE=&REG SYSPARM="&DYR&YR&QTR&FLNBR&PY R"' The WORK file below spans public disk packs without the pain. //WORK DD UNIT=(SYSDA,3),SPACE=(CYL,(3200,3200 ),RLSE) Problem 5. Reading SAS files from tape. The code we will be examining is used to check that tape SAS library files contain SAS data files with observations. The number of observations is not stored on tape SAS files. For our system this means that we can find out if a SAS data file exists, but we need to read the entire file to determine the number of records it contains. We need to know both.

5 Solution to Problem 5 We need to check that the SAS data file exists and the number of records matches our control numbers. Here is how it is done. Macro EXIST checks that the file exists and CHKSEL provides the rec counts once the file is read. %MACRO EXIST(DSN); %GLOBAL EXIST; %IF &DSN NE %THEN %STR( DATA _NULL_; IF 0 THEN SET &DSN; STOP; RUN; ); %IF &SYSERR=0 %THEN %LET EXIST=YES; %ELSE %LET EXIST=NO; %MEND EXIST; Alternative code for checking the existence of a SAS data file. %Macro IsItRl(DSN); %IF %SYSFUNC(EXIST(&DSN)) %THEN %DO; %PUT &DSN Exists; %END; %ELSE %DO; %put &DSN does not exist; %End; %Mend IsItRl; Run; This program reads in the entire SAS file from tape to disk. The CHKSEL macro provides the record counts. For those of you unfamiliar with SAS dictionary files, they store SAS file information within them. Macro CHKSEL takes advantage of these features. NOTE: The names being passed into the macro must be capitalized. MACRO CHKSEL(LIBNAM,MEMNAM); Proc SQL; Select nobs /*file obs counts*/ Into :reccnt /*macro var*/ From dictionary.tables where libname="&libnam" and memname="&memnam"; Quit; The next section compares the number of observations (&RECCNT) against a control total (&I4RECNT) Data _NULL_; IF &RECCNT = &I4RECnt Then do; End; Else Do; CALL execute('%errabnd1(' "&RECCNT" ')'); End; %MEND CHKSEL ; Read in the new quarterly from tape and test to see if the file exists by using Macro EXIST. %Macro Datanew; %EXIST(I1PHSI.&NAFILE); /* file exist? */ %IF &EXIST =NO %THEN %DO; NO means the SAS data file is not there, print an error report and terminate the job. DATA _NULL_ ; length badfile $ 23; bx="i1phsi.&nafile missing"; /*SAS file does not exist, abend job*/ CALL EXECUTE('%ERRABND4(' bx ')'); %END; %ELSE %DO; /*The file exists*/ /* */ /* SELPATID determines which patid recs -*/ /*- to process from the previous qtrs -*/ /*- New is all data sent to us for the qtr. -*/ /* */ DATA NEW SELPATID (KEEP=PATID); Here is a problem that was encountered using SAS version 8. Notice the drop=origin on the SET statement. It raised havoc with variable labels. SAS Institute issued a zap to correct the problem of 5/18/2000. SET I1PHSI.&NAFILE (rename=(patid=patido ssn_sub=ssn_subo) drop= origin) END=EOF; %END;

6 /* */ /* With tape, the entire file needs to be -*/ /* read and then rec counts compared -*/ /* */ After the complete file is read compare against the control totals %CHKSEL(WORK,SELPATID); %Mend DataNew; Run; %DataNew; Problem 6. Reading SAS 8 files into a SAS 6 session. Early in our testing we did this by accident. If part of your salary is based on the amount of CPU your jobs use, with the more the better, then this is the way to go. We found that our jobs always used the maximum amount of CPU time before the infamous 322 return code appeared and the jobs stopped running. Solution to Problem 6 Don t do this!!!! Conclusion There is a sign over the Chicago Police Department s training facility, it states The more you sweat here, the less you bleed out there. Our motto is The more internal checks you have in your production jobs, the less chance you will be sweating in your boss s office. Writing SAS code to make sure the numbers that are generated are correct, can be tedious and nerve wracking, but in the end it will be worth it. The solutions and suggestions in this paper should make this process less tedious and less nerve wracking for you. REFERENCES: 1. SAS Guide to Macro Processing, Version 6, Second Edition. Pg. 265 CONTACT INFORMATION: Steve Rhoades & Bernie Gardocki IMS HEALTH Inc 660 W. Germantown Pike srhoades@us.imshealth.com bgardocki@us.imshealth.com

Failures under MVS p. 67 General p. 67 JCL Errors p. 68 Syntactical JCL Errors p. 68 Allocation JCL Errors p. 69 ABEND Failures p.

Failures under MVS p. 67 General p. 67 JCL Errors p. 68 Syntactical JCL Errors p. 68 Allocation JCL Errors p. 69 ABEND Failures p. About the Author p. vii Preface p. xv Acknowledgments p. xix Introduction p. 1 Historical Perspective p. 1 JCL Complexity p. 3 Multiprogramming and Virtual Storage p. 4 Data Set Organizations p. 8 Non-VSAM

More information

JCL MOCK TEST JCL MOCK TEST III

JCL MOCK TEST JCL MOCK TEST III http://www.tutorialspoint.com JCL MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to JCL Framework. You can download these sample mock tests at your local

More information

The CA Disk FILES Data Set

The CA Disk FILES Data Set The CA Disk FILES Data Set General Information The FILES Data Set can be of two different organizations. BDAM file called the FILES Data Set (FDS) CA Datacom/AD database called the Files Database (FDB)

More information

Applications Development

Applications Development Paper 48-25 Using Batch MVS SAS To Send Email Via A UNIX Email Server Stephen M. Englert, Dun & Bradstreet Corporation, Murray Hill, NJ ABSTRACT Frequently, there are customers, internal or external to

More information

Your Own SAS Macros Are as Powerful as You Are Ingenious

Your Own SAS Macros Are as Powerful as You Are Ingenious Paper CC166 Your Own SAS Macros Are as Powerful as You Are Ingenious Yinghua Shi, Department Of Treasury, Washington, DC ABSTRACT This article proposes, for user-written SAS macros, separate definitions

More information

* Parameter... 1:18. B Backward References... 5:8 Blocksize: Choosing... 3:19

* Parameter... 1:18. B Backward References... 5:8 Blocksize: Choosing... 3:19 * Parameter... 1:18 A Abnormal Disposition... 2:7 ACB: Access Method Control Block... 11:7 Accounting Information... 1:9, 8:15 ACCT Parameter - Account... 1:15 Allocation and Termination Messages... 1:25

More information

USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST

USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST RANDALL M NICHOLS, Mississippi Dept of ITS, Jackson, MS ABSTRACT The TRANSLATE function of SAS can be used to strip out punctuation

More information

JCL MOCK TEST JCL MOCK TEST IV

JCL MOCK TEST JCL MOCK TEST IV http://www.tutorialspoint.com JCL MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to JCL Framework. You can download these sample mock tests at your local

More information

COMPUTER EDUCATION TECHNIQUES, INC. (JCL ) SA:

COMPUTER EDUCATION TECHNIQUES, INC. (JCL ) SA: In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. 3. Send this assessment with the answers via: a. FAX to (212) 967-3498. Or b. Mail the answers

More information

Data Center Management Systems

Data Center Management Systems Data Center Management Systems The Expert JCL Manager - JED The Future of Automated JCL Management JED Highlights:(Partial list) The JED Process Operating Environments Supported JED Features and Functions

More information

JCL JOB CONTROL LANGUAGE

JCL JOB CONTROL LANGUAGE Mainframe Concepts:- What is Mainframe Difference between Open source Applications and Mainframe Application Where do we use Mainframe Applications Operating System information Resource Access Control

More information

CA JCLCheck Workload Automation CA RS 1408 Service List

CA JCLCheck Workload Automation CA RS 1408 Service List CA JCLCheck Workload Automation 12.0 1 CA RS 1408 Service List Description Type 12.0 RO67958 CAY6020E ON CONTINUED SET WITHIN PROC PTF RO68197 INVALID CAY6035 MESSAGES WITH HASP CONTROL CARDS PTF RO68962

More information

z/os Introduction and Workshop Unix System Services 2009 IBM Corporation 2017 IBM Corporation

z/os Introduction and Workshop Unix System Services 2009 IBM Corporation 2017 IBM Corporation z/os Introduction and Workshop Unix System Services 2009 IBM Corporation Unit Objectives After completing this unit, you should be able to: Understand Unix System Services is a base element Understand

More information

Debug DB2 COBOL stored procedure with IBM Developer for z Systems and IBM Debug for z Systems v14.1

Debug DB2 COBOL stored procedure with IBM Developer for z Systems and IBM Debug for z Systems v14.1 Debug DB2 COBOL stored procedure with IBM Developer for z Systems and IBM Debug for z Systems v14.1 By Olivier Gauneau - IBM IDz support February 16, 2018 1. CONTENTS 1. Pre-requisite... 2 a. JCL Procs...

More information

Text Generational Data Sets (Text GDS)

Text Generational Data Sets (Text GDS) Paper 274-2017 Text Generational Data Sets (Text GDS) Dr. Kannan Deivasigamani HSBC ABSTRACT This paper offers a way to fill the void that SAS currently has with respect to the missing feature in the language,

More information

Macro Magic III. SNUG Presentation (30mins)

Macro Magic III. SNUG Presentation (30mins) Macro Magic III SNUG Presentation (30mins) Overview Macro Magic Posters have been displayed at the last 2 SUGA presentations. Continue the trend Hopefully everyone will learn something new SAS Macro -

More information

Processing VSAM Files Using SAS

Processing VSAM Files Using SAS Processing VSAM Files Using SAS Jim Nipper - Electronic Data Systems Corporation Abstract This paper will demonstrate the ease and flexibility which SAS provides in processing VSAM files. In particular,

More information

Tips & Tricks. With lots of help from other SUG and SUGI presenters. SAS HUG Meeting, November 18, 2010

Tips & Tricks. With lots of help from other SUG and SUGI presenters. SAS HUG Meeting, November 18, 2010 Tips & Tricks With lots of help from other SUG and SUGI presenters 1 SAS HUG Meeting, November 18, 2010 2 3 Sorting Threads Multi-threading available if your computer has more than one processor (CPU)

More information

CA JCLCheck Workload Automation CA RS 1411 Service List

CA JCLCheck Workload Automation CA RS 1411 Service List CA JCLCheck Workload Automation 12.0 1 CA RS 1411 Service List Description Type 12.0 RO73100 INCORRECT MESSAGE CAY6077E FOR EMPTY GDG BASE DSN PTF RO73180 VARIOUS PROBLEMS WITH SOME DFSORT KEYWORDS PTF

More information

CA JCLCheck Workload Automation CA RS 1404 Service List

CA JCLCheck Workload Automation CA RS 1404 Service List CA JCLCheck Workload Automation 12.0 1 CA RS 1404 Service List Description Hiper 12.0 RO62327 INVALID CAY6501 MESSAGE WITH MULTI-VOL DATASET AND NOSMS RO62328 INVALID CAY6501 MESSAGE WITH MULTI-VOL DATASET

More information

Macros are a block of code that can be executed/called on demand

Macros are a block of code that can be executed/called on demand What Are These Macros are a block of code that can be executed/called on demand Global variables are variables that you assign a value to, which can be referenced anywhere within your program. (Leah s

More information

Principles of Automation

Principles of Automation Principles of Automation The Problem Over 200 reports to be run either daily, weekly, or monthly Reports take between 30 minutes and 4 hours of analyst time to run Changes to existing reports and new reports

More information

Dino Explorer. MVS Data Collector for Mainframe Assessment

Dino Explorer. MVS Data Collector for Mainframe Assessment Dino Explorer MVS Data Collector for Mainframe Assessment Index of contents 1 - Introduction...3 2 - The Installation Guide...4 2.1 Step 1 Copy the dxplload.xmit to MVS...4 2.2 Step 2 Receive XMIT file...6

More information

Mainframe Developer NO.2/29, South Dhandapani St, Burkit road, T.nagar, Chennai-17. Telephone: Website:

Mainframe Developer NO.2/29, South Dhandapani St, Burkit road, T.nagar, Chennai-17. Telephone: Website: Mainframe Developer Mainframe Developer Training Syllabus: IBM Mainframe Concepts Architecture Input/output Devices JCL Course Syllabus INTRODUCTION TO JCL JOB STATEMENT CLASS PRTY MSGCLASS MSGLEVEL TYPRUN

More information

Testing and Debugging Your Installation s ACS Routines

Testing and Debugging Your Installation s ACS Routines Testing and Debugging Your Installation s ACS Routines Session 10238 Steve Pryor DTS Software, Inc. 770-922-2444 Automatic Class Selection is Important Implement storage management policy Executed for

More information

SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD

SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD ABSTRACT CODERS CORNER SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD The SAS Macro Facility offers a mechanism

More information

Demystifying Inherited Programs

Demystifying Inherited Programs Demystifying Inherited Programs Have you ever inherited a program that leaves you scratching your head trying to figure it out? If you have not, chances are that some time in the future you will. While

More information

A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys

A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys Richard L. Downs, Jr. and Pura A. Peréz U.S. Bureau of the Census, Washington, D.C. ABSTRACT This paper explains

More information

SAS-USAGE UNDER ROSCOE/ETSO M.H.H. Lange, Centraal Beheer

SAS-USAGE UNDER ROSCOE/ETSO M.H.H. Lange, Centraal Beheer SAS-USAGE UNDER ROSCOE/ETSO M.H.H. Lange, Centraal Beheer Centraal Beheer is an insurance / financing concern. It consists of five divisions: Life Insurances, Damage Insurances, Financing, Private Insurances,

More information

An Introduction to SAS Macros

An Introduction to SAS Macros An Introduction to SAS Macros Expanded token SAS Program (Input Stack) SAS Wordscanner (Tokenization) Non-Macro (Tokens) SAS Compiler % and & Triggers Macro Facility Steven First, President 2997 Yarmouth

More information

IBM Education Assistance for z/os V2R1

IBM Education Assistance for z/os V2R1 IBM Education Assistance for z/os V2R1 Item: In-Stream Data in JCL Procedures and Includes Element/Component: JES3 Material is current as of June 2013 I n Agenda Trademarks Presentation Objectives Overview

More information

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. ABSTRACT The SAS Macro Facility is a tool which lends flexibility to your SAS code and promotes easier maintenance. It

More information

Transporting files between MVS and MVS or between MVS and a Workstation

Transporting files between MVS and MVS or between MVS and a Workstation Transporting files between MVS and MVS or between MVS and a Workstation author: Lionel B. Dyck Revision 1.207 May 07, 2003 If there is a need to transport any file from the IBM MVS computing systems to

More information

Chapter 1 RUNNING A SIMPLE JOB. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 RUNNING A SIMPLE JOB. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 RUNNING A SIMPLE JOB SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: z/os operating system and resource management. The role and functions of JCL. How to code basic JCL

More information

Greenspace: A Macro to Improve a SAS Data Set Footprint

Greenspace: A Macro to Improve a SAS Data Set Footprint Paper AD-150 Greenspace: A Macro to Improve a SAS Data Set Footprint Brian Varney, Experis Business Intelligence and Analytics Practice ABSTRACT SAS programs can be very I/O intensive. SAS data sets with

More information

Creating Macro Calls using Proc Freq

Creating Macro Calls using Proc Freq Creating Macro Calls using Proc Freq, Educational Testing Service, Princeton, NJ ABSTRACT Imagine you were asked to get a series of statistics/tables for each country in the world. You have the data, but

More information

How a Code-Checking Algorithm Can Prevent Errors

How a Code-Checking Algorithm Can Prevent Errors How a Code-Checking Algorithm Can Prevent Errors 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.

More information

1 Files to download. 3 Macro to list the highest and lowest N data values. 2 Reading in the example data file

1 Files to download. 3 Macro to list the highest and lowest N data values. 2 Reading in the example data file 1 2 22S:172 Lab session 10 Macros for data cleaning July 17, 2003 GENDER VISIT HR SBP DBP DX AE = "Gender" = "Visit Date" = "Heart Rate" = "Systolic Blood Pressure" = "Diastolic Blood Pressure" = "Diagnosis

More information

TOP 10 (OR MORE) WAYS TO OPTIMIZE YOUR SAS CODE

TOP 10 (OR MORE) WAYS TO OPTIMIZE YOUR SAS CODE TOP 10 (OR MORE) WAYS TO OPTIMIZE YOUR SAS CODE Handy Tips for the Savvy Programmer SAS PROGRAMMING BEST PRACTICES Create Readable Code Basic Coding Recommendations» Efficiently choosing data for processing»

More information

AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike Zdeb, School of Public Health

AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike Zdeb, School of Public Health AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike Zdeb, University@Albany School of Public Health INTRODUCTION There are a number of SAS tools that you may never have to use. Why? The main reason

More information

Appendix B WORKSHOP. SYS-ED/ Computer Education Techniques, Inc.

Appendix B WORKSHOP. SYS-ED/ Computer Education Techniques, Inc. Appendix B WORKSHOP SYS-ED/ Computer Education Techniques, Inc. 1 ISPF/PDF Environment 1. Log on to ISPF/PDF; different installations have different logon procedures. 1.1. The ISPF/PDF Primary Option Menu

More information

USING EXISTING DATASETS

USING EXISTING DATASETS Chapter 2 USING EXISTING DATASETS SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Coding DD statement parameters for existing datasets. Coding statements for tape datasets. Concatenating

More information

%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables

%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables %Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables Rich Schiefelbein, PRA International, Lenexa, KS ABSTRACT It is often useful

More information

BEARS IMS. Messages and Codes Manual VIO Systems Limited. 1988, 2004 VIO Systems Limited. All rights reserved

BEARS IMS. Messages and Codes Manual VIO Systems Limited. 1988, 2004 VIO Systems Limited. All rights reserved BEARS IMS Messages and Codes Manual VIO Systems Limited Version: 03.6 Revision: 1st September 2004 Product Number: VIO-002 Manual Ref: BRS-04-013 1988, 2004 VIO Systems Limited. All rights reserved Page

More information

Optimizing System Performance

Optimizing System Performance 243 CHAPTER 19 Optimizing System Performance Definitions 243 Collecting and Interpreting Performance Statistics 244 Using the FULLSTIMER and STIMER System Options 244 Interpreting FULLSTIMER and STIMER

More information

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ Paper CC16 Smoke and Mirrors!!! Come See How the _INFILE_ Automatic Variable and SHAREBUFFERS Infile Option Can Speed Up Your Flat File Text-Processing Throughput Speed William E Benjamin Jr, Owl Computer

More information

Functions and CALL Routines

Functions and CALL Routines 179 CHAPTER 13 Functions and CALL Routines Functions and CALL Routines in the OS/390 Environment 179 Dictionary 180 DINFO 182 DOPEN 186 DOPTNAME 186 DOPTNUM 187 FCLOSE 188 FDELETE 188 FEXIST 189 FILEEXIST

More information

Paper DM07. An Animated Guide: Comparing Files without Proc Compare Alejandro Jaramillo (Data Means Corp) and Russ Lavery contractor

Paper DM07. An Animated Guide: Comparing Files without Proc Compare Alejandro Jaramillo (Data Means Corp) and Russ Lavery contractor Paper DM07 An Animated Guide: Comparing Files without Proc Compare Alejandro Jaramillo (Data Means Corp) and Russ Lavery contractor ABSTRACT This paper provides an easy to understand SAS-based programmed

More information

Amie Bissonett, inventiv Health Clinical, Minneapolis, MN

Amie Bissonett, inventiv Health Clinical, Minneapolis, MN PharmaSUG 2013 - Paper TF12 Let s get SAS sy Amie Bissonett, inventiv Health Clinical, Minneapolis, MN ABSTRACT The SAS language has a plethora of procedures, data step statements, functions, and options

More information

z/osmf User Experience - z/osmf in a Sysplex

z/osmf User Experience - z/osmf in a Sysplex z/osmf User Experience - z/osmf in a Sysplex Doug Henry U S Bank Doug.Henry@usbank.com (262) 790 3556 August 8, 2012 Session Number 11837 USBank Environment 6 Sysplexes Running z/os V1R13 4 Z196 s and

More information

* BDBF can extract data from MXG (Merrill's Expanded Guide to CPE, a product of Merlill

* BDBF can extract data from MXG (Merrill's Expanded Guide to CPE, a product of Merlill USING MACRO VARIABLE LISTS Presented at the Pittsburgh SAS USer's Group, November 19, 1987 Ken Whitaker Duquesne Systems Inc. ABSTRACT A macro variable list is a SAS macro variable that contains a list

More information

OS Utilities. Here is a chart of action words and parameters and a list of rules for ten frequently used OS Utilities:

OS Utilities. Here is a chart of action words and parameters and a list of rules for ten frequently used OS Utilities: OS Utilities Here is a chart of action words and parameters and a list of rules for ten frequently used OS Utilities: Reminder: Continuation cards for utility control statements (read from the SYSIN DD)

More information

An Introduction to SAS Macros Steven First, Systems Seminar Consultants, Madison, WI

An Introduction to SAS Macros Steven First, Systems Seminar Consultants, Madison, WI Paper 153-26 An Introduction to SAS Macros Steven First, Systems Seminar Consultants, Madison, WI Abstract The SAS programming language has a rich tool-box of features that can offer a lot of power to

More information

//PSWDGEN EXEC PGM=RAIPWG //STEPLIB DD DISP=SHR,DSN=&RAILOAD //SYSTSPRT DD SYSOUT=* //SYSIN DD

//PSWDGEN EXEC PGM=RAIPWG //STEPLIB DD DISP=SHR,DSN=&RAILOAD //SYSTSPRT DD SYSOUT=* //SYSIN DD Appendix P Updating Product Passwords A CPU password is required to install and operate Relational Architects International (RAI) products on either a trial or permanent basis. The jobstream described

More information

Sandra Hendren Health Data Institute

Sandra Hendren Health Data Institute INTRODUCTION TO THE MACRO LANGUAGE Sandra Hendren Health Data Institute The purpose of this paper is to explain the macro language at a conceptual level. It will not discuss the syntax of the language

More information

ICD_CLASS SAS Software User s Guide. Version FY Prepared for: U.S. Centers for Disease Control and Prevention

ICD_CLASS SAS Software User s Guide. Version FY Prepared for: U.S. Centers for Disease Control and Prevention ICD_CLASS SAS Software User s Guide Version FY 2015 Prepared for: U.S. Centers for Disease Control and Prevention Prepared by: Center for Healthcare Policy and Research University of California, Davis

More information

CHAPTER 7 Using Other SAS Software Products

CHAPTER 7 Using Other SAS Software Products 77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80

More information

Rexx Power Tools - The PARSE Command

Rexx Power Tools - The PARSE Command Rexx Power Tools - The PARSE Command Session 11751 August 7, 2012 Thomas Conley Pinnacle Consulting Group, Inc. (PCG) 59 Applewood Drive Rochester, NY 14612-3501 P: (585)720-0012 F: (585)723-3713 pinncons@rochester.rr.com

More information

Taking advantage of the SAS System on OS/390

Taking advantage of the SAS System on OS/390 Taking advantage of the SAS System on OS/390 Dave Crow Where I m from ---> Final: DUKE 77 UNC 75 The SAS System for OS/390! Getting started with Web Access! What s new in V8 and 8.1 of SAS! What s coming:

More information

Incrementing Year Fields in Flat Files to Test Year 2000 Compliance Brian Bouvier, Fireman's Fund Insurance Company, Novato, CA.

Incrementing Year Fields in Flat Files to Test Year 2000 Compliance Brian Bouvier, Fireman's Fund Insurance Company, Novato, CA. Incrementing Year Fields in Flat Files to Test Year 2000 Compliance Brian Bouvier, Fireman's Fund Insurance Company, Novato, CA ABSTRACT One critical task to ensure correct handling of dates.in the 21"

More information

Using a Harness to control execution

Using a Harness to control execution On LinkedIn in July 2018 a question was raised as to the possibility of controlling the execution of a Job Step from within a COBOL program. The case presented was of a three step job where the second

More information

CA Disk Backup and Restore CA RS 1602 Service List

CA Disk Backup and Restore CA RS 1602 Service List CA Disk Backup and Restore 12.5 1 CA RS 1602 Service List Description Type 12.5 RO85979 ADD LIBRARY TO LLA FOR DC650 UPDATES PTF RO86373 CREATE ENQ/DEQ HOOK FOR DMSAR PTF RO86766 ADD DSN TO MESSAGE 4106

More information

Installation. Existing XPAF customers. Customers migrating from HFDL

Installation. Existing XPAF customers. Customers migrating from HFDL Revision Date: October 12, 2011 Page 2 Installation This section includes information about installing the XPAF software which includes the XPAF Forms Generator (XFG). Existing XPAF customers Existing

More information

Advanced Job Control Language

Advanced Job Control Language What is JCL... 1 The Job Stream... 2 JCL Statements... 3 JCL Operations... 6 The JOB Statement... 7 The JOBPARM Statement... 9 EXERCE 1... 10 The EXEC Statement... 11 Dummy EXEC steps... 12 EXERCE 2...

More information

z/os CSI International 8120 State Route 138 Williamsport, OH

z/os CSI International 8120 State Route 138 Williamsport, OH z/os Software Solutions CSI International 8120 State Route 138 Williamsport, OH 43164-9767 http://www.csi-international.com (800) 795-4914 - USA (740) 420-5400 - Main Operator (740) 333-7335 - Facsimile

More information

Write SAS Code to Generate Another SAS Program A Dynamic Way to Get Your Data into SAS

Write SAS Code to Generate Another SAS Program A Dynamic Way to Get Your Data into SAS Paper 175-29 Write SAS Code to Generate Another SAS Program A Dynamic Way to Get Your Data into SAS Linda Gau, Pro Unlimited @ Genentech, Inc., South San Francisco, CA ABSTRACT In this paper we introduce

More information

SmartIS. What is SmartIS? Product Description

SmartIS. What is SmartIS? Product Description SmartIS Product Description What is SmartIS? SmartIS is a Smart Information System designed for today s mainframe data centers. SmartIS automatically collects and correlates data from the areas of: Operations

More information

Identifying Duplicate Variables in a SAS Data Set

Identifying Duplicate Variables in a SAS Data Set Paper 1654-2018 Identifying Duplicate Variables in a SAS Data Set Bruce Gilsen, Federal Reserve Board, Washington, DC ABSTRACT In the big data era, removing duplicate data from a data set can reduce disk

More information

Session:17701 Multi-Row Processing Coding it in COBOL

Session:17701 Multi-Row Processing Coding it in COBOL Session:17701 Multi-Row Processing Coding it in COBOL Paul Fletcher IBM 7th October 2009 14.15-15.15 Platform:z/OS DB2 V8 promoted Multi-Row processing as one of the major performance enhancements, you

More information

//JOBNAME JOB //STEPNAME EXEC //DDNAME DD //* comment - upper or lower case /*...end of JCL stream

//JOBNAME JOB //STEPNAME EXEC //DDNAME DD //* comment - upper or lower case /*...end of JCL stream Uni Hamburg Mainframe Summit z/os The Mainframe Operating Chapter 6: Using Job Control Language (JCL) and System Display and Search Facility (SDSF) Anhang 1 JCL und SDSF Michael Großmann IBM Technical

More information

IBM Education Assistance for z/os V2R1

IBM Education Assistance for z/os V2R1 IBM Education Assistance for z/os V2R1 Line item: Dynamic SYSDSN ENQ Downgrade Element/Component: BCP Allocation Material is current as of June 2013 Agenda Trademarks Presentation Objectives Overview Usage

More information

Now Available in z/os V2R2 JES3: OUTDISP

Now Available in z/os V2R2 JES3: OUTDISP Now Available in z/os V2R2 JES3: OUTDISP David Jones IBM JES3 Development August 12, 2015 Session 17599 at 4:30 5:30 PM Trademarks The following are trademarks of the International Business Machines Corporation

More information

Performance Considerations

Performance Considerations 149 CHAPTER 6 Performance Considerations Hardware Considerations 149 Windows Features that Optimize Performance 150 Under Windows NT 150 Under Windows NT Server Enterprise Edition 4.0 151 Processing SAS

More information

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing

More information

Chapter 13. Synchronizing secondary index databases with a DEDB with FPA

Chapter 13. Synchronizing secondary index databases with a DEDB with FPA Chapter 13. Synchronizing secondary index databases with a DEDB with FPA Use the Resync function of FPA to synchronize secondary index databases with their primary DEDB database. Topics: v Functions of

More information

SAS Institute Exam A SAS Advanced Programming Version: 6.0 [ Total Questions: 184 ]

SAS Institute Exam A SAS Advanced Programming Version: 6.0 [ Total Questions: 184 ] s@lm@n SAS Institute Exam A00-212 SAS Advanced Programming Version: 6.0 [ Total Questions: 184 ] Question No : 1 The report will not successfully run and will produce an error message in the log. What

More information

Vsam Error Return Code 160

Vsam Error Return Code 160 Vsam Error Return Code 160 Search. 24. VSAM CATALOG RETURN CODE IS 56 Search. 25. VSAM COMMANDS 42. VSAM ERROR CODE 108 Search. 43. VSAM ERROR CODE 160. ***IF THE REGISTER 15 RETURN CODE IS AVAILABLE,

More information

masc-ato Automated Transaction Operator General Information *** VSE/MVS Version 4.1.0

masc-ato Automated Transaction Operator General Information *** VSE/MVS Version 4.1.0 masc-ato Automated Transaction Operator General Information *** VSE/MVS Version 4.1.0 MATO-GI410-2-E Distributor: masc ag Dept. SWD Birkenstr. 49 CH-6343 Rotkreuz (Switzerland) Telephone: 041 / 790 53

More information

Mainframe Developer & Admin Training in Chennai

Mainframe Developer & Admin Training in Chennai Mainframe Developer & Admin Training in Chennai Training in Greens Technology provides 100% real-time, practical and placement focused Mainframe Developer training in Chennai. Our Mainframe Developer course

More information

Going Under the Hood: How Does the Macro Processor Really Work?

Going Under the Hood: How Does the Macro Processor Really Work? Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts

More information

Sample Questions. SAS Advanced Programming for SAS 9. Question 1. Question 2

Sample Questions. SAS Advanced Programming for SAS 9. Question 1. Question 2 Sample Questions The following sample questions are not inclusive and do not necessarily represent all of the types of questions that comprise the exams. The questions are not designed to assess an individual's

More information

MVS/QuickRef - Tailoring QW

MVS/QuickRef - Tailoring QW MVS/QuickRef - Tailoring QW Speaker Name: Chuck Davis Speaker Company: Chicago-Soft, Ltd. Date of Presentation: February 5, 2013 Session Number: 12489 cdavis@quickref.com Planned topics include - 1 of

More information

capabilities and their overheads are therefore different.

capabilities and their overheads are therefore different. Applications Development 3 Access DB2 Tables Using Keylist Extraction Berwick Chan, Kaiser Permanente, Oakland, Calif Raymond Wan, Raymond Wan Associate Inc., Oakland, Calif Introduction The performance

More information

Taming a Spreadsheet Importation Monster

Taming a Spreadsheet Importation Monster SESUG 2013 Paper BtB-10 Taming a Spreadsheet Importation Monster Nat Wooding, J. Sargeant Reynolds Community College ABSTRACT As many programmers have learned to their chagrin, it can be easy to read Excel

More information

How to Modernize the IMS Queries Landscape with IDAA

How to Modernize the IMS Queries Landscape with IDAA How to Modernize the IMS Queries Landscape with IDAA Session C12 Deepak Kohli IBM Senior Software Engineer deepakk@us.ibm.com * IMS Technical Symposium Acknowledgements and Disclaimers Availability. References

More information

Initializing and Configuring the SAS System

Initializing and Configuring the SAS System 3 CHAPTER 1 Initializing and Configuring the SAS System Invoking SAS in the OS/390 Environment 4 Invoking SAS under TSO: the SAS CLIST 4 Invoking SAS in Batch Mode: the SAS Cataloged Procedure 5 Logging

More information

zenterprise zenteprise Usage Scenarios

zenterprise zenteprise Usage Scenarios zenterprise zenteprise Usage Scenarios Unit 5-1 This page intentionally left blank 2 Unit 5-2 Outside-In and Inside-Out Think of yourself as z/os on the z196 as the center of zenterprise. Then think about

More information

Uni Hamburg Mainframe Summit 2010 z/os The Mainframe Operating. Part 6 z/os Concepts

Uni Hamburg Mainframe Summit 2010 z/os The Mainframe Operating. Part 6 z/os Concepts Uni Hamburg Mainframe Summit 2010 z/os The Mainframe Operating Part 6 z/os Concepts Redelf Janßen IBM Technical Sales Mainframe Systems Redelf.Janssen@de.ibm.com Course materials may not be reproduced

More information

Beginning Tutorials DATE HANDLING IN THE SAS SYSTEM. Bruce Gilsen, Federal Reserve Board

Beginning Tutorials DATE HANDLING IN THE SAS SYSTEM. Bruce Gilsen, Federal Reserve Board DATE HANDLING IN THE SAS SYSTEM Bruce Gilsen, Federal Reserve Board 1. Introduction A calendar date can be represented in the SAS system as a SAS date value, a special representation of a calendar date

More information

What s New in SYSTEM 2000 Software for Version 1

What s New in SYSTEM 2000 Software for Version 1 What s New in SYSTEM 2000 Software for Version 1 SYSTEM 2000 Development and Technical Support E-mail: s2k@sas.com SAS Publishing The correct bibliographic citation for this manual is as follows: SAS Institute

More information

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY PharmaSUG 2014 - Paper BB14 A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY ABSTRACT Clinical Study

More information

IBM. IBM Software Manufacturing Solutions. Attached to this memorandum: Summary of Changes. List of Program Material. Installation Instructions.

IBM. IBM Software Manufacturing Solutions. Attached to this memorandum: Summary of Changes. List of Program Material. Installation Instructions. IBM To: Licensees of Transaction Processing Facility Version 4 Subject: Program Number 5748-T14 Release 1, Modification Level 00 Features 5831, 5832, 5702 The material you have received is listed on the

More information

The Magnificent Do. Paul M. Dorfman. SAS Consultant Jacksonville, FL

The Magnificent Do. Paul M. Dorfman. SAS Consultant Jacksonville, FL The Magnificent Do Paul M. Dorfman SAS Consultant Jacksonville, FL Q.: What is the DO statement in SAS NOT intended for? Doing all kinds of weird stuff with arrays Creating a perpetuum mobile Saving programming

More information

IBM. MVS JCL User's Guide. z/os. Version 2 Release 3 SA

IBM. MVS JCL User's Guide. z/os. Version 2 Release 3 SA z/os IBM MVS JCL User's Guide Version 2 Release 3 SA23-1386-30 Note Before using this information and the product it supports, read the information in Notices on page 285 This edition applies to Version

More information

How to Setup MTO/JCL Spooler Housekeeping Facility for Enterprise Server

How to Setup MTO/JCL Spooler Housekeeping Facility for Enterprise Server How to Setup MTO/JCL Spooler Housekeeping Facility for Enterprise Server Overview You can configure your enterprise server so when your region starts a CICS transaction called JCL1 runs automatically to

More information

The Piecewise Regression Model as a Response Modeling Tool

The Piecewise Regression Model as a Response Modeling Tool NESUG 7 The Piecewise Regression Model as a Response Modeling Tool Eugene Brusilovskiy University of Pennsylvania Philadelphia, PA Abstract The general problem in response modeling is to identify a response

More information

AP13 Why Write a Macro? Then Again, Why Not? John W. Davison, Jr., Factotum Inc., Leesburg, VA

AP13 Why Write a Macro? Then Again, Why Not? John W. Davison, Jr., Factotum Inc., Leesburg, VA AP13 Why Write a Macro? Then Again, Why Not? John W. Davison, Jr., Factotum Inc., Leesburg, VA ABSTRACT One of the most useful SAS tools for designing and programming applications is the SAS macro language.

More information

A SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes

A SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes A SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes Brian E. Lawton Curriculum Research & Development Group University of Hawaii at Manoa Honolulu, HI December 2012 Copyright 2012

More information

Text Generational Data Sets (TextGDS)

Text Generational Data Sets (TextGDS) (TextGDS) Macro ABSTRACT ICLICK TO EDIT) MACRO - OPERATION Offers a way to create GDG like structure for Text files using SAS in Linux & Unix environment Allows users to point to current or historical

More information

ICD_CLASS SAS Software User s Guide. Version FY U.S. Centers for Disease Control and Prevention. Prepared for:

ICD_CLASS SAS Software User s Guide. Version FY U.S. Centers for Disease Control and Prevention. Prepared for: ICD_CLASS SAS Software User s Guide Version FY 2016 Prepared for: U.S. Centers for Disease Control and Prevention Prepared by: Center for Healthcare Policy and Research, University of California, Davis

More information