© OCS Consulting 1 SAS Macro Version Control Jim Groeneveld, OCS Consulting, Rosmalen, the Netherlands. 066-2007 – SGF 2007.

Slides:



Advertisements
Similar presentations
Introduction to parameter optimization
Advertisements

11-Jun-14 The assert statement. 2 About the assert statement The purpose of the assert statement is to give you a way to catch program errors early The.
Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely P J Human Resources Pte Ltd presents:
Official; Crown Copyright 2014; Released under OGL XML Schema Maintenance Debbie Wilson, Peter Parslow Geographic Information Architects May 2014.
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
1 Microsoft Access 2002 Tutorial 9 – Automating Tasks With Macros.
Spyder Re-flash 2.0 How-To
Chapter 3 Loaders and Linkers
© OCS Biometric Support 1 MedDRA data as SAS formats Jim Groeneveld, OCS Biometric Support, Leiden, the Netherlands. SGF 170 –2009 SAS Global Forum 2009.
Chapter 5: Common Support Problems
Unit 1 Living in the Digital WorldChapter 4 – Smart Working This presentation will cover the following topics: Software choices Name:
Achieving Distributed Extensibility and Versioning in XML Dave Orchard W3C Lead BEA Systems.
CS 330 Programming Languages 10 / 14 / 2008 Instructor: Michael Eckmann.
CS 330 Programming Languages 10 / 11 / 2007 Instructor: Michael Eckmann.
1 Generics and Using a Collection Generics / Parameterized Classes Using a Collection Customizing a Collection using Inheritance Inner Classes Use of Exceptions.
© OCS Biometric Support 1 Updating an MS SQL database from SAS Jim Groeneveld, OCS Biometric Support, ‘s Hertogenbosch, Netherlands. PhUSE 2010 – CC04.
Chapter 18: Modifying SAS Data Sets and Tracking Changes 1 STAT 541 ©Spring 2012 Imelda Go, John Grego, Jennifer Lasecki and the University of South Carolina.
Backward Compatibility WG Charter -Monitor MPI3.0 activity to determine each proposals' impact on MPI 2.x users and code base. -The goal is to provide.
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
Linux Operations and Administration
© OCS Consulting The flexible extension to your IT team 1 Jim Groeneveld, OCS Consulting, ´s Hertogenbosch, Netherlands. PhUSE 2011 Comparing dataset metadata.
By Anthony W. Hill & Course Technology1 Common End User Problems.
© OCS Consulting The flexible extension to your IT team 1 Embedding equivalence t-test results in Bland Altman Plots visualising rater reliability Jim.
Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely presents:
Open MPI Project June 2015 Updated Version Numbering Scheme and Release Planning.
G.Sirri – INFN Bologna videconf /14 Fiducial Mark Finding with ESS  Lateral Mark Finding [FlexMapX]: Recommended release 42b ( )
1 st December 2003 JIM for CDF 1 JIM and SAMGrid for CDF Mòrag Burgon-Lyon University of Glasgow.
An Environment for Matlab Analysis of DAQ Data from the 9ma Experiments Ned Arnold October 2009.
How to install Office 2007  Step 1: Insert the Microsoft Office 2007 Enterprise CD. If the Setup Wizard does not automatically begin, then click Start.
Tutorial 5 Windows and Frames Section B - Working with Frames and Other Objects Go to Other Objects.
1 ADVANCED MICROSOFT WORD Lesson 14 – Editing in Workgroups Microsoft Office 2003: Advanced.
Acceptance criteria vs. Functional requirements by Anna Dąbrowska.
© OCS Biometric Support 1 SAS macro %_COUNT_ Jim Groeneveld, OCS Biometric Support, Leiden, the Netherlands. CC01 – PhUSE 2008.
Overview of PVSS 3.6 Oliver Holme IT-CO. 16/11/2006JCOP Project Team Meeting New features in 3.6 New Installer for PVSS on Windows New Qt User Interface.
National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Ergo User Tutorial - Part 3 NCSA, UIUC.
6 th Annual Focus Users’ Conference 6 th Annual Focus Users’ Conference Import Testing Data Presented by: Adrian Ruiz Presented by: Adrian Ruiz.
© OCS Biometric Support 1 APPEND, EXECUTE and MACRO Jim Groeneveld, OCS Biometric Support, ‘s Hertogenbosch, Netherlands. PhUSE 2010 – CC05 PhUSE 2010.
March 2006 Copyright, 2006 Oxford Consulting, Ltd C++ Templates Templates F Part of the ongoing development of the C++ language F Integral part.
© 2007 OPNET Technologies, Inc. All rights reserved. OPNET and OPNET product names are trademarks of OPNET Technologies, Inc. An Open Source ARM 4 Implementation.
Deploying Software with Group Policy Chapter Twelve.
National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Ergo User Tutorial - Part 3 NCSA, UIUC.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
Security Issues with PHP  PHP installation  PHP programming Willa Zhu & Eugene Burger.
Navigation and Ancillary Information Facility NIF SPICE Toolkit Common Problems November 2014.
1 P. Chu 1 Adapting XAL for LCLS EPICS Meeting, Vancouver Adapting XAL for LCLS Paul Chu - SLAC May 1, 2009.
Building Packages BCIS 3680 Enterprise Programming.
How to sort the “Order Information report” from the service “Print Acquisitions Records acq-03” Yoel Kortick.
May 2015 New version numbering proposal. Where this proposal started from… Odd / even scheme doesn’t seem to be working well  Most users only using even.
A Git Workflow Model Slides produced from blog by Vincent Driessen and secondary posting at The.
Defensive Programming. Good programming practices that protect you from your own programming mistakes, as well as those of others – Assertions – Parameter.
VMware Certified Professional 6-Data Center Virtualization Beta 2V0-621Exam.
ACT-R 6.0 Software Updates Summer ‘09 – Summer ‘10 Dan Bothell Carnegie Mellon University
A new file format Lesson 3 By the end of this lesson you will be able to complete the following: Save workbooks in the new Excel file formats.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Travel Modelling Group Technical Advisory Committee
Archiving and Document Transfer Utilities
Software Packaging and Releasing
Working with files from earlier versions
Releases and developments
Quicken 2018 Support Team More info :
Quicken Issues With Capital One
How to Import Data to Newer Version of Quicken
Assignment 4 For this assignment refer to the notes on MATLAB from an MIT course that you can find here (or at the original website, lectures 14, 15, 16).
Spreadsheets, Modelling & Databases
Lecture 17: Web Service and post
Ensuring Name Uniqueness
(presentor: jee-weon Jung)
Defensive Programming
Presentation transcript:

© OCS Consulting 1 SAS Macro Version Control Jim Groeneveld, OCS Consulting, Rosmalen, the Netherlands – SGF 2007

© OCS Consulting 2 SAS Macro Version Control CONTENTS Numbering, fixes, adds, new bugs Backwards (in)compatibility Version control: stopping version Running version: backward supp. Backward call, version distribution Main version distribution macro Distributing macro advantages

© OCS Consulting 3 SAS Macro Version Control Numbering, fixes, adds, new bugs Major.Minor.Patch[.Build] number; develop from 0.0.0; 1 st release 1.0.0; newer versions may fix bugs and add features, are backwards compatible; newer versions may have new bugs or may not be backwards compatible; archive programs with versions used, prevent running them with newer vs..

© OCS Consulting 4 SAS Macro Version Control Backwards (in)compatibility Backwards incompatibility: changed or removed arguments; changed parameter defaults; changed or removed parameter values with specific meanings; changed parameter functionality. Best to avoid backwards incompatibility.

© OCS Consulting 5 SAS Macro Version Control Version control: stopping version Version argument with vs number:, Version = 2.7.3k /* current vs */ Process user specified version value: %IF (&Version NE &CurVs) %THEN %DO; %PUT *** &MacName *** &ERR: Specified vs. &Version does not match &CurVs; %GOTO Finish; %* Do not run this vs.; %END; %* User fetches older macro;

© OCS Consulting 6 SAS Macro Version Control Running version: backward support Alternative actions with backward incompatibilities: reproduce behaviour of older macro; support outdated argument names; control system that automatically fetches and uses older/any version: backward call, version distribution!!! Programs validated with older versions.

© OCS Consulting 7 SAS Macro Version Control Backward call, version distribution Based on other version control system: unique, numbered file and macro name for each version, e.g. ‘macro201’; directly called by numbered name. Backward call, version distribution: last version also has numbered name; distributing macro has main name; numbered versions support stopping.

© OCS Consulting 8 SAS Macro Version Control Main version distribution macro version argument (all versions); main supports _all_ arguments of older versions by way of PARMBUFF option; version parameter value is determined dependent on user specified version the right macro version is called with user specified &SYSPBUFF parameters; no version specification: last version. %AnyMacro(Data=_LAST_, Version=1.0.1a);

© OCS Consulting 9 SAS Macro Version Control Distributing macro advantages no need for explicit support of arglist; only user specified parameters passed; main has knowledge about versions; slight adaptation if new macro version; a version nr may represent compatible ones of which the newest is chosen; default (no vs spec) always newest vs; any version callable at any time.

© OCS Consulting 10 Questions and Answers QUESTIONS & ANSWERS

© OCS Consulting 11 Q&A : origin Origin of presentation experience with writing and validating standard SAS macros; collection of encountered and invented ideas on recommendations; observed weaknesses in (macro) program code in practice; felt need to improve quality of code; the need to keep older (validated) macro versions available.