<?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 EG Custom Task to play a sound in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636447#M35774</link>
    <description>&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4"&gt;@ChrisHemedinger&lt;/a&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;tl;dr:&amp;nbsp; &lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Before I reinvent the wheel, has anyone created an EG custom task that plays a sound on the local machine (where EG is running)?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Details:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;If you Google "SAS Enterprise Guide play sound when program finishes", you'll see this has been requested often.&amp;nbsp; Perhaps one day it will make it into the product.&amp;nbsp; (I'm running EG 7.15).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note this handy little option in SQL Server Management Studio:&lt;/P&gt;
&lt;DIV id="tinyMceEditorScottBass_10" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_11" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_12" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_13" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_14" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_15" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_16" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_17" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_18" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_19" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_20" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_21" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_22" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_23" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_24" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_25" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_26" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_27" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_28" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2020-04-01_17-26-05.jpg" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/37633iAC506B6B2EFD9FB1/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020-04-01_17-26-05.jpg" alt="2020-04-01_17-26-05.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;DIV id="tinyMceEditorScottBass_5" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_6" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_7" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_8" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_9" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;I got this working today but the approach is klunky.&amp;nbsp; With little explanation:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* two examples ;
filename cmd pipe "\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {[system.console]::Beep(1000,3000)}"" ";
filename cmd pipe "\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {([System.Media.SystemSounds]::Asterisk).Play()}"" ";
data _null_;
   infile cmd;
   input;
*   putlog _infile_;
run;

* Or... ;
%let cmd=\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {([System.Media.SystemSounds]::Asterisk).Play()}"" ;
%let cmd=\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {([System.Media.SystemSounds]::Beep).Play()}"" ;
systask command "&amp;amp;cmd" wait cleanup;
&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;But there are all sorts of reasons why this might not work in your environment:&amp;nbsp; requires Enable-PSRemote in Powershell, requires&amp;nbsp;Windows Remote Management (WS-Management) service to be running on your local machine, requires ALLOWXCMD, requires a Windows SAS server, etc.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It occurred to me that if I had a simple EG custom task that played a sound (and the above is a good head start), I could just drop that task into my process flow and link it to whatever long running program(s) for which I want an audible alert once finished.&amp;nbsp; I often move on to other tasks when I have a long running program, and lose valuable time by not promptly returning to EG once it has finished.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this hasn't been created before, can someone post the custom task shell code for a custom task that has no interface, just calls some .Net code?&amp;nbsp; I'm busy and don't have time ATM to hit the docs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 01 Apr 2020 06:33:09 GMT</pubDate>
    <dc:creator>ScottBass</dc:creator>
    <dc:date>2020-04-01T06:33:09Z</dc:date>
    <item>
      <title>EG Custom Task to play a sound</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636447#M35774</link>
      <description>&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4"&gt;@ChrisHemedinger&lt;/a&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;tl;dr:&amp;nbsp; &lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Before I reinvent the wheel, has anyone created an EG custom task that plays a sound on the local machine (where EG is running)?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Details:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;If you Google "SAS Enterprise Guide play sound when program finishes", you'll see this has been requested often.&amp;nbsp; Perhaps one day it will make it into the product.&amp;nbsp; (I'm running EG 7.15).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note this handy little option in SQL Server Management Studio:&lt;/P&gt;
&lt;DIV id="tinyMceEditorScottBass_10" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_11" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_12" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_13" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_14" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_15" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_16" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_17" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_18" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_19" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_20" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_21" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_22" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_23" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_24" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_25" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_26" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_27" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_28" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2020-04-01_17-26-05.jpg" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/37633iAC506B6B2EFD9FB1/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020-04-01_17-26-05.jpg" alt="2020-04-01_17-26-05.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;DIV id="tinyMceEditorScottBass_5" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_6" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_7" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_8" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditorScottBass_9" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;I got this working today but the approach is klunky.&amp;nbsp; With little explanation:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* two examples ;
filename cmd pipe "\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {[system.console]::Beep(1000,3000)}"" ";
filename cmd pipe "\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {([System.Media.SystemSounds]::Asterisk).Play()}"" ";
data _null_;
   infile cmd;
   input;
*   putlog _infile_;
run;

* Or... ;
%let cmd=\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {([System.Media.SystemSounds]::Asterisk).Play()}"" ;
%let cmd=\\UNC\path\to\PsExec\reachable\from\SASApp\Server\SysinternalsSuite\PsExec.exe -i \\MYLOCALMACHINE powershell.exe -command ""&amp;amp; {([System.Media.SystemSounds]::Beep).Play()}"" ;
systask command "&amp;amp;cmd" wait cleanup;
&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;But there are all sorts of reasons why this might not work in your environment:&amp;nbsp; requires Enable-PSRemote in Powershell, requires&amp;nbsp;Windows Remote Management (WS-Management) service to be running on your local machine, requires ALLOWXCMD, requires a Windows SAS server, etc.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It occurred to me that if I had a simple EG custom task that played a sound (and the above is a good head start), I could just drop that task into my process flow and link it to whatever long running program(s) for which I want an audible alert once finished.&amp;nbsp; I often move on to other tasks when I have a long running program, and lose valuable time by not promptly returning to EG once it has finished.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this hasn't been created before, can someone post the custom task shell code for a custom task that has no interface, just calls some .Net code?&amp;nbsp; I'm busy and don't have time ATM to hit the docs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2020 06:33:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636447#M35774</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2020-04-01T06:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: EG Custom Task to play a sound</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636513#M35789</link>
      <description>&lt;P&gt;This &lt;A href="https://github.com/cjdinger/SystemCommand" target="_self"&gt;System Command custom task (GitHub)&lt;/A&gt; could be used as-is to run a command to play sound, or adapted for the specific "play a sound" action.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2020 12:26:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636513#M35789</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2020-04-01T12:26:49Z</dc:date>
    </item>
    <item>
      <title>Re: EG Custom Task to play a sound</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636611#M35790</link>
      <description>&lt;P&gt;Another approach if your SAS is on Windows. I've never heard of this routine!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
   call sound(523,2000);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I was googling...here's where I found it!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tom&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.sas.com/resources/papers/proceedings/proceedings/sugi29/048-29.pdf" target="_self"&gt;https://support.sas.com/resources/papers/proceedings/proceedings/sugi29/048-29.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2020 17:26:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636611#M35790</guid>
      <dc:creator>TomKari</dc:creator>
      <dc:date>2020-04-01T17:26:40Z</dc:date>
    </item>
    <item>
      <title>Re: EG Custom Task to play a sound</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636660#M35791</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15142"&gt;@TomKari&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Another approach if your SAS is on Windows. I've never heard of this routine!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
   call sound(523,2000);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I was googling...here's where I found it!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tom&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.sas.com/resources/papers/proceedings/proceedings/sugi29/048-29.pdf" target="_self"&gt;https://support.sas.com/resources/papers/proceedings/proceedings/sugi29/048-29.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Hi Tom,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This only "works" for DMS.&amp;nbsp; I say "works" because it probably works for EG too, playing the sound on the machine in a server room in a galaxy far, far away.&amp;nbsp; If that server has a sound card.&amp;nbsp; And is not on mute.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2020 20:02:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636660#M35791</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2020-04-01T20:02:44Z</dc:date>
    </item>
    <item>
      <title>Re: EG Custom Task to play a sound</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636668#M35792</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4"&gt;@ChrisHemedinger&lt;/a&gt;&amp;nbsp;esp for the pointer to the GitHub source code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'll use this as-is for now.&amp;nbsp; When I get more time, I'd like to create just a simple beep task.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you tell me the bare minimum code sections I would need to execute embedded C# code without any user interface?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, I assume I can delete:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;using System.Windows.Forms;
using System.Xml;		    // for XMLTextWriter and XMLTextReader
using System.IO;		    // for StreamReader and StreamWriter

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and all the code sections that call these methods?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;P.S.:&amp;nbsp; I've got your book but it's at the office and we're all in lock down&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":unamused_face:"&gt;😒&lt;/span&gt;&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>Wed, 01 Apr 2020 20:32:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636668#M35792</guid>
      <dc:creator>ScottBass</dc:creator>
      <dc:date>2020-04-01T20:32:02Z</dc:date>
    </item>
    <item>
      <title>Re: EG Custom Task to play a sound</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636681#M35793</link>
      <description>&lt;P&gt;Yes, good point.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I use EG with a local server instance, so I sometimes forget to separate the functions. Also, I was so surpised that there is a "sound" routine that all other thoughts were scattered to the winds. Who the heck put THAT in SAS?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I must admit, I am amused by the thought of a server in a computer room starting to play tunes...maybe use a grid, and have it switch from server to server, so the server room staff can't chase it down?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tom&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2020 21:39:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/EG-Custom-Task-to-play-a-sound/m-p/636681#M35793</guid>
      <dc:creator>TomKari</dc:creator>
      <dc:date>2020-04-01T21:39:53Z</dc:date>
    </item>
  </channel>
</rss>

