Articles by Stefan

Middleware12c Support

By Stefan posted on 17-Nov-2015

Forms12c and Reports12c are now fully supported.


Build 340 of FormsTool and Build 437 of FormsAPI Master now detect Middleware12c correctly and offer access to all the new properties added in this new Oracle Forms release. Please note that Middleware12c is only offered as a 64bit version by Oracle and hence requires the 64bit version of our tools.


FormsAPI Master V3.0 and FormsTool V3.0 final version released

By Stefan posted on 04-Nov-2013

Our brand new Version 3 rewrite of our tools is now officially out of beta-stage and has been released.


It has been a long journey to get it all done, but it's finally done! The V3.0 is a complete rewrite and was needed to support the new 64bit versions of Oracle Forms. I took the opportunity during the rewrite to drop a lot of old legacy code that was hard to maintain. Some of you might miss some old feature here and there (no more propertyset filters, no database compare, etc) but dropping those features helped to clean up and consolidate the code base considerably. The architecture behind the product has been completely reworked and is now much more stable and less buggy.



I am excited about the future of our tools and look forward to implement a lot new features and enhancements over the coming months!

FormsAPIMaster V3.0 64bit released

By Stefan posted on 24-Jun-2013

The long wait is finally over. FormsAPI Master V3.0 Beta has been released as 32bit and 64bit version. Customers have been waiting a long time for the Forms11gR2-64bit support and finally it's here!

Script engine breaking changes

The script engine had to be replaced (didn't get the old engine to work under stable under 64bit) but thankfully there aren't many breaking changes that would cause problems porting scripts from V2.0 to V3.0. Porting the collection of demoscripts only required changes in about 4 scripts and all of them have been minor:

  • datatypes : the new scripting engine only supports number / varchar2 / datetime / boolean / variant as base datatype. The "char" datatype will have to be replaced with the varchar2 type in scripts!
  • variants that have been used for OLE-Automation (using winword/excel/etc) still exists. but in order for variants to have invokable methods/properties the new "ComVariant" datatype has to be used (see the new ole_winword/ole_excel demo scripts!)
  • Customers that have used external units (to move commonly used code outside the main script) will need to add a "uses orcl;" line in the unit. The "ORCL" unit contains all the helperfunctions/classes and it looks like the new scripting engine doesn't automatically add this global library to all source code units in a project. I expect to have this fixed in one of the upcoming versions. But till then you got to use the "uses orcl;" workaround as shown in the unit_tutorialinc.p2s script.
  • Inline procedures/functions can no longer be declared inside a function declaration. Workaround is to move them from before "begin" keyword to after (so that the function declaration is inside the begin..end code. Looks strange but works. I expect to have that problem solved in the near future.

Probably there will be one or two other minor problems creeping up when the new script engine will get tested against a vast collection of scripts written by customers. But so far i am very pleased with the new engine.


New PL/SQL grammar

The new script engine architecture also allowed me to easily change some of the grammar. What this means is that many things have now become much more similar to PL/SQL grammar (while still keeping the old PASCAL grammar intact and supports). Following things are now possible:

  • procedure declarations are now 100% pl/sql compatible. The "IN OUT NOCOPY" keywords are supported as in "procedure MyProc(p_test IN varchar2 DEFAULT 'abc') IS BEGIN NULL; END;".
  • function declarations are also 100% pl/sql compatible, with the RETURN keyword as in "function MyFunc(p_test OUT varchar2) RETURN boolean is begin return true; end;"
  • for-loops also got implemented : "for i IN REVERSE 1..10 loop begin null; end;" - please note that the "begin..end" is still as in pascal and that the "loop ... end loop" syntax still won't work. There are technical reasons for that - i can't implement the loop..end loop without breaking compatibility to older scripts. Currently the "for x in .." loops also don't create an implicit variable by that name (an explicit variable is still required.


Plans for the near future

I still have some entries on my todo-list of things that i want to have implemented before the final release of V3.0 officially goes out. Lot's of small stuff, but also some bigger items such as: 

  • script debugger (with step in/out/over and breakpoints, variable watches and callstacks)
  • Unit wizard (it's one of those features that is very handy but so far hasn't been much used by customers)
  • begin .. exception ..end syntax should be doable to be implemented
  • code folding and background-compilation would be useful features.


This about sums it all up - if you encounter any issues or have any suggestions of features that would be useful then please contact me and let me know!



Stefan Mueller,
ORCL Toolbox LLP, Japan

FormsTool V3.0 64bit released

By Stefan posted on 07-Sep-2012

FormsTool V3.0 Beta can now be downloaded from our website. The new version is a complete rewrite and adds a lot of new features as well as long awaited support for Forms11g-64bit. The new version as released as BETA until all major features are included and the tool is showing to run stable.

Now that FormsTool is out of the door i will have time to focus on FormsAPI Master V3.0. The script engine compatible with 64bit was just released middle of August and still has some problems with exception handling (so i've been told). Hopefully I will know more about how that might impact you by end of the month. In the meantime please feel free to give FormsTool V3.0 a try - if you own a valid license key for FormsAPI Master then the new FormsTool version will accept those keys!

Forms11g released

By Stefan posted on 01-Jul-2009

Oracle just released the new Forms11g version today. We are currently testing and certifying support for Forms11g in our tools. A new version of our tools is expected to be released soon!