<?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 Execute Java program (from jar file) inside a job node in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526010#M16271</link>
    <description>&lt;P&gt;Is it possible to start/execute a java program from a jar file in a node of a Data Integration job and wait for completion (exit code 0)?&lt;/P&gt;</description>
    <pubDate>Thu, 10 Jan 2019 10:38:32 GMT</pubDate>
    <dc:creator>lfabbri</dc:creator>
    <dc:date>2019-01-10T10:38:32Z</dc:date>
    <item>
      <title>Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526010#M16271</link>
      <description>&lt;P&gt;Is it possible to start/execute a java program from a jar file in a node of a Data Integration job and wait for completion (exit code 0)?&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jan 2019 10:38:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526010#M16271</guid>
      <dc:creator>lfabbri</dc:creator>
      <dc:date>2019-01-10T10:38:32Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526012#M16272</link>
      <description>&lt;P&gt;If XCMD is enabled, you can start external commands, wait for completion, and check for the return code or the output in a user written code node:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;x 'java /somepath/prog.jar';

%put &amp;amp;sysrc;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;filename oscmd pipe 'java /somepath/prog.jar 2&amp;gt;&amp;amp;1';

data _null_;
infile oscmd;
input;
put _infile_;
run;

filename oscmd clear;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Jan 2019 10:45:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526012#M16272</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-01-10T10:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526014#M16273</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;, thank you for the answer!&lt;/P&gt;&lt;P&gt;How can I know if&amp;nbsp;&lt;SPAN&gt;XCMD is enabled on my SAS environment?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jan 2019 10:50:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526014#M16273</guid>
      <dc:creator>lfabbri</dc:creator>
      <dc:date>2019-01-10T10:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526018#M16274</link>
      <description>&lt;P&gt;Just try the X statement with something simple, eg&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;x 'ls';&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;(&lt;FONT face="courier new,courier"&gt;ls&lt;/FONT&gt; if you are on UNIX, &lt;FONT face="courier new,courier"&gt;dir&lt;/FONT&gt; if on Windows).&lt;/P&gt;
&lt;P&gt;If XCMD is disabled, you'll get an ERROR message.&lt;/P&gt;
&lt;P&gt;But you will need it active if you want to run external commands, so you have to talk with your SAS admin in case its disabled.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jan 2019 12:08:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526018#M16274</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-01-10T12:08:22Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526250#M16279</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/245294"&gt;@lfabbri&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;This works and I've implemented something&amp;nbsp;not too long ago using DIS calling Tika to extract text from documents.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just implement the call to the JAR file as user written code (or a custom transformation if used more than once).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You need the following two options set as below:&lt;/P&gt;
&lt;P&gt;XCMD&lt;/P&gt;
&lt;P&gt;XSYNC&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To check for these options:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc options option=(xcmd xsync JREOPTIONS);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;To list all options:&lt;/P&gt;
&lt;P&gt;proc options;&lt;/P&gt;
&lt;P&gt;run;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are multiple ways for calling external programs/OS commands out of SAS. I normally use CALL SYSTEM() or FILENAME PIPE.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jan 2019 01:24:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526250#M16279</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2019-01-11T01:24:01Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526888#M16310</link>
      <description>&lt;P&gt;Hi, I've tried your solutions and they works great in the SAS console.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But when I tried a simple "User Written Code" node in Data Integration Studio with the following code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;proc options option=(xcmd xsync JREOPTIONS);
run;

x 'java -version';&lt;/PRE&gt;&lt;P&gt;I got the following error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: shell escape is not valid in this SAS session.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do you know why I am getting this error in Data Integration and not in SAS console?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 10:10:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526888#M16310</guid>
      <dc:creator>lfabbri</dc:creator>
      <dc:date>2019-01-14T10:10:24Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526890#M16311</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/245294"&gt;@lfabbri&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi, I've tried your solutions and they works great in the SAS console.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But when I tried a simple "User Written Code" node in Data Integration Studio with the following code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc options option=(xcmd xsync JREOPTIONS);
run;

x 'java -version';&lt;/PRE&gt;
&lt;P&gt;I got the following error:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: shell escape is not valid in this SAS session.&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you know why I am getting this error in Data Integration and not in SAS console?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;That's because the workspace server used by DI Studio has XCMD disabled (by default). If you have a need to run external commands, get in touch with your SAS admin to have XCMD enabled.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 10:11:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526890#M16311</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-01-14T10:11:58Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526892#M16312</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am on a test environment with admin privileges.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following from here&amp;nbsp;&lt;A href="http://support.sas.com/kb/41/058.html" target="_self"&gt;http://support.sas.com/kb/41/058.html&lt;/A&gt;&amp;nbsp;I've enabled XCMD, but I got the same error when executing that code in DIS.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="sas_enable_xcmd.png" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/26250i5C09FADD3681186E/image-size/large?v=v2&amp;amp;px=999" role="button" title="sas_enable_xcmd.png" alt="sas_enable_xcmd.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the content of the&amp;nbsp;C:\SAS\DIserver\Lev1\SASApp\WorkspaceServer\WorkspaceServer.bat file:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;@echo off
REM /*--------------------------------------------------------------------\
REM |                                                                     |
REM | Script for managing the SAS Workspace Server                        |
REM |                                                                     |
REM \--------------------------------------------------------------------*/
setlocal

REM Define needed environment variables
call "%~dp0..\appservercontext_env.bat"

Set CONFIGDIR=%APPSERVER_ROOT%\WorkspaceServer
call "%CONFIGDIR%\WorkspaceServer_usermods.bat"
Set CMD_OPTIONS=-config "%CONFIGDIR%\sasv9.cfg" %* %USERMODS_OPTIONS%

"%SAS_COMMAND%" %CMD_OPTIONS%

endlocal

REM Return the appropriate exit code
exit %ERRORLEVEL%&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the content of the&amp;nbsp;&lt;SPAN&gt;C:\SAS\DIserver\Lev1\SASApp\WorkspaceServer\WorkspaceServer_usermods file:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;REM /*--------------------------------------------------------------------\
REM |                                                                     |
REM | Script to extend WorkspaceServer.bat via user modifications.        |
REM |                                                                     |
REM \--------------------------------------------------------------------*/

Set USERMODS_OPTIONS=&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What can I do?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for the support&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 10:33:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526892#M16312</guid>
      <dc:creator>lfabbri</dc:creator>
      <dc:date>2019-01-14T10:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526895#M16313</link>
      <description>&lt;P&gt;Have you restarted the Object Spawner after making the configuration change in Management Console?&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 11:03:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526895#M16313</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-01-14T11:03:00Z</dc:date>
    </item>
    <item>
      <title>Re: Execute Java program (from jar file) inside a job node</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526973#M16316</link>
      <description>&lt;P&gt;I've restarted the SAS Servers and now it is working fine. Thank you very much!&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 16:20:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Execute-Java-program-from-jar-file-inside-a-job-node/m-p/526973#M16316</guid>
      <dc:creator>lfabbri</dc:creator>
      <dc:date>2019-01-14T16:20:14Z</dc:date>
    </item>
  </channel>
</rss>

