<?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>idea Global Arcade functions in ArcGIS Pro Ideas</title>
    <link>https://community.esri.com/t5/arcgis-pro-ideas/global-arcade-functions/idi-p/1352892</link>
    <description>&lt;P&gt;It would be great if we could create a global Arcade function in a geodatabase, and then use the function in multiple places, without needing to re-write the code.&lt;/P&gt;&lt;P&gt;For example, create a global function called&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;isBlankShape&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;where you pass in a shape value and the function checks to see if the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.esri.com/t5/data-management-questions/select-features-that-have-blank-shapes/m-p/1346965" target="_self"&gt;shape is blank&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;or not&amp;nbsp;&lt;/SPAN&gt;(null shape, nil geometry, or null geometry). I’d then create validation attribute rules on all feature classes in the geodatabase. The rules would call the global function: if the result of the function call is false, then allow the edit. If the result is true, then don't allow the edit.&amp;nbsp;&lt;/P&gt;&lt;P&gt;That kind of thing is easy at the enterprise database level: create a custom function and triggers using PL/SQL. But as a novice, it doesn't seem to be possible with Arcade.&lt;/P&gt;&lt;P&gt;Related:&amp;nbsp;&lt;A href="https://community.esri.com/t5/attribute-rules-questions/global-arcade-function-for-use-in-multiple/m-p/1351237" target="_self"&gt;Global Arcade function for use in multiple attribute rules&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 05 Dec 2023 11:41:44 GMT</pubDate>
    <dc:creator>Bud</dc:creator>
    <dc:date>2023-12-05T11:41:44Z</dc:date>
    <item>
      <title>Global Arcade functions</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/global-arcade-functions/idi-p/1352892</link>
      <description>&lt;P&gt;It would be great if we could create a global Arcade function in a geodatabase, and then use the function in multiple places, without needing to re-write the code.&lt;/P&gt;&lt;P&gt;For example, create a global function called&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;isBlankShape&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;where you pass in a shape value and the function checks to see if the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.esri.com/t5/data-management-questions/select-features-that-have-blank-shapes/m-p/1346965" target="_self"&gt;shape is blank&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;or not&amp;nbsp;&lt;/SPAN&gt;(null shape, nil geometry, or null geometry). I’d then create validation attribute rules on all feature classes in the geodatabase. The rules would call the global function: if the result of the function call is false, then allow the edit. If the result is true, then don't allow the edit.&amp;nbsp;&lt;/P&gt;&lt;P&gt;That kind of thing is easy at the enterprise database level: create a custom function and triggers using PL/SQL. But as a novice, it doesn't seem to be possible with Arcade.&lt;/P&gt;&lt;P&gt;Related:&amp;nbsp;&lt;A href="https://community.esri.com/t5/attribute-rules-questions/global-arcade-function-for-use-in-multiple/m-p/1351237" target="_self"&gt;Global Arcade function for use in multiple attribute rules&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Dec 2023 11:41:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/global-arcade-functions/idi-p/1352892</guid>
      <dc:creator>Bud</dc:creator>
      <dc:date>2023-12-05T11:41:44Z</dc:date>
    </item>
    <item>
      <title>Re: Global Arcade functions</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/global-arcade-functions/idc-p/1356893#M27395</link>
      <description>&lt;P&gt;Another use case is a function that checks non-spatial fields for incorrect blank values:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;'&amp;lt;null&amp;gt;' or 'null' instead of a true null (account for lowercase vs uppercase)&lt;/LI&gt;&lt;LI&gt;' ' (space) or&amp;nbsp;'&amp;nbsp; ' (double space)&lt;/LI&gt;&lt;LI&gt;0 (zero)&lt;/LI&gt;&lt;LI&gt;'0' (text)&lt;/LI&gt;&lt;LI&gt;'-'&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(hyphen/dash)&lt;/LI&gt;&lt;LI&gt;'' (empty string) - This doesn't apply to Oracle, since empty strings get automatically converted to null in Oracle.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;BR /&gt;I don't want to use lengthy code in attribute rules for each field in each FC for that. I only want to write the code once in a function, then call that function from attribute rules.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Related:&amp;nbsp;&lt;A href="https://community.esri.com/t5/arcgis-enterprise-questions/oracle-egdb-find-junk-values-in-all-tables-and/m-p/1239037" target="_self"&gt;Oracle EGDB: Find junk values in all tables and columns (and log them in a table)&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2023 07:41:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/global-arcade-functions/idc-p/1356893#M27395</guid>
      <dc:creator>Bud</dc:creator>
      <dc:date>2023-12-08T07:41:50Z</dc:date>
    </item>
  </channel>
</rss>

