Know Your Sources – Decoding Inputs / Outputs of any SAS Program

Know Your Sources –
Decoding Inputs / Outputs
of any SAS Program
Sandeep Juneja
SAS Institute Inc., Cary, NC ,USA
Copyright © 2011, SAS Institute Inc. All rights reserved.
Agenda
 Understand Problem
 Solution Design
 Solution Components Introduction
 SAS Drug Development (SDD)
 Job Log Manifest (jlgxml)
 XML Mapper
 Solution Implementation Process
 Questions
2
Copyright © 2011, SAS Institute Inc. All rights reserved.
Problem:
 No Consistent way of knowing the Input(s) / Output(s) of
any source program
 No Standard way to generate Traceability Matrix with
Input(s) / Output(s) of source program(s)
 No way to carry out Impact Analysis of any program(s)
update(s)
3
Copyright © 2011, SAS Institute Inc. All rights reserved.
Solution Design:
 Generate Traceability Matrix (TM) with Source Program
and their Input(s) / Output(s)
 If available, capture the version number of various
Input(s) / Output(s)
 Use Traceability Matrix to analyze impact of any revision
/ update to one / multiple source program(s) / output(s)
4
Copyright © 2011, SAS Institute Inc. All rights reserved.
Solution Design:
 Job Log Manifest (jlgxml) in SAS Drug Development
(SDD).
 SDD provides versioning functionality. It lets you
maintain multiple version(s) of the file.
 Job Log Manifest contains information about various
input(s) / output(s) along with their versioning
information.
5
Copyright © 2011, SAS Institute Inc. All rights reserved.
Introduction: SAS Drug Development
 SAS Drug Development provides a common repository
for data, files, and documents and is 21 CFR Part 11
compliant.
 Web-based user interface and a set of integrated Java
applications enable you to easily perform the following
tasks:
 organize and browse information
 manage and analyze data
 create reports manually and automatically
 maintain reliable information to meet regulatory guidelines
6
Copyright © 2011, SAS Institute Inc. All rights reserved.
Introduction: Job Log Manifest
 XML file which contains information about
 Input (s) / Output(s)
 Folder(s) / File(s)
 Source Program(s) / Dataset(s)
 Version Number of the Source Program(s) / Dataset(s)
 Log text (optional)
7
Copyright © 2011, SAS Institute Inc. All rights reserved.
Introduction – XML Mapper
•• SAS
XML Mapper
is a Java-based
Graphicalof
User
Interface
Represents
top-down
hierarchy
XML
Represents
Element
Name
• (GUI)
Represents
SAS
dataset
name
&
variable
application that allows users to generate an XML Map
elements
and
its attributes
• by
Represents
Element
Path
drag-and-drop
interface.
names
Copyright © 2011, SAS Institute Inc. All rights reserved.
8
SDD Source Program with Input(s) / Output(s)
9
Copyright © 2011, SAS Institute Inc. All rights reserved.
SDD Source Program with Input(s) / Output(s)
Input /
Output
Type
File/
Folder
Variable
Name
File Name(s) (Version)
Comments
Input
File
InputFile
Support.sas (1)
Include
file(s)
Input
Folder
Folder
Convertdemog.sas (2),
mac1.sas
Macro Files
Input
Folder
Folder3
Demo.sas7bdat (3),
fube.sas7bdat (1),
support2.sas (1)
Data Files
Input
Folder
FmtFolder
Nicsah1.sas7bcat
Format
Catalog
Output
Folder
Folder2
Demo_newunits.sas7bd
at (14)
Data
Folder
Output
File
File
Testme.pdf (22)
PDF File
Output
File
File2
Rtfoutput.rtf
RTF File
10
Copyright © 2011, SAS Institute Inc. All rights reserved.
Extracting Source File Information
Copyright © 2011, SAS Institute Inc. All rights reserved.
Extracting Folder(s) Information
12
Copyright © 2011, SAS Institute Inc. All rights reserved.
Reconcile Information
Input
Input///Output
Output
Output Type
Type
Type
Input
Input
Input
Input
Input
Input
Input
File/
File/Folder
Folder
Folder
File/
Variable
VariableName
Name
Name
Variable
InputFile
InputFile
InputFile
Input
Input
Input
File
File
File
Folder
Folder Folder
Folder
Folder
Folder
Folder
Folder Folder3
Folder3
Folder3
Folder
Input
Input
Input
Output
Output
Output
Folder
Folder
Folder
Folder
Folder
Folder
FmtFolder
FmtFolder
FmtFolder
Folder2
Folder2
Folder2
Output
Output
Output
Output
Output
Output
File
File
File
File
File
File
File
File
File
File2
File2
File2
File
FileName(s)
Name(s)
Name(s)(Version)
(Version)
(Version)
File
Comments
Comments
Comments
Support.sas
Support.sas(1)
(1)
(1)
Support.sas
Convertdemog.sas
Convertdemog.sas(2),
(2),
(2),mac1.sas
mac1.sas
mac1.sas
Convertdemog.sas
Include
Includefile(s)
file(s)
file(s)
Include
Macro
MacroFiles
Files
Files
Macro
Demo.sas7bdat
Demo.sas7bdat(3),
(3),
(3),fube.sas7bdat
fube.sas7bdat
fube.sas7bdat(1),
(1),
(1),
Demo.sas7bdat
support2.sas
support2.sas(1)
(1)
(1)
support2.sas
Nicsah1.sas7bcat
Nicsah1.sas7bcat
Nicsah1.sas7bcat
Data
DataFiles
Files
Files
Data
Demo_newunits.sas7bdat
Demo_newunits.sas7bdat(14)
(14)
(14)
Demo_newunits.sas7bdat
Testme.pdf
Testme.pdf(22)
(22)
(22)
Testme.pdf
Rtfoutput.rtf
Rtfoutput.rtf
Rtfoutput.rtf
Format
FormatCatalog
Catalog
Catalog
Format
Data
DataFolder
Folder
Folder
Data
PDF
PDFFile
File
File
PDF
RTF
RTFFile
File
File
RTF
13
Copyright © 2011, SAS Institute Inc. All rights reserved.
Generate Traceability Matrix
 Use ExcelXP Tagset to generate Excel File
 Capture JobLog,Source Files, Input(s) / Output(s) along with their
version(s) and location information.
Copyright © 2011, SAS Institute Inc. All rights reserved.
14
Impact Analysis
 Dataset Demo.sas7bdat is input to which program(s)?
15
Copyright © 2011, SAS Institute Inc. All rights reserved.
Conclusion
 This process provides
 Traceability Matrix
 Better control over the updates
 Ability to carry out Impact Analysis
 Controlled Environment
16
Copyright © 2011, SAS Institute Inc. All rights reserved.
Questions
17
Copyright © 2011, SAS Institute Inc. All rights reserved.
Copyright © 2011, SAS Institute Inc. All rights reserved.