<?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: All variables is defined as NUM 8, please help in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419948#M103300</link>
    <description>&lt;P&gt;In general, the dollar sign indicates character variables.&amp;nbsp; That applies to both the INPUT and the PUT statements.&amp;nbsp; So if PARTY_ID is supposed to be a character variable, part of the INPUT statement would be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/119374"&gt;@69&lt;/a&gt; PARTY_ID $10.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And part of the PUT statement would be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;@1 PARTY_ID $10.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This could conceivably apply to your ARRAY statements as well.&amp;nbsp; If any of the arrays refer to character variables, you would need to insert instructions within the ARRAY statement.&amp;nbsp; For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token statement"&gt;ARRAY&lt;/SPAN&gt; DETS_CURR_NO_ARRS_DISP_AJ&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;MAXOCC&lt;SPAN class="token punctuation"&gt;) &lt;FONT color="#FF0000"&gt;$ 1&lt;/FONT&gt;&lt;/SPAN&gt;
DETS_CURR_NO_ARRS_DISP_AJ1&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;DETS_CURR_NO_ARRS_DISP_AJ&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;MAXOCC&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You know (and we don't) which variables are supposed to be character.&amp;nbsp; So tend to that much first, and see if any issues remain.&lt;/P&gt;</description>
    <pubDate>Sun, 10 Dec 2017 18:30:17 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2017-12-10T18:30:17Z</dc:date>
    <item>
      <title>All variables is defined as NUM 8, please help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419900#M103286</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am submitting the below code, all the array variables plus the three keys i.e. PARTY_ID, SORT_CODE and ACCOUNT_NUMBER - all variables are assigned NUM 8 data type. Please can you advise how to fix it.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%LET MAXOCC = 12;

DATA DATA1(COMPRESS=YES);
  INFILE INFLAT MISSOVER OBS=MAX;
  INPUT @1 RECTYPE £2. @;
  IF RECTYPE = '20';
  INPUT
@22   MONTHNO 3.
@49   SORT_CODE 6.
@55   ACCOUNT_NUMBER 8.
@69   PARTY_ID 10.
@857  I_DETS_CURR_NO_ARRS_DISP_AJ  1.
@449  I_DETS_WST_ARS_L6M_DISP_AJ_TM    1.
@712  I_ACTUAL_NEXT_DUE_DAY    ZD8.;

IF MONTHNO &amp;gt; 0 AND MONTHNO &amp;lt;= &amp;amp;MAXOCC ;
RUN;

PROC SORT DATA=DATA1; BY PARTY_ID SORT_CODE ACCOUNT_NUMBER MONTHNO;

DATA OUTFLAT.OUTDATA (KEEP = PARTY_ID SORT_CODE ACCOUNT_NUMBER
DETS_CURR_NO_ARRS_DISP_AJ1-DETS_CURR_NO_ARRS_DISP_AJ&amp;amp;MAXOCC
DETS_WST_ARS_L6M_DISP_AJ_TM1-DETS_WST_ARS_L6M_DISP_AJ_TM&amp;amp;MAXOCC
ACTUAL_NEXT_DUE_DAY1-ACTUAL_NEXT_DUE_DAY&amp;amp;MAXOCC);

ARRAY DETS_CURR_NO_ARRS_DISP_AJ(&amp;amp;MAXOCC)
DETS_CURR_NO_ARRS_DISP_AJ1-DETS_CURR_NO_ARRS_DISP_AJ&amp;amp;MAXOCC;
RETAIN DETS_CURR_NO_ARRS_DISP_AJ1-DETS_CURR_NO_ARRS_DISP_AJ&amp;amp;MAXOCC;

ARRAY DETS_WST_ARS_L6M_DISP_AJ_TM(&amp;amp;MAXOCC)
DETS_WST_ARS_L6M_DISP_AJ_TM1-DETS_WST_ARS_L6M_DISP_AJ_TM&amp;amp;MAXOCC;
RETAIN DETS_WST_ARS_L6M_DISP_AJ_TM1-DETS_WST_ARS_L6M_DISP_AJ_TM&amp;amp;MAXOCC;

ARRAY ACTUAL_NEXT_DUE_DAY(&amp;amp;MAXOCC)
ACTUAL_NEXT_DUE_DAY1-ACTUAL_NEXT_DUE_DAY&amp;amp;MAXOCC;
RETAIN ACTUAL_NEXT_DUE_DAY1-ACTUAL_NEXT_DUE_DAY&amp;amp;MAXOCC;

SET DATA1; BY PARTY_ID SORT_CODE ACCOUNT_NUMBER;

IF FIRST.PARTY_ID OR
FIRST.SORT_CODE OR
FIRST.ACCOUNT_NUMBER
THEN DO;
       DO I = 1 TO &amp;amp;MAXOCC ;
          DETS_CURR_NO_ARRS_DISP_AJ(I) = .;
          DETS_WST_ARS_L6M_DISP_AJ_TM(I) = .;
          ACTUAL_NEXT_DUE_DAY(I) = .;
       END;
     END;
DETS_CURR_NO_ARRS_DISP_AJ(MONTHNO) = I_DETS_CURR_NO_ARRS_DISP_AJ;
DETS_WST_ARS_L6M_DISP_AJ_TM(MONTHNO) = I_DETS_WST_ARS_L6M_DISP_AJ_TM;
ACTUAL_NEXT_DUE_DAY(MONTHNO) = I_ACTUAL_NEXT_DUE_DAY;

IF LAST.PARTY_ID OR
LAST.SORT_CODE OR
LAST.ACCOUNT_NUMBER
THEN DO;
       FILE OUTFLAT;
       PUT @1  PARTY_ID       10.
           @12 SORT_CODE  6.
           @19 ACCOUNT_NUMBER 8. @;

       DO I = 1 TO &amp;amp;MAXOCC;
          POS = 28 + I;
          PUT @POS DETS_CURR_NO_ARRS_DISP_AJ(I) 1.
          PUT @POS DETS_WST_ARS_L6M_DISP_AJ_TM(I) 1.
          PUT @POS ACTUAL_NEXT_DUE_DAY(I) ZD8. @;
       END;

       PUT;
       OUTPUT;
     END;

PROC PRINT DATA=OUTFLAT.OUTDATA (OBS=100);
TITLE3='FISRT 100 OBS IN OUTDATA';
VAR PARTY_ID SORT_CODE ACCOUNT_NUMBER
DETS_CURR_NO_ARRS_DISP_AJ1-DETS_CURR_NO_ARRS_DISP_AJ&amp;amp;MAXOCC
DETS_WST_ARS_L6M_DISP_AJ_TM1-DETS_WST_ARS_L6M_DISP_AJ_TM&amp;amp;MAXOCC
ACTUAL_NEXT_DUE_DAY1-ACTUAL_NEXT_DUE_DAY&amp;amp;MAXOCC;
RUN;

RUN;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 10 Dec 2017 10:22:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419900#M103286</guid>
      <dc:creator>tapas_16880</dc:creator>
      <dc:date>2017-12-10T10:22:40Z</dc:date>
    </item>
    <item>
      <title>Re: All variables is defined as NUM 8, please help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419905#M103288</link>
      <description>&lt;P&gt;It is impossible to fix your code without having you input - at list a test example - and without the log of your run.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Trying to run your code as is I got:&lt;/P&gt;
&lt;P&gt;1) informat&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;&lt;CODE class="  language-sas"&gt;£&lt;SPAN class="token number"&gt;2&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;. is unknown. Did you mean informat $2.&amp;nbsp; ?&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token punctuation"&gt;2)&amp;nbsp;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/STRONG&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token punctuation"&gt;&lt;FONT color="#FF0000"&gt;no logical assign for filename INFLAT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token punctuation"&gt;Without input I can't help you more.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 10 Dec 2017 11:45:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419905#M103288</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-12-10T11:45:56Z</dc:date>
    </item>
    <item>
      <title>Re: All variables is defined as NUM 8, please help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419948#M103300</link>
      <description>&lt;P&gt;In general, the dollar sign indicates character variables.&amp;nbsp; That applies to both the INPUT and the PUT statements.&amp;nbsp; So if PARTY_ID is supposed to be a character variable, part of the INPUT statement would be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/119374"&gt;@69&lt;/a&gt; PARTY_ID $10.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And part of the PUT statement would be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;@1 PARTY_ID $10.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This could conceivably apply to your ARRAY statements as well.&amp;nbsp; If any of the arrays refer to character variables, you would need to insert instructions within the ARRAY statement.&amp;nbsp; For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token statement"&gt;ARRAY&lt;/SPAN&gt; DETS_CURR_NO_ARRS_DISP_AJ&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;MAXOCC&lt;SPAN class="token punctuation"&gt;) &lt;FONT color="#FF0000"&gt;$ 1&lt;/FONT&gt;&lt;/SPAN&gt;
DETS_CURR_NO_ARRS_DISP_AJ1&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;DETS_CURR_NO_ARRS_DISP_AJ&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;MAXOCC&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You know (and we don't) which variables are supposed to be character.&amp;nbsp; So tend to that much first, and see if any issues remain.&lt;/P&gt;</description>
      <pubDate>Sun, 10 Dec 2017 18:30:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419948#M103300</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-12-10T18:30:17Z</dc:date>
    </item>
    <item>
      <title>Re: All variables is defined as NUM 8, please help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419957#M103303</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/30702"&gt;@tapas_16880&lt;/a&gt;&amp;nbsp;fix it to what? You don't actually say...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When you specify values in the INPUT statement it is assumed as an INFORMAT not the type. If you want the types declared, i.e. length and type then you need to do it manually before your INPUT statement. A Length statement is a good method.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;length accountNumber $8 sort_code $6 party_ID $6.; *for character;

length i_dets_curr_no_arrs_disp_aj 8. ;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You should also note the the length for numeric variables it the number of bytes it can store, not that 8 means it will have 8 digits.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 10 Dec 2017 19:10:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/All-variables-is-defined-as-NUM-8-please-help/m-p/419957#M103303</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-12-10T19:10:29Z</dc:date>
    </item>
  </channel>
</rss>

