title: Make a Siebel field read only in certain applets
body: <p>I'm working with Siebel 7.8. I've a requeriment to make a field read only based on a condition, but only for certain applets.</p>
  
  <p>These are some options that I've already discarded:</p>
  
  <ul>
  <li><p><strong>Applet user property <em>Read Only Field n</em></strong>: this would be the ideal way to do it, but I'm afraid it's only available in Siebel 8.x. Apparently, Siebel 7.8 only supports it if the applet class is <code>CSSFrameListQuoteItem</code>, which is not my case. (Please, correct me if I'm wrong here - I didn't found any official info on this user property, neither in the bookshelf nor the support web).</p></li>
  <li><p><strong>BC user property <em>Field Read Only Field</em></strong>: it would make the field read only everywhere, which is not acceptable. I know I could make a copy of the buscomp, add the user property, and use it in my applets, but I really really <em>really</em> don't want to clone it.</p></li>
  <li><p><strong>BC user property <em>Field Read Only Field</em>, depending on the active view</strong>: Ok, this one could work. I'd add a calculated field with a expression like <code>IIf([MyConditionsForReadOnly]='Y' AND GetProfileAttr('ActiveViewName')='MyView', "Y", "N")</code>, and use it as read only flag. <em>However</em>, the list of views where my applets are present is quite long... I could forget to add one of these wiews. Furthermore, we should remember to update the calculated field each time we add a new view including one of these applets - not very practical, isn't it?</p></li>
  <li><p><strong>Server scripting</strong>. I could just cancel the operation on <code>PreSetFieldValue</code>, but once again, I should do it based on the active view name, not the applet's name. (Can I retrieve the name of the applet from which a BC event was fired? I believe it's not possible...)</p></li>
  <li><p><strong>Browser scripting</strong>, at applet's control level maybe? No thank you...</p></li>
  </ul>
  
  <p>And I'm fresh out of ideas. Am I missing something? Is there a clean way to implement this requeriment?</p>