<?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: Creating a unique ID on the web in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375039#M276420</link>
    <description>&lt;P&gt;1) You can change line:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;GOALID=TRIM(DIGIT1)||TRIM(DIGIT2)||TRIM(DIGIT3)||TRIM(DIGIT4);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;into:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;goalid = compress(cat(digit1,digit2,dit3,digit4));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;but as digit2 is a sequence number, you may want to have it in a fixed length format with leading zeros,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;thus change it into:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;goalid = compres(cat(digit1,put(digit2,z3.),dit3,digit4));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2) Your two steps:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Proc sql;
   create view temp1
   as select count(*) as count1 from sasdat.SasiGoalDb;
quit;
data _null_;
 set temp1;
     call symput("check1", count1);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;can be changed into one sql step (same for &lt;STRONG&gt;check2&lt;/STRONG&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data temp1(keep=count1);&lt;BR /&gt;  set &lt;CODE class=" language-sas"&gt;sasdat.SasiGoalDb  obs=count;&lt;BR /&gt;  count1 = count; output;&lt;BR /&gt;  call symput("check1",count1);&lt;BR /&gt;  stop;&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;NROW = &amp;amp;COUNT1;
ID         = NROW+1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you still have issues, please attach the full log.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 11 Jul 2017 16:33:37 GMT</pubDate>
    <dc:creator>Shmuel</dc:creator>
    <dc:date>2017-07-11T16:33:37Z</dc:date>
    <item>
      <title>Creating a unique ID on the web</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375018#M276418</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am working on a web application where the end user enters a new goal and it populates an existing&amp;nbsp;table. The existing table has a field GOALID for 15 rows of data already in the dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For each new goal entered, I would like the webapp to create a GOALID as below:&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;NROW=COUNT1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;ID=NROW+&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT1=&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;'G'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*THIS IDENTIFIES THAT THIS IS A GOAL*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT2=ID; &lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*SEQUENCE NUMBER */&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT3=SUBSTR(HOUSTYP,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*HOUSING TYPE - WHETHER FOCUS ON GENERAL POPULATION OR HOUSING TYPE*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT4=PROGTYP; &lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*THIS IDENTIFIES THE GROUP OF FOCUS - DP, CP, AP, MH, YO, YA, WO, WA*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;GOALID=TRIM(DIGIT1)||TRIM(DIGIT2)||TRIM(DIGIT3)||TRIM(DIGIT4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can get&amp;nbsp;fields 1, 3, 4 working but for some reason,&amp;nbsp;field 2 is null. What am I doing wrong?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The&amp;nbsp;relevant webapp code is below:&lt;/P&gt;&lt;P&gt;%global&lt;/P&gt;&lt;P&gt;/*Primary Key*/&lt;/P&gt;&lt;P&gt;GOALID GOALDESC HOUSTYP PROGTYP NOTES&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;* ADD DATE-TIME STAMP VARIABLE;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;DATA&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; new1; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DATETIME=&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;SYSDATE"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; || &lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;SYSTIME"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;STATDTE=INPUT(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;SYSDATE"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;,&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;DATE9.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;GOALID=PUT(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;GOALID"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;$6.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;GOALDESC=PUT(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;GOALDESC"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;$150.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;HOUSTYP=PUT(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;HOUSTYP"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;$11.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;PROGTYP=PUT(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;PROGTYP"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;$2.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;NOTES=PUT(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"&amp;amp;NOTES"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;$150.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;/*CREATE UNIQUE GOAL ID*/&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;ID=COUNT1+&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;CHARID = PUT(ID, &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;2.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT1=&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;'G'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*THIS IDENTIFIES THAT THIS IS A GOAL*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT2=CHARID; &lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*SEQUENCE NUMBER */&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT3=SUBSTR(HOUSTYP,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*HOUSING TYPE - WHETHER FOCUS ON GENERAL POPULATION OR HOUSING TYPE*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;DIGIT4=PROGTYP; &lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;/*THIS IDENTIFIES THE GROUP OF FOCUS - DP, CP, AP, MH, YO, YA, WO, WA*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;GOALID=TRIM(DIGIT1)||TRIM(DIGIT2)||TRIM(DIGIT3)||TRIM(DIGIT4);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;DROP&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ID CHARID DIGIT1 DIGIT2 DIGIT3 DIGIT4;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;Proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;sql&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;create&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;view&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; temp1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;as&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;select&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; count(*) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;as&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; count1 &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;from&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; sasdat.SasiGoalDb;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_null_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; temp1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; symput(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"check1"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, count1);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;*DO A BACKUP OF LAST PERMANENT DATA SET;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;DATA&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; SASDAT.SasiGoalDbBackup; &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;SET&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; sasdat.SasiGoalDb;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;*after data set is created - APPEND NEW SUBMISSION;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; sasdat.SasiGoalDb; &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; sasdat.SasiGoalDb new1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;GOALID=PUT(GOALID, &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;$6.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;Proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;sql&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;create&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;view&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; temp2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;as&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;select&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; count(*) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;as&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; count2 &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;from&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; sasdat.SasiGoalDb;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_null_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; temp2;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;call&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; symput(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;"check2"&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;, count2);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;FONT color="#008000" face="Courier New" size="2"&gt;*/&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;*COMMENT THE CHECK LINES OUT THE FIRST TIME THROUGH;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;ods&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;listing&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;close&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;ods&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;html&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;body&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;=_webout&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;rs&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;=&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;none&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;Data&lt;/STRONG&gt;&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;_null_&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;file&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; _webout ;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;If&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; &amp;amp;check1 &amp;lt; &amp;amp;check2 &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;PUT&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;HTML&amp;gt;&amp;lt;head&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;center&amp;gt;&amp;lt;H2&amp;gt;&amp;lt;b&amp;gt;Thank you for your submission.&amp;lt;/b&amp;gt;&amp;lt;/H2&amp;gt;&amp;lt;/center&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;PUT&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;/head&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;BR&amp;gt;&amp;lt;Center&amp;gt;&amp;lt;h2&amp;gt;If you submitted data in error,&amp;lt;/h2&amp;gt;&amp;lt;/center&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;BR&amp;gt;&amp;lt;Center&amp;gt;&amp;lt;h2&amp;gt;** DO NOT CORRECT THE DATA FORM AND RESUBMIT. **&amp;lt;/h2&amp;gt;&amp;lt;/center&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;BR&amp;gt;&amp;lt;Center&amp;gt;&amp;lt;b&amp;gt;To make a correction, please E-mail or call Abha Varma&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;BR&amp;gt;&amp;lt;Center&amp;gt;&amp;lt;b&amp;gt;E-MAIL - abha.varma@ncdps.gov &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;PHONE - 919-324-6491 &amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;put&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;BR&amp;gt;&amp;lt;Center&amp;gt;&amp;lt;b&amp;gt;Close Your Browser Window to Exit&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;PUT&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;/body&amp;gt; '&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;PUT&lt;/FONT&gt; &lt;FONT color="#800080" face="Courier New" size="2"&gt;'&amp;lt;/HTML&amp;gt; '&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;ods&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;html&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;close&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;ods&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;listing&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Jul 2017 15:41:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375018#M276418</guid>
      <dc:creator>Abbie</dc:creator>
      <dc:date>2017-07-11T15:41:45Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a unique ID on the web</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375037#M276419</link>
      <description>&lt;P&gt;Where does Count1 get its initial value in Data New1?&lt;/P&gt;
&lt;P&gt;I don't see an initial value and so count1 would be missing and hence ID would be missing and CharId would be a period .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You may want to remove the DROPped variable list to see the values of the variables used.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Suggestion. Instead of all those trim() and || try&lt;/P&gt;
&lt;P&gt;GOALID=cats(DIGIT1,DIGIT2,DIGIT3,DIGIT4);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Jul 2017 16:09:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375037#M276419</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-07-11T16:09:15Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a unique ID on the web</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375039#M276420</link>
      <description>&lt;P&gt;1) You can change line:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;GOALID=TRIM(DIGIT1)||TRIM(DIGIT2)||TRIM(DIGIT3)||TRIM(DIGIT4);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;into:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;goalid = compress(cat(digit1,digit2,dit3,digit4));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;but as digit2 is a sequence number, you may want to have it in a fixed length format with leading zeros,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;thus change it into:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;goalid = compres(cat(digit1,put(digit2,z3.),dit3,digit4));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2) Your two steps:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Proc sql;
   create view temp1
   as select count(*) as count1 from sasdat.SasiGoalDb;
quit;
data _null_;
 set temp1;
     call symput("check1", count1);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;can be changed into one sql step (same for &lt;STRONG&gt;check2&lt;/STRONG&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data temp1(keep=count1);&lt;BR /&gt;  set &lt;CODE class=" language-sas"&gt;sasdat.SasiGoalDb  obs=count;&lt;BR /&gt;  count1 = count; output;&lt;BR /&gt;  call symput("check1",count1);&lt;BR /&gt;  stop;&lt;BR /&gt;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;NROW = &amp;amp;COUNT1;
ID         = NROW+1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you still have issues, please attach the full log.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Jul 2017 16:33:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375039#M276420</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-07-11T16:33:37Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a unique ID on the web</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375503#M276421</link>
      <description>Thank you for your help. The solution does not seem to be working. I get the following error message in the log&lt;BR /&gt;&lt;BR /&gt;30 +***************************************;&lt;BR /&gt;31 +*first time only to create data set *;&lt;BR /&gt;32 +****************************************;&lt;BR /&gt;33 +/*data sasdat.SasiGoalDb; new1; run;*/&lt;BR /&gt;34 +/*ALL FROM HERE TO ODS SHOULD BE COMMENTED OUT&lt;BR /&gt;35 +THE FIRST TIME DATA ARE ENTERED*/&lt;BR /&gt;36 +*comment this out the first time through - THIS CREATES A VARIABLE&lt;BR /&gt;37 + TO CHECK THE NUMBER OF ROWS IN THE PERMANENT DATA SET BEFORE&lt;BR /&gt;38 + NEW DATA IS APPENDED;&lt;BR /&gt;39 +Proc sql;&lt;BR /&gt;40 +create view temp1&lt;BR /&gt;41 +as select count(*) as count1 from sasdat.SasiGoalDb;&lt;BR /&gt;NOTE: SQL view WORK.TEMP1 has been defined.&lt;BR /&gt;42 +nrow=put("&amp;amp;count1", 2.);&lt;BR /&gt;WARNING: Apparent symbolic reference COUNT1 not resolved.&lt;BR /&gt;42 +nrow=put("&amp;amp;count1", 2.);&lt;BR /&gt;----&lt;BR /&gt;180&lt;BR /&gt;ERROR 180-322: Statement is not valid or it is used out of proper order.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 12 Jul 2017 20:22:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-unique-ID-on-the-web/m-p/375503#M276421</guid>
      <dc:creator>Abbie</dc:creator>
      <dc:date>2017-07-12T20:22:39Z</dc:date>
    </item>
  </channel>
</rss>

