<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Automation on Learn Oracle OTM</title><link>https://www.oracle-otm.com/posts/automation/</link><description>Recent content in Automation on Learn Oracle OTM</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 15 Feb 2026 18:17:00 +0000</lastBuildDate><atom:link href="https://www.oracle-otm.com/posts/automation/index.xml" rel="self" type="application/rss+xml"/><item><title>Agents - Frequently Used Actions</title><link>https://www.oracle-otm.com/posts/agents-frequently-used-actions/</link><pubDate>Fri, 05 Aug 2016 20:29:00 +0000</pubDate><guid>https://www.oracle-otm.com/posts/agents-frequently-used-actions/</guid><description>&lt;p&gt;This page covers the most commonly used Oracle OTM agent actions, with syntax examples and usage notes for each.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DIRECT SQL UPDATE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This action is used to execute a DML statement or call a PL/SQL procedure from within an agent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Insert Statement format:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;INSERT&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;INTO&lt;/span&gt; order_release_refnum (order_release_gid,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ORDER_RELEASE_REFNUM_QUAL_GID,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ORDER_RELEASE_REFNUM_VALUE,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;DOMAIN_NAME)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;SELECT&lt;/span&gt; orr.order_release_gid,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;SO_NUM&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;orlr.orl_refnum_value,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;orlr.domain_name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; order_release orr,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;order_release_line orl,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;order_release_line_refnum orlr
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;WHERE&lt;/span&gt; orr.order_release_gid &lt;span style="color:#f92672"&gt;=&lt;/span&gt; orl.order_release_gid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;AND&lt;/span&gt; orl.order_release_line_gid &lt;span style="color:#f92672"&gt;=&lt;/span&gt; orlr.order_release_line_gid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;AND&lt;/span&gt; orlr.ORDER_RELEASE_REFNUM_QUAL_GID &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;SO_NUM&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;AND&lt;/span&gt; ROWNUM &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;AND&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NOT&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;EXISTS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#66d9ef"&gt;SELECT&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; order_release_refnum oref
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;WHERE&lt;/span&gt; oref.order_release_gid &lt;span style="color:#f92672"&gt;=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;orr.order_release_gid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;AND&lt;/span&gt; oref.order_release_refnum_qual_gid &lt;span style="color:#f92672"&gt;=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;SO_NUM&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;AND&lt;/span&gt; orr.order_release_gid &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;$&lt;/span&gt;gid&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Update Statement format:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Agents - Sample Agent Creation Steps</title><link>https://www.oracle-otm.com/posts/agents-sample-agent-creation-steps/</link><pubDate>Fri, 05 Aug 2016 19:33:00 +0000</pubDate><guid>https://www.oracle-otm.com/posts/agents-sample-agent-creation-steps/</guid><description>&lt;p&gt;Agents in OTM are workflow processes that listen to specific events happening in the system and trigger actions. They are similar to database triggers that execute code when DML events occur at the database layer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Requirement:&lt;/strong&gt; Send a notification to a specific user when a shipment is created from bulk plan with a total volume less than 100 cubic feet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;High-level steps:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identify the business object — in this example, &lt;strong&gt;Shipment&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Identify the OTM event — in this example, &lt;strong&gt;Shipment - Created&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Identify the conditions that must be met — the shipment must be a bulk plan shipment and have volume less than 100 cubic feet.&lt;/li&gt;
&lt;li&gt;Define the action — send a notification.&lt;/li&gt;
&lt;li&gt;Define error handling actions.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Step 1: Create a Saved Query&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Agents - Agent Event Restrictions</title><link>https://www.oracle-otm.com/posts/agents-agent-event-restrictions/</link><pubDate>Mon, 15 Aug 2016 16:53:00 +0000</pubDate><guid>https://www.oracle-otm.com/posts/agents-agent-event-restrictions/</guid><description>&lt;p&gt;Agent Event Restrictions give you control over which types of transactions trigger an agent, and optionally allow you to validate inbound XML transactions before they are committed to the database.&lt;/p&gt;
&lt;p&gt;Access this by clicking the &lt;strong&gt;&amp;ldquo;i&amp;rdquo; icon&lt;/strong&gt; on the agent header screen:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.oracle-otm.com/images/agents-agent-event-restriction-img1-3b832dd4b4.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;The Event Restrictions panel appears:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.oracle-otm.com/images/agents-agent-event-restriction-img2-1b611276a7.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Source Options:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="field-box"&gt;&lt;strong&gt;INTEGRATION:&lt;/strong&gt; Triggers the agent only when the business object (e.g., Order Release) is created by an inbound GlogXML transmission from an external system. Use this when you want agent logic to run only for XML-uploaded transactions.&lt;/div&gt;
&lt;div class="field-box"&gt;&lt;strong&gt;INTERNAL:&lt;/strong&gt; Triggers the agent only when the business object is created by a standard OTM internal action, such as "RELEASE ORDER BASE". Use this when the agent should respond to system-generated events, not user or integration activity.&lt;/div&gt;
&lt;div class="field-box"&gt;&lt;strong&gt;USER:&lt;/strong&gt; Triggers the agent only when the business object is manually entered by a user within the OTM application.&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Before Persist:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Agent Gates</title><link>https://www.oracle-otm.com/posts/agent-gates/</link><pubDate>Sun, 15 Feb 2026 17:29:00 +0000</pubDate><guid>https://www.oracle-otm.com/posts/agent-gates/</guid><description>&lt;p&gt;Agent Gates allow you to add custom saved-query conditions to standard OTM events and workflows. They operate at the domain level and can either extend or completely replace standard OTM validations. If the gate condition fails, the standard workflow is stopped.&lt;/p&gt;
&lt;div class="step-box"&gt;Business Process Automation &gt; Power Data &gt; Event Management &gt; Agent Gates&lt;/div&gt;
&lt;p&gt;For example, to stop the tender workflow for specific transport modes, configure an Agent Gate with the following values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Object Type:&lt;/strong&gt; SHIPMENT&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Status Function:&lt;/strong&gt; WKFLW_TENDER&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Functor Class:&lt;/strong&gt; &lt;code&gt;glog.server.workflow.shipment.ShipmentStatus$Tender&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Saved Condition ID:&lt;/strong&gt; Write a SQL condition with your custom business rules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Saved Condition Additive:&lt;/strong&gt; Check this box&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Business Monitors</title><link>https://www.oracle-otm.com/posts/business-monitors/</link><pubDate>Sun, 15 Feb 2026 18:17:00 +0000</pubDate><guid>https://www.oracle-otm.com/posts/business-monitors/</guid><description>&lt;p&gt;The Business Monitor is designed to give planners and operations teams real-time visibility into critical business transactions relevant to their role. For example, a planner can configure a monitor to display all orders that failed during bulk planning, using a saved query and screen set — then attach the monitor to their user profile or role so it updates automatically.&lt;/p&gt;
&lt;p&gt;You can launch the Business Monitor by clicking the flag icon at the top of the OTM page.&lt;/p&gt;</description></item><item><title>Action Checks</title><link>https://www.oracle-otm.com/posts/action-checks/</link><pubDate>Thu, 20 Sep 2018 18:06:00 +0000</pubDate><guid>https://www.oracle-otm.com/posts/action-checks/</guid><description>&lt;p&gt;Action Checks allow you to add custom validations on manager layouts before data is saved to the database. This is useful when a screen has conditional mandatory fields — for example, requiring either a pre-existing location XID or a full set of address fields, but not both.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Scenario:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A custom manager layout allows users to enter PO details. The destination can be set by selecting an existing Location XID, or by entering a new address (address line 1, zip code, etc.) using custom attributes. The validation must ensure that at least one of these two options is populated before the record is saved.&lt;/p&gt;</description></item><item><title>Custom Actions &amp; Smart Links</title><link>https://www.oracle-otm.com/posts/custom-actions-smart-links/</link><pubDate>Fri, 21 Sep 2018 20:38:00 +0000</pubDate><guid>https://www.oracle-otm.com/posts/custom-actions-smart-links/</guid><description>&lt;p&gt;Custom Actions allow users to trigger an agent or perform an operation directly from the OTM UI against a selected list of transactions. Smart Links are similar but operate on a single selected record and navigate the user to related data. The example below shows how to configure a custom action that triggers an INVOICE agent when a user selects &amp;lsquo;Reprocess Invoice&amp;rsquo; from the Actions menu on a list of invoices.&lt;/p&gt;</description></item></channel></rss>