<?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: data _null_ file with dynamic exit file in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415949#M26751</link>
    <description>&lt;P&gt;Hello , Good morning ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;You're attempting to use FIRST logic, but you don't have a BY statement.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To correct this error I have decided to add this proc :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;proc sort data=work.refec9; by acteur;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;You're attempting to use FIRST logic, but you don't have a BY statement.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;And note that if you create a macro variable in one step you can't use it in the same step - but I'm not sure why you'd need to either, why not just use it as text?&lt;BR /&gt;&lt;BR /&gt;Or you could separate the steps.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have grouped all instruction in one data _null_ step in using a conditionnal structure : "&amp;nbsp; if/else " .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;Or you could separate the steps.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For you If I must divide my table in 8 outing files we must found 8 data _null_ instruction to export ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 24 Nov 2017 08:41:53 GMT</pubDate>
    <dc:creator>azertyuiop</dc:creator>
    <dc:date>2017-11-24T08:41:53Z</dc:date>
    <item>
      <title>data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415858#M26743</link>
      <description>&lt;P&gt;Hello , Good morning ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I own a table "refec9" with this fields :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;numero_police&lt;/P&gt;&lt;P&gt;application&lt;/P&gt;&lt;P&gt;flux&lt;/P&gt;&lt;P&gt;cause_evenement&lt;/P&gt;&lt;P&gt;anomalie&lt;/P&gt;&lt;P&gt;date_creation_rejet&lt;/P&gt;&lt;P&gt;acteur&lt;/P&gt;&lt;P&gt;statut&lt;/P&gt;&lt;P&gt;analyse_gestion&lt;/P&gt;&lt;P&gt;analyse_moe&lt;/P&gt;&lt;P&gt;date_derniere_modif&lt;/P&gt;&lt;P&gt;lid&lt;/P&gt;&lt;P&gt;rolper&lt;/P&gt;&lt;P&gt;numper&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I want create 8 tables in function of the fields "acteur" . This field can own 8 differents value in the table refec9.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have built this sas code to export in SAS by data _null_ with file :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data _null_;

set work.refec9;

mois = month(input("&amp;amp;sysdate9",date9.));
annee = year(input("&amp;amp;sysdate9",date9.));
jour  = day(input("&amp;amp;sysdate9",date9.));
call symput('mois',compress(put(mois,Z2.)));
call symput('annee',compress(put(annee,best.)));
call symput('jour',compress(put(jour,Z2.)));
call symputx('lien','\\batd0\bases_rad\ficovie\');
call symputx('fichier','_ACTEURXXX');
call symputx('acteur00','MOA Reglementaire');
call symputx('acteur01','MOE FICOVIE');
call symputx('acteur02','Gestion Pegase');
call symputx('acteur03','Gestion 8X');
call symputx('acteur04','Gestion PTV');
call symputx('acteur05','Gestion Espece');
call symputx('acteur06','Gestion Obseques');
call symputx('acteur07','Gestion BIGBEN');
call symputx('header','numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper');

if FIRST.acteur then do;
put &amp;amp;header;
   if refec9.acteur=&amp;amp;acteur00 then do;
   file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur00..xlsx" encoding="UTF-8" ;
   put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper;
   end;
   else
   if refec9.acteur=&amp;amp;acteur01 then do;
   file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur01..xlsx" encoding="UTF-8" ;
   put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper;
   end;
end;

run;&lt;/PRE&gt;&lt;P&gt;In the log I can see this :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&lt;BR /&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set work.refec9;&lt;BR /&gt;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mois = month(input("&amp;amp;sysdate9",date9.));&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable SYSDATE9 resolves to 23NOV2017&lt;BR /&gt;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; annee = year(input("&amp;amp;sysdate9",date9.));&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable SYSDATE9 resolves to 23NOV2017&lt;BR /&gt;30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jour&amp;nbsp; = day(input("&amp;amp;sysdate9",date9.));&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable SYSDATE9 resolves to 23NOV2017&lt;BR /&gt;31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('mois',compress(put(mois,Z2.)));&lt;BR /&gt;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('annee',compress(put(annee,best.)));&lt;BR /&gt;33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('jour',compress(put(jour,Z2.)));&lt;BR /&gt;34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('lien','\\batd0\bases_rad\ficovie\');&lt;BR /&gt;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('fichier','_ACTEURXXX');&lt;BR /&gt;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur00','MOA Reglementaire');&lt;BR /&gt;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur01','MOE FICOVIE');&lt;BR /&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur02','Gestion Pegase');&lt;BR /&gt;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur03','Gestion 8X');&lt;BR /&gt;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur04','Gestion PTV');&lt;BR /&gt;41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur05','Gestion Espece');&lt;BR /&gt;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur06','Gestion Obseques');&lt;BR /&gt;43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur07','Gestion BIGBEN');&lt;BR /&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('header','numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut&lt;BR /&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analyse_gestion analyse_moe date_derniere_modif lid rolper numper');&lt;BR /&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if FIRST.acteur then do;&lt;BR /&gt;47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; put &amp;amp;header;&lt;BR /&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;BR /&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; 22&lt;BR /&gt;WARNING: Apparent symbolic reference HEADER not resolved.&lt;BR /&gt;2&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SAS System&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;&amp;nbsp;&amp;nbsp; 09:23 Thursday, November 23, 2017&lt;BR /&gt;&lt;BR /&gt;48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if refec9.acteur=&amp;amp;acteur00 then do;&lt;BR /&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; _____________&lt;BR /&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; 557&lt;BR /&gt;ERROR: DATA STEP Component Object failure.&amp;nbsp; Aborted during the COMPILATION phase.&lt;BR /&gt;ERROR 22-322: Expecting a name. &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;ERROR 557-185: Variable refec9 is not an object.&lt;BR /&gt;&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR00 resolves to MOA Reglementaire&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable LIEN resolves to \\batd0\bases_rad\ficovie\&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ANNEE resolves to 2017&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable MOIS resolves to 11&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable JOUR resolves to 23&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR00 resolves to MOA Reglementaire&lt;BR /&gt;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur00..xlsx" encoding="UTF-8" ;&lt;BR /&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion&lt;BR /&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analyse_moe date_derniere_modif lid rolper numper;&lt;BR /&gt;51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if refec9.acteur=&amp;amp;acteur01 then do;&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR01 resolves to MOE FICOVIE&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable LIEN resolves to \\batd0\bases_rad\ficovie\&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ANNEE resolves to 2017&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable MOIS resolves to 11&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable JOUR resolves to 23&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR01 resolves to MOE FICOVIE&lt;BR /&gt;54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur01..xlsx" encoding="UTF-8" ;&lt;BR /&gt;55&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion&lt;BR /&gt;55&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analyse_moe date_derniere_modif lid rolper numper;&lt;BR /&gt;56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS NOACCESSIBLE;&lt;BR /&gt;62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTTASKLABEL=;&lt;BR /&gt;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTPATH=;&lt;BR /&gt;64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTNAME=;&lt;BR /&gt;65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _SASPROGRAMFILE=;&lt;BR /&gt;66&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;*';*";*/;quit;run;&lt;BR /&gt;68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ODS _ALL_ CLOSE;&lt;BR /&gt;69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUIT; RUN;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;SAS refuse to read when there is "table.field" in the condition , and refuse to read several variables like "header" or "acteurXX" to divide the table in several file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have use this documentation : &lt;A href="http://www.users.miamioh.edu/baileraj/classes/sta402/FALL-2007/handouts/week-09-02nov07-write-transf.pdf" target="_blank"&gt;http://www.users.miamioh.edu/baileraj/classes/sta402/FALL-2007/handouts/week-09-02nov07-write-transf.pdf&lt;/A&gt; , &lt;A href="https://thesasreference.wordpress.com/tag/data-_null_/" target="_blank"&gt;https://thesasreference.wordpress.com/tag/data-_null_/&lt;/A&gt; , &lt;A href="http://www2.sas.com/proceedings/sugi27/p061-27.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi27/p061-27.pdf&lt;/A&gt; .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't why SAS refuse to accept variable like "header" or "acteurxx"&amp;nbsp; in condition ??? &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://communities.sas.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you have an idea you can give it &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2017 15:57:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415858#M26743</guid>
      <dc:creator>azertyuiop</dc:creator>
      <dc:date>2017-11-23T15:57:47Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415862#M26744</link>
      <description>&lt;P&gt;You're attempting to use FIRST logic, but you don't have a BY statement.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And note that if you create a macro variable in one step you can't use it in the same step - but I'm not sure why you'd need to either, why not just use it as text?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or you could separate the steps.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2017 16:03:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415862#M26744</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-23T16:03:37Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415863#M26745</link>
      <description>&lt;P&gt;The macro variable reference (&amp;amp;) is resolved while the data step code is fetched, while call symput is executed later when the step runs.&lt;/P&gt;
&lt;P&gt;Set the macro variables before the data step us compiled with %let.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You also use first. without a by statement.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2017 16:07:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415863#M26745</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-23T16:07:56Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415949#M26751</link>
      <description>&lt;P&gt;Hello , Good morning ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;You're attempting to use FIRST logic, but you don't have a BY statement.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To correct this error I have decided to add this proc :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;proc sort data=work.refec9; by acteur;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;You're attempting to use FIRST logic, but you don't have a BY statement.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;And note that if you create a macro variable in one step you can't use it in the same step - but I'm not sure why you'd need to either, why not just use it as text?&lt;BR /&gt;&lt;BR /&gt;Or you could separate the steps.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have grouped all instruction in one data _null_ step in using a conditionnal structure : "&amp;nbsp; if/else " .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;Or you could separate the steps.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For you If I must divide my table in 8 outing files we must found 8 data _null_ instruction to export ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 08:41:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415949#M26751</guid>
      <dc:creator>azertyuiop</dc:creator>
      <dc:date>2017-11-24T08:41:53Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415956#M26752</link>
      <description>&lt;P&gt;If you use first. or last., you must have a respective by statement in the SAME step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to dynamically change output files in a data step, use the filevar= option in the file statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See&amp;nbsp;&lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000171874.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000171874.htm&lt;/A&gt;, example 5.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 09:16:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415956#M26752</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-24T09:16:12Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415977#M26754</link>
      <description>&lt;P&gt;I have rebuilt the program like this :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data _null_;

mois = month(input("&amp;amp;sysdate9",date9.));
annee = year(input("&amp;amp;sysdate9",date9.));
jour  = day(input("&amp;amp;sysdate9",date9.));
call symput('mois',compress(put(mois,Z2.)));
call symput('annee',compress(put(annee,best.)));
call symput('jour',compress(put(jour,Z2.)));
call symputx('lien','\\batd0\bases_rad\ficovie\');
call symputx('fichier','_ACTEURXXX');
call symputx('extension','.xlsx');
run;
 
%put &amp;amp;annee &amp;amp;mois &amp;amp;jour &amp;amp;lien &amp;amp;fichier &amp;amp;extension ;


proc sort data=work.refec9; by acteur;

data _null_;

set work.refec9;

call symputx('acteur00','MOA Reglementaire');
call symputx('acteur01','MOE FICOVIE');
call symputx('acteur02','Gestion Pegase');
call symputx('acteur03','Gestion 8X');
call symputx('acteur04','Gestion PTV');
call symputx('acteur05','Gestion Espece');
call symputx('acteur06','Gestion Obseques');
call symputx('acteur07','Gestion BIGBEN');
call symputx('header','numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper');
/*
%let lien=\\batd0\bases_rad\ficovie\;
%let fichier='_ACTEURXXX';
%let acteur00='MOA Reglementaire';
%let acteur01='MOE FICOVIE';
%let acteur02='Gestion Pegase';
%let acteur03='Gestion 8X';
%let acteur04='Gestion PTV';
%let acteur05='Gestion Espece';
%let acteur06='Gestion Obseques';
%let acteur07='Gestion BIGBEN';
%let header='numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper';
*/

by acteur;

if FIRST.acteur then do;
title &amp;amp;header;
   if acteur=&amp;amp;acteur00 then do;
   file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur00&amp;amp;extension" filevar=refec9 mod;
   put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper;
   end;
   else
   if acteur=&amp;amp;acteur01 then do;
   file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur01&amp;amp;extension" filevar=refec9 mod;
   put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper;
   end;
end;

run;&lt;/PRE&gt;&lt;P&gt;SAS can't be read the variable "acteurXX" if there is a space on the value ... But in my table variable own a space it's a constraint. Each time the second word after the space it's recognized by SAS, and SAS underline this like an error .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The instruction file refuse all paramaters that I can give . I don't see why this function refuse all parameters ???!!!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;

set work.refec9;

call symputx('acteur00','MOA Reglementaire');
call symputx('acteur01','MOE FICOVIE');
call symputx('acteur02','Gestion Pegase');
call symputx('acteur03','Gestion 8X');
call symputx('acteur04','Gestion PTV');
call symputx('acteur05','Gestion Espece');
call symputx('acteur06','Gestion Obseques');
call symputx('acteur07','Gestion BIGBEN');
call symputx('header','numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper');
/*
%let lien=\\batd0\bases_rad\ficovie\;
%let fichier='_ACTEURXXX';
%let acteur00='MOA Reglementaire';
%let acteur01='MOE FICOVIE';
%let acteur02='Gestion Pegase';
%let acteur03='Gestion 8X';
%let acteur04='Gestion PTV';
%let acteur05='Gestion Espece';
%let acteur06='Gestion Obseques';
%let acteur07='Gestion BIGBEN';
%let header='numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper';
*/

by acteur;

if FIRST.acteur then do; 
title &amp;amp;header;
   if acteur=&amp;amp;acteur00 then do; 
   file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur00&amp;amp;extension" filevar=refec9 mod;
   put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper;
   end;
   else 
   if acteur=&amp;amp;acteur01 then do; 
   file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur01&amp;amp;extension" filevar=refec9 mod;
   put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper;
   end;
end;

run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;SAS log :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR&lt;BR /&gt;22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS ACCESSIBLE;&lt;BR /&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&lt;BR /&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mois = month(input("&amp;amp;sysdate9",date9.));&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable SYSDATE9 resolves to 24NOV2017&lt;BR /&gt;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; annee = year(input("&amp;amp;sysdate9",date9.));&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable SYSDATE9 resolves to 24NOV2017&lt;BR /&gt;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jour&amp;nbsp; = day(input("&amp;amp;sysdate9",date9.));&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable SYSDATE9 resolves to 24NOV2017&lt;BR /&gt;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('mois',compress(put(mois,Z2.)));&lt;BR /&gt;30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('annee',compress(put(annee,best.)));&lt;BR /&gt;31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('jour',compress(put(jour,Z2.)));&lt;BR /&gt;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**/&lt;BR /&gt;33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('lien','\\batd0\bases_rad\ficovie\');&lt;BR /&gt;34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('fichier','_ACTEURXXX');&lt;BR /&gt;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('extension','.xlsx');&lt;BR /&gt;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;annee &amp;amp;mois &amp;amp;jour &amp;amp;lien &amp;amp;fichier &amp;amp;extension ;&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ANNEE resolves to 2017&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable MOIS resolves to 11&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable JOUR resolves to 24&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable LIEN resolves to \\batd0\bases_rad\ficovie\&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable FICHIER resolves to _ACTEURXXX&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable EXTENSION resolves to .xlsx&lt;BR /&gt;2017 11 24 \\batd0\bases_rad\ficovie\ _ACTEURXXX .xlsx&lt;BR /&gt;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;2&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SAS System&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 09:00 Friday, November 24, 2017&lt;BR /&gt;&lt;BR /&gt;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS NOACCESSIBLE;&lt;BR /&gt;41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTTASKLABEL=;&lt;BR /&gt;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTPATH=;&lt;BR /&gt;43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTNAME=;&lt;BR /&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _SASPROGRAMFILE=;&lt;BR /&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;*';*";*/;quit;run;&lt;BR /&gt;47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ODS _ALL_ CLOSE;&lt;BR /&gt;48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUIT; RUN;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;and the second part :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR&lt;BR /&gt;22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS ACCESSIBLE;&lt;BR /&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sort data=work.refec9; by acteur;&lt;BR /&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;NOTE: Input data set is already sorted, no sorting done.&lt;BR /&gt;NOTE: PROCEDURE SORT used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&lt;BR /&gt;&lt;BR /&gt;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set work.refec9;&lt;BR /&gt;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur00','MOA Reglementaire');&lt;BR /&gt;31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur01','MOE FICOVIE');&lt;BR /&gt;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur02','Gestion Pegase');&lt;BR /&gt;33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur03','Gestion 8X');&lt;BR /&gt;34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur04','Gestion PTV');&lt;BR /&gt;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur05','Gestion Espece');&lt;BR /&gt;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur06','Gestion Obseques');&lt;BR /&gt;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('acteur07','Gestion BIGBEN');&lt;BR /&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symputx('header','numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut&lt;BR /&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analyse_gestion analyse_moe date_derniere_modif lid rolper numper');&lt;BR /&gt;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;BR /&gt;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let lien=\\batd0\bases_rad\ficovie\;&lt;BR /&gt;41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let fichier='_ACTEURXXX';&lt;BR /&gt;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur00='MOA Reglementaire';&lt;BR /&gt;43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur01='MOE FICOVIE';&lt;BR /&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur02='Gestion Pegase';&lt;BR /&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur03='Gestion 8X';&lt;BR /&gt;46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur04='Gestion PTV';&lt;BR /&gt;47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur05='Gestion Espece';&lt;BR /&gt;48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur06='Gestion Obseques';&lt;BR /&gt;2&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SAS System&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 09:00 Friday, November 24, 2017&lt;BR /&gt;&lt;BR /&gt;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let acteur07='Gestion BIGBEN';&lt;BR /&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let header='numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion&lt;BR /&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analyse_moe date_derniere_modif lid rolper numper';&lt;BR /&gt;51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by acteur;&lt;BR /&gt;54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;55&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if FIRST.acteur then do;&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable HEADER resolves to numero_police application flux cause_evenement anomalie date_creation_rejet acteur&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; statut analyse_gestion analyse_moe date_derniere_modif lid rolper numper&lt;BR /&gt;56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title &amp;amp;header;&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR00 resolves to MOA Reglementaire&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable LIEN resolves to \\batd0\bases_rad\ficovie\&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ANNEE resolves to 2017&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable MOIS resolves to 11&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable JOUR resolves to 24&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR00 resolves to MOA Reglementaire&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable EXTENSION resolves to .xlsx&lt;BR /&gt;ERROR: A Physical file reference (i.e. "PHYSICAL FILE REFERENCE" ) or an aggregate file storage reference (i.e. AGGREGATE(MEMBER) )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reference cannot be used with the FILEVAR= option.&lt;BR /&gt;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if acteur=&amp;amp;acteur00 then do;&lt;BR /&gt;NOTE: Line generated by the macro variable "ACTEUR00".&lt;BR /&gt;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOA Reglementaire&lt;BR /&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;BR /&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; 388&lt;BR /&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; 76&lt;BR /&gt;ERROR 388-185: Expecting an arithmetic operator.&lt;BR /&gt;&lt;BR /&gt;ERROR 76-322: Syntax error, statement will be ignored.&lt;BR /&gt;&lt;BR /&gt;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur00&amp;amp;extension" filevar=refec9 mod;&lt;BR /&gt;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion&lt;BR /&gt;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analyse_moe date_derniere_modif lid rolper numper;&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR01 resolves to MOE FICOVIE&lt;BR /&gt;60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable LIEN resolves to \\batd0\bases_rad\ficovie\&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ANNEE resolves to 2017&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable MOIS resolves to 11&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable JOUR resolves to 24&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable ACTEUR01 resolves to MOE FICOVIE&lt;BR /&gt;SYMBOLGEN:&amp;nbsp; Macro variable EXTENSION resolves to .xlsx&lt;BR /&gt;62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if acteur=&amp;amp;acteur01 then do;&lt;BR /&gt;ERROR: A Physical file reference (i.e. "PHYSICAL FILE REFERENCE" ) or an aggregate file storage reference (i.e. AGGREGATE(MEMBER) )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reference cannot be used with the FILEVAR= option.&lt;BR /&gt;NOTE: Line generated by the macro variable "ACTEUR01".&lt;BR /&gt;62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOE FICOVIE&lt;BR /&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;BR /&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; 388&lt;BR /&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; 76&lt;BR /&gt;ERROR 388-185: Expecting an arithmetic operator.&lt;BR /&gt;&lt;BR /&gt;ERROR 76-322: Syntax error, statement will be ignored.&lt;BR /&gt;&lt;BR /&gt;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file "&amp;amp;lien&amp;amp;annee&amp;amp;mois&amp;amp;jour&amp;amp;acteur01&amp;amp;extension" filevar=refec9 mod;&lt;BR /&gt;64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; put numero_police application flux cause_evenement anomalie date_creation_rejet acteur statut analyse_gestion&lt;BR /&gt;64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analyse_moe date_derniere_modif lid rolper numper;&lt;BR /&gt;65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;3&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SAS System&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 09:00 Friday, November 24, 2017&lt;BR /&gt;&lt;BR /&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;BR /&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; 161&lt;BR /&gt;66&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ___&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 161&lt;BR /&gt;ERROR 161-185: No matching DO/SELECT statement.&lt;BR /&gt;&lt;BR /&gt;67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS NOACCESSIBLE;&lt;BR /&gt;72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTTASKLABEL=;&lt;BR /&gt;73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTPATH=;&lt;BR /&gt;74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTNAME=;&lt;BR /&gt;75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _SASPROGRAMFILE=;&lt;BR /&gt;76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;*';*";*/;quit;run;&lt;BR /&gt;78&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ODS _ALL_ CLOSE;&lt;BR /&gt;79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUIT; RUN;&lt;BR /&gt;82&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 10:03:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415977#M26754</guid>
      <dc:creator>azertyuiop</dc:creator>
      <dc:date>2017-11-24T10:03:55Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415984#M26756</link>
      <description>&lt;P&gt;I repeat from a previous post of mine:&lt;/P&gt;
&lt;P&gt;You CANNOT, I repeat, &lt;STRONG&gt;CANNOT&lt;/STRONG&gt;, use a macro variable with (eg) &amp;amp;acteur00 when you create this macro variable in the same step with call symputx, because&lt;/P&gt;
&lt;P&gt;CALL SYMPUTX WORKS WHILE THE DATA STEP RUNS, BUT &amp;amp;ACTEUR00 IS RESOLVED LONG BEFORE THAT WHEN THE DATA STEP IS COMPILED!!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope I made myself clear enough now.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 10:33:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415984#M26756</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-24T10:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415988#M26757</link>
      <description>&lt;P&gt;When I use "%let" there is a problem for SAS .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I explain :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let filelink=\\server\underfile1\underfile2\johndoe.xlsx&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Now the even link with a space in the name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* option 1 */

%let filelink="\\server\under file1\under file2\johndoe.xlsx"

/* option 2 */

%let filelink='\\server\under file1\under file2\johndoe.xlsx'&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;In the present case the link own quote, and SAS can't found the link because under Windows there is any quote ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 11:28:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415988#M26757</guid>
      <dc:creator>azertyuiop</dc:creator>
      <dc:date>2017-11-24T11:28:35Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415990#M26758</link>
      <description>&lt;P&gt;That's why having spaces in file or path names is plain dumb and to be avoided, period.&lt;/P&gt;
&lt;P&gt;Remove the root cause, and live happily everafter.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Nov 2017 11:39:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/415990#M26758</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-24T11:39:47Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/416624#M26806</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;After a gret number of hours to test %let and call symput(x) , I have written only %let. To around the issu of call symput(x) which give information only in the second round in this program ...&lt;BR /&gt;&lt;BR /&gt;In this case I use only %let with "call execute" , with this SAS be run the programm in "dynamic way" :&lt;BR /&gt;&lt;BR /&gt;Here is the SAS code :&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* declaration des variables */

%let annee = %sysfunc(date(),year4.);
%let mois = %sysfunc(date(),Month2.);
%let jour = %sysfunc(date(),day2.);
%let lien = '\\batd0\bases_rad\ficovie\' ;
%let general = 'GENERAL';
%let tableori = 'refec9';
%let acteur00 = 'MOA Reglementaire';
%let acteur01 = 'MOE FICOVIE';
%let acteur02 = 'Gestion Pegase';
%let acteur03 = 'Gestion 8X';
%let acteur04 = 'Gestion PTV';
%let acteur05 = 'Gestion Espece';
%let acteur06 = 'Gestion Obseques';
%let acteur07 = 'Gestion BIGBEN';
%let statut = 'Corrige' ;
%let extension = '.xlsx' ;
%let nomtable00 = 'nomtable00' ;
%let nomtable01 = 'nomtable01' ;
%let nomtable02 = 'nomtable02' ;
%let nomtable03 = 'nomtable03' ;
%let nomtable04 = 'nomtable04' ;
%let nomtable05 = 'nomtable05' ;
%let nomtable06 = 'nomtable06' ;
%let nomtable07 = 'nomtable07' ;
%let debprocsql = 'proc sql; create table ' ;
%let mid1procsql = ' as select numero_police, application, flux, cause_evenement, anomalie, date_creation_rejet, acteur , statut , analyse_gestion , analyse_moe, date_derniere_modif, lid, rolper, numper, moesta, attmoesil, dtestrea, notic ' ;
%let mid2procsql = ' from ' ;
%let mid3procsql = ' where acteur like "' ;
%let mid4procsql = '" and statut not like "' ;
%let finprocsql = '" ; quit; ' ;
%let debprocexp = 'proc export data=' ;
%let mid1procexp = ' outfile =' ;
%let guillemet = '"' ;
%let mid2procexp = ' dbms=XLSX replace; ' ;
%let mid3procexp = ' sheet="A_traiter"; ' ;
%let finprocexp = ' run; ' ;

data _null_;

/* proc sql */

morceau1=&amp;amp;debprocsql ;
morceau21=&amp;amp;nomtable00 ;
morceau22=&amp;amp;nomtable01 ;
morceau23=&amp;amp;nomtable02 ;
morceau24=&amp;amp;nomtable03 ;
morceau25=&amp;amp;nomtable04 ;
morceau26=&amp;amp;nomtable05 ;
morceau27=&amp;amp;nomtable06 ;
morceau28=&amp;amp;nomtable07 ;
morceau3=&amp;amp;mid1procsql ;
morceau4=&amp;amp;mid2procsql ;
morceau5=&amp;amp;tableori;
morceau6=&amp;amp;mid3procsql ;
morceau71=&amp;amp;acteur00 ;
morceau72=&amp;amp;acteur01 ;
morceau73=&amp;amp;acteur02 ;
morceau74=&amp;amp;acteur03 ;
morceau75=&amp;amp;acteur04 ;
morceau76=&amp;amp;acteur05 ;
morceau77=&amp;amp;acteur06 ;
morceau78=&amp;amp;acteur07 ;
morceau8=&amp;amp;mid4procsql ;
morceau9=&amp;amp;statut ;
morceau10=&amp;amp;finprocsql ;

call execute (morceau1||morceau21||morceau3||morceau4||morceau5||morceau6||morceau71||morceau8||morceau9||morceau10);
call execute (morceau1||morceau22||morceau3||morceau4||morceau5||morceau6||morceau72||morceau8||morceau9||morceau10);
call execute (morceau1||morceau23||morceau3||morceau4||morceau5||morceau6||morceau73||morceau8||morceau9||morceau10);
call execute (morceau1||morceau24||morceau3||morceau4||morceau5||morceau6||morceau74||morceau8||morceau9||morceau10);
call execute (morceau1||morceau25||morceau3||morceau4||morceau5||morceau6||morceau75||morceau8||morceau9||morceau10);
call execute (morceau1||morceau26||morceau3||morceau4||morceau5||morceau6||morceau76||morceau8||morceau9||morceau10);
call execute (morceau1||morceau27||morceau3||morceau4||morceau5||morceau6||morceau77||morceau8||morceau9||morceau10);
call execute (morceau1||morceau28||morceau3||morceau4||morceau5||morceau6||morceau78||morceau8||morceau9||morceau10);

/* proc export */

morceau201=&amp;amp;debprocexp;
/*morceau202=;*/
morceau203=&amp;amp;mid1procexp;
morceau204=&amp;amp;guillemet;
morceau205=&amp;amp;lien;
morceau206="&amp;amp;annee";
morceau207="&amp;amp;mois";
morceau208="&amp;amp;jour";
morceau209bis=&amp;amp;general;
morceau2010=&amp;amp;extension;
morceau2011=&amp;amp;guillemet;
morceau2012=&amp;amp;mid2procexp;
morceau2013=&amp;amp;mid3procexp;
morceau2014=&amp;amp;finprocexp;

call execute (morceau201||morceau5||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau209bis||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau21||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau71||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau22||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau72||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau23||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau73||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau24||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau74||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau25||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau75||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau26||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau76||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau27||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau77||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);
call execute (morceau201||morceau28||morceau203||morceau204||morceau205||morceau206||morceau207||morceau208||morceau78||morceau2010||morceau2011||morceau2012||morceau2013||morceau2014);

run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;To replace several time proc sql and proc export , there is only 1 query which can be use in dynamic mode ...&lt;/P&gt;</description>
      <pubDate>Tue, 28 Nov 2017 10:02:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/416624#M26806</guid>
      <dc:creator>azertyuiop</dc:creator>
      <dc:date>2017-11-28T10:02:33Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/416626#M26807</link>
      <description>&lt;P&gt;Wow. I must say I have never seen someone (here on the communities) making their own life miserable in such a way.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What shall this mess accomplish (no code please, just the logic behind it)?&lt;/P&gt;</description>
      <pubDate>Tue, 28 Nov 2017 10:09:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/416626#M26807</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-28T10:09:34Z</dc:date>
    </item>
    <item>
      <title>Re: data _null_ file with dynamic exit file</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/416630#M26808</link>
      <description>&lt;P&gt;I can't know all technology on a program . I'm not an encyclopedia. I must note information if I found a important information or maybe if you , you give too an information.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I found a solution it's in my habit to share the solution . I think that is minimum when several people help to give a solution.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Nov 2017 10:29:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/data-null-file-with-dynamic-exit-file/m-p/416630#M26808</guid>
      <dc:creator>azertyuiop</dc:creator>
      <dc:date>2017-11-28T10:29:20Z</dc:date>
    </item>
  </channel>
</rss>

