Code Generation Bug in Forms 10g

We're hitting this goofy bug in Forms 10g (also occurs in 9i) code generation of the On-xxx triggers. I have an "obj" package that declares an index-by array type that's used by multiple packages, including a "qry" package and "dml" package (in good ol' Steven Feuerstein tradition). The On-xxx triggers pass this type into packaged procedures that perform the Insert, Update, Delete and Lock required by Forms. These DML routines are in the "dml" package.
When we look at the generated trigger code, we see that the index-by array type is incorrectly referenced as dml.obj.idx. That is, since the On-xxx trigger is calling DML routines in the "dml" package, it's improperly qualifying the reference with the dml package name. The On-xxx trigger code gets regenerated every time we do Compile Module. We tried doing Compile All, which doesn't regenerate the On-xxx triggers; but neither does it produce an fmx file.
Is this a known bug, and is there a workaround? I can't move the index-by array type declaration to the dml package because it's used by multiple packages. If I fix it in one place, I break it in another. I can't have multiple declarations of this type in multiple packages either, because I'm passing it around between the packages, and they're not type-compatible at that point.

It looks like the Forms Wizard is the real culprit. When we looked at the Property Palette for each On-xxx trigger, where the target procedure is specified, along with the parameters, is where the malformed dml.obj.ref code appears. Once we edited those entries, the On-xxx triggers generated correctly.

Similar Messages

  • Code generation bug in C++ 5.0

    The enclosed test program generates incorrect code
    with C++ 5.0 when -g is not used.
    The problem showed up in our production code
    and concerns any reference counted smart pointer
    implementation.
    The test program is specifically written to demonstrate
    the problem and diagnose a reference miscount.
    With any optimization at all (without -g, and/or with
    any level of -O including no -O) it generates
    incorrect results. With -g the results are correct.
    gcc compiles this correctly with any optimizations
    selected.
    // main.cc
    // test program to demonstrate code generation bug in
    // Sun WorkShop Compilers C++ 5.0
    // bug exhibited as of 27th April 2001
    // relevant patches applied:
    // 107289-05 Packages: SPROcc
    // 107390-12 Packages: SPROtl7x, SPROsclx, SPROtll7x, SPROcplx, SPROlgcx
    // 107311-12 Packages: SPROscl, SPROtll7, SPROtlbn7, SPROcpl, SPROgc, SPROlgc
    // 107357-11 Packages: SPROlang
    // correct behaviour with CC -g:
    // CC -g main.cc -o main; ./main
    // incorrect behaviour with CC (no -g):
    // CC main.cc -o main; ./main
    #include <stdio.h>
    class O {
    public:
    inline O() : m_refCount(0) { };
    inline void ref() { m_refCount++; }
    inline void deref() { m_refCount--; }
    inline int refCount() { return(m_refCount); }
    private:
    int m_refCount;
    class R {
    public:
    inline R() : m_object(0) { };
    inline R(const R &r) : m_object(r.m_object) { if (m_object) m_object->ref(); }
    inline R(O *o) : m_object(o) { if (o) o->ref(); };
    inline ~R() { if (m_object) m_object->deref(); }
    inline R &operator =(const R &r) {
    if (this == &r) return(*this);
    O *o = m_object;
    if (m_object = r.m_object) m_object->ref();
    if (o) o->deref();
    return(*this);
    inline R &operator =(O *n) {
    if (m_object == n) return(*this);
    O *o = m_object;
    if (m_object = n) n->ref();
    if (o) o->deref();
    return(*this);
    inline operator O *() const { return(m_object); }
    inline O *operator ->() const { return(m_object); }
    private:
    O *m_object;
    class B {
    public:
    inline B(const R &r) : m_ref(r) { };
    inline const R &ref() { return(m_ref); }
    private:
    R m_ref;
    R buggy(int notnull, B &b)
    return(notnull ? b.ref() : 0); // BUG HERE
    int main()
    O o;
    R r(&o);
    B b(r);
    int i;
    for (i = 0; i < 20; i++) {
    R s;
    s = buggy(!0, b);
    printf("refCount: %d (should be 2)\n", o.refCount());

    How do I file a bug report for this and get
    a bug ID assigned?

  • Code generation bug in Sun Studio 12

    Hi,
    The following program prints `Failure' when compiled with -xO4 where nothing should be printed (when compiled with no optimization or -xO2). It looks to me that the first comparison `buggy_routine' against 0x80 is returning True where it should return False.
    #include <stdlib.h>
    #include <stdio.h>
    typedef unsigned long long int      EIF_NATURAL_64;
    typedef unsigned char   EIF_BOOLEAN;
    typedef int EIF_INTEGER_32;
    typedef char * EIF_REFERENCE;
    char s[] = "9223372036854775808";
    void buggy_routine (EIF_REFERENCE Current, EIF_NATURAL_64 arg1)
        EIF_NATURAL_64 tu8_1;
        tu8_1 = (EIF_NATURAL_64) ((EIF_INTEGER_32) 128L);
        if ((EIF_BOOLEAN) (arg1 <= tu8_1)) {
        } else {
            if ((EIF_BOOLEAN) (arg1 <= ((EIF_NATURAL_64)  9223372036854775808ull ))) {
            } else {
                  printf("Failure\n");
    int main (int argc, char ** argv, char **envp ) {
        EIF_NATURAL_64 loc2 = (EIF_NATURAL_64) 0;
        loc2 = (EIF_NATURAL_64) atoll(s);
        buggy_routine ("s", loc2);
    }To reproduce:
    cc -xO4 bug.c -o bug ; ./bug
    It fails on both 32 and 64-bit code generation for x86. I haven't tried on Sparc as I need to install Sun Studio 12. Is this a known issue? Is there an easy workaround?
    I tried with Sun Studio 11 and it worked just fine there.
    Regards,
    Manu
    PS: I've tried with both version (the first is the one from the default installation) and the second after I noticed there were some patches available:
    cc: Sun C 5.9 SunOS_i386 Patch 124868-01 2007/07/12
    cc: Sun C 5.9 SunOS_i386 Patch 124868-02 2007/11/27

    An issue filed at bugs.sun.com does not go directly into the bug database. It is evaluated, and if it turns out the report is actually a bug not previously reported, goes into the database. You get a notification and chance to reply after the report is evaluated.
    In this case, I picked up your report myself, and filed the bug. The bug ID is 6654314, and will be visible at bugs.sun.com in a day or two.

  • Code generation bug

    Hi,
    I have the following version of `cc':
    cc: Sun C 5.7 Patch 117837-05 2005/07/19
    Here is the file `bug.c':
    #include <stdlib.h>
    #include <stdio.h>
    void my_buggy_routine (char * Current, int arg1) {
    int loc1 =-arg1;
    if ((unsigned char)(loc1 == ((int) 0x80000000L))) {
    loc1 = -(loc1 / ((int)10L));
    printf ("Value is %d.\n", loc1);
    int main (int argc, char ** argv, char **envp ) {
    if (argc > 1) {
    my_buggy_routine (NULL, atoi (argv[1]));
    If you perform the following command line:
    cc -xO2 bug.c -o bug ; bug -2147483648
    You expect to get:
    Value is 214748364
    However you get:
    Value is -214748364
    If you remove the optimization when compiling then everything works fine.
    I've noticed that if I change the line:
    if ((unsigned char)(loc1 == ((int) 0x80000000L))) {
    by
    if (loc1 == ((int) 0x80000000L)) {
    then it works fine.
    Is it a known bug?
    Regards,
    Manu

    I forgot to say that it was on Solaris 10 for x86 running on a AMD64. Both 32bits and 64bits version of the program exhibit the problem.
    I've tried on Solaris Sparc with:
    cc: Sun C 5.7 2005/01/07
    and it works fine.
    Regards,
    Manu

  • Multiple POST-MAPPING Processes Code Generation BUG

    We are testing OWB 10gR2, and we were very happy to see that there is option to include more than one postmapping operator.
    The idea is to create mapping with two post-mapping operators and that:
    - one procedure is executed in case of 'Post-Mapping Process Run Condition' = ON ERROR
    - and other procedure in case of 'Post-Mapping Process Run Condition' = ON SUCCESS.
    But, after implementation of this case, we were dissapointed. We discover that neither procedure is executed.. ?!?!
    After analyzing generated code in 'finalize' method there is code like this:
    IF NOT get_abort THEN
    IF get_abort THEN
         BEGIN
    As you can see this condition will never bee true ?!?
    Doe's anyone have same problem?

    1) If you have somehow got multiple post-mappings working, I would consider that to be buggy behaviour that you cannot depend on for future releases or upgrades. As such, building a solution that depends on this has risk.
    2) You could always build a user-defined custom transformation that takes a list of tables to truncate and does so. Something like (untested, uncompiled, seat-of-the-pants written right here example to get you started):
    create or replace procedure trunc_tables(tablist varchar2)
    is
    local_tablist varchar2(2000) := tablist;
    this_Table varchar2(30);
    nextindex number := 1;
    begin
    nextindex := instr(local_tablist,',');
    while nextindex != 0 loop
    this_table := substr(local_tablist,1,nextindex-1);
    execute immediate 'truncate table '||this_Table;
    local_tablist := substr(local_tablist,nextindex+1);
    nextindex := instr(local_tablist,',');
    end loop;
    -- if no trailing semicolon there is still one table left
    if length(local_tablist) > 0 then
    execute immediate 'truncate table '||local_tablist;
    end if;
    end;
    You could then reference this in your post-mapping procedure with a call to trunc_Tables('table1,table2,table3'), and could re-use this code across all mapping that need it.
    Of course, if you have a lot of mapping-specific stuff to do then you might need to build custom transformations for each mapping that need to do different things as part of their post-process.
    Mike

  • Forms 10g Alert button navigation/focus

    Hi,
    I have an alert that pops up on a certain condition that has 3 buttons to choose from. Navigating between buttons using the left and right arrow keys on works between the first 2 buttons only. Focus does not navigate to the 3rd button.
    This did not happen on Forms 6i. Is this normal behavior? Is this a bug in forms 10g? Is there a work around this? Any help will be appreciated.
    Thanks

    Hi,
    Im reactivating this thread because I just discovered this problem.
    You are rigth when you say that keyboard navigation works in lookAndFeel=Generic but not lookAndFeel=Oracle.
    But this not the only problem encountered.
    There is also the default button set in the alert that doesn't work and either in lookAndFeel=Generic and lookAndFeel=Oracle.!
    The focus is always on button one, and that is for me a big problem because it usualy the one we use for 'OK' and others for 'CANCEL'.
    I let you imagine what problems we can have if the user press return and send ok to the application .......
    Is there any patch that correct this behaviour (we are in 9.0.4 patchset 1 at the moment) ?
    Thanks
    Jean-Yves

  • Oracle reports 6i to Oracle forms 10g migration

    Hi,
    I have .rdf files which were created on Oracle Reports 6i. I would like to migrate the .rdf files into Oracle Reports module which is present as a part of Oracle Forms 10g to generate PDF output.
    Please let me know the detailed steps to be followed as I am a total newbie. Also I need to generate these reports on demand from a java 5 application (JSF 2.0).
    Currently for ORacle reports 6i, I have the following code in my java application
    rwrun60.exe g:\tomcat33\webapps\reports\web-inf\src\null userid=***/*** destype=FILE desformat="pdf" paramform=NO printjob=NO batch=YES desname=temp.pdf
    1. What would be the equivalent for reports in ORacle Forms 10g ? I know there is an Oracle Apps server where ther report services reside. How to I invoke my report from my java application (residing on a weblogic server 10.3.6)?
    2. What ould I do with the 6i .rdf files to upgrade them to 10g ?

    I am trying to call an Oracle report i.e .rdf (which is located on the Oracle  App Server) from my java EE 5 (JSF) application. The Oracle  App server is Oracle Application Server 10g Release 2. I assume Oracle report generation capability is available in this release.  I need to invoke the report from my Java JSF application on demand (whenever the user clicks a button on the web browser page, the report should appear on the browser as PDF) . My java application resides on Linux weblogic server.
    Please let me know how it can be done ? I see rwclient.sh and another method to directly invoke using a URL. How do I do it on java, would a request.redirect() to the URL work ?
    Also for hiding the params in the URL. keys need to be configured on the Oracle server right ?
    Also if we use rwclient.sh or the URL based invocation, would there be any issue in concurrency when multiple users request the same report at the same time ?

  • Enhanced Flash Builder Code Generation Functionality

    For voting in JIRA:
    https://bugs.adobe.com/jira/browse/FB-27169
    The code generation feature FB 4 currently has is only really useful for quick throwaway prototyping or very simple forms. The generation should allow you to configure formatting via default templates, AND optionally utilize a dialog box (similar to that used in refactoring but with a few extras) so that you can configure the contents of each generated function and provide appropriate function names according to coding best practices. For example:
    -User initiates event handler generation
    (Optional, if Codegen dialog is enabled)
    -User is prompted with a dialog that allows them to customize the generated function name, and possibly specify whether they need an Event parameter passed to the function. (Default to NO event parameter, but this could be a pre-configured user option.)
    -FB utilizes the customized code generation format (customizable by the developer) to generate the new function
    If you need a "submitForm()" function and you want both a TextInput's enter action and a button's click action to call it, currently you're better off typing it all yourself, because auto-generation is going to put this long-named function that assumes you need 'event' passed to it. An event:MouseEvent parameter just gets in the way when you also want a TextInput's enter event to call that function, for example. Or perhaps we want to provide a more descriptive name to each handler (via dialog) without assigning IDs to each and every component: "datagrid1_changeHandler" or "button1_changeHandler" doesn't tell us what the function actually does. It's a basic coding best practice to name functions or methods after the actions they actually perform, and in a large application with complex forms auto-generated generic sounding function names are essentially useless from a maintainability standpoint.

    For anyone interested, I figured it out:
    to generate a CFC, you have to right-click a table in the RDS Dataview, then you can generate a CFC. You cannot generate a CFC from an AS class as described in the CF Builder help within Flash Builder.
    Adobe: it would be nice if this got fixed – and if someone there replied to posts like this. You do  know all this, don‘t you?

  • Forms 10g App. is slow: What is the official procedure to follow?

    Hello Forms gurus. This question has been bugging me for some time. Here is the scenario.
    We have a Telco application developed using Forms 10g.
    A user complains that his form is slow.
    We have access to the live DB (assume it is a 10g DB).
    However, we cannot run the form in the live DB. We have no access to it. We only have access to the live DB.
    What is the "procedure" to follow in a situation like this???
    Is there an Oracle Recommended procedure to follow?
    You inputs will be greatly appreciated.

    Are you sure the database is the cause of your performance problems? Can you identify slow queries? The first thing you should investigate is *where* your problem relies. Ask your DBAs if they can tell you the bad performing queries or help you analyze if there are any. If the database behaves well then most certainly it isn't the culprit of your performance problem. Of course there are some other no-gos which might affect application performance (like slow-by-slow processing, or serializing, or what ever else). So you need to identify where the time is spent first.
    So, according to the them, if a form is "slow", 99.99% it is caused by a slow query.  So, they expect us developers to know tuning stuff.
    Erm...and who else should know it? Developers design the application, developers know how it should work, and therefore are the ones who should know how to tune it. And I'm not talking about looking into why the Hard disk responds slow kind of stuff but simple identifying sub-optimal code, or SQL tuning by looking at the execution plans, interpreting them and solving them by...oh, I don't know, rewriting the query, minimizing recursive SQL, and what ever else. DBAs on the other hand know next to nothing about your application. How should they know if a query plan is bad or not (except the query responds slow)? How should they know how to rewrite your query properly if they don't know what it's supposed to do? Don't write a query whatever way you like and expect them to understand it and tune it which might even imply changes on your underlying data model.
    There are 2 scenarios:
    (1.) We got e-mail from user saying form is slow. But he is not using the form now.
             -- Is there a way to find out slow queries that happened say few days ago? Are they stored somewhere?
    (2.) User is currently logged on to the system and using the form.
            -- Can you find out an slow query happening right now??
    1.) This would be AWR. As they have the final saying about the database then ask them to provide you a AWR report of a Time period where you had performance problems. If you don't have AWR then it'll be somehow difficult to analyze performance problems of the past. But on the other hand I wouldn't worry too much if you can constantly reproduce your problems as this would take us straight foreward to:
    2.) That would be SQL Trace. Simply trace the session experiencing performance problems, and run tkprof on the tracefile. If you don't know how to do that and don't know how to interpret a query plan then you might ask your DBAs if they can assist you. If they insist that you must know that on your own maybe ask them to teach you. It is one thing to ask someone to do your job, but an entirely other thing to ask someone for help to do your job better and share some knowledge.
    In the end it'll be easier to work *with* your DBAs to identify and solve performance problems and not working *against* them. You have knowledge about your application, about what data is stored where and why but might lack some basic knowledge about SQL Tuning. Your DBA on the other hand has no knowledge about your application but might have a better understanding of basic SQL tuning. IMHO the both of you would make a good couple to solve SQL performance problems as your knowledge combined should make it easy to resolve your problem.
    cheers

  • Forms 10g Screen flashing

    We are currently upgrading our Oracle Forms 6i applications into Forms 10g. During this process, we have encountered a screen flashing issue.
    The application is coded in such a way that there is one form that remains open and it keeps calling other forms one after the other in sequence depending upon the application flow selected by the user.
    While doing this, when the application moves from one "Called Form" to another, the "Base Form" that was open, appears completely because the next "Called Form" is being loaded. This, to the user, will appear as a screen flash and distract/disturb them.
    Note: This application was originally coded in 2.3 around 20 years ago and has been migrated since then without any major tuning. All forms in this application are heavily loaded with multiple canvases, items and triggers.
    Any help would be appreciated.
    Thanks

    Its impossible to say what it could be without more information. I think you need to go thru the forms and find out what code is causing the flashing.
    We have had a few flashing bugs thru the years but we have fixed all the ones we know about. If you cannot make the flashing go away by recoding your forms, please log a bug.
    When you find out please post an entry here to help others in the future.

  • Forms 10g - mouse focus/navigation problem

    Hello.
    We use:
    - IE 6
    - Java Plug-in 1.5.0_04
    - iAS 10.1.2.0.2 (patch 5023945) on HP-UX 11i
    We are experiencing an annoying problem. Our ORACLE Forms 10g application (migrated a few months ago from forms 4.5) sometimes loses navigation: mouse clicks stop changing cursor item focus or executing buttons ... Many users can't avoid pressing CTL+ALT+DEL to stop it...
    It seams to happen more frequently when users have different windows from different applications opened, navigate to them and then return focus to our application...
    We made a workaround that minimized some specific situations:
    - avoided enabled image items
    - reviewed navigation code to blocks whose first item wasn't navigable (we switched some GO_BLOCK to GO_ITEM)
    Should we go to Patch ID 6311490 (focus fix) for 10.1.2.2 iDS and iAS? Is there any other one more suitable?
    Which patch should we consider for this situation?
    Thanks in advance.
    Luis Amorim

    Hi Luis
    I've seen this sort of thing before and it wasn't easy to solve. There are things you can do to make it better. Check out Oracle Bug 6737974 on metalink. The main cause seemed to be when-deactive-window trigger.
    HTH & Good luck
    Steve

  • Key Mapping in Forms 10g

    Dear All,
    I have migrated forms 3.0 in unix to forms 10g in windows 2003 server.
    In my older version, '+' key is mapped to do COMMIT. I want to map the same key in forms 10g. i tried the same in my frmweb.res. Pls find the mapping done by me below.
    *107 : 0 : "Add" : 36 : "Commit"*
    This works fine.
    The Issue is ... My cursor is in a text item .... I entered some data and press " + " key to save. The data is saved but at the same time the data in the text item is erased and + is getting replaced in the text item. I dont want my data to be erased and replaced with "+" symbol.
    How to map the "+" just for COMMIT and should not replace the data in the text item ?
    Can anyone help me to solve this issue...
    Thanks in Advance
    Sharf

    Unfortunately, sometimes the role of the developer is to educate the user/management what can/can't and should/shouldn't be done. If I were in your postition, I would make every effort to educate the user/management this this is a REALLY bad idea and encourage them to use the standard key mapping or use a modifed key mapping that uses just the F-Keys.
    The problem you have to overcome is that you have to not only tell Forms to do something different when the '+' key is pressed, but you have to have a listener in your application that is listening for the '+' key and supress the '+' character. To my knowledge, this cannot be done with native Forms built-ins. You would have to write your own Java solution (JavaBean or Pluggable Java Component [PJC]) to suppress the '+'. I have found that if you can provide the user/management with a cost estimate associated with the effort needed to code a particular feature. Once they realize the level effort and more importantly the cost associated with coding a particular feature, they typically will change their mind and see reason.
    I know this is not what you wanted to hear, but I hope it will help anyway. :(
    Craig...
    Edited by: CraigB on Aug 2, 2010 2:05 PM
    Edited by: CraigB on Aug 2, 2010 2:07 PM

  • Forms 10g installed and running on Windows Vista

    <font color=0000FF>Update 12-Dec-2008: </font>Oracle has published NOTE 559067.1 -- How to Install Developer Suite 10.1.2.0.2 - hence 10.1.2.3 - on Windows Vista, 24-OCT-2008 with some installation help.
    <font color=0000FF>Update 07-July-2008: </font> Added text at the bottom showing how to find patchsets for Forms 10g.
    <font color=0000FF>Update 29-May-2008: </font> This thread was started in November, 2007.  In January, 2008, Oracle released Patch 3 for Forms 10g, which makes Forms 10g compatible with Windows Vista.  As time permits I'll try to keep the information in this post up to date.   Updated information will be inserted <font color=0000FF>as blue text.
    </font>
    <font color=0000FF>Original message begins here:</font>
    This is a second thread I am posting to outline the steps I have used to install Forms on a Windows Vista Home Basic laptop.   The other thread describes installing Forms 6i:
          Forms 6i installed and running on Windows Vista
    Please read through the initial part of that post for the background.  I realize Oracle has not certified Forms 10g to run on Vista, but the time has come for my associates and I to upgrade our old computers to new desktop/laptop platforms, and I would hate to acquire XP machines and be stuck with them for the next 5 years.  <font color=0000FF>(Note: Since first posting this message, Oracle has certified Forms 10g Patch 3 (version 10.1.2.3.0) to run on Vista)</font>  So after another person informed me that he had Forms installed and running on Vista, I went ahead and bought one.  I found that as long as I set the compatibility mode to run Forms programs as Windows XP (and a few other changes), Forms 6i and 10g run quite satisfactorily.
    <font color=0000FF>Update 29-Jan-2008: </font> Unfortunately, it turns out that the Forms 10g Builder running on Vista <font color=0000FF>had</font> a major flaw:   If you try to develop a form, the Builder will crash if you try to compile a procedure that calls another procedure in the form that has errors.  The problem is reported and described in this thread:  Error compiling a form under Vista
    <font color=0000FF>Update 12-Mar-2008: </font> Installing Patch 3 on Vista does not help with this problem -- the Builder still crashes in the same situation.
    <font color=0000FF>Update 25-July-2008: </font> Applying Patch 7047034 has corrected the problem.   See this link within this thread:   Forms 10g: Installing Patch 7047034 on Windows Vista
    Webutil note:  I am stuck in a Forms 6i client/server world, so all my forms must run in that environment.   Therefore I have not used any Webutil software, and I do not know whether that part will run under Vista.
    Internet Explorer note:  On Windows Vista, IE CANNOT be used to run the Web Forms runtime.  It crashes immediately when you try to run a form.  Instead, I can use either Firefox (Firefox 2, Firefox 3.0 Crashes with Forms 10g) or Netscape, as long as they are set to disable java.  <font color=0000FF>[ Correction:   IE7 on Vista now runs the Forms 10g forms.   You just need to add "?config=jpi" to the browser URL when starting the Web Forms session.   More IE/Vista info: [url=http://forums.oracle.com/forums/thread.jspa?threadID=642973]Vista JInitiator Problem ]</font>
    The Oracle Developer Suite download page:
        http://www.oracle.com/technology/software/products/ids/index.html
    Oracle Developer Suite Installation Guide:
        http://download.oracle.com/docs/cd/B25016_07//doc/dl/core/B16012_04/toc.htm
    The steps below are those I followed to install Forms 10g (version 10.1.2.0.2)
    I.  Preliminary system changes in Windows
    When I started installing, I got the following error message:    Install has encountered an error while
        attempting to verify your virtual memory settings.
        Please verify that the sum of the initial sizes of
        the paging files is at least 256 MB.To fix this:  Go to Control Panel, System and Maintenance, View amount of RAM and processor speed (under "System"),
    Advanced system settings (in left "Tasks" column), Advanced tab, Settings (under "performance"), Advanced tab:
    Virtual Memory shows a "Total paging file size for all drives: 2337MB.
    Click "change", Uncheck "Automatically manage paging file size for all drives"
    Click "custom size:", set Initial size to: 2048, Max to 4096
    Click set button, then OK, get message:The changes you have made require you to restart your computer before
       they can take effect.Restart the computer.
    II.  Installing Forms 10g
    1.  Download two files from Oracle:
        ds_windows_x86_101202_disk1.zip (626,122,752 bytes)
        ds_windows_x86_101202_disk2.zip (236,880,881 bytes)
    2a.  Before extracting, it is a good idea to shut down any virus protection software.  It can sometimes prevent some files from being created.
    2b.  Extract both into the C:\oracle directory, as disk1 and disk2.
    3.  Using Windows Explorer, change the properties of setup.exe in the C:\oracle\disk1 folder.  (In windows explorer, right click, properties, Compatibility tab.)   Change the compatibility to run as Windows XP (Service Pack 2).
    4.  Right click setup.exe and click "Run as administrator"
    5.  Select "Installation type" = Complete (1.11 GB)
    6.  Received this message:Windows Firewall has blocked this program from
    accepting incoming network connections.  If you
    unblock this program, it will be unblocked on all
    public networks that you connect to.
    C:\users\steve\appdata\local\temp\orainstall...
      2007-10-29_11-59-08am\jre\1.4.2\bin\javaw.exeI clicked "Unblock"
    7.  Received this message:  "Provide outgoing mail server information"  I entered the smtp mail server that I use.
    8.  A summary screen displayed showing 274 products under New Installations.
    I clicked the Install button.
    9.   Received this message:  You can find a log of this install session at:
    C:\Program Files\Oracle\Inventory\logs\installActions2007.....log
    10.  The installation completed.  Installed products shows Forms 10.1.2.0.2
    III.  After the install completed
    1.  Create a shortcut to the Forms 10 Builder on the Desktop.
    On the shortcut line, after the .exe, add *userid=userxxx/pwxxx@orcl* so Builder automatically logs into 10g database.  If you do step 4 below (creating an easily-accessible folder to use for your forms) change the "Start in" path on the shortcut so it points to that folder.  Otherwise, Forms Builder will not find referenced objects and PLL libraries when it opens a form.  Also do the same on the Start, All Programs shortcut for the Forms Builder.
    Edit:  After applying Patch 3, the following steps are not necessary.
    Set its compatibility to Windows XP.
    Set checkbox: "Run this program as as an administrator."  (Without this, FormBuilder will NOT open a PLL library.)
    Click the "Show settings for all users" and change values there.
    2.  Copy "Start OC4J Instance" icon to desktop.
    Set its compatibility to Windows XP.
    The first time it runs, I got a Windows popup to unblock program named Java.  I clicked "Unblock".
    3.  tnsnames.ora:
    Rename C:\oracle\DevSuiteHome_1\network\admin\tnsnames.ora
    to:  tnsnames_orig.ora
    If you created a tnsnames.ora file for Forms 6i, just copy it to the path above.  If not, do this:
    Create a new tnsnames.ora file, copying entries old file on my old laptop, which contains all the connections I use.
    Delete the old laptop entry, replace with new entry for the new local ORCL connection on new laptop from tnsnames file renamed from the c:\oracle\... ...\10.2.0\db_1\ path.
    4.  Optional:  Create an easily accessible folder to store fmb files:
    C:\users\steve\.1\fmb10
    You don't really want to keep drilling into C:\oracle\DevSuiteHome_1\forms, and then find your .fmb file among the several dozen oracle-supplied files.
    To create a folder named .1, you have to open a CMD.exe (Windows DOS) window, and type the Make Directory command:
    MD .1
    That will create the folder within the current directory -- mine defaults to C:\users\steve
    Note:  If you also need to use Forms 6i like me, DO NOT EVER open a .fmb file in the Forms 10 Builder from the Forms 6i folder.  If you compile it, or even worse, save the .fmb, Forms 6i *cannot ever* access the file.  Instead, always use the File Manager (Windows Explorer) to copy the fmb from the fmb6 folder into the fmb10 location.
    5.  Change the Forms 10g Default.env file using a text editor.
    This file replaces all the settings originally written to the Windows Registry (GREAT idea, Oracle!  I hate the registry.)  No more Regedit.  The default.env file is located at: (DevSuiteHome_1 path)\forms\server\default.env
    Locate line with:  FORMS_PATH= and add:
        ;C:\users\steve\.1\fmb10
    Add a new line:
    FORMS_MMAP=FALSE
    The above allows compiling an fmx while the form is running.
    Add a new line:
    FORMS_ROWLOCK_OPTIMIZATION=FALSE
    (This fixes Oracle bug number 3949854, which prevents automatic skipping if the same value is typed over another value. TAR 4806199.993 Automatic Skip failure...)  See bug 4068896
    Add a new Line:
    FORMS_RESTRICT_ENTER_QUERY=False
    This allows use of Query-Where window in enter query, after entering a colon in any input field.  Without this, Forms returns FRM-40367: Invalid criteria in field nnn in example record.  Oracle shut it down to prevent "sql injection" attacks.
    6.  Jiniator setup:
    Run file jinit.exe in C:\oracle\DevSuiteHime_1\jinit\jinit.exe
    It installs Jinitiator 1.3.1.22.
    I installed it in C:\oracle\JInitiator 1.3.1.22\
    For Firefox, make sure a copy of file \bin\NPJinit13122.dll resides in   C:\Program Files\Mozilla Firefox\plugins.
    For Netscape, the path is:  C:\Program Files\Netscape\Navigator 9\plugins
    7.   Browser settings
    See the note above about using Firefox 2 and not Firefox 3!
    In Firefox 2 go to:  Tools-> Options-> Content
    Uncheck the "Enable Java" checkbox
    --Firefox terminates if this is not done!
    Note:  After my system automatically installed updates to either java or Firefox, re-check the "Enable Java" setting.  I am suspicious that one of these installs re-enables java in the browser.
    Also note:  some web sites cannot display properly if java is disabled.  Example:  U.S. time website: http://www.time.gov   Use Internet Explorer to view these.
    In Netscape make the same changes as Firefox.  Without disabling java, it also terminates when you try to run a form.
    Creating a url to use in the browser:
    Try this:
        http://127.0.0.1:8889/forms/frmservlet
    If it does not work, change the 8889 port number as follows:
    Open file:  C:\oracle\DevSuiteHome_1\install\portlist.ini
    Note the number in line:
    Oracle Developer Suite HTTP port = 8889
    Use the number as the port number.
    You can also change the 127.0.0.1 to the computer name:
    Control Panel, System and Maintenance, See the name of this computer (under "System").  Mine is "steve-PC"
    So the alternate URL is:     http://steve-PC:8889/forms/frmservlet
    To try out the URL, start the OC4J instance set up above.  Then start either Netscape or Firefox, and enter the URL.  You should get a welcome screen.
    If the above URL works, start up the Forms Builder, and open Edit, Preferences.  On the General tab, uncheck the "Build before running" check box (optional).  On the Runtime tab, set the "Application Server URL to the url above.
    To run a real form, add this to the URL after frmservlet, (with no spaces):
        ?form={formname}&userid={userxxx}/{passwordyyy}@{connect-string}
    but replace the parts in curly braces with the appropriate values.  Example:
        http://127.0.0.1:8889/forms/frmservlet?form=ABC&userid=abc123/zyx@orcl
    Setting up Forms Builder to directly run a form in the browser:
    Run the Forms Builder.  Go to Edit, Preferences, Runtime tab.
    Set the Application Server URL to:
        http://127.0.0.1:8889/forms/frmservlet
    (or use whatever URL string you developed above)
    Set the Web Browser Location to:
        "C:\Program Files\Netscape\Navigator 9\navigator.exe"
    (or an equivalent to run the Firefox browser).
    8.  FORMSWEB.CFG file changes
    The file is located at:
    C:\ORA_DS_101202\DevSuiteHome_1\forms\server\formsweb.cfg
    I changed the following two lines in the file, but these are my personal preferences:
    separateFrame=true
    lookandfeel=Generic
    9.  FMRWEB.RES file changes
    For Oracle help:  Enabling Key Mappings
    The file fmrweb.res defines actions (triggers that run) when a function key is pressed while running Forms.  The one released has unix-style key mapping, but I prefer keys originally mapped for Windows PC Forms users. There is a fmrpcweb.res in the same folder that can be renamed to fmrweb.res.
    In the C:\oracle\DevSuiteHome_1\forms path, I renamed fmrweb.res to fmrweb_orig.res.
    I have a file that I prefer to use, so I put it into the folder as fmrweb.res. The contents are listed below. It is organized so the most important keys are listed alphabetically at the top (URFD column is the sort column), followed by a group of less-important keys.  These are keys that are available to users, but they either would not use, or are disabled within most forms.  The URFD column in the second set starts with a hex A0 character, which is a high-order space, so collates after normal alphabetic characters.  (Note: If you want to copy the text below and use it, the hex A0 character has been changed by the forum software to a space. So you would need to use a text editor with hexadecimal character capabilities to replace the space with the original character. )
    My file has special keys defined for F2 (I use it for a debugging Key-F2 trigger in my forms), and a "Cursor to Home" F12 function. All the rest are pretty much the same as in the released fmrpcweb.res file, only mine are organized alphabetically on the URFD column.
    The Web Forms fmrweb.res file is editable using any programming editor (NOT MS Word!!!). The old Client/Server key mapping file, fmrusw.res, could only be changed using the Oracle Terminal program (and it is a pain to use).
    Here is the main part of my fmrweb.res file:#
    #Jfn :Jmn:  URKS            :Ffn :  URFD
    #    :   : (User-readable   :    : (User-readable
    #    :   :  Key-sequence )  :    :  function description)
    118  : 1 : "Shift F7"       : 74 : "Clear Form"
    121  : 0 : "F10"            : 36 : "Commit"
    117  : 0 : "F6"             : 65 : "Create Record"
    10   : 1 : "Shift Enter"    : 82 : "Cursor to Home" # sdsu uses this
    123  : 0 : "F12"            : 82 : "Cursor to Home" # sdsu uses this
                                        #: --Alt+Home works, but leaves the Action (first
                                        #: --pull-down menu item) highlighted.  Press Esc or
    36   : 8 : "Alt Home, then Alt" : 82 : "Cursor to Home" #-- Alt again to clear highlight.
    117  : 1 : "Shift F6"       : 63 : "Delete Record"
    119  : 0 : "F8"             : 77 : "Execute Query"
    120  : 0 : "F9"             : 29 : "List of Values"
    9    : 0 : "Tab"            : 1  : "Next Field"
    40   : 0 : "Down-Arrow"     : 7  : "Next Record"
    9    : 1 : "Shift Tab"      : 2  : "Previous Field"
    38   : 0 : "Up-Arrow"       : 6  : "Previous Record"
    112  : 0 : "F1"             : 35 : "Show Keys"
    116  : 1 : "Shift F5"       : 69 : " Clear Block"
    116  : 2 : "Ctrl F5"        : 3  : " Clear Field"
    113  : 1 : "Shift F2"       : 80 : " Count Query Hits"
    112  : 1 : "Shift F1"       : 78 : " Display Error"
    114  : 0 : "F3"             : 73 : " Duplicate Item"
    115  : 0 : "F4"             : 64 : " Duplicate Record"
    69   : 2 : "Ctrl E"         : 22 : " Edit Field"
    122  : 0 : "F11"            : 75 : " Enter " # Causes validation, w/o cursor move
    118  : 0 : "F7"             : 76 : " Enter Query"
    81   : 2 : "Ctrl Q"         : 32 : " Exit"
    112  : 2 : "Ctrl F1"        : 30 : " Help"
    34   : 0 : "Page Down"      : 66 : " Next Set of Records"
    119  : 1 : "Shift F8"       : 79 : " Print"
    10   : 0 : "Enter/Return key": 27: " Enter/Next Field"
    33   : 0 : "Page Up"        : 12 : " Scroll Up"
    116  : 0 : "F5"             : 87 : " F5 Key for special uses"
    #121 : 3 : "Shift Ctrl F10" : 82 : " Function 0" #--disabled.  Cursor to home defined above
    112  : 3 : "Shift Ctrl F1"  : 83 : " Function 1"
    113  : 0 : "F2"             : 84 : " Function 2"
    113  : 11: "Ctrl Alt Shift F2":95: " List Tab Pages" #<-REQUIRED, or F2 cant be assigned
    114  : 3 : "Shift Ctrl F3"  : 85 : " Function 3"
    115  : 3 : "Shift Ctrl F4"  : 86 : " Function 4"
    117  : 3 : "Shift Ctrl F6"  : 88 : " Function 6"
    118  : 3 : "Shift Ctrl F7"  : 89 : " Function 7"
    119  : 3 : "Shift Ctrl F8"  : 90 : " Function 8"
    120  : 3 : "Shift Ctrl F9"  : 91 : " Function 9"<B>Finding Forms 10g Patchsets</B>
    Here is how to do the search: Log into metalink ( https://metalink.oracle.com ), then click on the Patches & Updates tab, then Simple Search.
    In "Search by", select Product or Family. Enter "Developer Forms" in the box.
    Then click the Release choices, and select "iAS 10.1.2.3"
    Patch Type should be "Patchset/Minipack"
    Platform or Language should be "Microsoft Windows (32-bit)"
    Click Go, and the Forms 10g patch should show up. As of July, 2008 the only one available is: [url=
    https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=5983622&release=1710123&plat_lang=912P&patch_num_id=943599
    ]5983622
    Edited 2008-12-12 to add a link to Oracle Note 559067.1  and added the fmrweb.res file listing.
    Edited 2008-10-28 to change text format to work better within new forum format
    Edited 2008-7-7 to add patchset search information.
    Edited 2008-4-21 to modify information.
    Edited 2008-3-6 to add information.
    Edited 2008-5-29 to update information.

    I followed your instructions and installed Developer Suite 10G on Windows Vista Home Premium edition. I have Oracle 11G DB running on the same machine.
    Two points, Steve:
    1. When I tried to set the maximum virtual memory to 6110 an error message displayed from Windows and told me that I can't set the maximum virtual memory to more than 4096. I set it to 4090 and it worked and I got nothing wrong during the installation process.
    2. After installing JInitiator and disabling Java on Firefox I called the http://127.0.0.1:8889/forms/frmservlet page and everything seemed to be OK because the Oracle Forms Services logo appeared and then a successful installation message appeared , but as I clicked (ok) to continue a gray screen appeared inside the browser (like the one displayed when you try to run a Java applet inside a browser) and then I wait to death till something appears but sadly nothing. I just get a blank gray screen inside my Firefox browser.
    Do you have any idea what to do to solve the problem?
    Regards

  • How to FTP a file from client machine to database server using forms 10g

    Hi
    I want to ftp a file from a client machine to the database server machine using forms 10G (or PL/SQL).
    could you please tell me how can I do this
    Regards

    hi
    How to get up and running with WebUtil 1.06 included with Oracle Developer Suite 10.1.2.0.2 on a win32 platform
    Solution
    Assuming a fresh "Complete" install of Oracle Developer Suite 10.1.2.0.2,
    here are steps to get a small test form running, using WebUtil 1.06.
    Note: Oracle_Home is used as an alias for your real oDS ORACLE_HOME.
    Feel free to copy this note to a text editor, and do a global find/replace on
    Oracle_Home with your actual value (no trailing slash). Then it is easy to
    copy/paste actual commands to be executed from the note copy.
    1) Download http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip
    and extract to a temporary staging area. Do not attempt to use 1.7 or 1.9.
    2) Copy or move jacob.jar and jacob.dll
    C:\webutile is the folder where you extracted Jacob, and will end in ...\jacob_18
    cd C:\webutile
    copy jacob.jar Oracle_Home\forms\java\.
    copy jacob.dll Oracle_Home\forms\webutil\.
    The Jacob staging area is no longer needed, and may be deleted.
    3) Sign frmwebutil.jar and jacob.jar
    Open a DOS command prompt.
    Add Oracle_Home\jdk\bin to the PATH:
    set PATH=Oracle_Home\jdk\bin;%PATH%
    Sign the files, and check the output for success:
    Oracle_Home\forms\webutil\sign_webutil Oracle_Home\forms\java\frmwebutil.jar
    Oracle_Home\forms\webutil\sign_webutil Oracle_Home\forms\java\jacob.jar
    4) If you already have a schema in your RDBMS which contains the WebUtil stored code,
    you may skip this step. Otherwise,
    Create a schema to hold the WebUtil stored code, and privileges needed to
    connect and create a stored package. Schema name "WEBUTIL" is recommended
    for no reason other than consistency over the user base.
    Open Oracle_Home\forms\create_webutil_db.sql in a text editor, and delete or comment
    out the EXIT statement, to be able to see whether the objects were created witout
    errors.
    Start SQL*Plus as SYSTEM, and issue:
    CREATE USER webutil IDENTIFIED BY [password]
    DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp;
    GRANT CONNECT, CREATE PROCEDURE, CREATE PUBLIC SYNONYM TO webutil;
    CONNECT webutil/webutil@rcci
    @Oracle_Home\forms\create_webutil_db.sql
    -- Inspect SQL*Plus output for errors, and then
    CREATE PUBLIC SYNONYM webutil_db FOR webutil.webutil_db;
    Reconnect as SYSTEM, and issue:
    grant execute on webutil_db to public;
    5) Modify Oracle_Home\forms\server\default.env, and append Oracle_Home\jdk\jre\lib\rt.jar
    to the CLASSPATH entry.
    6) Modify Oracle_Home\forms\server\formsweb.cfg insde [default] add :
    archive_jini=frmall_jinit.jar,frmwebutil.jar,jacob.jar
    archive=frmall.jar
    also add :
    [webutil]
    WebUtilLogging=off
    WebUtilLoggingDetail=normal
    WebUtilErrorMode=Alert
    WebUtilDispatchMonitorInterval=5
    WebUtilTrustInternal=true
    WebUtilMaxTransferSize=16384
    baseHTMLjinitiator=webutiljini.htm
    baseHTMLjpi=webutiljpi.htm
    baseHTML=webutilbase.htm
    archive_jini=frmall_jinit.jar
    WebUtilArchive=frmwebutil.jar,jacob.jar,f90all.jar
    archive=frmwebutil.jar,f90all.jar
    lookAndFeel=oracle
    7) Modify Oracle_Home\forms\server\webutil.cfg and add :
    transfer.database.enabled=TRUE
    transfer.appsrv.enabled=TRUE
    8) Start the OC4J instance
    9) Start Forms Builder and connect to a schema in the RDBMS used in step (4).
    Open webutil.pll, do a "Compile ALL" (shift-Control-K), and generate to PLX (Control-T).
    It is important to generate the PLX, to avoid the FRM-40039 discussed in Note 303682.1
    If the PLX is not generated, the Webutil.pll library would have to be attached with
    full path information to all forms wishing to use WebUtil. This is NOT recommended.
    10) Create a new FMB.
    Open webutil.olb, and Subclass (not Copy) the Webutil object to the form.
    There is no need to Subclass the WebutilConfig object.
    Attach the Webutil.pll Library, and remove the path.
    Add an ON-LOGON trigger with the code
    NULL;
    to avoid having to connect to an RDBMS (optional).
    Create a new button on a new canvas, with the code
    show_webutil_information (TRUE);
    in a WHEN-BUTTON-PRESSED trigger.
    Compile the FMB to FMX, after doing a Compile-All (Shift-Control-K).
    11) Under Edit->Preferences->Runtime in Forms Builder, click on "Reset to Default" if
    the "Application Server URL" is empty.
    Then append "?config=webutil" at the end, so you end up with a URL of the form
    http://server:port/forms/frmservlet?config=webutil
    12) Run your form.

  • Calling Report from Menu (Oracle Forms 10g)

    We have the applications in Forms6i & Reports 6i (Client Server) and migrating to Forms 10g and Reports 10g. We have the menu, from that menu we are calling all the forms and Reports. For especially Reports earlier we user RUN_PRODUCT but now 10g it is not working. How can call the report using RUN_REPORT_OBJECT
    Important things we have some dynamic parameters (input) to the each report. That means when i called the report from the menu i need to get first parameter form to take the parameters and then can be run the report.

    Here is the code to call report from menu in 10g
    DECLARE
    pl_id ParamList;
    repid REPORT_OBJECT;
    v_rep varchar2(100);
    v_server VARCHAR2(100);
    rep_status varchar2(100);
    v_host VARCHAR2(100);
    BEGIN
         select rep_server into v_server from reports_data;
         select machine into v_host from reports_data;
    pl_id := Get_Parameter_List('tmpdata');
         IF NOT Id_Null(pl_id) THEN
         Destroy_Parameter_List( pl_id );
         END IF;
         pl_id := Create_Parameter_List('tmpdata');           
    Add_Parameter(pl_id,'P_C_CODE',TEXT_PARAMETER,:GLOBAL.COMPANY);
    Add_Parameter(pl_id,'P_B_CODE',TEXT_PARAMETER,:GLOBAL.BRANCH);
         repid := find_report_object('REPORTOBJ');
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,getpath||'E_VOUCHER_ENTRY.RDF');
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'htmlcss');
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,v_server);
              v_rep := RUN_REPORT_OBJECT(repid, pl_id);
              rep_status := REPORT_OBJECT_STATUS(v_rep);
              WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
                   LOOP
                        rep_status := report_object_status(v_rep);
                             message('Running');
                   END LOOP;
              IF rep_status = 'FINISHED' or rep_status is NULL THEN
                   --Display report in the browser
                   WEB.SHOW_DOCUMENT('http://'||v_host||'/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server='||v_server,'_blank');
              ELSE
                   null;
         END IF;
    END;

Maybe you are looking for

  • Text box not displaying

    Marking up a PDF using the text box tool in Adobe 7.0.9, saving the PDF. Then a MAC user using Adobe 8.1.2 opens the PDF and cannot see the text box tool. If you open the same PDF on a PC running Adobe 8 you can. Why can't you see the text box tool o

  • No artist icons in music app after syncing iTunes Match

    I recently bought an iphone 5s and after syncing my iTunes Match I noticed none of my artist have icons anymore. My iTunes Match is extremely organized and I would like to know if there is a solution to this? Before the icons were automatically updat

  • [SOLVED]Global variable in SH script

    Hi. The real code is: TOTAL_UPG=0 TOTAL_INS=0 TOTAL_DEL=0 STRING_UPG=`echo $1|sed -e 's/\[/\\\[/g;s/\]/\\\]/g'` LINEA_UPG=`grep -n "$STRING_UPG" $PACMANLOG|awk -F: '{print $1}'` tail -n `expr $NUM_LINES_PACLOG - $LINEA_UPG 2>/dev/null` $PACMANLOG 2>/

  • My First J2EE Project (tm) -- requesting advice!

    My client is deeply invested in FileMaker for their Mac-based prepress division, and now they want what will eventually be a very sophisticated application to automate the production of customized paper products. I looked at all the options, and it s

  • Adobe AIR on Mobiles

    Hi everyone, I am just curious to know when will Adobe AIR will be available for Mobiles. I came across on the web regarding "Open Screen Project" and lookin g forward for Adobe AIR to come on mobiles as there are lot of limitations in Flash lite per