<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: In which criteria we have to use positional and keyword parameters in macro in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/In-which-criteria-we-have-to-use-positional-and-keyword/m-p/148617#M297720</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would use named parameters as much as possible.&amp;nbsp; They are easier to document, make the code easier to read.&amp;nbsp; For instance if you optional parameters you could have either:&lt;/P&gt;&lt;P&gt;%macro do_something (avar,avar2,,,,,,some_new_var,,,,);&lt;/P&gt;&lt;P&gt;Or&lt;/P&gt;&lt;P&gt;%macro do_something (variable_to_process=avar,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; variable_label=avar2,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output_variable=some_new_var);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is however an opinion, and there are some occasions where it doesn't help any to have named parameters, for instance where macros are embedded in other macros:&lt;/P&gt;&lt;P&gt;%macro big_loop (loop_start=,loop_end=,var=);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro inner_loop (a,b);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do loop over a to b;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend inner_loop;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %inner_loop(loop_start,loop_end;&lt;/P&gt;&lt;P&gt;%mend big_loop;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As the user never sees the inner loop macro, then it really doesn't need documenting.&amp;nbsp; So, if another person has to use it, maybe veer towards named paramers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 May 2014 13:51:07 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2014-05-07T13:51:07Z</dc:date>
    <item>
      <title>In which criteria we have to use positional and keyword parameters in macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/In-which-criteria-we-have-to-use-positional-and-keyword/m-p/148615#M297718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please anyone explain in which situation we have to use which parameter like key and positional parameters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any particular situation for using those parameters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Shiva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 13:31:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/In-which-criteria-we-have-to-use-positional-and-keyword/m-p/148615#M297718</guid>
      <dc:creator>shivakrishna</dc:creator>
      <dc:date>2014-05-07T13:31:32Z</dc:date>
    </item>
    <item>
      <title>Re: In which criteria we have to use positional and keyword parameters in macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/In-which-criteria-we-have-to-use-positional-and-keyword/m-p/148616#M297719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That is the macro designers job to decide.&amp;nbsp; To help, the parameter approach is easier with setting default values. &lt;A href="http://support.sas.com/documentation/cdl/en/mcrolref/62978/HTML/default/viewer.htm#p1nypovnwon4uyn159rst8pgzqrl.htm" title="http://support.sas.com/documentation/cdl/en/mcrolref/62978/HTML/default/viewer.htm#p1nypovnwon4uyn159rst8pgzqrl.htm"&gt;SAS(R) 9.3 Macro Language: Reference&lt;/A&gt; (%macro)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 13:46:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/In-which-criteria-we-have-to-use-positional-and-keyword/m-p/148616#M297719</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2014-05-07T13:46:39Z</dc:date>
    </item>
    <item>
      <title>Re: In which criteria we have to use positional and keyword parameters in macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/In-which-criteria-we-have-to-use-positional-and-keyword/m-p/148617#M297720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would use named parameters as much as possible.&amp;nbsp; They are easier to document, make the code easier to read.&amp;nbsp; For instance if you optional parameters you could have either:&lt;/P&gt;&lt;P&gt;%macro do_something (avar,avar2,,,,,,some_new_var,,,,);&lt;/P&gt;&lt;P&gt;Or&lt;/P&gt;&lt;P&gt;%macro do_something (variable_to_process=avar,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; variable_label=avar2,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output_variable=some_new_var);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is however an opinion, and there are some occasions where it doesn't help any to have named parameters, for instance where macros are embedded in other macros:&lt;/P&gt;&lt;P&gt;%macro big_loop (loop_start=,loop_end=,var=);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro inner_loop (a,b);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do loop over a to b;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend inner_loop;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %inner_loop(loop_start,loop_end;&lt;/P&gt;&lt;P&gt;%mend big_loop;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As the user never sees the inner loop macro, then it really doesn't need documenting.&amp;nbsp; So, if another person has to use it, maybe veer towards named paramers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 May 2014 13:51:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/In-which-criteria-we-have-to-use-positional-and-keyword/m-p/148617#M297720</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-05-07T13:51:07Z</dc:date>
    </item>
  </channel>
</rss>

