<?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: ERROR: Format/Informat in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31259#M7428</link>
    <description>Pasting the entire log would be helpful.</description>
    <pubDate>Wed, 16 Jul 2008 11:59:20 GMT</pubDate>
    <dc:creator>darrylovia</dc:creator>
    <dc:date>2008-07-16T11:59:20Z</dc:date>
    <item>
      <title>ERROR: Format/Informat</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31257#M7426</link>
      <description>I am working with SAS in a mainframe environment - OS/390.  The program that is being executed stops processing with the following error:&lt;BR /&gt;
&lt;BR /&gt;
ERROR: Format/Informat $OPFMT. could not be located.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
when attempting to execute the last line of the following code:&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
LIBNAME FORMATS  'C.SAS.FORMAT6'  DISP=SHR;&lt;BR /&gt;
&lt;BR /&gt;
OPTIONS FMTSEARCH=(FORMATS WORK);&lt;BR /&gt;
&lt;BR /&gt;
LIBNAME  RECVBL6   'C.SAS.RECVBL6.DATA'   DISP=SHR;&lt;BR /&gt;
LIBNAME  RECVBL6A  'C.SAS.RECVBL6A.DATA'  DISP=SHR;&lt;BR /&gt;
&lt;BR /&gt;
PROC SORT  DATA=OPDATA;&lt;BR /&gt;
  BY KEY75 KEY76 INVOICE;&lt;BR /&gt;
&lt;BR /&gt;
PROC SORT  DATA=CUSTDATA;&lt;BR /&gt;
  BY KEY75 KEY76 INVOICE;&lt;BR /&gt;
&lt;BR /&gt;
DATA OPDATA ;&lt;BR /&gt;
  MERGE OPDATA CUSTDATA;&lt;BR /&gt;
  BY KEY75 KEY76 INVOICE;&lt;BR /&gt;
PROC SORT DATA=OPDATA OUT=OPFMT NODUPKEY;&lt;BR /&gt;
  BY DEALER DIV INVOICE;&lt;BR /&gt;
&lt;BR /&gt;
DATA OPFMT;&lt;BR /&gt;
  LENGTH DEALER $6  INVOICE $10;&lt;BR /&gt;
  SET OPFMT END=EOF;&lt;BR /&gt;
  RETAIN FMTNAME 'OPFMT' TYPE 'C' LABEL 'YES';&lt;BR /&gt;
  START=DEALER||DIV||INVOICE;&lt;BR /&gt;
  OUTPUT;&lt;BR /&gt;
  IF EOF;&lt;BR /&gt;
  HLO='O';&lt;BR /&gt;
  LABEL='NO';&lt;BR /&gt;
  OUTPUT;&lt;BR /&gt;
&lt;BR /&gt;
PROC FORMAT CNTLIN=OPFMT;&lt;BR /&gt;
&lt;BR /&gt;
DATA RECVBL;&lt;BR /&gt;
  SET RECVBL6.UNITS(IN=A);&lt;BR /&gt;
  WHERE PUT(DEALER||DIV||INVOICE,$OPFMT.)='YES';</description>
      <pubDate>Tue, 15 Jul 2008 14:15:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31257#M7426</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-07-15T14:15:24Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: Format/Informat</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31258#M7427</link>
      <description>Hi.&lt;BR /&gt;
There must be an error before, when executing the Format procedure : the $OPFMT. is not created.&lt;BR /&gt;
I think there is something wrong in the Data step defining the format : the conditionnal part (IF EOF) sould be applied to the next statements. I suggest you try this instead :&lt;BR /&gt;
[pre]&lt;BR /&gt;
DATA OPFMT;&lt;BR /&gt;
      LENGTH DEALER $6 INVOICE $10;&lt;BR /&gt;
      SET OPFMT END=EOF;&lt;BR /&gt;
      RETAIN FMTNAME 'OPFMT' TYPE 'C' LABEL 'YES';&lt;BR /&gt;
      START=DEALER||DIV||INVOICE;&lt;BR /&gt;
      OUTPUT;&lt;BR /&gt;
      IF EOF THEN DO ;&lt;BR /&gt;
        HLO='O';&lt;BR /&gt;
        LABEL='NO';&lt;BR /&gt;
        OUTPUT;&lt;BR /&gt;
      END ;&lt;BR /&gt;
RUN ;&lt;BR /&gt;
PROC FORMAT CNTLIN=OPFMT FMTLIB ;&lt;BR /&gt;
RUN ;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
The FMTLIB option will allow you to check the format definition in the Output window.&lt;BR /&gt;
&lt;BR /&gt;
Regards,&lt;BR /&gt;
Olivier</description>
      <pubDate>Wed, 16 Jul 2008 09:00:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31258#M7427</guid>
      <dc:creator>Olivier</dc:creator>
      <dc:date>2008-07-16T09:00:30Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: Format/Informat</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31259#M7428</link>
      <description>Pasting the entire log would be helpful.</description>
      <pubDate>Wed, 16 Jul 2008 11:59:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31259#M7428</guid>
      <dc:creator>darrylovia</dc:creator>
      <dc:date>2008-07-16T11:59:20Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: Format/Informat</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31260#M7429</link>
      <description>&lt;B&gt;&lt;U&gt;Here is the log:&lt;/U&gt;&lt;/B&gt;&lt;BR /&gt;
&lt;BR /&gt;
NOTE: The infile ESS is:                                                    &lt;BR /&gt;
      Dsname=W.W8PD.ESS.HIST.EXTR.G0887V00(0),                              &lt;BR /&gt;
      Unit=9348,Volume=508973,Disp=OLD,Blksize=23220,                       &lt;BR /&gt;
      Lrecl=540,Recfm=FB                                                    &lt;BR /&gt;
                                                                            &lt;BR /&gt;
NOTE: 7507981 records were read from the infile ESS.                        &lt;BR /&gt;
NOTE: The data set WORK.OPDATA has 0 observations and 8 variables.          &lt;BR /&gt;
NOTE: The data set WORK.CUSTDATA has 0 observations and 9 variables.        &lt;BR /&gt;
NOTE: The DATA statement used 22.63 CPU seconds and 3900K.                  &lt;BR /&gt;
                                                                            &lt;BR /&gt;
61        +PROC SORT  DATA=OPDATA;                                          &lt;BR /&gt;
62        +  BY KEY75 KEY76 INVOICE;                                        &lt;BR /&gt;
63        +                                                                 &lt;BR /&gt;
                                                                            &lt;BR /&gt;
WARNING: WER749I No observations to be sorted.                              &lt;BR /&gt;
NOTE: WER750I End PROC SYNCSORT.  R2.3B*                                    &lt;BR /&gt;
NOTE: The data set WORK.OPDATA has 0 observations and 8 variables.          &lt;BR /&gt;
NOTE: The PROCEDURE SORT used 0.01 CPU seconds and 4599K.                   &lt;BR /&gt;
3                                                          The SAS System&lt;BR /&gt;
                                                                         &lt;BR /&gt;
                                                                         &lt;BR /&gt;
64        +PROC SORT  DATA=CUSTDATA;                                     &lt;BR /&gt;
65        +  BY KEY75 KEY76 INVOICE;                                     &lt;BR /&gt;
66        +                                                              &lt;BR /&gt;
                                                                         &lt;BR /&gt;
WARNING: WER749I No observations to be sorted.                           &lt;BR /&gt;
NOTE: WER750I End PROC SYNCSORT.  R2.3B*                                 &lt;BR /&gt;
NOTE: The data set WORK.CUSTDATA has 0 observations and 9 variables.     &lt;BR /&gt;
NOTE: The PROCEDURE SORT used 0.01 CPU seconds and 4599K.                &lt;BR /&gt;
                                                                         &lt;BR /&gt;
67        +DATA OPDATA ;                                                 &lt;BR /&gt;
68        +  MERGE OPDATA CUSTDATA;                                      &lt;BR /&gt;
69        +  BY KEY75 KEY76 INVOICE;                                     &lt;BR /&gt;
70        +                                                              &lt;BR /&gt;
                                                                         &lt;BR /&gt;
NOTE: The data set WORK.OPDATA has 0 observations and 13 variables.      &lt;BR /&gt;
NOTE: The DATA statement used 0.01 CPU seconds and 4559K.                &lt;BR /&gt;
71        +PROC SORT DATA=OPDATA OUT=OPFMT NODUPKEY;                 &lt;BR /&gt;
72        +  BY DEALER DIV INVOICE;                                  &lt;BR /&gt;
73        +                                                          &lt;BR /&gt;
                                                                     &lt;BR /&gt;
WARNING: WER749I No observations to be sorted.                       &lt;BR /&gt;
NOTE: WER750I End PROC SYNCSORT.  R2.3B*                             &lt;BR /&gt;
NOTE: The data set WORK.OPFMT has 0 observations and 13 variables.   &lt;BR /&gt;
NOTE: The PROCEDURE SORT used 0.01 CPU seconds and 5243K.            &lt;BR /&gt;
                                                                     &lt;BR /&gt;
74        +DATA OPFMT;                                               &lt;BR /&gt;
75        +  LENGTH DEALER $6  INVOICE $10;                          &lt;BR /&gt;
76        +  SET OPFMT END=EOF;                                      &lt;BR /&gt;
77        +  RETAIN FMTNAME 'OPFMT' TYPE 'C' LABEL 'YES';            &lt;BR /&gt;
78        +  START=DEALER||DIV||INVOICE;                             &lt;BR /&gt;
79        +  OUTPUT;                                                 &lt;BR /&gt;
80        +  IF EOF;                                                 &lt;BR /&gt;
81        +  HLO='O';                                                &lt;BR /&gt;
82        +  LABEL='NO';                                             &lt;BR /&gt;
82        +  LABEL='NO';                                              &lt;BR /&gt;
83        +  OUTPUT;                                                  &lt;BR /&gt;
84        +                                                           &lt;BR /&gt;
                                                                      &lt;BR /&gt;
NOTE: The data set WORK.OPFMT has 0 observations and 18 variables.    &lt;BR /&gt;
NOTE: The DATA statement used 0.01 CPU seconds and 5203K.             &lt;BR /&gt;
                                                                      &lt;BR /&gt;
85        +PROC FORMAT CNTLIN=OPFMT;                                  &lt;BR /&gt;
85        +                                                           &lt;BR /&gt;
86        +                                                           &lt;BR /&gt;
                                                                      &lt;BR /&gt;
NOTE: The PROCEDURE FORMAT used 0.00 CPU seconds and 5250K.           &lt;BR /&gt;
                                                                      &lt;BR /&gt;
87        +DATA RECVBL;                                               &lt;BR /&gt;
88        +  SET RECVBL6.UNITS(IN=A);                                 &lt;BR /&gt;
89        +  WHERE PUT(DEALER||DIV||INVOICE,$OPFMT.)='YES';           &lt;BR /&gt;
ERROR: Format/Informat $OPFMT. could not be located.                  &lt;BR /&gt;
ERROR: Format/Informat $OPFMT. could not be located.                  &lt;BR /&gt;
ERROR: Format/Informat $OPFMT. could not be located.                  &lt;BR /&gt;
90        +  KEEP DEALER ACCTIND INVOICE INVYR SS SECTION VERSION SERVICE   &lt;BR /&gt;
91        +       LIQDATE LIQCODE TOTINVT;                               &lt;BR /&gt;
92        +                                                              &lt;BR /&gt;
93        +                                                              &lt;BR /&gt;
                                                                         &lt;BR /&gt;
NOTE: The SAS System stopped processing this step because of errors.</description>
      <pubDate>Thu, 17 Jul 2008 15:53:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31260#M7429</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-07-17T15:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: Format/Informat</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31261#M7430</link>
      <description>As the log says (in the beginning of your messages) :&lt;BR /&gt;
NOTE: The data set WORK.OPDATA has 0 observations and 8 variables. &lt;BR /&gt;
NOTE: The data set WORK.CUSTDATA has 0 observations and 9 variables. &lt;BR /&gt;
You datasets are empty from the beginning !&lt;BR /&gt;
Look for some condition impossible to meet in the import part of the program (the DATA step before the two SORT procedures.&lt;BR /&gt;
Did that program ever work ?</description>
      <pubDate>Thu, 17 Jul 2008 16:43:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31261#M7430</guid>
      <dc:creator>Olivier</dc:creator>
      <dc:date>2008-07-17T16:43:40Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: Format/Informat</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31262#M7431</link>
      <description>For consideration, if it is possible to have a "zero observations selected for your format", then you should consider outputting a "stub" format so that your PUT function look-up does not fail.  One technique I might use is to code a PROC FORMAT execution and only specify an OTHER='???'; clause  -- obviously you will want to put this code ahead of the PROC FORMAT CNTLIN=...; step so that if there are observations selected, your final SAS format will be complete, not the generated stub.&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.</description>
      <pubDate>Sat, 19 Jul 2008 16:07:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR-Format-Informat/m-p/31262#M7431</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2008-07-19T16:07:24Z</dc:date>
    </item>
  </channel>
</rss>

