Moving MXG off the Mainframe. Why move MXG? n If MXG is the only SAS usage on the mainframe the SAS license cost on a per user basis can be very high.

Slides:



Advertisements
Similar presentations
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Advertisements

An End-User Perspective On Using NatQuery Extraction From two Files T
Utilizing the GDB debugger to analyze programs Background and application.
Operating-System Structures
An End-User Perspective On Using NatQuery Building a Dynamic Variable T
1 Appendix A: Writing and Submitting SAS ® Programs A.1 Writing and Submitting SAS Programs.
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
HORIZONT 1 ProcMan ® The Handover Process Manager Product Presentation HORIZONT Software for Datacenters Garmischer Str. 8 D München Tel ++49(0)89.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
SQL Reporting Services Overview SSRS includes all the development and management pieces necessary to publish end user reports in  HTML  PDF 
 Contents 1.Introduction about operating system. 2. What is 32 bit and 64 bit operating system. 3. File systems. 4. Minimum requirement for Windows 7.
Portable Software. This program will explain what portable software is, how it can be used, and where it can be found. This is an advanced level technology.
® IBM Software Group © 2003 IBM Corporation How to Download and Install RMC 7.5 David Trent RMC Product Manager.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
Into to SAS ®. 2 List the components of a SAS program. Open an existing SAS program and run it. Objectives.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Chapter 13: Sharing Printers on Windows Server 2008 R2 Networks BAI617.
Lesson 9 Windows Management
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
1 Chapter 3: Macro Definitions 3.1 Defining and Calling a Macro 3.2 Macro Parameters 3.3 Macro Storage (Self-Study)
Ch 71 Using ATTRIB, SUBST, XCOPY, DOSKEY, and the Text Editor.
This presentation will guide you though the initial stages of installation, through to producing your first report Click your mouse to advance the presentation.
Chromium OS is an open-source project that aims to build an operating system that provides a fast, simple, and more secure computing experience for people.
Copyright © 2006, SAS Institute Inc. All rights reserved. Enterprise Guide 4.2 : A Primer SHRUG : Spring 2010 Presented by: Josée Ranger-Lacroix SAS Institute.
Chapter 2: Working with Data in a Project
System Calls 1.
FireRMS SQL Audit, Archiving & Purging Presented by Laura Small FireRMS Quality Assurance.
To Compress or not to Compress? Chuck Hopf. What is your precious? Gollum says every data center has something that is precious or hard to come by –CPU.
Chapter Three Designing The File System. Chapter Objectives Describe the components of the NetWare file system Describe the purpose of each NetWare-created.
SMART Agency Tipsheet Staff List This document focuses on setting up and maintaining program staff. Total Pages: 14 Staff Profile Staff Address Staff Assignment.
Offline Performance Monitoring for Linux Abhishek Shukla.
Tutorial 11 Installing, Updating, and Configuring Software
Divide and Conquer: Dealing with 140GB of SMF Data Daily Chuck Hopf Merrill Consultants
Hands-On Virtual Computing
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
Cobian Backup 7 Tutorial Welcome to Cobian Backup 7. This tutorial will show you how to install the program, configure it and create your first scheduled.
Miscellaneous Excel Combining Excel and Access. – Importing, exporting and linking Parsing and manipulating data. 1.
Network Management Tool Amy Auburger. 2 Product Overview Made by Ipswitch Affordable alternative to expensive & complicated Network Management Systems.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Chapter 6 SAS ® OLAP Cube Studio. Section 6.1 SAS OLAP Cube Studio Architecture.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
SAS Efficiency Techniques and Methods By Kelley Weston Sr. Statistical Programmer Quintiles.
1 Back Up with Each Submit One approach for keeping a dynamic back up copy of your current work.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
5/30/2010 SAS Macro Language Group 6 Pradnya Nimkar, Li Lin, Linsong Zhang & Loc Tran.
Operating Systems COMP 4850/CISG 5550 File Systems Files Dr. James Money.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
JCL Day 2. 2 Copyright © 2005, Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Agenda for Day 2  DD statement  Syntax  Parameters  Procedures.
MXG Tools and Usage Chuck Hopf.
1 How to Quickly Customize your PC SAS Session PhilaSUG GSK October 27, 2004 Mary Anne Rutkowski Kathy Harkins Senior Statistical Programming Analysts.
Chapter 1: Overview of SAS System Basic Concepts of SAS System.
Copyright © 2010, SAS Institute Inc. All rights reserved. SAS ® Using the SAS Grid.
FTP COMMANDS OBJECTIVES. General overview. Introduction to FTP server. Types of FTP users. FTP commands examples. FTP commands in action (example of use).
Based on Learning SAS by Example: A Programmer’s Guide Chapters 1 & 2
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
1 Lesson 9 Windows Management Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
JPMorganChase1 Care and Feeding of SMF in a Large System Environment Joe Babcock.
SAS ® 101 Based on Learning SAS by Example: A Programmer’s Guide Chapters 14 & 19 By Tasha Chapman, Oregon Health Authority.
Hints and Tips SAUSAG Q SORTING – NOUNIQUEKEY The NOUNIQUEKEY option on PROC SORT is a useful way in 9.3 to easily retain only those records with.
Introduction to InVEST ArcGIS Tool
© 2002, Cisco Systems, Inc. All rights reserved.
Chapter 2: System Structures
Creating an Oracle Database
Using a set-up file to read ASCII data into SPSS
Lecture 4 : Windows 7 By MSc. Manar Joundy Hazar 2017
Lesson 9 Windows Management
Inovonics Wireless Corporation
Stata Basic Course Lab 2.
Presentation transcript:

Moving MXG off the Mainframe

Why move MXG? n If MXG is the only SAS usage on the mainframe the SAS license cost on a per user basis can be very high – One customer with a and 409 have annual costs of 160,000 – The cost of upgrading the 407 to a 409 is 50,000 for the upgrade and an increase of 16,000 in the annual fee n The cost of an ASCII license (Windows or LINUX) is much lower n If you have a small CEC and can limit SAS to that CEC you may be able to mitigate that cost somewhat n The BUILDPDB process often runs more quickly on a healthy PC than on zOS – zOS typically is managing many more tasks than the PC – SAS multi-threads better on ASCII

Why Move MXG? n Reporting in ASCII SAS is more ‘robust’ than on zOS – Creating graphs on zOS can be done but can be complex – Can also be extremely memory intense – Is simplest with access to USS file structures n The interfaces to the PC tools your customer uses (EXCEL, PDF, etc) are simpler n Multiple ‘jobs’ can be running on ASCII against the same SAS data libraries – LOCKING on zOS is at the LIBNAME level – on ASCII it is at the SAS dataset level

An example- zOS n Processing 5901MB of SMF data n zOS 2828-S04 SAS 9.3 – Elapsed time - 1:13:16 – CPU Time - 0:41:24 – Big Data step0:54:02 elapsed time – Remaining steps 0:19:14 elapsed time

An Example Windows 8.1 Remote SMF n Windows 8.1 Intel I7 2.5 Ghz SAS GB memory n Processing 5901MB of SMF data n FTP access method used from 2000 miles away n Elapsed Time - 2:14:24 – CPU Time- 0:26:08 – Big Data Step2:11:40 – Remaining Steps0:02:24

An Example – SMF on Local Disk n Windows 8.1 Intel I7 2.5 Ghz SAS GB memory n Processing 5901MB of SMF data n Data downloaded via FTP – 2 hours n Elapsed Time - 0:07:51 – CPU Time- 0:06:51 – Big Data Step0:05:23 – Remaining Steps0:02:28

At Another Site Locally Connected n 31GB of data to a Win 6.2 Server n SMF data was read at 3768KB/second n Elapsed Time - 3:15:51 – Big Data Step- 2:24:30 – Remaining Steps- 0:51:21

How Quickly It Will Run n Depends on the speed – Of the connection to the data – Of the processor – Of the disk drives

An Example n PDB size on zOS – Uncompressed bytes 5849M – Compressed bytes 2720M n PDB size on Windows – Uncompressed bytes 6301M – Compressed bytes 2949M – 8% larger than on zOS - YMMV

What pieces of SAS do I need? n You do NOT need a server license or enterprise guide though both will work – they are just not necessary but you do want a dedicated machine since SAS can easily ‘takeover’ most PCs n BASE – absolutely required n GRAPH – not required assuming you keep current and are at 9.3 or higher of SAS since ODS provides graphics capability n ACCESS – may be convenient to at least have the interfaces to PC files (EXCEL WORD etc.) n STAT – perhaps if you want to use some of those procedures n Others – not required by MXG

How Much Space Do I Need? n Use the space on zOS and add 10% as a start n To find the size run this code: – %VMXGSIZE; – PROC SORT;BY LIBNAME MEMNAME; – PROC PRINT; – BY LIBNAME; – SUMBY LIBNAME; – VAR MEMNAME BYTES COMPBYTE; – SUM BYTES COMPBYTE; – The SUM of COMPBYTE for the PDB is the size to use. n As usual – ‘It depends’ – How many days of data do you want to keep? – How much detail data? – How much to keep weekly/monthly? – Do you really need all of those variables n Do you have any devices? Didn’t think so.

Dropping Variables – An Example n For every dataset created by MXG there is an _Kxxxxxx exit that can be used to add or drop variables %LET MACKEEP=%QUOTE( MACRO _KTY30U4 DROP=EXCP3330 IOTM3330… % ); %INCLUDE SOURCLIB(TYPE30);

What about managing the data? n On zOS smart users are using GDGs and letting the operating system manage retention of data n GDGs are a ‘foreign’ concept on ASCII systems n MXG provides macros that allow you to manage directories on disk drives using dates in the directory names – You can specify the number of days/weeks/months of data to keep – You can specify the date format to use in building the directories – Detail CICS and DB2ACCT can be directed to different drives if desired – More on this later

Getting Started n Identify the platform to be used and install SAS n Download and install MXG – A single ZIP file contains the entirety of MXG – Does not have to be on the C drive – can be on any drive including a network drive – You will need (at least) 3 directories n SOURCLIB – MXG source n USERID – your USER mods n FORMATS – FORMAT library n Download your USERID.SOURCLIB – Step 1 – JCLZERO – Step 2 – Download results of JCLZERO – Step 3 - IEBUPDTE

My Personal Preference n I add a CHANGES directory to the SOURCLIB concatenation n Changes that are needed between production releases go into this directory and are then cleared out when the new production release is installed n Simplifies maintenance

JCLZERO //STEP1 EXEC SAS //USERID DD DSN=USERID.SOURCLIB,DISP=SHR //OUTFILE DD DSN=USERID.SOURCLIB,DISP=(,CATLG), // SPACE=(CYL,(10,10),RLSE) //SYSIN DD * PROC SOURCE INDD=USERID OUTDD=OUTFILE;

IEBUPDTE Inside a SAS session: %LET IN_DIR=D\;  Directory where you downloaded output of JCLZERO %LET IEBFILNM=IEBUPDTE.MXG; <- NAME of downloaded file %LET OUT_DIR=c:\userid <- directory for your USERID.SOURCLIB %INCLUDE ‘C:\MXG\SOURCLIB\IEBUPDTE.SAS’; This runs a SAS program that emulates IEBUPDTE and unloads your downloaded USERID.SOURCLIB into a directory with member names of xxxxxxxx.sas where xxxxxxxxxx is the member name in your USERID.SOURCLIB.

Editing Members n Any text editor will do n My preference is SPFPC n But Notepad/Wordpad or any other will do – just be careful of line numbers

Build your AUTOEXEC.SAS Choose the AUTOEXEC member in the SOURCLIB appropriate to your OS – AUTOEXEC – Windows AUTOEXEU – LINUX These lines need to be changed to point at your MXG directories /* REQUIRED FILENAME/LIBNAME FOR MXG SOURCE, FORMAT, LOCATIONS */ FILENAME SOURCLIB ('C:\MXG\USERID' 'C:\MXG\SOURCLIB'); LIBNAME LIBRARY 'C:\MXG\FORMATS';

Build Your AUTOEXEC Delete these lines – they will be handled later /* 1. TO READ DOWNLOADED Z/OS SMF DATA FROM ASCII DISK FILE AND TO */ /* ALWAYS HAVE AN INFILE SMF POINTING TO AN SMF FILE FOR TESTING: */ FILENAME SMF 'C:\MXG\SMFDATA\SMFSMALL.U' RECFM=S370VBS LRECL=32760 BLKSIZE=32760; /* 2. TO READ CONCATENATED DOWNLOADED SMF FILES, USE THIS SYNTAX FILENAME SMF ( 'C:\MXG\SMFDATA\SMFSMALL.U' 'C:\MXG\SMFDATA\SMFSMAL2.U' ) RECFM=S370VBS LRECL=32760 BLKSIZE=32760; */ /* 3. TO USE FTP ACCESS METHOD TO READ SMF DATA WITHOUT DOWNLOAD: FILENAME SMF FTP ("'SYS1.SMF'" "'SYS2.SMF'"... ) USER='XXXXXX' HOST='YYYYYYY' DEBUG S370VS RCMD='SITE RDW' LRECL=32760 PASS='XXXXXXXX'; NOTE: IF YOUR SMF DATA IS ON TAPE, YOU SHOULD USE: RCMD='SITE RDW READTAPEFORMAT=S' */ LIBNAME PDB 'C:\MXG\PDB'; LIBNAME CICSTRAN 'C:\MXG\CICSTRAN'; LIBNAME SPIN 'C:\MXG\SPIN'; LIBNAME DB2ACCT 'C:\MXG\DB2ACCT ';

Build Your AUTOEXEC n Save in your USERID SOURCLIB n Create an MXG shortcut – Copy the SAS shortcut on your desktop – Add to the properties: n -autoexec ‘your userid sourclib\autoexec.sas' – Rename to MXG – Change the ICON if you wish

Now See If It Works Click on your MXG shortcut – SAS should start and you should see something like this in the SASLOG – if you don’t there is a problem with your AUTOEXEC: WELCOME TO MXG SOFTWARE, FROM MERRILL CONSULTANTS, DALLAS, TEXAS TECH SUPPORT: MXG DATED NOV 25, 2015 HAS BEEN INITIALIZED. NOTE: Fileref= SOURCLIB Physical Name= D:\CHANGES Physical Name= D:\V3312

Setting up daily/weekly/monthly Jobs n You could use your existing BUILDPDB job but… n We recommend using a combination of UTILBLDP and BLDSMPDB – UTILBLDP allows you to add data to the BUILDPDB process – UTILBLDP allows you to REMOVE data from the BUILDPDB Process – BLDSMPDB can run daily/weekly/monthly all in one job – BLDSMPDB allows you to ‘trim’ datasets from weekly/montly jobs – BLDSMPDB invokes VMXGALOC to automatically create and manage PDB libraries

SAS Macros n MXG uses many SAS macros to drive this process. Very few use positional parameters but instead use symbolics n The rules for coding macro calls are simple n %macroname(parameter1=x,parameter2=y); n %macroname causes SAS to look in the AUTOCALLs file and if it finds a member of that name that defines a macro of the same name compiles it n Parameters are separated by commas except for the final one specified which concludes the call with a );

SAS Macros n There can also be macros with positional parameters separated by commas but they are rarely used in MXG and then only for macros that are ‘hidden’ in the source that you are not expected to use.

A Note about large datasets n Many sites have routed CICSTRAN/DB2ACCT and other large datasets to tape on zOS. n That is not an option on ASCII and is not really needed n All data can be directed to PDB or kept separately if desired n Locking on ASCII is at the SAS dataset level rather than the LIBNAME level as it is on zOS so multiple datasets can be pointed at the same LIBNAME without an issue

Using UTILBLDP n UTILBLDP is a SAS MACRO driven by parameters that replaces the need to create the old EXPDB*** members in your USERID.SOURCLIB n You can add data n You can remove data n You can set datasets to 0 OBSERVATIONS n You can specify things to be included after BUILDPDB n You can suppress things automatically included

UTILBLDP Important Parameters n OUTFILE=INSTREAM – where to send the generated SAS code – though INSTREAM is not the default it is what is recommended n BUILDPDB=YES to invoke BUILDPDB – A value of NO suppresses BUILDPDB and can be used to read multiple SMF record types in a single pass of the SMF dataset n USERADD= records to be added to the PDB for IBM records with a value LE 128 all that is needed is the record number. For others the record type followed by the record number as HSM/251 to include TYPEHSM with a record ID of 251

UTILBLDP Important Parameters n SUPPRESS – a list of records to be suppressed that will not be placed in the PDB – for examples SUPPRESS=74 78 would suppress the type 74 and 78 RMF data n ZEROOBS – a list of types of data to be places in the PDB with 0 observations (rarely used)

UTILBLDP – Documentation/Example n Many other parameters are documented in the MXG SOURCLIB member UTILBLDP n Add the TYPE6156 data to the PDB along with HSM and suppress the TYPE74 data %UTILBLDP( BUILDPDB=YES, USERADD=6156 HSM/251, SUPPRESS=74, OUTFILE=INSTREAM );

UTILBLDP – Generated SAS Code SOURCE CODE CREATED BY UTILBLDP /**********************************************************/ /* COPYRIGHT 1999,2015 MERRILL CONSULTANTS DALLAS TX USA */ /* THIS SYSIN WAS CREATED BY UTILBLDP AT CHANGE */ %LET MACKEEP=%QUOTE( /*MXG STRONGLY RECOMMENDS PUTTING THE FOLLOWING*/ /*MACRO DEFINITIONS FOR THE ID MACROS IN YOUR */ /*USERID.SOURCLIB(IMACKEEP) MEMBER, RATHER THAN*/ /*IN THE SYSIN INPUT, SO THEY ARE ALWAYS DEFINED*/ MACRO _IDHSMDS 251 % MACRO _CDE74 IF 99 = -99 THEN RETURN; % /* MXGWARN: ONE OR MORE OF THE RMF RECORDS NEEDED */ /* MXGWARN: BY RMFINTRV HAS BEEN SUPPRESSED. SOME */ /* MXGWARN: FIELDS MAY BE EMPTY IN RMFINTRV. */ /* MXGWARN: SUPPRESSED RECORDS ARE: 74 */ MACRO _S74 %

UTILBLDP – Generated SAS Code MACRO _VARUSER /* USER SMF _VAR DEFINITIONS */ _VAR6156 _VARHSM _VAR113 % MACRO _CDEUSER /* USER SMF _CDE DEFINITIONS */ _CDE6156 _CDEHSM _CDE113 % ); %LET EPDBOUT=%QUOTE( _S6156 _SHSM _S113 );

UTILBLDP – Generated SAS Code %LET EPDBINC=%QUOTE( VMAC6156 VMACHSM VMAC113 ); %LET PTY74=&MXGWORK; /* NO OUTPUT */ %LET PTY74CA=&MXGWORK; /* NO OUTPUT */ %LET PTY74CF=&MXGWORK; /* NO OUTPUT */ %LET PTY74CO=&MXGWORK; /* NO OUTPUT */ %LET PTY74LK=&MXGWORK; /* NO OUTPUT */ %LET PTY74ME=&MXGWORK; /* NO OUTPUT */ %LET PTY74OM=&MXGWORK; /* NO OUTPUT */ %LET PTY74PA=&MXGWORK; /* NO OUTPUT */ %LET PTY74ST=&MXGWORK; /* NO OUTPUT */ %LET PTY74SY=&MXGWORK; /* NO OUTPUT */ %LET PTY74TD=&MXGWORK; /* NO OUTPUT */ %LET PTY746B=&MXGWORK; /* NO OUTPUT */ %LET PTY746F=&MXGWORK; /* NO OUTPUT */ %LET PTY746G=&MXGWORK; /* NO OUTPUT */

UTILBLDP – Generated SAS Code /* NOW RUN BUILDPDB */ %INCLUDE SOURCLIB(BUILDPDB); /* ADDITIONAL CODE INCLUSIONS */ %INCLUDE SOURCLIB(ASUM113); %INCLUDE SOURCLIB(ASUMUOW); /* RECOMMENDED */ %INCLUDE SOURCLIB(ASUMCICX); /* RECOMMENDED */ %INCLUDE SOURCLIB(ASUM70PR); /* RECOMMENDED */ %INCLUDE SOURCLIB(ASUMTAPE); /* RECOMMENDED */ %INCLUDE SOURCLIB(ASUMTMNT); /* RECOMMENDED */ %INCLUDE SOURCLIB(ASUMTALO); /* RECOMMENDED */ %INCLUDE SOURCLIB(ASUMDBAA); /* RECOMMENDED */ RUN;

UTILBLDP – Generated SAS Code MACRO _VARUSER _VARUSER % MACRO _CDEUSER _CDEUSER % %LET MACKEEP=; %LET EPDBOUT=; %LET EPDBINC=; %LET EPDBCDE=; %LET EPDBVAR=; %LET MACDB2H=; %LET MAC110H=; %LET MACFILE=; OPTIONS OBS= ; %LET DONEANALID= ; MACRO _CDE74 _CDE74 % MACRO _S74 _S74 % /* USER SMF RECORD CLEAR _CDE _VAR MACROS */ MACRO _VAR6156 _VAR6156 % MACRO _CDE6156 _CDE6156 % MACRO _S6156 _S6156 % MACRO _VARHSM _VARHSM % MACRO _CDEHSM _CDEHSM % MACRO _SHSM _SHSM % MACRO _VAR113 _VAR113 % MACRO _CDE113 _CDE113 % MACRO _S113 _S113 %

AD-Hoc Read of Multiple SMF Types n Assume you need the and 74 records for an analysis of IO FILENAME SMF FTP ("‘your daily smf tape dsn'") USER=‘userid' HOST=‘IP address of zOS' DEBUG S370VS LRECL=32760 PASS=‘password‘ RCMD='SITE RDW READTAPEFORMAT=S‘; %UTILBLDP(BUILDPDB=NO, USERADD= , OUTFILE=INSTREAM ); %INCLUDE INSTREAM ;

BLDSMPDB – AUTOALOC Parameters n AUTOALOC=YES – invokes VMXGALOC to automatically create and manage SAS data libraries – almost like a GDG on zOS n BASEDIR=C:\MXG – but can be any drive/directory you choose – this where the directories will be created n BASECICS=C:\MXG – as above can be anywhere you choose – this is the destination for CICSTRAN n BASEDB2=C:\MXG – as above the destionation for DB2ACCT n IF BASECICS/BASEDB2 are left blank they will default to the same destination as BASEDIR

BLDSMPDB – AUTOALOC Parameters n DATEFMT – yymmdd probably makes the most sense datefmt=date the format of the date value that is imbedded in the directory names. valid values are: mmddyy - length can be 6 8 or 10 mmddyy6 produces mmddyy8 produces mmddyyn8 produces ddmmyy - length can be 6 8 or 10 julian - length can be 5 or 7 yymmdd - length can be 6 8 or 10 date - default value of date7.

BLDSMPDB – Directory Names n Assume you used BASEDIR=C:\MXG and DATEFMT=YYMMDD6 – Daily directories Dyymmdd – where date is the date of the data so if you ran today it would be today-1 – Weekly directories Wyymmdd – where date is the beginning of the week – Monthly directories Myymmdd – where date is the first of the month – Trend directories – Tyymmdd – where date is the date the TREND was run – SPIN directories – Syymmdd – where the date matches the DAILY

BLDSMPDB – AUTOALOC Parameters n WEEKSTRT=MON – start weeks on this day of the week – MON has always been the MXG default but it can be any day of the week n How many generations to keep? DAY2KEEP=14 or as many as you like CICSKEEP=14 DB2KEEP=14 WEK2KEP=12 MTH2KEP=100

BLDSMPDB – Parameters n RUNDAY=YES – run the daily process – NO – do not run DAILY (used for recovery of WEEK/MONTH) – PDB – write only to PDB with no DAILY/WEEKLY processing n RUNWEEK=YES – run the weekly process – NO – do not run weekly – WTD – run week-to-date n RUNMNTH=YES – run the monthly process – NO – do not run monthly – MTD – run month-to-date n RUNTRND=WEEKLY – run TRENDing when WEEK is run – NO – do not run TRENDing – DAILY – run with DAILY job

BLDSMPDB Parameters n WEEKKEEP=_ALL_ - KEEP all datasets in daily PDB at WEEK level – Or a list of datasets to keep n WEEKDROP=SPIN: SPUN: - DROP these datasets at WEEK level – Or a list of datasets to drop n MNTHKEEP=_ALL_ - KEEP all datasets in WEEK1 at MONTH level – Or a list of datasets to keep n MNTHDROP=SPIN: SPUN: - DROP these datasets at MONTH level – Or a list of datasets to drop

BLDSMPDB Parameters n There are many other parameters available to control the way BLDSMPDB executes n There is documentation of all in the BLDSMPDB member of the MXG SOURCLIB n UTILBLDP/BLDSMPDB can also be used on zOS – AUTOALOC parameters will be ignored

BLDSMPDB Parameters n BUILD=BUILDPDB – your BUILDPDB code – If you used OUTFILE=INSTREAM in UTILBLDP then make it BUILDPDB=INSTREAM – If you want to use the code you had as SYSIN for your job on zOS and it is a member of your USERID.SOURCLIB then BUILDPDB=YOURCODE

UTILCPLG – Copy the LOG/LIST dataset n Copies the LOG and LIST of the SAS session n %UTILCPLG(OUTDIR=directory); n Embeds the date and time in the dataset name so that you can see the LOG/LIST output of your jobs

BLDSMPDB Example n Assume you have mapped a network drive on your SAN to M with a directory named MXG as the destination for the data n Assumes you used UTILBLDP and default values for other things n This is the ONLY job you need FILENAME SMF FTP ("‘your daily smf tape dsn'") USER=‘userid' HOST=‘IP address of zOS' DEBUG S370VS LRECL=32760 PASS=‘password‘ RCMD='SITE RDW READTAPEFORMAT=S‘; %UTILBLDP(OUTFILE=INSTREAM,BUILDPDB=YES,USERADD=HSM/251); %BLDSMPDB(BUILDPDB=INSTREAM,WEEKSTRT=MON, RUNDAY=YES,RUNWEEK=YES,RUNMNTH=YES,RUNTRND=WEEKLY, BASEDIR=M:\MXG,BASECICS=,BASEDB2=,AUTOALOC=YES); %UTILCPLG(OUTDIR=M:\mxg);

Setting up the job n Copy your MXG shortcut and add: -SYSIN ‘c:\mxg\userid\yourjob.sas’ -LOG ‘c:\mxg\yourjob.log.txt’ -PRINT ‘C:\mxg\yourjob.list.txt’ n Test the job by clicking on the new shortcut – it will run in the background n Add to a schedule – there are several options – Use the Windows scheduler based on time of day – If you have scheduling software that interfaces between zOS and ASCII then build a schedule based on the creation of the daily SMF data

Setting up the job n Could also be setup as a BAT file n Just copy the shortcut properties into a BAT file and make the same additions as shown above n I have always found shortcuts simpler

What about reruns? n FORCEDAY= forces the run date and allocates the correct LIBNAMES for that day. This is the day of the DATA NOT the day of the run. So if there was a problem with the job that ran on Jan 27 to rerun you would specify Jan 26. – Can be 26JAN16 (SAS date format) – Or TODAY()-x where x is the number of days to go back

Allocating LIBNAMEs for Ad-Hoc Reporting n If all you need is the current set of LIBNAMEs re-execute VMXGALOC with READONLY=YES if you do not want changes made n You may want to put VMXGALOC in your IMACINIT so that the current LIBNAMEs are always allocated n VGETALOC will allocate a range of dates for reporting. n LIBNAMES PDB1-PDBx will be allocated allowing you to exploit VMXGSET to get all of the data – DATA STEPS; – %VMXGSET(DATASET=STEPS);

VGETALOCUsage n GETDATERANGE= – A range of SAS date values separated by spaces n DATEFORMAT= – The date format you used in VMXGALOC n TYPEOFDATA= – Daily Weekly Monthly CICS DB2 n BASEDIR= – The basedir you used in VMXGALOC

Sample Program UsingVGETALOC/VMXGSET %VGETALOC(BASEDIR=E:\, DATEFORMAT=YYMMDD, DATERANGE=01jan16 31jan16, TYPEOFDATA=WEEKLY ); DATA STEPS; %VMXGSET(DATASET=STEPS);

VMXGSET n Also works on zOS but uses VGETDDS to find the DDNAMEs n %VGETDDS(DDNAMES=PDB:) will find all of the DDNAMEs allocated with a DDNAME of PDBx where x is a number from 1-99 n Adding DEFER=YES to the VMXGSET call will allow UNIT=AFF in the JCL to limit tape drive usage

The more things change… n The more they change n MXG is constantly being modified/enhanced/repaired n Stay current with the CHANGES published at MXG.COM n Putting in a new version is not particularly onerous (depending on the amount of change control paperwork you may have to perform.)