<?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 SAS Packages Framework, version 20241027 in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949199#M371334</link>
    <description>&lt;P&gt;Hey SAS-C!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"Trick or treat" season is in bloom and the SPF has a new treat for developers.&lt;/SPAN&gt; &lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;This release "treat" is brand new utility macro that allows you to do some usefully "tricks" when you want to create a packages structure from "one-big-code" file. Details below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All the best&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;SAS Packages Framework,&lt;/STRONG&gt; version&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;20241027&lt;/CODE&gt;&lt;/FONT&gt;&lt;/H1&gt;
&lt;H2&gt;&lt;FONT size="3"&gt;As usual available at:&amp;nbsp;&lt;A href="https://github.com/yabwon/SAS_PACKAGES" target="_blank"&gt;https://github.com/yabwon/SAS_PACKAGES&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/H2&gt;
&lt;H2&gt;&lt;FONT size="3"&gt;Changes:&lt;/FONT&gt;&lt;/H2&gt;
&lt;HR /&gt;
&lt;P&gt;New simple utility macro:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#splitcodeforpackage" target="_blank"&gt;&lt;CODE&gt;%splitCodeForPackage()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;added to the framework. Now we have a dozen!&lt;/P&gt;
&lt;P&gt;The macro is a "helping-hand" for those developers who have a "one-big-code" file and want to turn it into a package structure (separate files in subdirectories) but are to lazy to do it manually. Whit help of additional&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;tags&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;the macro automatically splits the code file according to the developer's wish.&lt;/P&gt;
&lt;P&gt;Run:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;%splitCodeForPackage(HELP)&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;to see more details or, probably even better, visit the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation" target="_blank"&gt;Documentation&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/HoW-SASPackages" target="_blank"&gt;Hands-on-Workshops materials&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to learn how&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;%splitCodeForPackage()&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;works .&lt;/P&gt;
&lt;HR /&gt;
&lt;P&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Let's assume that the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;myPackageCode.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;file is located in the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;C:/lazy/&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;folder and contain the following code and tags:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;&lt;SPAN class="pl-c"&gt;/*##$##-code-block-start-##$## 01_macro(abc) */&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%macro&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;abc&lt;/SPAN&gt;&lt;/SPAN&gt;();
  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;I&lt;/SPAN&gt;&lt;/SPAN&gt; am &lt;SPAN class="pl-s"&gt;"abc"&lt;/SPAN&gt;.;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%mend&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;abc&lt;/SPAN&gt;&lt;/SPAN&gt;;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-end-##$## 01_macro(abc) */&lt;/SPAN&gt;

&lt;SPAN class="pl-c"&gt;/*##$##-code-block-start-##$## 01_macro(efg) */&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%macro&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;efg&lt;/SPAN&gt;&lt;/SPAN&gt;();
  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;I&lt;/SPAN&gt;&lt;/SPAN&gt; am &lt;SPAN class="pl-s"&gt;"efg"&lt;/SPAN&gt;.;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%mend&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;efg&lt;/SPAN&gt;&lt;/SPAN&gt;;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-end-##$## 01_macro(efg) */&lt;/SPAN&gt;

&lt;SPAN class="pl-c1"&gt;proc FCMP&lt;/SPAN&gt; outlib=&lt;SPAN class="pl-c1"&gt;work&lt;/SPAN&gt;.f.p;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-start-##$## 02_functions(xyz) */&lt;/SPAN&gt;
function xyz(&lt;SPAN class="pl-c1"&gt;n&lt;/SPAN&gt;);
  &lt;SPAN class="pl-c1"&gt;return&lt;/SPAN&gt;(&lt;SPAN class="pl-c1"&gt;n&lt;/SPAN&gt;&lt;SPAN class="pl-k"&gt;**&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;2&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;+&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;n&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;+&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;)
endfunc;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-end-##$## 02_functions(xyz) */&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;quit&lt;/SPAN&gt;;&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;and we want results in&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;C:/split/&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;folder. We run the following:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;&lt;SPAN class="pl-c1"&gt;filename&lt;/SPAN&gt; packages &lt;SPAN class="pl-s"&gt;"C:/SAS_PACKAGES"&lt;/SPAN&gt;;&lt;SPAN class="pl-c"&gt; %* a directory for the framework and packages;&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%include&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;packages&lt;/SPAN&gt;&lt;/SPAN&gt;(SPFinit.sas);&lt;SPAN class="pl-c"&gt;      %* enable the framework;&lt;/SPAN&gt;

%splitCodeForPackage(
   codeFile=C:&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt;lazy&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt;myPackageCode.sas
  ,packagePath=C:&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;split&lt;/SPAN&gt;&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt; )&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;As a result two subdirectories&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;01_macro&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;02_functions&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;are created inside&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;C:/split/&lt;/CODE&gt;. The first contains two files:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;abc.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;efg.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;with corresponding macros definitions, the second contains&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;xyz.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;file with definition of the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;xyz&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;function.&lt;/P&gt;
&lt;P&gt;Nesting, overlapping, and multiple file redirection is supported.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 28 Oct 2024 10:02:20 GMT</pubDate>
    <dc:creator>yabwon</dc:creator>
    <dc:date>2024-10-28T10:02:20Z</dc:date>
    <item>
      <title>SAS Packages Framework, version 20241027</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949199#M371334</link>
      <description>&lt;P&gt;Hey SAS-C!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"Trick or treat" season is in bloom and the SPF has a new treat for developers.&lt;/SPAN&gt; &lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;This release "treat" is brand new utility macro that allows you to do some usefully "tricks" when you want to create a packages structure from "one-big-code" file. Details below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All the best&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;SAS Packages Framework,&lt;/STRONG&gt; version&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;20241027&lt;/CODE&gt;&lt;/FONT&gt;&lt;/H1&gt;
&lt;H2&gt;&lt;FONT size="3"&gt;As usual available at:&amp;nbsp;&lt;A href="https://github.com/yabwon/SAS_PACKAGES" target="_blank"&gt;https://github.com/yabwon/SAS_PACKAGES&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/H2&gt;
&lt;H2&gt;&lt;FONT size="3"&gt;Changes:&lt;/FONT&gt;&lt;/H2&gt;
&lt;HR /&gt;
&lt;P&gt;New simple utility macro:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#splitcodeforpackage" target="_blank"&gt;&lt;CODE&gt;%splitCodeForPackage()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;added to the framework. Now we have a dozen!&lt;/P&gt;
&lt;P&gt;The macro is a "helping-hand" for those developers who have a "one-big-code" file and want to turn it into a package structure (separate files in subdirectories) but are to lazy to do it manually. Whit help of additional&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;tags&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;the macro automatically splits the code file according to the developer's wish.&lt;/P&gt;
&lt;P&gt;Run:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;%splitCodeForPackage(HELP)&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;to see more details or, probably even better, visit the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation" target="_blank"&gt;Documentation&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/HoW-SASPackages" target="_blank"&gt;Hands-on-Workshops materials&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to learn how&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;%splitCodeForPackage()&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;works .&lt;/P&gt;
&lt;HR /&gt;
&lt;P&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Let's assume that the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;myPackageCode.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;file is located in the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;C:/lazy/&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;folder and contain the following code and tags:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;&lt;SPAN class="pl-c"&gt;/*##$##-code-block-start-##$## 01_macro(abc) */&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%macro&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;abc&lt;/SPAN&gt;&lt;/SPAN&gt;();
  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;I&lt;/SPAN&gt;&lt;/SPAN&gt; am &lt;SPAN class="pl-s"&gt;"abc"&lt;/SPAN&gt;.;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%mend&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;abc&lt;/SPAN&gt;&lt;/SPAN&gt;;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-end-##$## 01_macro(abc) */&lt;/SPAN&gt;

&lt;SPAN class="pl-c"&gt;/*##$##-code-block-start-##$## 01_macro(efg) */&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%macro&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;efg&lt;/SPAN&gt;&lt;/SPAN&gt;();
  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;I&lt;/SPAN&gt;&lt;/SPAN&gt; am &lt;SPAN class="pl-s"&gt;"efg"&lt;/SPAN&gt;.;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%mend&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;efg&lt;/SPAN&gt;&lt;/SPAN&gt;;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-end-##$## 01_macro(efg) */&lt;/SPAN&gt;

&lt;SPAN class="pl-c1"&gt;proc FCMP&lt;/SPAN&gt; outlib=&lt;SPAN class="pl-c1"&gt;work&lt;/SPAN&gt;.f.p;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-start-##$## 02_functions(xyz) */&lt;/SPAN&gt;
function xyz(&lt;SPAN class="pl-c1"&gt;n&lt;/SPAN&gt;);
  &lt;SPAN class="pl-c1"&gt;return&lt;/SPAN&gt;(&lt;SPAN class="pl-c1"&gt;n&lt;/SPAN&gt;&lt;SPAN class="pl-k"&gt;**&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;2&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;+&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;n&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;+&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;)
endfunc;
&lt;SPAN class="pl-c"&gt;/*##$##-code-block-end-##$## 02_functions(xyz) */&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;quit&lt;/SPAN&gt;;&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;and we want results in&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;C:/split/&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;folder. We run the following:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;&lt;SPAN class="pl-c1"&gt;filename&lt;/SPAN&gt; packages &lt;SPAN class="pl-s"&gt;"C:/SAS_PACKAGES"&lt;/SPAN&gt;;&lt;SPAN class="pl-c"&gt; %* a directory for the framework and packages;&lt;/SPAN&gt;
&lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%include&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;packages&lt;/SPAN&gt;&lt;/SPAN&gt;(SPFinit.sas);&lt;SPAN class="pl-c"&gt;      %* enable the framework;&lt;/SPAN&gt;

%splitCodeForPackage(
   codeFile=C:&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt;lazy&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt;myPackageCode.sas
  ,packagePath=C:&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;split&lt;/SPAN&gt;&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt; )&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;As a result two subdirectories&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;01_macro&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;02_functions&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;are created inside&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;C:/split/&lt;/CODE&gt;. The first contains two files:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;abc.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;efg.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;with corresponding macros definitions, the second contains&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;xyz.sas&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;file with definition of the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;xyz&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;function.&lt;/P&gt;
&lt;P&gt;Nesting, overlapping, and multiple file redirection is supported.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 28 Oct 2024 10:02:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949199#M371334</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2024-10-28T10:02:20Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Packages Framework, version 20241027</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949502#M371412</link>
      <description>Hi my friend , yabwon, I have always been  having interest on learning how SAS frameworks operates, please let me know how they operate. Thanks</description>
      <pubDate>Wed, 30 Oct 2024 17:01:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949502#M371412</guid>
      <dc:creator>himself</dc:creator>
      <dc:date>2024-10-30T17:01:33Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Packages Framework, version 20241027</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949503#M371413</link>
      <description>&lt;P&gt;Here is the link to a list of &lt;STRONG&gt;recordings&lt;/STRONG&gt; about SAS Packages framework:&amp;nbsp;&lt;A href="https://github.com/yabwon/SAS_PACKAGES?tab=readme-ov-file#recordings-and-presentations" target="_blank"&gt;https://github.com/yabwon/SAS_PACKAGES?tab=readme-ov-file#recordings-and-presentations&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The latest&lt;/STRONG&gt; one is:&amp;nbsp;&lt;A title="Warsaw IT Days 2023" href="https://youtu.be/T52Omisi0dk&amp;amp;t=0s" rel="nofollow" target="_blank"&gt;"SAS Packages Framework - an easy code sharing medium for SAS" - Warsaw IT Days 2023&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(March 31st 2023, ~60 minutes, general overview with technical details for user and developer)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the link to &lt;STRONG&gt;materials form workshops&lt;/STRONG&gt; on the topic ("from 0 to Hero"):&amp;nbsp;&lt;A href="https://github.com/yabwon/HoW-SASPackages" target="_blank"&gt;https://github.com/yabwon/HoW-SASPackages&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Wed, 30 Oct 2024 17:14:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949503#M371413</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2024-10-30T17:14:26Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Packages Framework, version 20241027</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949787#M371500</link>
      <description>&lt;P&gt;&lt;STRONG&gt;SAS Packages Framework&lt;/STRONG&gt;, version &lt;STRONG&gt;20241102&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241102/td-p/949786" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241102/td-p/949786&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 02 Nov 2024 21:44:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20241027/m-p/949787#M371500</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2024-11-02T21:44:43Z</dc:date>
    </item>
  </channel>
</rss>

