ABSTRACT INTRODUCTION %CODE MACRO DEFINITION
|
|
- Florence Floyd
- 8 years ago
- Views:
Transcription
1 Generating Web Application Code for Existing HTML Forms Don Boudreaux, PhD, SAS Institute Inc., Austin, TX Keith Cranford, Office of the Attorney General, Austin, TX ABSTRACT SAS Web Applications typically involve HTML forms that provide a front-end for SAS programming code. The forms involved could be created with 2 nd party web page development tools (ex. FrontPage or Dreamweaver) or by directly hand-coding HTML form tags. In any case, these forms will generate name/value pair output that will need to be handled by SAS code. This paper presents a SAS macro that helps automate the process of developing the necessary SAS code. By using a document containing an html form as input, this macro will generate a code template of SAS macros for handling any potential name/value pair output for use within either a SAS/IntrNet or a SAS9 Stored Process Web Application. INTRODUCTION The two main coding components of a typical SAS Web Application are the HTML form tags that constitute the application s front-end and the Macro-level SAS processing code that utilizes the output from that form. This investigation assumes that a well-formed HTML document containing a form preexists and that an application developer is in a position to begin developing the associated macro-level SAS processing code to handle the output from that form. This paper presents a SAS macro named %code that assists in the creation of that code. The macro is designed to parse HTML form elements out of an HTML document, check for potential single name/value or multiple name/value output, and generate a file containing the necessary macro-level SAS code needed to process that output. The code generated by %code is only an initial start-point template; nevertheless it will reduce the amount of time and effort needed to begin to develop either a SAS/IntrNet or a SAS9 Stored Process Web Application. %CODE MACRO DEFINITION The %code macro is defined with a set of named parameters: htmlfile, and codefile. The first parameter contains the name of the input HTML document. It has been given a default value of form.html. This text document is assumed to exist, contain HTML form tags, and follow HTML v4 or XHTML syntax conventions. The codefile parameter consists of the name of the text file that will contain the SAS macro code needed to check the output for the form found within the HTML document. It has been given a default value of code.sas. The subsequent subsections list the rest of the macro definition broken down into functional code segments. %macro code(htmlfile=form.html, codefile=code.sas) ; SECTION 1 LOAD AND PARSE THE FORM TAGS The first section of code reads the form tags from within the htmlfile source file and creates a SAS data set named FORM_TAGS. The code is designed to load each line of the source file, examine each character from that line, and extract out complete HTML tags. At the point that the final character of any tag is detected, the tag is written to the log and the first word of the tag is examined and it is determined if either a select tag, a textarea tag, or an input tag has been found. These tags constitute the form elements that would generate output, and only these tags are output into the FORM_TAGS data set. *** Section 1 ********************** ; *** Load and Parse the Form Tags *** ; data FORM_TAGS(keep = tag type name tag_n) ; length tag $ 80 ; length c $ 1 ; length type name tag_1 $ 9 ; retain tag " " addtotag 0 ; infile "&htmlfile" truncover ; input line $ ; * for each input line ; name_pt = '/[Nn][Aa][Mm][Ee] *[=] *["'!! ']([^"'!! ']*)["'!! ']/' ; 1
2 type_pt = '/[Tt][Yy][Pp][Ee] *[=] *["'!! ']([^"'!! ']*)["'!! ']/' ; name_id = prxparse(name_pt) ; * id to find name value ; type_id = prxparse(type_pt) ; * id to find type value ; do i = 1 to length(line)+1 ; * examine each char/line ; c = substr(line,i,1) ; * extract a single char ; select ; when (c EQ '<') do ; * start of html tag ; tag = "<" ; * reset var tag ; addtotag = 1 ; * set flag to concat to tag ; when (c EQ '>') do ; * end of html tag ; tag = trim(tag)!!">" ; * end tag with > ; tag = tranwrd(tag,"'",'"') ; * single to double quotes ; tag = tranwrd(tag,"!_blank_"," ") ; * set blanks back ; put "***** " tag ; * write tag to SAS log ; tag_1 = lowcase(scan(tag,1,"< >")) ; * find 1st word in tag ; select (tag_1) ; * select on 1st word ; when ("select","textarea") do ; * if select or textarea ; type = tag_1 ; * 1st word is type value ; mtch = prxmatch(name_id,tag) ; * find the name value ; name = prxposn(name_id,1,tag) ; tag_n + 1 ; * +1 for form tag count ; output ; * output to SAS dataset ; when ("input") do ; * if input tags ; mtch = prxmatch(type_id,tag) ; * find the type value ; type = lowcase(prxposn(type_id,1,tag)) ; mtch = prxmatch(name_id,tag) ; * find the name value ; name = prxposn(name_id,1,tag) ; if type in ("radio","checkbox", "text","hidden") then do ; tag_n + 1 ; * +1 for form tag count ; output ; * output to SAS dataset ; otherwise ; addtotag = 0 ; * set flag to stop concat ; when (addtotag EQ 1) do ; if c in (' ', '\n') then tag = trim(tag)!!"!_blank_" ; * concat!_blank_ on tag or ; else tag = trim(tag)!!c ; * concat c on tag ; otherwise ; * c is not part of a tag of ; * interest - do not use it ; SECTION 2 - CHECKING FOR SINGLE OR MULTIPLE NAME/VALUE OUTPUT When writing the macro code needed to check the output from a form, it is necessary to determine if a form element will possibly generate a single name/value or multiple name/value pairs. This process starts by counting the number of values associated with each name and element type. These counts are saved in a variable named count within a SAS data set called FORM_OUTPUT. This SAS data set is then reread through a DATA step to search for multiple values within a given element name. This is checked by looking at the value of count and considering what type of form element is involved. If count is greater than one but the form element involved is a radio button group, then only a single name/value pair is output. On the other hand, all selection lists are, by default, assumed to generate multiple name/values. An indicator variable name mult_value holds the results of this check. This DATA step also looks for 2
3 name reuse between elements. Two elements that by themselves would only produce a single name/value pair could generate multiple name/value pairs if they happen to share the same element name. Consider the example of a form where a textarea and a hidden field are both named note. Checking for name reuse is accomplished by testing that the names associated with the counts are unique. An indicator variable named name_reuse holds the results of this determination. Then both indicator variables are used to create single new composite named check. A non-zero value in check would indicate either multiple values are generated for a given element name or the element name is reused by several form elements or both conditions exist. Then FORM_OUTPUT is used to make another SAS data set called FORM_MACROS that contains a unique set of element names, a final indicator of multiple name/value existence across names called multiple, and the variable called tag_n that holds onto the order of the elements within the original input source file. *** Section 2 ******************* ; *** Multiple Name/Value Check *** ; proc sql ; * count values within ; * name, type combinations ; create table FORM_OUTPUT as select name, type, count(*) as count, min(tag_n) as tag_n from FORM_TAGS group by name, type order by name ; quit ; data FORM_OUTPUT ; set FORM OUTPUT ; * check within names ; by name ; * for multiple values ; select (type) ; when ("select") mult_value=1 ; * default - multiple ; when ("radio") mult_value=0 ; * default - single ; otherwise do ; if count GT 1 then mult_value=1 ; * count GT 1 - multiple ; else mult_value=0 ; * count LE 1 - single ; * also check on name reuse ; * indicates - multiple ; name_reuse = NOT(first.name=1 AND last.name=1) ; check = (mult_value OR name_reuse) ; * either condition ; * indicates - multiple ; proc sort data=form_output ; by tag_n ; proc sql ; * check between names ; * and create macro data ; create table FORM_MACROS as select name, min(tag_n) as tag_n, case when sum(check) = 0 then 0 else 1 end as multiple from FORM_OUTPUT group by name order by tag_n ; quit ; SECTION 3 - WRITE THE MACRO CODE The code in this section begins with a null DATA step that uses the variable multiple, from the SAS data set FORM_MACROS, to create the SAS macro code that would expect no value, a single value, or multiple values for each of the names in the HTML form. After this, one null DATA step is used to generate a simple output message and another is used to write the contents of the macro definition code file into the SAS log. *** Section 3 *************** ; *** Write Macro Code File *** ; data _null_ ; file "&codefile" ; set FORM_MACROS ; if _n_=1 then do ; * default comments ; 3
4 put "%* HTML File: &htmlfile ;" ; * html doc file name ; put "%* Code File: &codefile ;" ; * SAS code file name ; put ; put "TITLE ;" ; put "OPTIONS PS=800 NODATE ;" ; put ; mp = '_'!!name ; mv_name = '&'!!name ; select ; when (multiple EQ 0) do ; * single name/value ; put '%MACRO ' mp ';' ; * macro defn generator ; put ' ' ; put ' %IF %SYMGLOBL(' name') EQ 0 %THEN %DO ;' ; put ' %PUT NOTE:.. NO ' name 'PARAMETER PASSED ;' ; put ' ' ; put ' %ELSE %DO ;' ; put ' %PUT NOTE:.. ONE NAME/VALUE PASSED ; ' ; put ' %PUT NOTE:.. ' name '= ' mv_name ';' ; put ' ' ; put ' ' ; put '%MEND ;' ; put '%' mp ';' / ; when (multiple EQ 1) do ; * multiple name/value ; name0 = trim(name)!!'0' ; * macro defn generator ; mv_name0 = '&'!!trim(name0) ; m1_name = trim(name)!!'&i' ; m3_name = '&&'!!trim(name)!!'&i' ; put '%MACRO ' mp ';' ; put ' ' ; put ' %IF %SYMGLOBL(' name') EQ 0 %THEN %DO ;' ; put ' %PUT NOTE:.. NO ' name 'PARAMETER PASSED ;' ; put ' ' ; put ' %ELSE %IF %SYMGLOBL(' name0') EQ 0 %THEN %DO ;' ; put ' %PUT NOTE:.. ONE NAME/VALUE PASSED ; ' ; put ' %PUT NOTE:.. ' name '= ' mv_name ';' ; put ' ' ; put ' %ELSE %DO ;' ; put ' %PUT NOTE:.. MULTIPLE NAME/VALUEs PASSED ;' ; put ' %DO i = 1 %TO ' mv_name0 ';' ; put ' %PUT NOTE: ' m1_name '= ' m3_name ';' ; put ' ' ; put ' ' ; put ' ' ; put '%MEND ;' ; put '%' mp ';' / ; otherwise ; data _null_ ; file "&codefile" mod ; * default code ; put 'DATA _NULL_ ; ' ; * to provide for an html ; put ' FILE _webout ; ' ; * document template and ; put ' PUT "Content-type: text/html" ; ' ; * custom output report ; put ' PUT ; ' ; put ' PUT "<html>" ; ' ; put ' PUT "<head>" ; ' ; put ' PUT " <title> *_title_ </title>" ; ' ; put ' PUT "</head>" ; ' ; put ' PUT "<body>" ; ' ; put ' PUT " *_output_ " ; ' ; put ' PUT "</body>" ; ' ; put ' PUT "</html>" ; ' ; put 'RUN ; ' ; 4
5 data null ; * write code to SAS log ; infile "&codefile" ; input ; put "***** " _infile_ ; It is important to note that the macro code generated by %code provides, within individual macro programs, macrolevel conditional checking for each form output element name. However, it does NOT provide for any significant action that would be taken upon finding no parameter passed, a single name/value pair, or multiple set of values. Look carefully at the macro statements to be written into the code file. In all cases, the only result of any macro level checking is to write a message into the SAS log using %PUT statements. These macros only provide an initial template for a SAS/IntrNet Dispatcher Application or a SAS9 Stored Process Web Application. The application programmer is responsible for modifying the code to generate any further specific processing beyond this. SECTION 4 - PROCESSING SPECIFICATION REPORTS The code in this section submits three PROC PRINT reports that give the %code macro user a look at the specifications used to build the application macro code. The first report shows the form tags that were parsed from the input HTML document. The second report displays information about the output that the form tags can generate. The last PROC PRINT listing displays the data used directly to create the macro programs. At the end of this section, a %mend statement ends the definition of the %code macro program. *** Section 4 ********** ; *** Reports ************ ; footnote ; title ; title3 "HTML Form Tags Found" ; title4 "SAS data set - WORK.FORM_TAGS" ; proc print data=form TAGS noobs split='+' ; var type name tag tag n ; label type='type of + Form Element' name='name of + Form Element' tag='html Tag' tag_n='order of + Element in + HTML Form' ; title3 "Element Name and Value Usage" ; title4 "SAS data set - WORK.FORM OUTPUT" ; proc print data=form OUTPUT noobs split='+' ; var type name count mult value name reuse ; label type='type of + Form Element' name='name of + Form Element' count='count of + Values per + Element' mult_value='possible + Multiple + Values?' name reuse='name Reuse + Between + Elements?' ; title3 "Macro Definition Input" ; title4 "SAS data set - WORK.FORM MACROS" ; proc print data=form MACROS noobs split='+' ; var name multiple ; label name='name of + Form Element' multiple='multiple + name/value + Indicator' ; title ; %mend code ; AN EXAMPLE Consider the example HTML document shown in Table 1; it contains a simple HTML form that uses a radio button group, two checkboxes, and a selection list. Assuming that the location of the document is 5
6 c:\test\htmltestcode.html, the following macro trigger would be appropriate to generate the application SAS code that would use the output from the HTML form contained within it: %code(htmlfile=c:\test\htmltestcode.html, codefile=c:\test\code.txt); Table 1. An Example HTML Document <html> <head><title> NESUG 2005 </title></head> <body> <form action="" method="get"> SAS Experience:<br/> <input type="radio" name="exp" value="lt_5"/> less than 5 years<br/> <input type="radio" name="exp" value="ge_5"/> 5 or more years<br/><br/> Web Tools: <br/> <input type="checkbox" name="web" value="html"/> html<br/> <input type="checkbox" name="web" value="java"/> Java<br/><br/> Education:<br/> <select name="educ"> <option value="ba"> Bachelors Degree </option> <option value="ma"> Masters Degree </option> <option value="phd"> Doctorate </option> </select><br/><br/> <input type="reset" value="reset "/> <input type="submit" value="submit"/> </form> </body> </html> The resulting code would be able to handle the single name/value output from the radio button group named exp, the possible multiple name/value output from the two checkboxes that share the name web, and the selection list named educ. Note that by default, all macros associated with selection lists are coded to handle multiple name/value output. The code, written to c:\test\code.txt, is listed below: %* HTML File: c:\test\htmltestcode.html ; %* Code File: c:\test\code.txt ; TITLE ; OPTIONS PS=800 NODATE ; %MACRO _exp ; %IF %SYMGLOBL(exp ) EQ 0 %THEN %DO ; %PUT NOTE:.. NO exp PARAMETER PASSED ; %ELSE %DO ; %PUT NOTE:.. ONE NAME/VALUE PASSED ; %PUT NOTE:.. exp = &exp ; %MEND ; %_exp ; %MACRO _web ; 6
7 %IF %SYMGLOBL(web ) EQ 0 %THEN %DO ; %PUT NOTE:.. NO web PARAMETER PASSED ; %ELSE %IF %SYMGLOBL(web0 ) EQ 0 %THEN %DO ; %PUT NOTE:.. ONE NAME/VALUE PASSED ; %PUT NOTE:.. web = &web ; %ELSE %DO ; %PUT NOTE:.. MULTIPLE NAME/VALUEs PASSED ; %DO i = 1 %TO &web0 ; %PUT NOTE: web&i = &&web&i ; %MEND ; %_web ; %MACRO _educ ; %IF %SYMGLOBL(educ ) EQ 0 %THEN %DO ; %PUT NOTE:.. NO educ PARAMETER PASSED ; %ELSE %IF %SYMGLOBL(educ0 ) EQ 0 %THEN %DO ; %PUT NOTE:.. ONE NAME/VALUE PASSED ; %PUT NOTE:.. educ = &educ ; %ELSE %DO ; %PUT NOTE:.. MULTIPLE NAME/VALUEs PASSED ; %DO i = 1 %TO &educ0 ; %PUT NOTE: educ&i = &&educ&i ; %MEND ; %_educ ; DATA _NULL_ ; FILE _webout ; PUT "Content-type: text/html" ; PUT ; PUT "<html>" ; PUT "<head>" ; PUT " <title> *_title_ </title>" ; PUT "</head>" ; PUT "<body>" ; PUT " *_output_ " ; PUT "</body>" ; PUT "</html>" ; RUN ; CONCLUSION As shown, this macro helps automate the work that s involved when creating SAS code for HTML front-end interfaces. The %code generated macro code provides either a SAS/IntrNet or a SAS9 Stored Process Web Application developer a good start point that can be readily modified to produce a complete application. DEVELOPMENT NOTES The %code macro was written using SAS 9 under Windows XP Professional. Furthermore, SAS 9 is required to run it. The %code macro utilizes Pearl regular expressions and several associated functions that are not available in older versions of SAS. It is also important to emphasize that the HTML document loaded into the macro must follow the HTML v4 or XHTML syntax specifications. In particular, the parsing code assumes that tag definitions do not overlap and that the tag attribute values are quoted. In testing, several documents did not meet this requirement and did not produce the desired results. However, modifying these documents either by hand or filtering them with HTML Tidy (see did allow them to be successfully used. Also be aware that, the %code definition shown 7
8 in this paper is not intended to represent production-level code. Production-level code would be subject to more extensive code review and testing than was performed on this macro. RESOURCES SAS Institute Inc SAS Web Tools: Advanced Dynamic Solutions Using SAS/IntrNet Software. Cary, NC: SAS Institute Inc. SAS Institute Inc New Features in SAS System 9. Cary, NC: SAS Institute Inc. SAS Institute Inc SAS Macro Language. Cary, NC: SAS Institute Inc. Web Technologies Community: SAS/IntrNet Software, SAS Institute Inc. World Wide Web Consortium. Murdock, Kelly Master VISUALLY HTML 4 and XHTML 1, Forest City, CA: IDG Books Worldwide, Inc. CONTACT INFORMATION Please forward comments and questions to: Don Boudreaux, PhD don.boudreaux@sas.com Keith Cranford keith.cranford@cs.oag.state.tx.us SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are trademarks of their respective companies. 8
Dynamic Web-Enabled Data Collection
Dynamic Web-Enabled Data Collection S. David Riba, Introduction Web-based Data Collection Forms Error Trapping Server Side Validation Client Side Validation Dynamic generation of web pages with Scripting
More informationA Complete Guide to HTML Form Output for SAS/IntrNet Developers Don Boudreaux, SAS Institute Inc., Austin, TX
A Complete Guide to HTML Form Output for SAS/IntrNet Developers Don Boudreaux, SAS Institute Inc., Austin, TX ABSTRACT A number of existing conference papers, course notes sections, and references can
More informationThe Basics of Dynamic SAS/IntrNet Applications Roderick A. Rose, Jordan Institute for Families, School of Social Work, UNC-Chapel Hill
Paper 5-26 The Basics of Dynamic SAS/IntrNet Applications Roderick A. Rose, Jordan Institute for Families, School of Social Work, UNC-Chapel Hill ABSTRACT The purpose of this tutorial is to introduce SAS
More informationBuilding a Customized Data Entry System with SAS/IntrNet
Building a Customized Data Entry System with SAS/IntrNet Keith J. Brown University of North Carolina General Administration Chapel Hill, NC Introduction The spread of the World Wide Web and access to the
More informationInternet Technologies
QAFQAZ UNIVERSITY Computer Engineering Department Internet Technologies HTML Forms Dr. Abzetdin ADAMOV Chair of Computer Engineering Department aadamov@qu.edu.az http://ce.qu.edu.az/~aadamov What are forms?
More informationFurther web design: HTML forms
Further web design: HTML forms Practical workbook Aims and Learning Objectives The aim of this document is to introduce HTML forms. By the end of this course you will be able to: use existing forms on
More informationJavaScript and Dreamweaver Examples
JavaScript and Dreamweaver Examples CSC 103 October 15, 2007 Overview The World is Flat discussion JavaScript Examples Using Dreamweaver HTML in Dreamweaver JavaScript Homework 3 (due Friday) 1 JavaScript
More information2- Forms and JavaScript Course: Developing web- based applica<ons
2- Forms and JavaScript Course: Cris*na Puente, Rafael Palacios 2010- 1 Crea*ng forms Forms An HTML form is a special section of a document which gathers the usual content plus codes, special elements
More informationINTRODUCTION WHY WEB APPLICATIONS?
What to Expect When You Break into Web Development Bringing your career into the 21 st Century Chuck Kincaid, Venturi Technology Partners, Kalamazoo, MI ABSTRACT Are you a SAS programmer who has wanted
More informationTECHNIQUES FOR BUILDING A SUCCESSFUL WEB ENABLED APPLICATION USING SAS/INTRNET SOFTWARE
TECHNIQUES FOR BUILDING A SUCCESSFUL WEB ENABLED APPLICATION USING SAS/INTRNET SOFTWARE Mary Singelais, Bell Atlantic, Merrimack, NH ABSTRACT (This paper is based on a presentation given in March 1998
More informationNMDS-V APPLICATION GOALS
Web-Based Integration of Data Collection and Reporting Based on SAS Foundation Technologies Beate H. Danielsen, Health Information Solutions, Rocklin, CA Soora Wi, Kaiser Permanente, Division of Research,
More informationWorking with forms in PHP
2002-6-29 Synopsis In this tutorial, you will learn how to use forms with PHP. Page 1 Forms and PHP One of the most popular ways to make a web site interactive is the use of forms. With forms you can have
More informationc. Write a JavaScript statement to print out as an alert box the value of the third Radio button (whether or not selected) in the second form.
Practice Problems: These problems are intended to clarify some of the basic concepts related to access to some of the form controls. In the process you should enter the problems in the computer and run
More informationHow to Create Dynamic HTML and Javascript using your Data Jennifer Sinodis, Bank One, Phoenix, AZ
Paper 187-26 How to Create Dynamic HTML and Javascript using your Data Jennifer Sinodis, Bank One, Phoenix, AZ ABSTRACT With increasing information technology the Internet/Intranet offers an accessible
More informationUsing Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX
Paper 126-29 Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX ABSTRACT This hands-on workshop shows how to use the SAS Macro Facility
More informationHTML Forms. Pat Morin COMP 2405
HTML Forms Pat Morin COMP 2405 HTML Forms An HTML form is a section of a document containing normal content plus some controls Checkboxes, radio buttons, menus, text fields, etc Every form in a document
More informationSAS ODS HTML + PROC Report = Fantastic Output Girish K. Narayandas, OptumInsight, Eden Prairie, MN
SA118-2014 SAS ODS HTML + PROC Report = Fantastic Output Girish K. Narayandas, OptumInsight, Eden Prairie, MN ABSTRACT ODS (Output Delivery System) is a wonderful feature in SAS to create consistent, presentable
More informationUsing Pharmacovigilance Reporting System to Generate Ad-hoc Reports
Using Pharmacovigilance Reporting System to Generate Ad-hoc Reports Jeff Cai, Amylin Pharmaceuticals, Inc., San Diego, CA Jay Zhou, Amylin Pharmaceuticals, Inc., San Diego, CA ABSTRACT To supplement Oracle
More informationInternet/Intranet, the Web & SAS. II006 Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA
II006 Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA Abstract Web based reporting has enhanced the ability of management to interface with data in a
More informationUsing SAS/IntrNet as a Web-Enabled Platform for Clinical Reporting
Paper AD09 Using SAS/IntrNet as a Web-Enabled Platform for Clinical Reporting ABSTRACT Paul Gilbert, DataCeutics, Inc., Pottstown, PA Steve Light, DataCeutics, Inc., Pottstown, PA Gregory Weber, DataCeutics,
More informationUsing Form Tools (admin)
EUROPEAN COMMISSION DIRECTORATE-GENERAL INFORMATICS Directorate A - Corporate IT Solutions & Services Corporate Infrastructure Solutions for Information Systems (LUX) Using Form Tools (admin) Commission
More informationSAS/IntrNet 9.4: Application Dispatcher
SAS/IntrNet 9.4: Application Dispatcher SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS/IntrNet 9.4: Application Dispatcher. Cary, NC: SAS
More informationYou have got SASMAIL!
You have got SASMAIL! Rajbir Chadha, Cognizant Technology Solutions, Wilmington, DE ABSTRACT As SAS software programs become complex, processing times increase. Sitting in front of the computer, waiting
More informationMore Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board
More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board INTRODUCTION In 20 years as a SAS consultant at the Federal Reserve Board, I have seen SAS users make
More informationBuilding a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA
Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA Abstract Web based reporting has enhanced the ability of management to interface with data in a point
More informationDeveloping an On-Demand Web Report Platform Using Stored Processes and SAS Web Application Server
Paper 10740-2016 Developing an On-Demand Web Report Platform Using Stored Processes and SAS Web Application Server ABSTRACT Romain Miralles, Genomic Health. As SAS programmers, we often develop listings,
More informationWeb Reporting by Combining the Best of HTML and SAS
Web Reporting by Combining the Best of HTML and SAS Jason Chen, Kaiser Permanente, San Diego, CA Kim Phan, Kaiser Permanente, San Diego, CA Yuexin Cindy Chen, Kaiser Permanente, San Diego, CA ABSTRACT
More informationPost Processing Macro in Clinical Data Reporting Niraj J. Pandya
Post Processing Macro in Clinical Data Reporting Niraj J. Pandya ABSTRACT Post Processing is the last step of generating listings and analysis reports of clinical data reporting in pharmaceutical industry
More informationConfiguring iplanet 6.0 Web Server For SSL and non-ssl Redirect
Introduction Configuring iplanet 6.0 Web Server For SSL and non-ssl Redirect This document describes the process for configuring an iplanet web server for the following situation: Require that clients
More informationTips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS. Vincent DelGobbo, SAS Institute Inc.
Paper HOW-071 Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS Vincent DelGobbo, SAS Institute Inc., Cary, NC ABSTRACT Transferring SAS data and analytical results
More informationAn Approach to Creating Archives That Minimizes Storage Requirements
Paper SC-008 An Approach to Creating Archives That Minimizes Storage Requirements Ruben Chiflikyan, RTI International, Research Triangle Park, NC Mila Chiflikyan, RTI International, Research Triangle Park,
More informationFORM-ORIENTED DATA ENTRY
FORM-ORIENTED DATA ENTRY Using form to inquire and collect information from users has been a common practice in modern web page design. Many Web sites used form-oriented input to request customers opinions
More informationRemove Voided Claims for Insurance Data Qiling Shi
Remove Voided Claims for Insurance Data Qiling Shi ABSTRACT The purpose of this study is to remove voided claims for insurance claim data using SAS. Suppose that for these voided claims, we don t have
More information**When entering properties and field name use all lowercase!
Creating Forms with MS FrontPage 2003 Objective 1: Create a Form. To Create a Form on a Webpage 1. Either create a new webpage or open an existing page in FrontPage. 2. Put your cursor in the location
More informationA Method for Cleaning Clinical Trial Analysis Data Sets
A Method for Cleaning Clinical Trial Analysis Data Sets Carol R. Vaughn, Bridgewater Crossings, NJ ABSTRACT This paper presents a method for using SAS software to search SAS programs in selected directories
More informationInserting the Form Field In Dreamweaver 4, open a new or existing page. From the Insert menu choose Form.
Creating Forms in Dreamweaver Modified from the TRIO program at the University of Washington [URL: http://depts.washington.edu/trio/train/howto/page/dreamweaver/forms/index.shtml] Forms allow users to
More informationViewing Form Results
Form Tags XHTML About Forms Forms allow you to collect information from visitors to your Web site. The example below is a typical tech suupport form for a visitor to ask a question. More complex forms
More informationWe begin by defining a few user-supplied parameters, to make the code transferable between various projects.
PharmaSUG 2013 Paper CC31 A Quick Patient Profile: Combining External Data with EDC-generated Subject CRF Titania Dumas-Roberson, Grifols Therapeutics, Inc., Durham, NC Yang Han, Grifols Therapeutics,
More informationAn email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc.
SESUG 2012 Paper CT-02 An email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc., Raleigh, NC ABSTRACT Enterprise Guide (EG) provides useful
More informationUpload Center Forms. Contents. Defining Forms 2. Form Options 5. Applying Forms 6. Processing The Data 6. Maxum Development Corp.
Contents Defining Forms 2 Form Options 5 Applying Forms 6 Processing The Data 6 Maxum Development Corp. Put simply, the Rumpus Upload Center allows you to collect information from people sending files.
More informationCS412 Interactive Lab Creating a Simple Web Form
CS412 Interactive Lab Creating a Simple Web Form Introduction In this laboratory, we will create a simple web form using HTML. You have seen several examples of HTML pages and forms as you have worked
More informationTCP/IP Networking, Part 2: Web-Based Control
TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next
More information3M Information Technology
3M Information Technology IT Customer Relationship Management Applications Web Services Toolkit User Guide Custom Web Lead Capture Submit Lead Last Updated: 23-FEB-07 Page 1 of 33 (Last Modified: 2/24/2007
More informationNow that we have discussed some PHP background
WWLash02 6/14/02 3:20 PM Page 18 CHAPTER TWO USING VARIABLES Now that we have discussed some PHP background information and learned how to create and publish basic PHP scripts, let s explore how to use
More informationDynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager
Paper SAS1787-2015 Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager Chris Upton and Lori Small, SAS Institute Inc. ABSTRACT With the latest release of SAS
More informationHTML Forms and CONTROLS
HTML Forms and CONTROLS Web forms also called Fill-out Forms, let a user return information to a web server for some action. The processing of incoming data is handled by a script or program written in
More informationPaper PO03. A Case of Online Data Processing and Statistical Analysis via SAS/IntrNet. Sijian Zhang University of Alabama at Birmingham
Paper PO03 A Case of Online Data Processing and Statistical Analysis via SAS/IntrNet Sijian Zhang University of Alabama at Birmingham BACKGROUND It is common to see that statisticians at the statistical
More informationDesign and Deployment of a Web Application Using SAS/IntrNet
Paper 180 Design and Deployment of a Web Application Using SAS/IntrNet Thomas H. Burger, Source Consulting, Indianapolis, IN Richard W. Tucker, Eli Lilly and Company, Indianapolis, IN John M. LaBore, Eli
More informationAdventures in Building Web Applications: A Tutorial on Techniques for Real-World Applications
Adventures in Building Web Applications: A Tutorial on Techniques for Real-World Applications Jason Gordon, GE Capital Card Services, Stamford Connecticut Michael Davis, Bassett Consulting Services, North
More informationEssential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA
Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA ABSTRACT Throughout the course of a clinical trial the Statistical Programming group is
More informationProject Request and Tracking Using SAS/IntrNet Software Steven Beakley, LabOne, Inc., Lenexa, Kansas
Paper 197 Project Request and Tracking Using SAS/IntrNet Software Steven Beakley, LabOne, Inc., Lenexa, Kansas ABSTRACT The following paper describes a project request and tracking system that has been
More information<option> eggs </option> <option> cheese </option> </select> </p> </form>
FORMS IN HTML A form is the usual way information is gotten from a browser to a server HTML has tags to create a collection of objects that implement this information gathering The objects are called widgets
More informationWebsite Login Integration
SSO Widget Website Login Integration October 2015 Table of Contents Introduction... 3 Getting Started... 5 Creating your Login Form... 5 Full code for the example (including CSS and JavaScript):... 7 2
More informationApplications Development ABSTRACT PROGRAM DESIGN INTRODUCTION SAS FEATURES USED
Checking and Tracking SAS Programs Using SAS Software Keith M. Gregg, Ph.D., SCIREX Corporation, Chicago, IL Yefim Gershteyn, Ph.D., SCIREX Corporation, Chicago, IL ABSTRACT Various checks on consistency
More informationSession Attribution in SAS Web Analytics
Session Attribution Session Attribution Session Attribution Session Attribution Session Attribution Session Attribution Session Attributi Technical Paper Session Attribution in SAS Web Analytics The online
More informationLabels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY
Paper FF-007 Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT SAS datasets include labels as optional variable attributes in the descriptor
More informationConfiguring IBM WebSphere Application Server 7.0 for Web Authentication with SAS 9.3 Web Applications
Configuration Guide Configuring IBM WebSphere Application Server 7.0 for Web Authentication with SAS 9.3 Web Applications Configuring the System for Web Authentication This document explains how to configure
More informationPHP Form Handling. Prof. Jim Whitehead CMPS 183 Spring 2006 May 3, 2006
PHP Form Handling Prof. Jim Whitehead CMPS 183 Spring 2006 May 3, 2006 Importance A web application receives input from the user via form input Handling form input is the cornerstone of a successful web
More informationDevelop highly interactive web charts with SAS
ABSTRACT Paper 1807-2014 Develop highly interactive web charts with SAS Rajesh Inbasekaran, Naren Mudivarthy, Neetha Sindhu Kavi Associates LLC, Barrington IL Very often there is a need to present the
More informationOne problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University
One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University ABSTRACT In real world, analysts seldom come across data which is in
More informationChoosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA
Choosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA ABSTRACT PROC EXPORT, LIBNAME, DDE or excelxp tagset? Many techniques exist to create an excel file using SAS.
More informationIn order for the form to process and send correctly the follow objects must be in the form tag.
Creating Forms Creating an email form within the dotcms platform, all the HTML for the form must be in the Body field of a Content Structure. All names are case sensitive. In order for the form to process
More informationA table is a collection of related data entries and it consists of columns and rows.
CST 250 MySQL Notes (Source: www.w3schools.com) MySQL is the most popular open-source database system. What is MySQL? MySQL is a database. The data in MySQL is stored in database objects called tables.
More informationHow to Make a Working Contact Form for your Website in Dreamweaver CS3
How to Make a Working Contact Form for your Website in Dreamweaver CS3 Killer Contact Forms Dreamweaver Spot With this E-Book you will be armed with everything you need to get a Contact Form up and running
More informationPharmaSUG2011 - Paper AD11
PharmaSUG2011 - Paper AD11 Let the system do the work! Automate your SAS code execution on UNIX and Windows platforms Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.,
More informationSearch and Replace in SAS Data Sets thru GUI
Search and Replace in SAS Data Sets thru GUI Edmond Cheng, Bureau of Labor Statistics, Washington, DC ABSTRACT In managing data with SAS /BASE software, performing a search and replace is not a straight
More informationAutomation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA
Automation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA ABSTRACT SAS includes powerful features in the Linux SAS server environment. While creating
More informationEmailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA
Emailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA ABSTRACT With multiple programmers contributing to a batch
More informationHands-On Workshops HW003
HW003 Connecting the SAS System to the Web: An Introduction to SAS/IntrNet Application Dispatcher Vincent Timbers, Penn State, University Park, PA ABSTRACT There are several methods for accessing the SAS
More informationPreparing your data for analysis using SAS. Landon Sego 24 April 2003 Department of Statistics UW-Madison
Preparing your data for analysis using SAS Landon Sego 24 April 2003 Department of Statistics UW-Madison Assumptions That you have used SAS at least a few times. It doesn t matter whether you run SAS in
More informationGovernment Applications
GV003 Routine Web Reporting with Simple SAS ODS Ashley H. Sanders, Animal Improvements Program Lab - USDA, Beltsville, MD ABSTRACT Data provided via the Internet today is no longer simply a value added
More informationJavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved.
1 6 JavaScript: Introduction to Scripting 2 Comment is free, but facts are sacred. C. P. Scott The creditor hath a better memory than the debtor. James Howell When faced with a decision, I always ask,
More informationInterfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer
Interfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer Peter N. Prause, The Hartford, Hartford CT Charles Patridge, The Hartford, Hartford
More informationHTML Tables. IT 3203 Introduction to Web Development
IT 3203 Introduction to Web Development Tables and Forms September 3 HTML Tables Tables are your friend: Data in rows and columns Positioning of information (But you should use style sheets for this) Slicing
More informationScript Handbook for Interactive Scientific Website Building
Script Handbook for Interactive Scientific Website Building Version: 173205 Released: March 25, 2014 Chung-Lin Shan Contents 1 Basic Structures 1 11 Preparation 2 12 form 4 13 switch for the further step
More informationSAS/IntrNet 9.3: Application Dispatcher
SAS/IntrNet 9.3: Application Dispatcher SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc 2011. SAS/IntrNet 9.3: Application Dispatcher. Cary, NC: SAS
More informationA Macro to Create Data Definition Documents
A Macro to Create Data Definition Documents Aileen L. Yam, sanofi-aventis Inc., Bridgewater, NJ ABSTRACT Data Definition documents are one of the requirements for NDA submissions. This paper contains a
More informationTutorial 6 Creating a Web Form. HTML and CSS 6 TH EDITION
Tutorial 6 Creating a Web Form HTML and CSS 6 TH EDITION Objectives Explore how Web forms interact with Web servers Create form elements Create field sets and legends Create input boxes and form labels
More informationLet SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA
ABSTRACT PharmaSUG 2015 - Paper QT12 Let SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA It is common to export SAS data to Excel by creating a new Excel file. However, there
More informationStARScope: A Web-based SAS Prototype for Clinical Data Visualization
Paper 42-28 StARScope: A Web-based SAS Prototype for Clinical Data Visualization Fang Dong, Pfizer Global Research and Development, Ann Arbor Laboratories Subra Pilli, Pfizer Global Research and Development,
More informationUsing SAS Software to Analyze Sybase Performance on the Web
Using SAS Software to Analyze Sybase Performance on the Web Joseph Mirabal Zhengyu Wang America Online Inc. Sybase Inc. 12100 Sunrise Valley Dr. 6550 Rock Spring Drive Reston, VA 20191 Bethesda, MD 20817
More informationIntell-a-Keeper Reporting System Technical Programming Guide. Tracking your Bookings without going Nuts! http://www.acorn-is.
Intell-a-Keeper Reporting System Technical Programming Guide Tracking your Bookings without going Nuts! http://www.acorn-is.com 877-ACORN-99 Step 1: Contact Marian Talbert at Acorn Internet Services at
More informationInternetVista Web scenario documentation
InternetVista Web scenario documentation Version 1.2 1 Contents 1. Change History... 3 2. Introduction to Web Scenario... 4 3. XML scenario description... 5 3.1. General scenario structure... 5 3.2. Steps
More informationXHTML Forms. Form syntax. Selection widgets. Submission method. Submission action. Radio buttons
XHTML Forms Web forms, much like the analogous paper forms, allow the user to provide input. This input is typically sent to a server for processing. Forms can be used to submit data (e.g., placing an
More informationIntroduction to XHTML. 2010, Robert K. Moniot 1
Chapter 4 Introduction to XHTML 2010, Robert K. Moniot 1 OBJECTIVES In this chapter, you will learn: Characteristics of XHTML vs. older HTML. How to write XHTML to create web pages: Controlling document
More informationImplementing Specialized Data Capture Applications with InVision Development Tools (Part 2)
Implementing Specialized Data Capture Applications with InVision Development Tools (Part 2) [This is the second of a series of white papers on implementing applications with special requirements for data
More informationSample HP OO Web Application
HP OO 10 OnBoarding Kit Community Assitstance Team Sample HP OO Web Application HP OO 10.x Central s rich API enables easy integration of the different parts of HP OO Central into custom web applications.
More informationCHAPTER 1 Overview of SAS/ACCESS Interface to Relational Databases
3 CHAPTER 1 Overview of SAS/ACCESS Interface to Relational Databases About This Document 3 Methods for Accessing Relational Database Data 4 Selecting a SAS/ACCESS Method 4 Methods for Accessing DBMS Tables
More informationHow to easily convert clinical data to CDISC SDTM
How to easily convert clinical data to CDISC SDTM Ale Gicqueau, Clinovo, Sunnyvale, CA Miki Huang, Clinovo, Sunnyvale, CA Stephen Chan, Clinovo, Sunnyvale, CA INTRODUCTION Sponsors are receiving clinical
More informationSAS Programming Tips, Tricks, and Techniques
SAS Programming Tips, Tricks, and Techniques A presentation by Kirk Paul Lafler Copyright 2001-2012 by Kirk Paul Lafler, Software Intelligence Corporation All rights reserved. SAS is the registered trademark
More informationPharmaSUG 2014 Paper CC23. Need to Review or Deliver Outputs on a Rolling Basis? Just Apply the Filter! Tom Santopoli, Accenture, Berwyn, PA
PharmaSUG 2014 Paper CC23 Need to Review or Deliver Outputs on a Rolling Basis? Just Apply the Filter! Tom Santopoli, Accenture, Berwyn, PA ABSTRACT Wouldn t it be nice if all of the outputs in a deliverable
More informationSAS. 9.4 Stored Processes. Developer's Guide Third Edition. SAS Documentation
SAS 9.4 Stored Processes Developer's Guide Third Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2015. SAS 9.4 Stored Processes: Developer's
More informationFORMS. Introduction. Form Basics
FORMS Introduction Forms are a way to gather information from people who visit your web site. Forms allow you to ask visitors for specific information or give them an opportunity to send feedback, questions,
More informationCover Page. Dynamic Server Pages Guide 10g Release 3 (10.1.3.3.0) March 2007
Cover Page Dynamic Server Pages Guide 10g Release 3 (10.1.3.3.0) March 2007 Dynamic Server Pages Guide, 10g Release 3 (10.1.3.3.0) Copyright 2007, Oracle. All rights reserved. Contributing Authors: Sandra
More information600-152 People Data and the Web Forms and CGI. HTML forms. A user interface to CGI applications
HTML forms A user interface to CGI applications Outline A simple example form. GET versus POST. cgi.escape(). Input controls. A very simple form a simple form
More informationExploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs
Exploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs Troy B. Wolfe, Qualex Consulting Services, Inc., Miami, Florida ABSTRACT As someone responsible for maintaining over 40 nightly batch
More informationUsing SAS With a SQL Server Database. M. Rita Thissen, Yan Chen Tang, Elizabeth Heath RTI International, RTP, NC
Using SAS With a SQL Server Database M. Rita Thissen, Yan Chen Tang, Elizabeth Heath RTI International, RTP, NC ABSTRACT Many operations now store data in relational databases. You may want to use SAS
More informationParallel Data Preparation with the DS2 Programming Language
ABSTRACT Paper SAS329-2014 Parallel Data Preparation with the DS2 Programming Language Jason Secosky and Robert Ray, SAS Institute Inc., Cary, NC and Greg Otto, Teradata Corporation, Dayton, OH A time-consuming
More informationCustomer Management (PRO)
webedition User Guide Customer Management (PRO) webedition Software GmbH The Customer Management and Customer Management PRO Modules User Guide Standard 03.00 09 February 2004 2004 webedition Software
More information