Siebel 8.x eScript OOP Framework

By | 2015/07/09
This entry is part 2 of 2 in the series Siebel eScript OOP Framework

Hi,
lately there was an attempt to use OOP Framework, which I’ve made for Siebel 7.8 (here), in Siebel 8.1..
And it didn’t work :/
As I was not part of the project – I was not able to deeply investigate the issue. That means I will not post here another version of the code (at least for now).. but – I had a possibility to check few things and here are the results:

  • that project used ST (ST = Strongly Typed) eScript engine 🙂
  • you just need to do couple of tweaks to the code to make it run:
    1. move all the methods, that have been defined as prototypes, to body of the “class”
      BEFORE:

      
      function classA() {
      
      }
      classA.prototype.methodA = function() {}
      

      AFTER:

      
      function classA() {
          this.methodA = function() {}
      }
      
    2. unfortunately most of the helpers from Declaration part will not work, i.e.:
      
      Object.prototype.forEach = function (value) {
          if (typeof value == 'function') for (var a in this) {
              if (typeof this[a] != 'function') value(a);
          }
      };
      

      I didn’t have time to find some proper workaround, apart from not using that.. :/
      Most of the cases can be easily corrected, i.e.:
      BEFORE

      
      fieldsList.forEach(function (each) {
          if (currObject.checkIfFieldExist(each)) {
              bc.ActivateField(tmpFields[each]);
          }
      });
      

      AFTER

      
      for (var a in fieldsList) {
          if (typeof this[a] != 'function') {
              if (currObject.checkIfFieldExist(a)) {
                  bc.ActivateField(tmpFields[a]);
              }
          }
      }
      

I haven’t checked (nor heard any complaints) ability to run unmodified framework on Siebel 8.x with the T engine – this should work without any modification (and of course with its full power) 🙂

Series Navigation<< Siebel 7.8 eScript OOP Framework

Leave a Reply

Your email address will not be published. Required fields are marked *