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.