This discussion is archived
12 Replies Latest reply: Jan 23, 2013 6:42 AM by CraigB RSS

Sub-classed items in 6i form not recognised when converting to 11g Forms

960075 Newbie
Currently Being Moderated
We are converting our old Forms 6i (Forms [32 Bit] Version 6.0.8.21.3 (Production)) application to 11g (Forms [32 Bit] Version 11.1.2.0.0 (Production)). Application server is Oracle Linux Server release 6.3.

The form in 6i looks like this: http://s13.postimage.org/xs2snql9z/image.jpg

In 11g Form builder it is like this: http://s14.postimage.org/cxqwpdfld/11g_form_builder.jpg

However, when we open in 11g, compile and deploy in Linux and run it it looks like this: http://s1.postimage.org/fpit7hqcv/11g.jpg

The 1st canvas that is shown is the small pop-up canvas and not the main canvas.

As you can see in the builder, these canvases are sub-classed from our General.fmb.

What we discovered was that, for sub-classed items the 11g does not recognize the item when it is compile.

For example, if we sub-class a new content canvas and make it's properties to the same as the old CAN_CONTENT_CANVAS, then transfer all the items from the CAN_CONTENT_CANVAS to the new one and run (after deploying in Linux) then it is displaying this canvas, but without the toolbar. For the toolbar, if we do the same process (i.e. sub-class and create a new toolbar and then transfer the items to that) it comes but without the buttons.

This seems like a bug in Oracle.

Any advice would be greatly appreciated.
  • 1. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    CraigB Guru
    Currently Being Moderated
    I hate to tell you this, but you need to upgrade your forms to Oracle Forms 10g first and then upgrade them to Forms 11g.

    Craig...
  • 2. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    960075 Newbie
    Currently Being Moderated
    CraigB wrote:
    I hate to tell you this, but you need to upgrade your forms to Oracle Forms 10g first and then upgrade them to Forms 11g.

    Craig...
    Craig, thanks for the reply. We in fact did that. We opened the 6i forms in 10g R3 (i.e. Forms [32 Bit] Version 10.1.2.3.0 ), compiled in that and then saved the FMB. Then we used this 10g R3 FMB and moved it to the Linux box and compiled in 11g R2. Still we get the same issue. We did the same for the libraries and template forms also.

    Is this a bug??
  • 3. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    CraigB Guru
    Currently Being Moderated
    Where the items still correctly subclassed when you opened the FMB in Forms 10g? Also, are the source objects your forms are subclassed from on your application server and the 11g FORMS_PATH is correct?

    I've seen problems with Subclassed objects when the parent objects are not found. I would make sure your LINUX box is configured correctly first (eg; FORMS_PATH, etc) before persuing bug possibilities.

    Craig...
  • 4. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    960075 Newbie
    Currently Being Moderated
    CraigB wrote:
    I hate to tell you this, but you need to upgrade your forms to Oracle Forms 10g first and then upgrade them to Forms 11g.

    Craig...
    Craig, why do we have to have to do this. I downloaded this document
    "Oracle® Forms
    Upgrading Oracle Forms 6i to Oracle Forms 11g
    11g Release 2 (11.1.2)
    E24478-01"

    According to this you have to do this only for pre 6i Forms.
    If you are upgrading from pre-6i you must upgrade to 10g
    and then to 11gR2 If you are upgrading from 6i or later, you can go
    directly to 11gR2. See Chapter 16, "Upgrading from Pre-Forms 6i
    Applications to Oracle Forms" for more information.
    To upgrade your Oracle Forms applications, open your Forms 6i source files (FMB,
    MMB, PLL, and so on) in the Oracle Forms 11g (11.1.2) Builder, save them, then
    compile them. You can also use the Oracle Forms Compiler to upgrade your Forms 6i
    applications.
  • 5. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    tony.g Journeyer
    Currently Being Moderated
    Are all of your subclassings carried through intact into Forms11g?

    Is the Forms_Path being correctly reflected at compile time.

    I think that I can remember a time in early forms11g where the FORMS_PATH was reset by the forms compiler.

    ALso you see no messages in the compile log about missing items?

    Tony
  • 6. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    Christian Erlinger Guru
    Currently Being Moderated
    It may be a stupid question, but did you take care of the compilation order; meaning you should compile your libraries and your General.fmb before compiling the forms attaching those libraries and subclassing objects from general.fmb?

    cheers
  • 7. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    960075 Newbie
    Currently Being Moderated
    Hello, Christian & tony. Thanks for the replies. Yes, we did compile the PLLS and FMBs first.

    But, I found a problem with the process while doing this.

    Our transaction forms (in 6i) have 3 PLLs attached to it. Also, we have one template form (General.fmb) from which we have sub-classed some common items and property classes.

    Now, what I have found out is.

    (1.) PLLs are runtime objects. i.e. you can compile a form and create a proper fmx without the PLLs. You don't get any error or warning message.
    (2.) Template forms are design time objects. However, you can use the Forms compiler and compile a form and create a fmx even if you don't have the template FMB in the path. You will get a message (not error message) saying could not load General.fmb, BUT fmx is created.

    So, we can move the 6i PLLs to Linux box and use frmcmp.sh to make the PLXs. But since these are checked only at run-time that is not necessary to compile.

    However, in order to compile a transaction form properly , we need to have the 11g version of the General.fmb in the Linux box.

    Now, problem is, how to convert Windows 6i General.fmb to Linux 11g R2 Forms General.fmb.

    What I thought of was to first, open the 6i General.fmb in Windows 11g R2 form builder, compile and save. Now, use the Convert option to convert the 11g R2 Windows FMB to FMT.

    Now, move this FMT (i.e. text)to the Linux box.

    Problem is now, how to re-convert this FMT back to a 11g R2 version of FMB?

    Can we use the frmcmp.sh?? How should we run the command in Linux?
  • 8. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    CraigB Guru
    Currently Being Moderated
    Problem is now, how to re-convert this FMT back to a 11g R2 version of FMB?
    Just copy the .FMB files to the LINUX server. It is not necessary to convert the FMB to a FMT to transfer the file to your Linux server. Just make sure you FTP the file in binary mode.

    Craig...
  • 9. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    tony.g Journeyer
    Currently Being Moderated
    Hi
    PLLs are runtime objects. i.e. you can compile a form and create a proper fmx without the PLLs. You don't get any error or warning message.
    This is not really true. If form pl/sql will not compile without the PLLs then the form will not compile and not produce an FMX.

    Moving to Linux you need to be sure that the case sensitivity issue is resolved. The biggest problem that might have is that some of the forms reference General.fmb, other general.fmb and some of the GENERAL.fmb.

    We have seen this issue before in some of our forms migration projects and we use a JDAPI tool to change the case of the referenced form without breaking the referencing links.

    Case sensitivity can also be a problem for PLL libraries, but then these are easy to detach and re-attach manually if you have no other choice.

    regards
    Tony
  • 10. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    960075 Newbie
    Currently Being Moderated
    Guys, what I asking is this. We have our General.fmb template form in Windows. Now, can we use this Windows binary just like it is in the Linux? i.e. Can we just transfer this FMB to Linux machine Libs folder and then use that as the template forms to compile our forms in Linux. I am asking whether Windows binary fmb can be used in Linux without converting it to a LInux fmb binary?

    i.e. Are Oracle Forms binaries (fmbs) compatible across platforms? i.e. we can use Windows FMB in the Linux machine also as a template form to compile the forms?
  • 11. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    tony.g Journeyer
    Currently Being Moderated
    Can we use Windows FMB in the Linux machine also as a template form to compile the forms?
    Yes, you can binary ftp the General.fmb from windows to Linux and use it as is for reference, I have done this type of thing many times.

    The main issues you see (as I mentioned above) is the case sensitivity, so things might not reference correctly if it is looking for it in the wrong case (this wasn't a problem on windows of course).

    rgds
    Tony
  • 12. Re: Sub-classed items in 6i form not recognised when converting to 11g Forms
    CraigB Guru
    Currently Being Moderated
    i.e. Are Oracle Forms binaries (fmbs) compatible across platforms? i.e. we can use Windows FMB in the Linux machine also as a template form to compile the forms?
    YES, this is the beauty of Oracle Forms - they are cross plateform. You can develope a binary (.fmb, .pll, .mmb, etc) on any plateform and copy the file to any other plateform. However, you MUST* compile the executeable on the plateform it will run from! In other words, if you develope on Windows and deploy to Linux, you must compile the executeable (.fmx, .plx, .mmx, etc) on Linux. If you copy a FMX from Windows to Linux, it will not work!

    For example, our development environment is Windows, but our deployment environment is Solaris. We simply FTP the files to our Solaris application server and then compile the executeables and we're done.

    Craig...

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points