<?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: Incorrect output as result of a user-defined format in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311084#M61326</link>
    <description>&lt;P&gt;Got it to work with:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/**create function**/
proc fcmp outlib = work.functions.myfuncs;
function addZeros(x $) $32;
sizeZ = lengthm(x)-length(x)-1;
res = catt(repeat('0', sizeZ), x);
return (res);
endsub;
run;

options cmplib=work.functions;

/**create new format***/
proc format;
value $addFormatTest (default=32) other=[addZeros()];
run;

data sample;
 
  input x $15. ;
 
 
  y=x;
  len = length(x);
  lenm = lengthm(x);
  nrZeros = lengthm(x) - length(x);
 
  format y $addFormatTest.;
  z=put(x, $addFormatTest.);
 
datalines;
anothertest
test
tes
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Added missing parenthesis on REPEAT function call, cmplib option, and (default=) specification in value statement of proc format.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 11 Nov 2016 21:04:55 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2016-11-11T21:04:55Z</dc:date>
    <item>
      <title>Incorrect output as result of a user-defined format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311003#M61311</link>
      <description>&lt;P&gt;Hi experts,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know why I am not getting the results I expected using the following proc fcmp and proc format:&lt;CODE class=" language-sas"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/**create function**/
proc fcmp outlib = work.functions.myfuncs;
function addZeros(x $) $;&lt;BR /&gt;&lt;BR /&gt;sizeZ = lengthm(x)-length(x)-1;
res = catt(repeat('0', sizeZ,x);
return (res);
endsub;
run;

/**create new format***/
proc format;
value $addFormatTest other=[addZeros()];
run;

data sample;
 
  input x $15. ;
 
 
  y=x;
  len = length(x);
  lenm = lengthm(x);
  nrZeros = lengthm(x) - length(x);
 
  format y $addFormatTest.;
  z=put(x, $addFormatTest.);
 
datalines;
anothertest
test
tes
;
 
run;​&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This format was supposed to add leading zeros but it is writing more zeros than it should.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any Ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 16:02:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311003#M61311</guid>
      <dc:creator>bsas94</dc:creator>
      <dc:date>2016-11-11T16:02:20Z</dc:date>
    </item>
    <item>
      <title>Re: Incorrect output as result of a user-defined format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311020#M61312</link>
      <description>Yeah, use z. instead.</description>
      <pubDate>Fri, 11 Nov 2016 16:38:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311020#M61312</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2016-11-11T16:38:58Z</dc:date>
    </item>
    <item>
      <title>Re: Incorrect output as result of a user-defined format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311021#M61313</link>
      <description>&lt;P&gt;Definition found in&amp;nbsp;&lt;A href="https://support.sas.com/documentation/cdl/en/leforinforref/63324/HTML/default/viewer.htm#p09lpr3kmbh8fen1qepuv6zc1ldd.htm" target="_blank"&gt;https://support.sas.com/documentation/cdl/en/leforinforref/63324/HTML/default/viewer.htm#p09lpr3kmbh8fen1qepuv6zc1ldd.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Zw.d Format

Writes standard numeric data with leading 0s.

Category:	Numeric

Alignment:	right&lt;/PRE&gt;&lt;P&gt;I want to add zeros to a character variable and I will use it as a format in SAS Information Map and in SAS Marketing Automation export definitions.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tks,&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 16:49:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311021#M61313</guid>
      <dc:creator>bsas94</dc:creator>
      <dc:date>2016-11-11T16:49:28Z</dc:date>
    </item>
    <item>
      <title>Re: Incorrect output as result of a user-defined format</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311084#M61326</link>
      <description>&lt;P&gt;Got it to work with:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/**create function**/
proc fcmp outlib = work.functions.myfuncs;
function addZeros(x $) $32;
sizeZ = lengthm(x)-length(x)-1;
res = catt(repeat('0', sizeZ), x);
return (res);
endsub;
run;

options cmplib=work.functions;

/**create new format***/
proc format;
value $addFormatTest (default=32) other=[addZeros()];
run;

data sample;
 
  input x $15. ;
 
 
  y=x;
  len = length(x);
  lenm = lengthm(x);
  nrZeros = lengthm(x) - length(x);
 
  format y $addFormatTest.;
  z=put(x, $addFormatTest.);
 
datalines;
anothertest
test
tes
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Added missing parenthesis on REPEAT function call, cmplib option, and (default=) specification in value statement of proc format.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 21:04:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Incorrect-output-as-result-of-a-user-defined-format/m-p/311084#M61326</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-11-11T21:04:55Z</dc:date>
    </item>
  </channel>
</rss>

