<?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: A link must be established by executing the SIGNON command before you can communicate wit in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/ERROR-A-link-must-be-established-by-executing-the-SIGNON-command/m-p/513888#M32541</link>
    <description>&lt;P&gt;&lt;STRONG&gt;ALWAYS&lt;/STRONG&gt; test your SAS code &lt;EM&gt;before&lt;/EM&gt; you put it into a macro definition, so you get a clearer log where the ERROR message immediately follows the incriminated statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But in your case, it seems to be the way you call the macro in call execute. You have to mask the macro call, or the macro statements (in your case %syslput) will be executed prematurely, before the Base SAS code (the rsubmit statement) has come into effect.&lt;/P&gt;
&lt;P&gt;Change the call execute to&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;call execute(cats('%nrstr(%test3(param1=',put(j,best.),'));'));&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 16 Nov 2018 14:21:32 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2018-11-16T14:21:32Z</dc:date>
    <item>
      <title>ERROR: A link must be established by executing the SIGNON command before you can communicate with ..</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/ERROR-A-link-must-be-established-by-executing-the-SIGNON-command/m-p/513864#M32540</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to convert SAS dataset into xml file using parallel processing and instead of using a do loop statement in a project, it was recommended to use a call execute statement (see the code below as well as the attaché log file).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when I execute the code, the xml file are generated but I receive the error message shown in the subject section.&lt;/P&gt;&lt;P&gt;I made many tests to eliminate this error but without success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does someone could help me with that issue.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt; test3(param1= );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Telling to SAS we want to start a parallel process*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; options sascmd="!SASCMD";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Assigining a Thread to a CPU*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIGNON sess&amp;amp;param1.;&lt;/P&gt;&lt;P&gt;/*Declaring local variable*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let FileName1=data_2_500000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let FileName2=data_5_500000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let FileName3=data_10_500000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let FileName4=data_20_500000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let mylib=\\SFPFI4335.PROD.MRQ\Usagers-DGTT\RLEA109\Documents\Test\Parallel Processing\XML\&amp;amp;&amp;amp;FileName&amp;amp;param1...xml;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Transfering local variable to remote host*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %syslput _LOCAL_ /REMOTE=sess&amp;amp;param1.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rsubmit sess&amp;amp;param1. wait=no;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Checking global variable*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;param1.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;FileName1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;FileName2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;FileName3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;FileName4;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;mylib;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Declaring the libraries&amp;nbsp; ******/&lt;/P&gt;&lt;P&gt;libname mydata "\\SFPFI4335.PROD.MRQ\Usagers-DGTT\RLEA109\Documents\Test\Parallel Processing\Data";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc=libname("lib&amp;amp;param1.","&amp;amp;mylib.",'xml','xmltype=oracle');&lt;/P&gt;&lt;P&gt;run;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Converting the dataset to XML file*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put lib&amp;amp;param1.||"after the libname call";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;&amp;amp;FileName&amp;amp;param1.||"after the libname call";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data lib&amp;amp;param1.&lt;STRONG&gt;.&lt;/STRONG&gt;&amp;amp;&amp;amp;Filename&amp;amp;param1.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set mydata.&amp;amp;&amp;amp;Filename&amp;amp;param1.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;libname mylib clear;&lt;/P&gt;&lt;P&gt;libname lib&amp;amp;param1. clear;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*********************************************/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endrsubmit;&lt;/P&gt;&lt;P&gt;/*End of the session*/&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt; test3;&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt;%test3(param1=1);&lt;/P&gt;&lt;P&gt;%test3(param1=2);&lt;/P&gt;&lt;P&gt;%test3(param1=3);&lt;/P&gt;&lt;P&gt;%test3(param1=4);&lt;/P&gt;&lt;P&gt;*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Data&lt;/STRONG&gt; _null_;&lt;/P&gt;&lt;P&gt;do j=&lt;STRONG&gt;1&lt;/STRONG&gt; to &lt;STRONG&gt;4&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute(cats('%test3(param1=',put(j,best.),');'));&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Nov 2018 13:22:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/ERROR-A-link-must-be-established-by-executing-the-SIGNON-command/m-p/513864#M32540</guid>
      <dc:creator>alepage</dc:creator>
      <dc:date>2018-11-16T13:22:52Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR: A link must be established by executing the SIGNON command before you can communicate wit</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/ERROR-A-link-must-be-established-by-executing-the-SIGNON-command/m-p/513888#M32541</link>
      <description>&lt;P&gt;&lt;STRONG&gt;ALWAYS&lt;/STRONG&gt; test your SAS code &lt;EM&gt;before&lt;/EM&gt; you put it into a macro definition, so you get a clearer log where the ERROR message immediately follows the incriminated statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But in your case, it seems to be the way you call the macro in call execute. You have to mask the macro call, or the macro statements (in your case %syslput) will be executed prematurely, before the Base SAS code (the rsubmit statement) has come into effect.&lt;/P&gt;
&lt;P&gt;Change the call execute to&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;call execute(cats('%nrstr(%test3(param1=',put(j,best.),'));'));&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 16 Nov 2018 14:21:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/ERROR-A-link-must-be-established-by-executing-the-SIGNON-command/m-p/513888#M32541</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-11-16T14:21:32Z</dc:date>
    </item>
  </channel>
</rss>

