Is there a way to perform an %Prepare()/%Execute() that will wait until the record being queried is unlocked by another process? Ex: Process 1 - is opening record, updating, then saving. NOTE: this is using embedded SQL
&sql(<span class="sql"><span class="hljs-keyword">SELECT</span> %<span class="hljs-keyword">ID</span> <span class="hljs-keyword">INTO</span> :<span class="hljs-keyword">id</span> <span class="hljs-keyword">FROM</span> <span class="hljs-keyword">table</span> <span class="hljs-keyword">WHERE</span> Prop=:prop</span>)
<span class="hljs-keyword">s</span> obj=<span class="hljs-keyword">##class</span>(APPTRACKER.CacheHB.CustomEventCacheHB).<span class="hljs-built_in">%OpenId</span>(eventId)
<span class="hljs-comment">//updating record...</span>
<span class="hljs-keyword">s</span> sc=obj.<span class="hljs-built_in">%Save</span>()
<span class="hljs-comment">//simplified snippet with extra code removed</span>
...
<span class="hljs-keyword">s</span> sql = <span class="hljs-keyword">##class</span>(<span class="hljs-built_in">%SQL.Statement</span>).<span class="hljs-built_in">%New</span>()
<span class="hljs-keyword">s</span> sc=sql.<span class="hljs-built_in">%Prepare</span>(<span class="hljs-string">"SELECT TOP 1 * FROM class WHERE Prop='"</span>_prop_<span class="hljs-string">"'"</span>)
i <span class="hljs-built_in">$$$ISOK</span>(sc) {
<span class="hljs-keyword">s</span> rset = sql.<span class="hljs-built_in">%Execute</span>()
i 'rset.<span class="hljs-built_in">%SQLCODE</span> {
i rset.<span class="hljs-built_in">%Next</span>() {
<span class="hljs-keyword">s</span> propVal=rset.<span class="hljs-built_in">%Get</span>(prop)
}
}
}
</body></html>