<?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 Why is CAT removing leading zeros? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329883#M271837</link>
    <description>&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color="blue"&gt;Please see the section below. I have tried many different ways. &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color="blue"&gt;In some steps the leading zero is kept, but in the CAT it is stripped. &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color="blue"&gt;Main variable: HHLDID (unique 18 character string)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="navy"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt; &lt;FONT color="black"&gt;&lt;STRONG&gt;&lt;I&gt;doloop&lt;/I&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color="black"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;data _null_;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/*__ STEP 1: SET DATE RANGE _____________________________________________________*/&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* Start year&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"startyear"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'2016'&lt;/FONT&gt;&lt;FONT color="black"&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;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* Start month&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"startmonth"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'01'&lt;/FONT&gt;&lt;FONT color="black"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* End year&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"endyear"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'2016'&lt;/FONT&gt;&lt;FONT color="black"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* End month&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"endmonth"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'0&lt;/FONT&gt;&lt;FONT color="purple"&gt;3&lt;/FONT&gt;&lt;FONT color="purple"&gt;'&lt;/FONT&gt;&lt;FONT color="black"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;stop;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="blue"&gt;%do&lt;FONT color="black"&gt; i=&amp;amp;startyear &lt;/FONT&gt;%to&lt;FONT color="black"&gt; &amp;amp;endyear;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="blue"&gt;%do&lt;FONT color="black"&gt; j=&lt;/FONT&gt;&lt;FONT color="teal"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/FONT&gt; %to &lt;FONT color="teal"&gt;&lt;STRONG&gt;12&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color="black"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="blue"&gt;%if&lt;/FONT&gt; &amp;amp;&lt;FONT color="teal"&gt;j.&lt;/FONT&gt;=&lt;FONT color="teal"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/FONT&gt; and &amp;amp;&lt;FONT color="teal"&gt;i.&lt;/FONT&gt;=&amp;amp;startyear &lt;FONT color="blue"&gt;%then&lt;/FONT&gt; &lt;FONT color="blue"&gt;%let&lt;/FONT&gt; j=&amp;amp;startmonth;&lt;/DIV&gt;&lt;DIV&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; &lt;FONT color="blue"&gt;%let&lt;/FONT&gt; month=&lt;FONT color="blue"&gt;%sysfunc&lt;/FONT&gt;(putn(&amp;amp;j,z2.)); &lt;FONT color="green"&gt;/* leading 0 for month if needed */&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&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; &lt;FONT face="Courier New" color="blue"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; year=&lt;/FONT&gt;&lt;FONT face="Courier New" color="blue"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;(substrn(&amp;amp;i.,3)); &lt;/FONT&gt;&lt;FONT face="Courier New" color="green"&gt;/* last 2 digits of year */&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&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; &lt;FONT face="Courier New" color="blue"&gt;%if&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; ( ((&amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;endyear.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; ne &amp;amp;startyear) and (&amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;i.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; ne &amp;amp;endyear)) or (&amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;i.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;=&amp;amp;endyear and &amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;month.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; le &amp;amp;endmonth) )&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&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; &lt;FONT color="blue"&gt;%then&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&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; &lt;FONT color="blue"&gt;%do&lt;/FONT&gt;;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;data output.BOOT&amp;amp;&lt;FONT color="teal"&gt;month.&lt;/FONT&gt;&amp;amp;&lt;FONT color="teal"&gt;year.&lt;/FONT&gt;; &lt;FONT color="green"&gt;*/ &lt;/FONT&gt;&lt;FONT face="Wingdings"&gt;ß&lt;/FONT&gt;&lt;FONT color="green"&gt; THIS PART PUTS MONTH WITH LEADING 0 CORRECTLY */&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;set boot.bootstrap_rcomp&amp;amp;&lt;FONT color="teal"&gt;i.&lt;/FONT&gt;&amp;amp;month ; &lt;FONT color="green"&gt;*/ &lt;/FONT&gt;&lt;FONT face="Wingdings"&gt;ß&lt;/FONT&gt;&lt;FONT color="green"&gt; THIS PART PUTS MONTH WITH LEADING 0 CORRECTLY */&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;HHLDID_date= cat(HHLDID,&lt;FONT color="blue"&gt;%sysfunc&lt;/FONT&gt;(putn(&amp;amp;MONTH,&lt;FONT color="teal"&gt;z3.&lt;/FONT&gt;))&amp;amp;year); &lt;FONT color="green"&gt;*/ &lt;/FONT&gt;&lt;FONT face="Wingdings"&gt;ß&lt;/FONT&gt;&lt;FONT color="green"&gt; THIS PART &lt;/FONT&gt;&lt;FONT color="green"&gt;STRIPS THE &lt;/FONT&gt;&lt;FONT color="green"&gt;LEADING 0&lt;/FONT&gt;&lt;FONT color="green"&gt; IN THE MONTH &lt;/FONT&gt;&lt;FONT color="green"&gt;*/&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Calibri"&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;&lt;FONT face="Courier New" color="blue"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&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; &lt;FONT face="Courier New"&gt;run;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="blue"&gt;%end&lt;FONT color="black"&gt;; &lt;/FONT&gt;%end&lt;FONT color="black"&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;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="navy"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;FONT color="black"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;%&lt;STRONG&gt;&lt;I&gt;doloop&lt;/I&gt;&lt;/STRONG&gt;;&lt;/DIV&gt;</description>
    <pubDate>Fri, 03 Feb 2017 19:59:56 GMT</pubDate>
    <dc:creator>fieldsa83</dc:creator>
    <dc:date>2017-02-03T19:59:56Z</dc:date>
    <item>
      <title>Why is CAT removing leading zeros?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329883#M271837</link>
      <description>&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color="blue"&gt;Please see the section below. I have tried many different ways. &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color="blue"&gt;In some steps the leading zero is kept, but in the CAT it is stripped. &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color="blue"&gt;Main variable: HHLDID (unique 18 character string)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="navy"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt; &lt;FONT color="black"&gt;&lt;STRONG&gt;&lt;I&gt;doloop&lt;/I&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color="black"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;data _null_;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/*__ STEP 1: SET DATE RANGE _____________________________________________________*/&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* Start year&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"startyear"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'2016'&lt;/FONT&gt;&lt;FONT color="black"&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;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* Start month&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"startmonth"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'01'&lt;/FONT&gt;&lt;FONT color="black"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* End year&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"endyear"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'2016'&lt;/FONT&gt;&lt;FONT color="black"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="green"&gt;/* End month&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="black"&gt;call symput (&lt;/FONT&gt;&lt;FONT color="purple"&gt;"endmonth"&lt;/FONT&gt;&lt;FONT color="black"&gt;,&lt;/FONT&gt;&lt;FONT color="purple"&gt;'0&lt;/FONT&gt;&lt;FONT color="purple"&gt;3&lt;/FONT&gt;&lt;FONT color="purple"&gt;'&lt;/FONT&gt;&lt;FONT color="black"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;stop;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="blue"&gt;%do&lt;FONT color="black"&gt; i=&amp;amp;startyear &lt;/FONT&gt;%to&lt;FONT color="black"&gt; &amp;amp;endyear;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="blue"&gt;%do&lt;FONT color="black"&gt; j=&lt;/FONT&gt;&lt;FONT color="teal"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/FONT&gt; %to &lt;FONT color="teal"&gt;&lt;STRONG&gt;12&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color="black"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="blue"&gt;%if&lt;/FONT&gt; &amp;amp;&lt;FONT color="teal"&gt;j.&lt;/FONT&gt;=&lt;FONT color="teal"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/FONT&gt; and &amp;amp;&lt;FONT color="teal"&gt;i.&lt;/FONT&gt;=&amp;amp;startyear &lt;FONT color="blue"&gt;%then&lt;/FONT&gt; &lt;FONT color="blue"&gt;%let&lt;/FONT&gt; j=&amp;amp;startmonth;&lt;/DIV&gt;&lt;DIV&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; &lt;FONT color="blue"&gt;%let&lt;/FONT&gt; month=&lt;FONT color="blue"&gt;%sysfunc&lt;/FONT&gt;(putn(&amp;amp;j,z2.)); &lt;FONT color="green"&gt;/* leading 0 for month if needed */&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&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; &lt;FONT face="Courier New" color="blue"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; year=&lt;/FONT&gt;&lt;FONT face="Courier New" color="blue"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;(substrn(&amp;amp;i.,3)); &lt;/FONT&gt;&lt;FONT face="Courier New" color="green"&gt;/* last 2 digits of year */&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&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; &lt;FONT face="Courier New" color="blue"&gt;%if&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; ( ((&amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;endyear.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; ne &amp;amp;startyear) and (&amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;i.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; ne &amp;amp;endyear)) or (&amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;i.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;=&amp;amp;endyear and &amp;amp;&lt;/FONT&gt;&lt;FONT face="Courier New" color="teal"&gt;month.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; le &amp;amp;endmonth) )&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&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; &lt;FONT color="blue"&gt;%then&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&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; &lt;FONT color="blue"&gt;%do&lt;/FONT&gt;;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;data output.BOOT&amp;amp;&lt;FONT color="teal"&gt;month.&lt;/FONT&gt;&amp;amp;&lt;FONT color="teal"&gt;year.&lt;/FONT&gt;; &lt;FONT color="green"&gt;*/ &lt;/FONT&gt;&lt;FONT face="Wingdings"&gt;ß&lt;/FONT&gt;&lt;FONT color="green"&gt; THIS PART PUTS MONTH WITH LEADING 0 CORRECTLY */&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;set boot.bootstrap_rcomp&amp;amp;&lt;FONT color="teal"&gt;i.&lt;/FONT&gt;&amp;amp;month ; &lt;FONT color="green"&gt;*/ &lt;/FONT&gt;&lt;FONT face="Wingdings"&gt;ß&lt;/FONT&gt;&lt;FONT color="green"&gt; THIS PART PUTS MONTH WITH LEADING 0 CORRECTLY */&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;HHLDID_date= cat(HHLDID,&lt;FONT color="blue"&gt;%sysfunc&lt;/FONT&gt;(putn(&amp;amp;MONTH,&lt;FONT color="teal"&gt;z3.&lt;/FONT&gt;))&amp;amp;year); &lt;FONT color="green"&gt;*/ &lt;/FONT&gt;&lt;FONT face="Wingdings"&gt;ß&lt;/FONT&gt;&lt;FONT color="green"&gt; THIS PART &lt;/FONT&gt;&lt;FONT color="green"&gt;STRIPS THE &lt;/FONT&gt;&lt;FONT color="green"&gt;LEADING 0&lt;/FONT&gt;&lt;FONT color="green"&gt; IN THE MONTH &lt;/FONT&gt;&lt;FONT color="green"&gt;*/&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Calibri"&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;&lt;FONT face="Courier New" color="blue"&gt;%end&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Calibri"&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; &lt;FONT face="Courier New"&gt;run;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="blue"&gt;%end&lt;FONT color="black"&gt;; &lt;/FONT&gt;%end&lt;FONT color="black"&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;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="navy"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;FONT color="black"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;%&lt;STRONG&gt;&lt;I&gt;doloop&lt;/I&gt;&lt;/STRONG&gt;;&lt;/DIV&gt;</description>
      <pubDate>Fri, 03 Feb 2017 19:59:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329883#M271837</guid>
      <dc:creator>fieldsa83</dc:creator>
      <dc:date>2017-02-03T19:59:56Z</dc:date>
    </item>
    <item>
      <title>Re: Why is CAT removing leading zeros?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329890#M271838</link>
      <description>&lt;P&gt;Inside a data step you probably really shouldn't use the the macro function %sysfunc. You value gets treated by the macro processor not the data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;hhldid_date=cat(hhldid,put(&amp;amp;month,&lt;/FONT&gt;&lt;FONT color="#804040" face="SAS Monospace" size="2"&gt;z3.&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;),&amp;amp;year));&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 20:40:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329890#M271838</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-02-03T20:40:35Z</dc:date>
    </item>
    <item>
      <title>Re: Why is CAT removing leading zeros?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329892#M271839</link>
      <description>&lt;P&gt;CAT function accepts both numeric and character arguments.&amp;nbsp; As written, after the macro processing is done you have given the CAT function something that looks like&amp;nbsp;a number, so it treats it as a number and ignores leading zeros.&amp;nbsp; If you want it to treat it as character you need to add quotes, i.e.:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;HHLDID_date= cat(HHLDID,"&lt;FONT color="blue"&gt;%sysfunc&lt;/FONT&gt;(putn(&amp;amp;MONTH,&lt;FONT color="teal"&gt;z3.&lt;/FONT&gt;))&amp;amp;year"); &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The quotes don't have meaning in the macro language, but int he data step language they tell the CAT function that the argument is a character literal value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a little example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let month=02;
%let year=2017;

data want;
  HHLDID="Some Text";
  try1= cat(HHLDID,%sysfunc(putn(&amp;amp;MONTH,z3.))&amp;amp;year);
  put try1=;

  try2= cat(HHLDID,"%sysfunc(putn(&amp;amp;MONTH,z3.))&amp;amp;year");
  put try2=;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 03 Feb 2017 20:42:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329892#M271839</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2017-02-03T20:42:03Z</dc:date>
    </item>
    <item>
      <title>Re: Why is CAT removing leading zeros?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329893#M271840</link>
      <description>&lt;P&gt;CAT see's it as numeric and according to the docs:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;If &lt;SPAN class="xis-userSuppliedValue"&gt;item&lt;/SPAN&gt; is numeric, then its value is converted to a character string by using the BEST&lt;SPAN class="xis-userSuppliedValue"&gt;w&lt;/SPAN&gt;. format.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You typically don't need the CAT function in macro though.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You're in a data step so you don't need the %SYSFUNC either.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;HHLDID_date= cat(HHLDID, put(&amp;amp;MONTH,z3.), &amp;amp;year);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 03 Feb 2017 20:45:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329893#M271840</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-02-03T20:45:14Z</dc:date>
    </item>
    <item>
      <title>Re: Why is CAT removing leading zeros?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329896#M271841</link>
      <description>&lt;P&gt;Just for the sake of discussion, I actually like the %SYSFUNC() approach better&amp;nbsp;here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Compare:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;HHLDID_date= cat(HHLDID,"%sysfunc(putn(&amp;amp;MONTH,z3.))&amp;amp;year") ;

HHLDID_date= cat(HHLDID, put(&amp;amp;MONTH,z3.), &amp;amp;year) ;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;amp;Month is is a constant stored in a macro variable, as is &amp;amp;Year.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you use the first approach, the %sysfunc() is executed only once when the macro executes.&amp;nbsp; With the second approach, the PUT() function will execute once for every observation, as the DATA step executes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With moderately sized data, I would expect a small efficiency gain from the first approach, but this sort of efficiency doesn't matter much to me.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I mostly like the first approach for clarity (though many may disagree : )&amp;nbsp;&amp;nbsp;I think it's clearer to use the data step language to manipulate data step variables, and use the macro language to manipulate macro variables.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 21:03:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329896#M271841</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2017-02-03T21:03:17Z</dc:date>
    </item>
    <item>
      <title>Re: Why is CAT removing leading zeros?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329902#M271842</link>
      <description>&lt;P&gt;If I thought I needed the macro side I would probably actually use&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#ff0080" face="SAS Monospace" size="2"&gt;%let&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; newmonth= &lt;/FONT&gt;&lt;FONT color="#ff0080" face="SAS Monospace" size="2"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;(putn(&amp;amp;month,z3.))&amp;amp;year;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;and then use &amp;amp;newmonth so there was only a single macro variable referenced inside the data step in that CAT.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;I believe the original issue actually was that the result of the %sysfunc, whic was 001 behave like&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;var= cat(othervar,0012016); which uses the best format to convert the 0012016&amp;nbsp;to the string before concatenating. So I think you might need "%sysfunc(putn(&amp;amp;month,z3))&amp;amp;year" inside the cat function.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 21:19:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329902#M271842</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-02-03T21:19:41Z</dc:date>
    </item>
    <item>
      <title>Re: Why is CAT removing leading zeros?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329914#M271843</link>
      <description>&lt;P&gt;Thanks for all the tips. Worked and I got my datasets prepared!&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 21:54:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-is-CAT-removing-leading-zeros/m-p/329914#M271843</guid>
      <dc:creator>fieldsa83</dc:creator>
      <dc:date>2017-02-03T21:54:25Z</dc:date>
    </item>
  </channel>
</rss>

