<?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>ChrisHemedinger Tracker</title>
    <link>https://communities.sas.com/kntur85557/tracker</link>
    <description>ChrisHemedinger Tracker</description>
    <pubDate>Wed, 13 May 2026 12:09:57 GMT</pubDate>
    <dc:date>2026-05-13T12:09:57Z</dc:date>
    <item>
      <title>Re: Coloring of words in SAS Viya/SAS Studio</title>
      <link>https://communities.sas.com/t5/SAS-Viya/Coloring-of-words-in-SAS-Viya-SAS-Studio/m-p/987413#M3083</link>
      <description>&lt;P&gt;This is a common behavior in code editors. Highlight one token/keyword, all matching occurrences also highlight (usually in a more subtle color scheme -- but in SAS Studio it seems to be the same). I see it in SAS editors (not PC SAS, but EG &amp;amp; Studio), Notepad++, VS Code, etc.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's useful in many scenarios, such as seeing all occurrences of a variable name or before embarking on a find/replace operation. Some editors have a preference option you can set to disable this (but I don't think SAS Studio has an option for this).&lt;/P&gt;</description>
      <pubDate>Wed, 06 May 2026 15:11:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Viya/Coloring-of-words-in-SAS-Viya-SAS-Studio/m-p/987413#M3083</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-05-06T15:11:02Z</dc:date>
    </item>
    <item>
      <title>Using the StatRep Package for LaTeX</title>
      <link>https://communities.sas.com/t5/SAS-Communities-Library/Using-the-StatRep-Package-for-LaTeX/ta-p/987073</link>
      <description>&lt;P&gt;The &lt;STRONG&gt;StatRep&lt;/STRONG&gt; package is an open‑source system designed to support reproducible research using SAS and LaTeX.&lt;/P&gt;</description>
      <pubDate>Fri, 01 May 2026 15:25:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Communities-Library/Using-the-StatRep-Package-for-LaTeX/ta-p/987073</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-05-01T15:25:49Z</dc:date>
    </item>
    <item>
      <title>Re: SAS fcopy failing to copy .xls file (creates corrupted 1KB file)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-fcopy-failing-to-copy-xls-file-creates-corrupted-1KB-file/m-p/987064#M380029</link>
      <description>&lt;P&gt;What version of SAS are you using? I know that FCOPY has improved in later versions to handle more cases.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But for an immediate solution of your problem, try an alternative approach to perform a binary copy of the file.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://blogs.sas.com/content/sasdummy/2013/09/17/copy-file-macro/" target="_blank"&gt;https://blogs.sas.com/content/sasdummy/2013/09/17/copy-file-macro/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 May 2026 14:56:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-fcopy-failing-to-copy-xls-file-creates-corrupted-1KB-file/m-p/987064#M380029</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-05-01T14:56:26Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Viya/SAS Studio — how to convert code to lower case?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Viya-SAS-Studio-how-to-convert-code-to-lower-case/m-p/986948#M380007</link>
      <description>&lt;P&gt;Hi Paige -- yes, it's coming. Viya Copilot gets new features with each release, and SAS Studio features are planned for later this year. Maybe just bookmark this for later. If using Visual Analytics or Model Studio, you can see the experience now, which combines the ability to ask questions (sourced from doc) as well as take actions (build models, VA dashboards, etc.). Over time, Viya Copilot is expanding to more of the Viya apps.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Apr 2026 12:17:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Viya-SAS-Studio-how-to-convert-code-to-lower-case/m-p/986948#M380007</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-04-29T12:17:11Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Viya/SAS Studio — how to convert code to lower case?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Viya-SAS-Studio-how-to-convert-code-to-lower-case/m-p/986901#M380000</link>
      <description>&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/SAS-Viya-Copilot-Tips-and-Tricks/ta-p/981845" target="_self"&gt;As SAS Viya Copilot gets more capabilities in your SAS Viya deployments&lt;/A&gt;, you'll be able to find the answers directly by asking in the SAS interfaces themselves! SAS documentation and other sources are used to train the models you can chat with.&lt;/P&gt;</description>
      <pubDate>Tue, 28 Apr 2026 15:24:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Viya-SAS-Studio-how-to-convert-code-to-lower-case/m-p/986901#M380000</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-04-28T15:24:25Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Viya/SAS Studio — how to convert code to lower case?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Viya-SAS-Studio-how-to-convert-code-to-lower-case/m-p/986820#M379991</link>
      <description>&lt;P&gt;I found that these keys are not assigned by default, perhaps because the intuitive options are used by other functions (either in Studio or commonly in the web browser).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can change the Key assignments by opening the mapping window. Click the key map widget (bottom right of the editor screen) to get started.&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="ChrisHemedinger_0-1777299583542.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/114462i6C79D73896D01244/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ChrisHemedinger_0-1777299583542.png" alt="ChrisHemedinger_0-1777299583542.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;This shows a searchable list of all mapping assignments. Click&amp;nbsp;&lt;STRONG&gt;Manage Keyboard Shortcuts&lt;/STRONG&gt; from that window.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can search for "case" and find the functions you need, and assign new keys. Note that some combos get usurped by the browser, so you might need to experiment.&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="ChrisHemedinger_1-1777299693571.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/114463i8531986618CB5561/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ChrisHemedinger_1-1777299693571.png" alt="ChrisHemedinger_1-1777299693571.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2026 14:21:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Viya-SAS-Studio-how-to-convert-code-to-lower-case/m-p/986820#M379991</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-04-27T14:21:48Z</dc:date>
    </item>
    <item>
      <title>Using Git with your SAS Projects: Q&amp;A and On-Demand Recording</title>
      <link>https://communities.sas.com/t5/Ask-the-Expert/Using-Git-with-your-SAS-Projects-Q-amp-A-and-On-Demand-Recording/ta-p/986025</link>
      <description>&lt;P&gt;Helping SAS programmers learn to use Git as a practical, modern way to manage, collaborate on, and version SAS code.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2026 14:12:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Ask-the-Expert/Using-Git-with-your-SAS-Projects-Q-amp-A-and-On-Demand-Recording/ta-p/986025</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-04-16T14:12:55Z</dc:date>
    </item>
    <item>
      <title>Re: Text Wrap in Enterprise Guide?</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Text-Wrap-in-Enterprise-Guide/m-p/985796#M46463</link>
      <description>&lt;P&gt;Now that's a fun idea, Tom. But I &lt;A href="https://vlad-saling.github.io/star-trek-ipsum/" target="_self"&gt;prefer Star Trek Ipsum&lt;/A&gt; for my examples.&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="2026-04-01_13-28-29.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/114019iB05DA391D3D5BE0E/image-size/large?v=v2&amp;amp;px=999" role="button" title="2026-04-01_13-28-29.png" alt="2026-04-01_13-28-29.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2026 18:59:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Text-Wrap-in-Enterprise-Guide/m-p/985796#M46463</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-04-01T18:59:13Z</dc:date>
    </item>
    <item>
      <title>Re: Text Wrap in Enterprise Guide?</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Text-Wrap-in-Enterprise-Guide/m-p/985758#M46460</link>
      <description>&lt;P&gt;The Program Editor in Enterprise Guide does not support text wrap. Many programmers do have strong opinions about how long code lines should be for readability, and of course the SAS language does not care how much code is on one line. You could have a single 32K line of code as long as you have the correct semicolon punctuation. Or you can put every keyword on a new line. (Exceptions are embedded data such as in DATALINES blocks or literal strings, where line breaks do matter.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to control the line length of a SAS log output (or listing, the text-based output from SAS), you can do that with SAS options LINESIZE (and PAGESIZE for page length), aliased to LS and PS. Use&amp;nbsp;&lt;STRONG&gt;options ls=max;&lt;/STRONG&gt; for the longest possible output lines, and&amp;nbsp;&lt;STRONG&gt;options ps=max&lt;/STRONG&gt;; for reducing page breaks in the log and listing output.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2026 12:54:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Text-Wrap-in-Enterprise-Guide/m-p/985758#M46460</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-04-01T12:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: Exploring SAS Programming Interfaces Q&amp;A, Slides, and On-Demand Recording</title>
      <link>https://communities.sas.com/t5/Ask-the-Expert/Exploring-SAS-Programming-Interfaces-Q-amp-A-Slides-and-On/tac-p/985465#M619</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/464467"&gt;@LukeDalton&lt;/a&gt;&amp;nbsp;Late to this, but I'll share what I do. I use environment variables to set root paths (the %SYSGET approach) so my EG code can run interactively in EG but then work properly when deployed/run in batch (in my case, via cron jobs on Linux). All of my code is also managed in Git for backup, versioning, and business continuity.&lt;/P&gt;</description>
      <pubDate>Thu, 26 Mar 2026 17:22:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Ask-the-Expert/Exploring-SAS-Programming-Interfaces-Q-amp-A-Slides-and-On/tac-p/985465#M619</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-03-26T17:22:20Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when our spam filter traps your post</title>
      <link>https://communities.sas.com/t5/Community-Memo/What-to-do-when-our-spam-filter-traps-your-post/bc-p/984780#M577</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/176322"&gt;@PRAVIN_JAIN&lt;/a&gt;&amp;nbsp;- I got you.&lt;/P&gt;</description>
      <pubDate>Sat, 14 Mar 2026 12:14:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Community-Memo/What-to-do-when-our-spam-filter-traps-your-post/bc-p/984780#M577</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-03-14T12:14:58Z</dc:date>
    </item>
    <item>
      <title>Re: Copying text from SAS program editor to something else</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Copying-text-from-SAS-program-editor-to-something-else/m-p/984761#M379730</link>
      <description>&lt;P&gt;You didn't say which SAS program editor you're using, but in EG and I think in SAS Studio, when you copy the program to the Windows clipboard it adds plain text as well as rich text versions. Pasting into Word (or PowerPoint) should give you the rich text (colors and indents). And also Word has its own options for pasting (plain text, merge formatting, keep formatting).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I rely on this behavior all of the time when building PPT decks that contain SAS code snippets. The format I have in EG carries over, and I can use PowerPoint features to resize, add borders, etc.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2026 15:36:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Copying-text-from-SAS-program-editor-to-something-else/m-p/984761#M379730</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-03-13T15:36:38Z</dc:date>
    </item>
    <item>
      <title>Re: SAS EG needs a function to display the log AND automatically save it</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/SAS-EG-needs-a-function-to-display-the-log-AND-automatically/m-p/984604#M46441</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/43822"&gt;@Wolverine&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DM commands are for&amp;nbsp;&lt;STRONG&gt;Display Manager&lt;/STRONG&gt;, the windowing environment of SAS that most people experience as "PC SAS". DM commands do not function in an SAS runtime environment that isn't Display Manager. For example, if you were to run your program in batch SAS:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE&gt;"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin c:\temp\logtest.sas&lt;/PRE&gt;
&lt;P&gt;Your log file would also not be saved/refreshed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To focus on the spirit of the question: is there a way to automatically save a log in EG? Yes. For any task/program, you can export the SAS log as a step:&lt;/P&gt;
&lt;DIV id="tinyMceEditorChrisHemedinger_0" 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="69b5c8de-d11c-465d-849c-0d1e5a0bb78a.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113556iAEC0D5872DE40F39/image-size/medium?v=v2&amp;amp;px=400" role="button" title="69b5c8de-d11c-465d-849c-0d1e5a0bb78a.png" alt="69b5c8de-d11c-465d-849c-0d1e5a0bb78a.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This allows you to specify a place and option to overwrite an existing file. &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="log-step-export-flow.png" style="width: 574px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113557iF8281313E27A1367/image-size/large?v=v2&amp;amp;px=999" role="button" title="log-step-export-flow.png" alt="log-step-export-flow.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Remember that &lt;A href="https://go.documentation.sas.com/doc/en/egcdc/8.6/egdoccdc/egug/p0sf4tl5ll1gfbn1voiyqguqqie1.htm" target="_self"&gt;EG also supports the Project Log&lt;/A&gt;, which allows you to aggregate and export log content from an entire flow or project.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Mar 2026 14:58:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/SAS-EG-needs-a-function-to-display-the-log-AND-automatically/m-p/984604#M46441</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-03-11T14:58:41Z</dc:date>
    </item>
    <item>
      <title>Re: A BasePlus Package for SAS</title>
      <link>https://communities.sas.com/t5/SAS-Explore-Presentations/A-BasePlus-Package-for-SAS/tac-p/984361#M202</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/35763"&gt;@yabwon&lt;/a&gt;&amp;nbsp;I fixed this to embed that version!&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 14:33:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Explore-Presentations/A-BasePlus-Package-for-SAS/tac-p/984361#M202</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-03-04T14:33:46Z</dc:date>
    </item>
    <item>
      <title>Re: import csv files dated</title>
      <link>https://communities.sas.com/t5/SAS-Programming/import-csv-files-dated/m-p/984053#M379637</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can import using a wildcard spec as you want, but you do need to write DATA step code for this. I don't think the Import Data step in SAS Studio does it for you. And PROC IMPORT does not support the wildcard format.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The INFILE statement, or FILENAME statement, can accept a wildcard. You can also designate a data set variable to store the name of the file as you read these.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;filename csvs "/home/imports/sample*.csv";
data allfiles;
  length casefile $ 100 /* to write name of file to data set */
     counter 8 
     timestamp 8 
     x 8 y 8 z 8      
     csvfile $ 100 /* to hold the value */	       
   ;
 
   /* store the name of the current infile */       
   infile csvs filename=csvfile 
    dlm=',' ; 
  casefile=csvfile;
  input counter timestamp x y z;	
run;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;See &lt;A href="https://blogs.sas.com/content/sasdummy/2018/10/09/read-multiple-text-files/" target="_self"&gt;more explanation and examples here&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Feb 2026 16:29:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/import-csv-files-dated/m-p/984053#M379637</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-02-25T16:29:01Z</dc:date>
    </item>
    <item>
      <title>Re: PROC HTTP and ServiceNow oauth Token</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/PROC-HTTP-and-ServiceNow-oauth-Token/m-p/983722#M84116</link>
      <description>&lt;P&gt;This side quest inspired me to capture the steps in an article for future searchers:&amp;nbsp;&lt;LI-MESSAGE title="How to use SAS to work with ServiceNow APIs" uid="983715" url="https://communities.sas.com/t5/SAS-Communities-Library/How-to-use-SAS-to-work-with-ServiceNow-APIs/m-p/983715#U983715" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-tkb-thread lia-fa-icon lia-fa-tkb lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Feb 2026 20:25:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/PROC-HTTP-and-ServiceNow-oauth-Token/m-p/983722#M84116</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-02-18T20:25:54Z</dc:date>
    </item>
    <item>
      <title>How to use SAS to work with ServiceNow APIs</title>
      <link>https://communities.sas.com/t5/SAS-Communities-Library/How-to-use-SAS-to-work-with-ServiceNow-APIs/ta-p/983715</link>
      <description>&lt;P&gt;Many companies use both SAS and ServiceNow. With REST APIs, you can pull ServiceNow data into SAS for reporting and analysis. Here's how!&lt;/P&gt;</description>
      <pubDate>Wed, 18 Feb 2026 19:50:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Communities-Library/How-to-use-SAS-to-work-with-ServiceNow-APIs/ta-p/983715</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-02-18T19:50:12Z</dc:date>
    </item>
    <item>
      <title>Re: Beyond SAS Programming: SAS as a Coding Language AND an Analytics Platform</title>
      <link>https://communities.sas.com/t5/SAS-Communities-Library/Beyond-SAS-Programming-SAS-as-a-Coding-Language-AND-an-Analytics/tac-p/983620#M11550</link>
      <description>&lt;P&gt;Great way to think about the SAS ecosystem! Hark back to my (controversial-at-the-time) article from 2024: &lt;A href="https://blogs.sas.com/content/sasdummy/2024/09/13/sas-programming-language/" target="_self"&gt;Is SAS a programming language?&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Feb 2026 15:23:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Communities-Library/Beyond-SAS-Programming-SAS-as-a-Coding-Language-AND-an-Analytics/tac-p/983620#M11550</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-02-17T15:23:51Z</dc:date>
    </item>
    <item>
      <title>SAS Named a Leader in the 2026 Gartner® Magic Quadrant™ for Decision Intelligence Platforms</title>
      <link>https://communities.sas.com/t5/Decisioning/SAS-Named-a-Leader-in-the-2026-Gartner-Magic-Quadrant-for/m-p/983616#M162</link>
      <description>&lt;P&gt;We’re excited to share that &lt;STRONG&gt;SAS has been recognized as a Leader in the Gartner® Magic Quadrant™ for Decision Intelligence Platforms, 2026&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Gartner defines Leaders as those who "combine strong execution with a clear, forward-looking vision for decision-centric architectures." This recognition reflects SAS’s continued focus on helping organizations design, deploy, and govern intelligent decisions at scale.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As decision intelligence becomes increasingly important across industries, organizations are looking for platforms that help them operationalize analytics and AI in real-world decision flows — while maintaining trust, transparency, and governance. SAS continues to invest in capabilities that support decision-centric architectures and help organizations turn insights into action with confidence.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To learn more about Gartner’s evaluation and what this recognition means for decision intelligence platforms, you can explore the full report below.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.sas.com/en_us/news/analyst-viewpoints/gartner-magic-quadrant-decision-intelligence-platforms.html?utm_source=targeted&amp;amp;utm_medium=email&amp;amp;utm_campaign=-global&amp;amp;C2P=" target="_self"&gt;&lt;SPAN class="cta-button-article"&gt;Read the report&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Gartner, Magic Quadrant for Customer Data Platforms, By David Pidsley, Carlie Idoine et al., 26 January 2026&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Gartner and Magic Quadrant are trademarks of Gartner, Inc., and/or its affiliates.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Gartner does not endorse any vendor, product or service depicted in its research publications and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner’s Research &amp;amp; Advisory organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Feb 2026 15:13:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Decisioning/SAS-Named-a-Leader-in-the-2026-Gartner-Magic-Quadrant-for/m-p/983616#M162</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-02-17T15:13:27Z</dc:date>
    </item>
    <item>
      <title>Re: PROC HTTP and ServiceNow oauth Token</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/PROC-HTTP-and-ServiceNow-oauth-Token/m-p/983583#M84114</link>
      <description>&lt;P&gt;Hi, this has taken me a while to work out, but I was motivated because we&amp;nbsp;&lt;STRONG&gt;also&lt;/STRONG&gt; use ServiceNow here. And I have had some ServiceNow admin training, although it's not part of my day-to-day job.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was able to get it working and tested by using the ServiceNow developer portal, which gave me access to a dev instance that I could control! I started at:&amp;nbsp;&lt;A title="Original URL: https://protect.checkpoint.com/v2/r01/___https://developer.servicenow.com/___.YzJ1OnNhc2luc3RpdHV0ZTpjOm86ZGE4MmIyMGZiMzc3OTU3NjgyYTQ0NjE4NzdhOGU2ODc6NzplMzNjOjI3ZWYxMjlhYjAxMzU2NmM1M2ZiMmI0ZDI0ZGVmNWUzN2VjMzhiY2I2MGRlZmRmMTY0ZmJiZjZlOTEyMzJjYTE6aDpUOk4. Click or tap if you trust this link." href="https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fprotect.checkpoint.com%2Fv2%2Fr01%2F___https%3A%2F%2Fdeveloper.servicenow.com%2F___.YzJ1OnNhc2luc3RpdHV0ZTpjOm86ZGE4MmIyMGZiMzc3OTU3NjgyYTQ0NjE4NzdhOGU2ODc6NzplMzNjOjI3ZWYxMjlhYjAxMzU2NmM1M2ZiMmI0ZDI0ZGVmNWUzN2VjMzhiY2I2MGRlZmRmMTY0ZmJiZjZlOTEyMzJjYTE6aDpUOk4&amp;amp;data=05%7C02%7Cchris.hemedinger%40sas.com%7Ca1ef04a7478847e7fd5908de6a4d6828%7Cb1c14d5c362545b3a4309552373a0c2f%7C0%7C0%7C639065077876369298%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=51yA1FII8loTfXZ5uoY8yRJs9cTYbAsoKgkefdMwfdg%3D&amp;amp;reserved=0" data-auth="NotApplicable" data-linkindex="2" data-olk-copy-source="MessageBody" target="_blank"&gt;https://developer.servicenow.com/&lt;/A&gt;&lt;SPAN&gt;. I have a ServiceNow signin, and I used that to get an instance.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Then I created a user in the SN instance specifically for machine-only API access. Once created, I had to grant that user access to the tables that I wanted to use for the API calls. Simple way is to make the user an admin, but in real life that isn't practical. Here's the user I made. I think making a user for this purpose is easier and more manageable than using your own identity.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChrisHemedinger_0-1771280302716.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113203i29EA3A1DAF5766A9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ChrisHemedinger_0-1771280302716.png" alt="ChrisHemedinger_0-1771280302716.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Then from the&amp;nbsp;&lt;STRONG&gt;Application Registry&lt;/STRONG&gt; screen, I created an OAuth client application. I marked as "Broadly Scoped".&lt;BR /&gt;&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="ChrisHemedinger_1-1771280435171.png" style="width: 730px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113204i183175F100CB16F5/image-dimensions/730x320?v=v2" width="730" height="320" role="button" title="ChrisHemedinger_1-1771280435171.png" alt="ChrisHemedinger_1-1771280435171.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Now I had all necessary data items in hand: client ID, client secret, username, and user password. All of these are needed to get the access token. I created a&amp;nbsp;&lt;STRONG&gt;CSV&lt;/STRONG&gt; file with these fields and stored it in a secure folder that only my SAS user account can access. Here's my code to get the access token and then run a simple query, which results in some output from ServiceNow!&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="ChrisHemedinger_2-1771280687399.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113205i64EDF9A9759B6EFB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ChrisHemedinger_2-1771280687399.png" alt="ChrisHemedinger_2-1771280687399.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;/* my dev instance from the developer portal */
%let SN_INSTANCE=https://devNNNNN.service-now.com;
/* Store the credentials in a secure area */
%let credsLoc = /u/&amp;amp;sysuserid./.creds;

/* ===== Build application/x-www-form-urlencoded body ===== */
filename tok temp;
data _null_;
  infile "&amp;amp;credsLoc./service-now-creds.csv"  dsd firstobs=2;
  length client_id $ 40 client_secret $ 40 username $ 40 password $ 250 out $ 500;
  length d1-d5 $ 600;
  input client_id client_secret username password;
  d1 = "grant_type=password";
  d2 = catt('client_id=',urlencode(trim(client_id)));
  d3 = catt('client_secret=',urlencode(trim(client_secret)));
  d4 = catt('username=',urlencode(trim(username)));
  d5 = catt('password=',urlencode(trim(password)));
  out = catx('&amp;amp;',d1,d2,d3,d4,d5);
  ;
  /* Store API input data in macro var */
  call symputx('SN_CRED',out);
  put out;
  
run;
options ls=max;
/* ===== Call token endpoint ===== */
filename tokresp temp;

proc http
  url="&amp;amp;SN_INSTANCE./oauth_token.do"
  method="POST"
  in="&amp;amp;SN_CRED"
  out=tokresp
  ct="application/x-www-form-urlencoded";

debug level=3 ;
run;

/* ===== Parse JSON and extract access_token ===== */
libname tokjson json fileref=tokresp;

/* token fields often appear in tokjson.root */
data _null_;
  set tokjson.root;
  if not missing(access_token) then do;
    call symputx('accessToken', access_token, 'G');
  end;
run;

/* Debugging only */
%put NOTE: Token acquired successfully: &amp;amp;accessToken;

libname tokjson clear;
filename tokresp clear;

/* Query the Incident table with limited parms */
filename results temp;
proc http
  url="&amp;amp;SN_INSTANCE./api/now/table/incident?sysparm_fields=number%2Cresolved_by%2Copened_by%2Cshort_description&amp;amp;sysparm_limit=10"
  method="GET"
  out=results
  ct="application/json"
  oauth_bearer="&amp;amp;accessToken.";
run;

libname incident json fileref=results;

proc print data=incident.result(obs=5);
 var number short_description;
run;
libname incident clear;
filename results clear;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I found the API to be very finicky, especially in getting the token. I might have overengineered, but I needed to URLENCODE all of the values I passed in the HTTP POST call, which I guess is how it's documented -- but I've used a lot of APIs that don't need that step. I first got things working using PowerShell; the Invoke-RestAPI method does a lot for you. Once I got that working, I knew I could do the same in SAS.&lt;/P&gt;</description>
      <pubDate>Mon, 16 Feb 2026 22:29:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/PROC-HTTP-and-ServiceNow-oauth-Token/m-p/983583#M84114</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2026-02-16T22:29:48Z</dc:date>
    </item>
  </channel>
</rss>

