User Interfaces Made Easy With SAS Stored Processes Tim Broeckert Systems Seminar Consultants Madison, WI User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 1 What is a SAS Stored Process? SAS Program Stored Process (called by web/client applications) SAS Metadata User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 2 What is a SAS Stored Process? What does the metadata define? • How the SAS program will be executed • How inputs/outputs will be handled • Basic layout for the user interface User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 3 Defining a SAS Stored Process • Define Metadata in SAS Management Console (SMC) or Enterprise Guide (EG) • Requirements - SAS Metadata server/repository - SAS Application Server(s) User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 4 Execution Metadata User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 5 Execution Metadata Cont. • App Server • Server Type - Stored Process Server - Workspace Server • Source Code Location • Result Capabilities - Stream - Package User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 6 Parameter Metadata User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 7 Parameter Prompts • Associated with program macro variables • Varying data types • Prompt Method - User provided - Static/dynamic lists • Number of values to be selected • Variable constraints • Default value User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 8 Parameter Groups • All prompts are assigned to a group • Standard Group • Transparent Group • Selection Group - Static List Values • Sub prompt members associated to each value User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 9 STP Example Interface User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 10 General Prompt Metadata User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 11 Prompt Details User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 12 Multiple Value Handling User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 13 Date Range Prompts User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 14 Date Value Handling User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 15 Dynamic Dropdowns User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 16 Dynamic Dropdown Dependencies User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 17 Selection Groups User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 18 Managing Data Quality User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 19 Output Parameters Pass macro variables/values back to client User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 20 Data Sources & Targets User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 21 Source Metadata Example • Allow the client application to pass in data - Define the content type & fileref in metadata - Refer to fileref and &_webin_sasname in program User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 22 Metadata Security • Stored Processes reside in a SAS Folder defined in the metadata - ReadMetadata provides access to run stored processes - Users must also have appropriate metadata permissions to data accessed by the stored process User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 23 SAS Program Considerations • % GLOBAL <input parms>; • *ProcessBody; - Set input parms • %STPBEGIN;/%STPEND; - Standaradized ODS handling • Input data validation User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 24 Stored Process Interfaces • Enterprise Guide • MS Office (via SAS add-in) • Information Delivery Portal • Web Report Studio • Custom Built Web Applications User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 25 Stored Process Pro’s & Con’s • Provides a universal user interface which allows users to execute a tightly managed process • UI is easily created/maintained • Only minor program changes req’d • UI functionality has limitations • Requires BI infrastructure User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 26 Additional Resources • Developer’s Guides • 9.1.3 http://support.sas.com/rnd/itech/doc9/dev_guide/stprocess/ • 9.2 http://support.sas.com/documentation/cdl/en/stpug/61271/HT ML/default/viewer.htm 9.3 http://support.sas.com/documentation/cdl/en/stpug/62758/PD F/default/stpug.pdf User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 27 Contact Information SAS® Training, Consulting, & Support (608) 278-9964 www.sys-seminar.com admin@sys-seminar.com 2997 Yarmouth Greenway Drive Madison, WI 53711 User Interfaces Made Easy with SAS Stored Processes | Systems Seminar Consultants, Inc. 28