*-------------------------------------------------------------*;                                                                                                                                                                                                
* program:     wpreview.scl                                   *;                                                                                                                                                                                                
* Description: Create Preview for an input dataset            *;                                                                                                                                                                                                
* By:          Thanh Huynh, 11/16/2007                         *;                                                                                                                                                                                               
*-------------------------------------------------------------*;                                                                                                                                                                                                
INIT:                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                
   control asis;                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
   *** Check for license ***;                                                                                                                                                                                                                                   
   length licerr 8;                                                                                                                                                                                                                                             
   call display('_license.scl',licerr);                                                                                                                                                                                                                         
   if licerr = 1 then return;                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                
   *** Verify if the dataroot path exist ***;                                                                                                                                                                                                                   
   cur_os = symget('sysscpl');                                                                                                                                                                                                                                  
   if index(cur_os,'WIN_') > 0 or index(cur_os,'XP') > 0 or index(cur_os,'NET') > 0 then                                                                                                                                                                        
      slash = "\";                                                                                                                                                                                                                                              
   else slash = "/";                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                
   *** Capture the user name ***;                                                                                                                                                                                                                               
   usrname = sysget('USERNAME');                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
   *** Capture the datetime ***;                                                                                                                                                                                                                                
   curdatetime = put(datepart(datetime()),mmddyy10.) || ", " ||                                                                                                                                                                                                 
                 lowcase(put(timepart(datetime()),timeampm11.));                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
   *** get the dataset name and path (in the future will be libname) ***;                                                                                                                                                                                       
   dataset = upcase(symget('dat'));                                                                                                                                                                                                                             
   library = upcase(symget('lib'));                                                                                                                                                                                                                             

		LibDat = 'CDISCDAT.LIBRARY'; 
      control asis;                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                
   *** Get the webserver information ***;                                                                                                                                                                                                                       
   applib = symget('applib');                                                                                                                                                                                                                                   
   appbroker = symget('appbroker');                                                                                                                                                                                                                             
   appservice = symget('appservice');                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                

   *** please change this to match your app root folder ***;                                                                                                                                                                                                    
   appwebroot = '../cdiscbuilder';                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
   *** Generate the HTML ***;                                                                                                                                                                                                                                   
   submit;                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                
<html>                                                                                                                                                                                                                                                          
<head>                                                                                                                                                                                                                                                          
<meta http-equiv="content-type" content="text/html;charset=utf-8">                                                                                                                                                                                              
<title>MXI - CDISC Builder™</title>                                                                                                                                                                                                                       
<style type="text/css">                                                                                                                                                                                                                                         
<!--                                                                                                                                                                                                                                                            
   body {                                                                                                                                                                                                                                                       
      margin-left: 0px;                                                                                                                                                                                                                                         
      margin-top: 0px;                                                                                                                                                                                                                                          
      margin-right: 0px;                                                                                                                                                                                                                                        
      margin-bottom: 0px;                                                                                                                                                                                                                                       
   }                                                                                                                                                                                                                                                            
-->                                                                                                                                                                                                                                                             
</style>                                                                                                                                                                                                                                                        
<link href="&appwebroot/js/style.css" rel="stylesheet" type="text/css">                                                                                                                                                                                         
<script type="text/javascript" src="&appwebroot/js/dojo/dojo.js"></script>                                                                                                                                                                                      
<script type="text/javascript">                                                                                                                                                                                                                                 
      dojo.require("dojo.widget.FloatingPane");                                                                                                                                                                                                                 
      dojo.require("dojo.widget.Dialog");                                                                                                                                                                                                                       
</script>                                                                                                                                                                                                                                                       
<script language="JavaScript" src="&appwebroot/js/sharecom.js"></script>                                                                                                                                                                                        
                                                                                                                                                                                                                                                                
<script language="JavaScript">                                                                                                                                                                                                                                  
if (window.addEventListener) {                                                                                                                                                                                                                                  
   window.addEventListener("load", staticbar, false);                                                                                                                                                                                                           
}                                                                                                                                                                                                                                                               
else if (window.attachEvent) {                                                                                                                                                                                                                                  
   window.attachEvent("onload", staticbar);                                                                                                                                                                                                                     
}                                                                                                                                                                                                                                                               
else if (document.getElementById) {                                                                                                                                                                                                                             
   window.onload=staticbar;                                                                                                                                                                                                                                     
}                                                                                                                                                                                                                                                               
</script>                                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                
<style>                                                                                                                                                                                                                                                         
   #topbar{                                                                                                                                                                                                                                                     
      position:relative;                                                                                                                                                                                                                                        
      width: 600px;                                                                                                                                                                                                                                             
      visibility: hidden;                                                                                                                                                                                                                                       
      z-index: 100;                                                                                                                                                                                                                                             
   }                                                                                                                                                                                                                                                            
   #botbar{                                                                                                                                                                                                                                                     
      position:relative;                                                                                                                                                                                                                                        
      width: 600px;                                                                                                                                                                                                                                             
      visibility: hidden;                                                                                                                                                                                                                                       
      z-index: 100;                                                                                                                                                                                                                                             
   }                                                                                                                                                                                                                                                            
</style>                                                                                                                                                                                                                                                        
</head>                                                                                                                                                                                                                                                         
<body>                                                                                                                                                                                                                                                          
   <div dojoType="dialog" id="statusdialog" bgColor="white" bgOpacity="0.5" toggle="fade" toggleDuration="250" style="display:none"></div>                                                                                                                      
   <div align="center">                                                                                                                                                                                                                                         
      <div id="topbar">                                                                                                                                                                                                                                         
         <table border="0" cellspacing="0" cellpadding="0">                                                                                                                                                                                                     
            <tr>                                                                                                                                                                                                                                                
               <td width="14"><img src="&appwebroot/images/col_1.gif" width="14" height="37" alt=""></td>                                                                                                                                                       
               <td width="100%" background="&appwebroot/images/col_2.gif" valign="middle"><p align="center">                                                                                                                                                    
                  <span class="font_tahoma_15_orange"><b>Data Preview</b></span> </p></td>                                                                                                                                                                      
               <td width="14"><img src="&appwebroot/images/col_3.gif" width="14" height="37" alt=""></td>                                                                                                                                                       
            </tr>                                                                                                                                                                                                                                               
            <tr>                                                                                                                                                                                                                                                
               <td align="center" colspan="3">                                                                                                                                                                                                                  
                  Preview of Dataset Name: &library.&dataset<br>                                                                                                                                                                                                
                  Dataset Label:<br>                                                                                                                                                                                                                            
                  (Subset of first 100 observations)<br>                                                                                                                                                                                                        
               </td>                                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
            <tr>                                                                                                                                                                                                                                                
               <td align="center" colspan="3">                                                                                                                                                                                                                  
                  <button id="btnClose" name="btnClose" onClick="javascript:window.close();" value="Close">                                                                                                                                                     
                     <img src="&appwebroot/images/exit_12_12.gif" width="12" height="12" style="vertical-align:middle"> Close                                                                                                                              
                  </button>                                                                                                                                                                                                                                     
               </td>                                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
      </div>                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                
      <div class="Preview" align="center">                                                                                                                                                                                                                      
         <center>                                                                                                                                                                                                                                               
         <p></p><p></p><p></p><p></p><p></p><p></p>                                                                                                                                                                                                             
         <table width="80%" border="1" align="center">                                                                                                                                                                                                          
            <tr>                                                                                                                                                                                                                                                
   endsubmit;                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                
   dsid = open(libdat, 'i');                                                                                                                                                                                                                                    
   if dsid = 0 then do;                                                                                                                                                                                                                                         
      submit;                                                                                                                                                                                                                                                   
               <td align="center">Can not access the LIBRARY Dataset.</td>                                                                                                                                                                                      
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
         </center>                                                                                                                                                                                                                                              
      </div>                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                
      <div id="botbar">                                                                                                                                                                                                                                         
         <table border="0" cellspacing="0" cellpadding="0">                                                                                                                                                                                                     
            <tr>                                                                                                                                                                                                                                                
               <td align = "center">                                                                                                                                                                                                                            
                  <button id="btnClose" name="btnClose" onClick="javascript:window.close();" value="Close">                                                                                                                                                     
                     <img src="&appwebroot/images/exit_12_12.gif" width="12" height="12" style="vertical-align:middle"> Close                                                                                                                              
                  </button>                                                                                                                                                                                                                                     
               </td>                                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
            <tr>                                                                                                                                                                                                                                                
               <td background="&appwebroot/images/col_bottom.jpg" width="598" class="font_tahoma_11_grey2"><font size="1"><br>                                                                                                                                  
                           Meta-Xceed Inc. ©  2007  <br>                                                                                                                                                                               
                            <br>                                                                                                                                                                                                                 
                        </font></td>                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
      </div>                                                                                                                                                                                                                                                    
   </div>                                                                                                                                                                                                                                                       
</form>                                                                                                                                                                                                                                                         
      endsubmit;                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
      rc = preview ('file','_WEBOUT');                                                                                                                                                                                                                          
      rc = preview ('clear');                                                                                                                                                                                                                                   
      return;                                                                                                                                                                                                                                                   
   end;                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                
   rc = where(dsid, 'lowcase(libname)="' || lowcase(library) || '"');                                                                                                                                                                                           
   rc = fetchobs(dsid, 1);                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                
   if rc ne 0 then do;                                                                                                                                                                                                                                          
      submit;                                                                                                                                                                                                                                                   
               <td align="center">Library &libname does not exists.</td>                                                                                                                                                                                        
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
         </center>                                                                                                                                                                                                                                              
      </div>                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                
      <div id="botbar">                                                                                                                                                                                                                                         
         <table border="0" cellspacing="0" cellpadding="0">                                                                                                                                                                                                     
            <tr>                                                                                                                                                                                                                                                
               <td align = "center">                                                                                                                                                                                                                            
                  <button id="btnClose" name="btnClose" onClick="javascript:window.close();" value="Close">                                                                                                                                                     
                     <img src="&appwebroot/images/exit_12_12.gif" width="12" height="12" style="vertical-align:middle"> Close                                                                                                                              
                  </button>                                                                                                                                                                                                                                     
               </td>                                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
            <tr>                                                                                                                                                                                                                                                
               <td background="&appwebroot/images/col_bottom.jpg" width="598" class="font_tahoma_11_grey2"><font size="1"><br>                                                                                                                                  
                           Meta-Xceed Inc. ©  2007  <br>                                                                                                                                                                               
                            <br>                                                                                                                                                                                                                 
                        </font></td>                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
      </div>                                                                                                                                                                                                                                                    
   </div>                                                                                                                                                                                                                                                       
</form>                                                                                                                                                                                                                                                         
      endsubmit;                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
      rc = preview ('file','_WEBOUT');                                                                                                                                                                                                                          
      rc = preview ('clear');                                                                                                                                                                                                                                   
      return;                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                
   end;                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                
   curpath = getvarc(dsid, varnum(dsid, 'libpath'));                                                                                                                                                                                                            
   dsid = close(dsid);                                                                                                                                                                                                                                          
   curpath = display('_replace.scl', curpath, '/', '\');                                                                                                                                                                                                        
   curpath = display('_replace.scl', curpath, 'root', 'c:\temp');                                                                                                                                                                                               
                                                                                                                                                                                                                                                                
   rc = libname(library, curpath);                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                
   dsid = open(library||'.'||dataset, 'i');                                                                                                                                                                                                                     
   if dsid = 0 then do;                                                                                                                                                                                                                                         
      submit;                                                                                                                                                                                                                                                   
               <td align="center">Can not access the selected Dataset.</td>                                                                                                                                                                                     
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
         </center>                                                                                                                                                                                                                                              
      </div>                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                
      <div id="botbar">                                                                                                                                                                                                                                         
         <table border="0" cellspacing="0" cellpadding="0">                                                                                                                                                                                                     
            <tr>                                                                                                                                                                                                                                                
               <td align = "center">                                                                                                                                                                                                                            
                  <button id="btnClose" name="btnClose" onClick="javascript:window.close();" value="Close">                                                                                                                                                     
                     <img src="&appwebroot/images/exit_12_12.gif" width="12" height="12" style="vertical-align:middle"> Close                                                                                                                              
                  </button>                                                                                                                                                                                                                                     
               </td>                                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
            <tr>                                                                                                                                                                                                                                                
               <td background="&appwebroot/images/col_bottom.jpg" width="598" class="font_tahoma_11_grey2"><font size="1"><br>                                                                                                                                  
                           Meta-Xceed Inc. ©  2007  <br>                                                                                                                                                                               
                            <br>                                                                                                                                                                                                                 
                        </font></td>                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
      </div>                                                                                                                                                                                                                                                    
   </div>                                                                                                                                                                                                                                                       
</form>                                                                                                                                                                                                                                                         
      endsubmit;                                                                                                                                                                                                                                                
      rc = preview ('file','_WEBOUT');                                                                                                                                                                                                                          
      rc = preview ('clear');                                                                                                                                                                                                                                   
      return;                                                                                                                                                                                                                                                   
   end;                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                
   nvars = attrn(dsid, 'nvars');                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
   if nvars = 0 then do;                                                                                                                                                                                                                                        
      submit;                                                                                                                                                                                                                                                   
               <td align="center">The selected Dataset does not contain any variable.</td>                                                                                                                                                                      
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
         </center>                                                                                                                                                                                                                                              
      </div>                                                                                                                                                                                                                                                    
      <div id="botbar">                                                                                                                                                                                                                                         
         <table border="0" cellspacing="0" cellpadding="0">                                                                                                                                                                                                     
            <tr>                                                                                                                                                                                                                                                
               <td align = "center">                                                                                                                                                                                                                            
                  <button id="btnClose" name="btnClose" onClick="javascript:window.close();" value="Close">                                                                                                                                                     
                     <img src="&appwebroot/images/exit_12_12.gif" width="12" height="12" style="vertical-align:middle"> Close                                                                                                                              
                  </button>                                                                                                                                                                                                                                     
               </td>                                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
            <tr>                                                                                                                                                                                                                                                
               <td background="&appwebroot/images/col_bottom.jpg" width="598" class="font_tahoma_11_grey2"><font size="1"><br>                                                                                                                                  
                           Meta-Xceed Inc. ©  2007  <br>                                                                                                                                                                               
                            <br>                                                                                                                                                                                                                 
                        </font></td>                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
      </div>                                                                                                                                                                                                                                                    
   </div>                                                                                                                                                                                                                                                       
</form>                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                
      endsubmit;                                                                                                                                                                                                                                                
      dsid = close(dsid);                                                                                                                                                                                                                                       
      rc = preview ('file','_WEBOUT');                                                                                                                                                                                                                          
      rc = preview ('clear');                                                                                                                                                                                                                                   
      return;                                                                                                                                                                                                                                                   
   end;                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                
   nobs = attrn(dsid, 'nobs');                                                                                                                                                                                                                                  
   if nobs > 100 then nobs = 100;                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                
   submit;                                                                                                                                                                                                                                                      
               <th>Obs</th>                                                                                                                                                                                                                                     
   endsubmit;                                                                                                                                                                                                                                                   
   do i = 1 to nvars;                                                                                                                                                                                                                                           
      curvar = varname(dsid, i);                                                                                                                                                                                                                                
      submit;                                                                                                                                                                                                                                                   
               <th>&curvar</th>                                                                                                                                                                                                                                 
      endsubmit;                                                                                                                                                                                                                                                
   end;                                                                                                                                                                                                                                                         
   submit;                                                                                                                                                                                                                                                      
            </tr>                                                                                                                                                                                                                                               
   endsubmit;                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
   cnt = 1;                                                                                                                                                                                                                                                     
   color = 1;                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                
   do while(fetchobs(dsid, cnt) = 0 and cnt <= nobs);                                                                                                                                                                                                           
      if color = 1 then do;                                                                                                                                                                                                                                     
         submit;                                                                                                                                                                                                                                                
            <tr>                                                                                                                                                                                                                                                
               <td>&cnt</td>                                                                                                                                                                                                                                    
         endsubmit;                                                                                                                                                                                                                                             
      end;                                                                                                                                                                                                                                                      
      else do;                                                                                                                                                                                                                                                  
         submit;                                                                                                                                                                                                                                                
            <tr>                                                                                                                                                                                                                                                
               <td bgcolor="#FFFFCC">&cnt</td>                                                                                                                                                                                                                  
         endsubmit;                                                                                                                                                                                                                                             
      end;                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                
      do i = 1 to nvars;                                                                                                                                                                                                                                        
         curvartype = vartype(dsid, i);                                                                                                                                                                                                                         
         if curvartype = 'C' then do;                                                                                                                                                                                                                           
            curval = getvarc(dsid, i);                                                                                                                                                                                                                          
         end;                                                                                                                                                                                                                                                   
         else do;                                                                                                                                                                                                                                               
            curval = getvarn(dsid, i);                                                                                                                                                                                                                          
         end;                                                                                                                                                                                                                                                   
         if curval = '' then curval = ' ';                                                                                                                                                                                                                 
         if color = 1 then do;                                                                                                                                                                                                                                  
            submit;                                                                                                                                                                                                                                             
               <td>&curval</td>                                                                                                                                                                                                                                 
            endsubmit;                                                                                                                                                                                                                                          
         end;                                                                                                                                                                                                                                                   
         else do;                                                                                                                                                                                                                                               
            submit;                                                                                                                                                                                                                                             
               <td bgcolor="FFFFCC">&curval</td>                                                                                                                                                                                                                
            endsubmit;                                                                                                                                                                                                                                          
         end;                                                                                                                                                                                                                                                   
      end;                                                                                                                                                                                                                                                      
      submit;                                                                                                                                                                                                                                                   
            </tr>                                                                                                                                                                                                                                               
      endsubmit;                                                                                                                                                                                                                                                
      if color = 1 then color = 0;                                                                                                                                                                                                                              
      else color = 1;                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                
      cnt = cnt + 1;                                                                                                                                                                                                                                            
   end;                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                
   submit;                                                                                                                                                                                                                                                      
         </center>                                                                                                                                                                                                                                              
         </table>                                                                                                                                                                                                                                               
      </div>                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                
      <div id="botbar">                                                                                                                                                                                                                                         
         <br>                                                                                                                                                                                                                                                   
         <table border="0" cellspacing="0" cellpadding="0">                                                                                                                                                                                                     
            <tr>                                                                                                                                                                                                                                                
               <td background="&appwebroot/images/col_bottom.jpg" width="598" class="font_tahoma_11_grey2" align="center">                                                                                                                                      
               <font size="1">                                                                                                                                                                                                                                  
                  Generated on: &curdatetime, &usrname.                                                                                                                                                                                                         
               </font></td>                                                                                                                                                                                                                                     
            </tr>                                                                                                                                                                                                                                               
            <tr>                                                                                                                                                                                                                                                
               <td align = "center">                                                                                                                                                                                                                            
                  <br>                                                                                                                                                                                                                                     
                  <button id="btnClose" name="btnClose" onClick="javascript:window.close();" value="Close">                                                                                                                                                     
                     <img src="&appwebroot/images/exit_12_12.gif" width="12" height="12" style="vertical-align:middle"> Close                                                                                                                              
                  </button>                                                                                                                                                                                                                                     
               </td>                                                                                                                                                                                                                                            
            </tr>                                                                                                                                                                                                                                               
         </table>                                                                                                                                                                                                                                               
      </div>                                                                                                                                                                                                                                                    
   </div>                                                                                                                                                                                                                                                       
</body>                                                                                                                                                                                                                                                         
</html>                                                                                                                                                                                                                                                         
   endsubmit;                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                
   dsid = close(dsid);                                                                                                                                                                                                                                          
   rc = preview ('file','_WEBOUT');                                                                                                                                                                                                                             
   rc = preview ('clear');                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                
RETURN;