﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PhUSE What's New</title><link>http://www.phuse.eu/splash.aspx</link><generator>What's New RSS feed developed by VSI-Thinking, www.vsi-thinking.com</generator><language>en</language><description>All the latest updates from PhUSE</description><copyright>(C) 2011PhUSE</copyright><item><title>Overview of Common SAS Macro Functions</title><link>http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx</link><pubDate>Sun, 16 Oct 2011 18:28:47 GMT</pubDate><dc:creator>PhUSE Wiki</dc:creator><description><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes     ]]></description><content:encoded><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes                                                     DATA   _null_;                                                              CALL SOUND (100,200);                                                               CALL SOUND (200,200);                                                   RUN;                                                                   Use of PARMBUFF, e.g. to avoid SAS errors   when parameters has been mistyped or flexible parameter names should be used.                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Example for   initializing unknown macro systems via parameters:                                                                   http://www.lexjansen.com/phuse/2009/cs/cs01.pdf                                                                                 %macro   test /parmbuff;                                                              %PUT syspbuff=&amp;syspbuff;                                   %mend;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                %sales   (parm1 = 1, parm2 = 0);                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Log   output:                                    syspbuff=(parm1   = 1, parm2 = 0)                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                                                Sometimes FILES needs to be modified. Positioning   according leading spaces can be used.                                                     DATA   _NULL_;                                                      INFILE &quot;c:\test1.txt&quot;                                                          lrecl=100 END=eof TRUNCOVER;                                                      FILE &quot;c:\test2.txt&quot; lrecl=100;                                                      INPUT;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   text = _INFILE_;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   i=LENGTH(text)-LENGTH(LEFT(text));                                                      PUT @i text;                                   RUN;                                                                   When the work   area should be cleaned completely, then also global macro variables can be   deleted with the SYMDEL function.                                                     Data   _temp;                                                              Set sashelp.vmacro;                                                              Where scope=’GLOBAL’;                                   RUN;                                   DATA   _null_;                                                              Set _temp;                                                              Call symdel(name);                                   Run;                                                  &lt;o:p&gt; &lt;/o:p&gt;]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx?280616102011</guid></item><item><title>Overview of Common SAS Macro Functions</title><link>http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx</link><pubDate>Fri, 14 Oct 2011 19:17:42 GMT</pubDate><dc:creator>PhUSE Wiki</dc:creator><description><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes     ]]></description><content:encoded><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes                                                     DATA   _null_;                                                              CALL SOUND (100,200);                                                               CALL SOUND (200,200);                                                   RUN;                                                                   Use of PARMBUFF, e.g. to avoid SAS errors   when parameters has been mistyped or flexible parameter names should be used.                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Example for   initializing unknown macro systems via parameters:                                                                   http://www.lexjansen.com/phuse/2009/cs/cs01.pdf                                                                                 %macro   test /parmbuff;                                                              %PUT syspbuff=&amp;syspbuff;                                   %mend;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                %sales   (parm1 = 1, parm2 = 0);                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Log   output:                                    syspbuff=(parm1   = 1, parm2 = 0)                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                                                Sometimes FILES needs to be modified. Positioning   according leading spaces can be used.                                                     DATA   _NULL_;                                                      INFILE &quot;c:\test1.txt&quot;                                                          lrecl=100 END=eof TRUNCOVER;                                                      FILE &quot;c:\test2.txt&quot; lrecl=100;                                                      INPUT;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   text = _INFILE_;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   i=LENGTH(text)-LENGTH(LEFT(text));                                                      PUT @i text;                                   RUN;                                                                   When the work   area should be cleaned completely, then also global macro variables can be   deleted with the SYMDEL function.                                                     Data   _temp;                                                              Set sashelp.vmacro;                                                              Where scope=’GLOBAL’;                                   RUN;                                   DATA   _null_;                                                              Set _temp;                                                              Call symdel(name);                                   Run;                                                  &lt;o:p&gt; &lt;/o:p&gt;]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx?170714102011</guid></item><item><title>Overview of Common SAS Macro Functions</title><link>http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx</link><pubDate>Fri, 14 Oct 2011 19:16:27 GMT</pubDate><dc:creator>PhUSE Wiki</dc:creator><description><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes     ]]></description><content:encoded><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes                                                     DATA   _null_;                                                              CALL SOUND (100,200);                                                               CALL SOUND (200,200);                                                   RUN;                                                                   Use of PARMBUFF, e.g. to avoid SAS errors   when parameters has been mistyped or flexible parameter names should be used.                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Example for   initializing unknown macro systems via parameters:                                                                   http://www.lexjansen.com/phuse/2009/cs/cs01.pdf                                                                                 %macro   test /parmbuff;                                                              %PUT syspbuff=&amp;syspbuff;                                   %mend;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                %sales   (parm1 = 1, parm2 = 0);                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Log   output:                                    syspbuff=(parm1   = 1, parm2 = 0)                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                                                Sometimes FILES needs to be modified. Positioning   according leading spaces can be used.                                                     DATA   _NULL_;                                                      INFILE &quot;c:\test1.txt&quot;                                                          lrecl=100 END=eof TRUNCOVER;                                                      FILE &quot;c:\test2.txt&quot; lrecl=100;                                                      INPUT;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   text = _INFILE_;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   i=LENGTH(text)-LENGTH(LEFT(text));                                                      PUT @i text;                                   RUN;                                                                   When the work   area should be cleaned completely, then also global macro variables can be   deleted with the SYMDEL function.                                                     Data   _temp;                                                              Set sashelp.vmacro;                                                              Where scope=’GLOBAL’;                                   RUN;                                   DATA   _null_;                                                              Set _temp;                                                              Call symdel(name);                                   Run;                                                  &lt;o:p&gt; &lt;/o:p&gt;]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx?160714102011</guid></item><item><title>Standard Programs vs. Standard Macros</title><link>http://www.phuse.eu/blog/standard-programs-vs-standard-macros/</link><pubDate>Wed, 01 Feb 2012 08:00:00 GMT</pubDate><dc:creator>Katja Glass</dc:creator><description><![CDATA[Personally I cannot understand discussions about creating standard programs or standard macros. I]]></description><content:encoded><![CDATA[Personally I cannot understand discussions about creating standard programs or standard macros. I could only imagine very rare situations where standard programs will make more sense than standard macros.Yes I know the validation effort to create standard macros is much higher than for standard programs, but the validation on study level when those standards are used is the one which should count. When users call macros, then they only need to validate the correct parameters. When they call programs only the call needs to be validated, yes. But standard programs are rarely used as they are. And when a standard program is modified, then the user has to validate it and for this even understand the complete program.I know as well that users prefer programs as that&#39;s what they understand! They write programs every day! But they typically do not have the time to understand standard programs in detail, modify and validate it any time they use it. When they copy programs from study A to B, they do not want to check whether a standard program modification they are probably not aware of is applicable for their study as well. When reviewing parameters they can quickly see relevant used options.Error handling in standard programs is nearly not available whereas the error handling is a major part within any standard macro. The user will get meaningful error messages from standard macros instead of searching manually within the source of a standard program where the error is originated.Standards are managed much better when they are located in a global standards area and do not need to be copied to every study to become modified which would be the case for most standard programs. Feedback will be delivered much easier, when the user has no other chance to solve problems but to report. Otherwise the standard program for his or her study is modified and knowledge about an important change will be missed.But ok, if you have standard programs which would be ten lines of source then please do not create a standard macro around. Also when your pre-requirements are not fixed, as your ADAM+ is still in finalization or the first version, do not invest too much resources in creating standard macros which highly depends on them.  Sometimes you do not know the required variations as well. Probably provide standard programs to investigate requirements for later. But when you know that your standard programs are copied and validated on study level anyway ... why don&#39;t you provide standard templates? They are easy to create (copy from study A, insert comments) and provide them with no formal validation, as this is done on study level anyway? Also when your resources are limited, try to go with templates! Look around the studies of your programmers and search for useful templates. Probably they already have draft macros which just need to be promoted. When these templates and macros become a stable status, try to go through validation which will finally need less study-level validation which means provide standard macros.]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/blog/standard-programs-vs-standard-macros/000801022012</guid></item><item><title>PreConference Training - start time</title><link>http://www.phuse.eu/forum.aspx?a=topic&amp;post=80</link><pubDate>Tue, 06 Sep 2011 10:19:35 GMT</pubDate><dc:creator>John Salter</dc:creator><description><![CDATA[Hello Katja,I guess here is just as good a place as any; although more formal timelines will be]]></description><content:encoded><![CDATA[Hello Katja,I guess here is just as good a place as any; although more formal timelines will be confirmed via email by SAS over the next couple of weeks (to include the online tutorial session timings as well).There will be a pre-examination tutorial from 14.00 in the hotel (room TBC); the Certification examination itself will start at 15.30 - 70 questions that should take approximately 2 hours to complete.Just in time for Sunday evening networking!Thanks and regardsJohn]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/forum.aspx?a=topic&amp;post=80191006092011</guid></item><item><title>PreConference Training - start time</title><link>http://www.phuse.eu/forum.aspx?a=topic&amp;post=80</link><pubDate>Tue, 06 Sep 2011 10:15:51 GMT</pubDate><dc:creator>Katja Glass</dc:creator><description><![CDATA[Hi,somehow I can not find the start time for the pre conference training. Could you add the]]></description><content:encoded><![CDATA[Hi,somehow I can not find the start time for the pre conference training. Could you add the information somewhere?Thanks]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/forum.aspx?a=topic&amp;post=80151006092011</guid></item><item><title>PreConference Training - SAS Certification</title><link>http://www.phuse.eu/forum.aspx?a=topic&amp;post=79</link><pubDate>Wed, 22 Jun 2011 08:40:00 GMT</pubDate><dc:creator>John Salter</dc:creator><description><![CDATA[Hi Katja,Yes, it includes the exam (with a face-to-face study session beforehand).We&#39;re]]></description><content:encoded><![CDATA[Hi Katja,Yes, it includes the exam (with a face-to-face study session beforehand).We&#39;re putting together a mailshot with further details - apologies for any confusion!]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/forum.aspx?a=topic&amp;post=79400822062011</guid></item><item><title>PhUSE Society Newsletters</title><link>http://www.phuse.eu/Society-Newsletters.aspx</link><pubDate>Wed, 22 Feb 2012 15:49:47 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[The electronic versions of the PhUSE newsletter]]></description><content:encoded><![CDATA[The electronic versions of the PhUSE newsletter]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/Society-Newsletters.aspx490322022012</guid></item><item><title>CSS 2012 Agenda</title><link>http://www.phuse.eu/CSS-2012-Agenda.aspx</link><pubDate>Wed, 22 Feb 2012 14:58:35 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[Agenda for PhUSE/FDA Annual Computational Science Symposium 2012]]></description><content:encoded><![CDATA[Agenda for PhUSE/FDA Annual Computational Science Symposium 2012]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/CSS-2012-Agenda.aspx580222022012</guid></item><item><title>PhUSE Tube Videos</title><link>http://www.phuse.eu/phusetube_repository.aspx</link><pubDate>Thu, 26 Jan 2012 17:56:13 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[tube]]></description><content:encoded><![CDATA[tube]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/phusetube_repository.aspx560526012012</guid></item><item><title>SDE Philadelphia 2011</title><link>http://www.phuse.eu/SDE-Philadelphia-2011.aspx</link><pubDate>Wed, 18 Jan 2012 11:50:38 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[Presentations from PhUSE Philadelphia 2011]]></description><content:encoded><![CDATA[Presentations from PhUSE Philadelphia 2011]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/SDE-Philadelphia-2011.aspx501118012012</guid></item><item><title>FDA/PhUSE Annual Computational Science Symposium</title><link>http://www.phuse.eu/CSS.aspx</link><pubDate>Mon, 16 Jan 2012 15:14:21 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[Computational Science Symposium]]></description><content:encoded><![CDATA[Computational Science Symposium]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/CSS.aspx140316012012</guid></item></channel></rss>
