5 Replies Latest reply: Dec 18, 2007 3:34 AM by Denis2 RSS

    FRM-92101 and disconnection after invalid login in Headstart 10g

    437065
      We recently upgraded to Designer and Headstart 10g, but we are now facing bug 4901455 in forms 10g : it is not possible (anymore) to reference "dbms_error_text" (and dbms_error_code) when a user is not logged on.
      There are workarounds available on Metalink (note 388106.1), but the problem is that the Headstart software has references to dbms_error_text on several places and there are no checks if a user is logged on or not. This means that the Headstart 10g software needs to be adjusted (or appended). Is this problem / bug known to the Headstart team ?
      Is there already a patch available ?

      Thanks.
        • 1. Re: FRM-92101 and disconnection after invalid login in Headstart 10g
          437065
          I modified qmslib65.pll and qmsevh65.pll myself : I added a "logon-check" in the QMS$EVENT_FORM procedure to make sure the PRE-FORM and ON-ERROR code can only be executed when there is a database connection.
          We are now testing my solution.
          • 2. Re: FRM-92101 and disconnection after invalid login in Headstart 10g
            30967
            Could you please share your solution?

            vimal.nair@tideworks.com

            Thanks
            • 3. Re: FRM-92101 and disconnection after invalid login in Headstart 10g
              437065
              Hi,

              I created a package variable in the QMS$ERRORS package which keeps the logon status of the session. To get and set the value of the variable I added also a function (QMS$ERRORS.LOGGED_ON return boolean) and a procedure (QMS$ERRORS.SET_LOGGED_ON(p_logged_on in boolean)).
              In the QMS$EVENT_FORM procedure I added the following code :

              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              procedure qms$event_form 
                (p_event in varchar2
                ,p_exec_sequence in varchar2 default 'BEFORE') 
                            /* Executed before or after generated code? */
              is
              ...
              ...
                 l_dummy    varchar2(1);
              begin
                --
                -- Check if user is logged on. Some actions cannot be performed is there is no database connection
                --      
                if not qms$errors.logged_on
                then
                  begin
                    select 'x'
                    into l_dummy
                    from dual;
                    qms$errors.set_logged_on(true);
                  exception
                  when others
                  then
                    qms$errors.set_logged_on(false);
                  end;
                end if;
                --
                if qms$errors.logged_on
                then 
                   qms$errors.show_debug_info('qms$event_form: '||p_event||' ('||p_exec_sequence||')');
                end if;
              ...
              ...
                elsif p_event = 'ON-ERROR'
                then
                   if not qms$errors.logged_on
                   then
                      message(ERROR_TYPE||'-'||TO_CHAR(ERROR_CODE)||': '||ERROR_TEXT);
                      raise form_trigger_failure;
                   end if;
              ...
              ...
                elsif p_event = 'PRE-FORM'   
                then
                   if p_exec_sequence = 'BEFORE'
                          and
                          qms$errors.logged_on
                   then
              ...
                   elsif p_exec_sequence = 'AFTER'
                             and
                             qms$errors.logged_on
                   then
              ...
              ...

              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              Regards,
              Peter
              • 4. Re: FRM-92101 and disconnection after invalid login in Headstart 10g
                30967
                Thanks.

                Could you please share the code in QMS$ERRORS.LOGGED_ON

                Vkn
                • 5. Re: FRM-92101 and disconnection after invalid login in Headstart 10g
                  Denis2
                  Hi,

                  We are migrating Oracle Application Server from 9.0.4 on to Oracle AS 10.1.2.0 on AIX5L 64-bit platform. Froms are generated with headstart 6.5.3.2, and now aren't working on AS 10.1.2.0 (FRM-92101). Form generated without headstart working fine.

                  I see you have experience with migrating forms with headstart. Can you please provide me some information:
                  Do we have to upgrate headstart (to 6.5.4.0.1 or greater), even if we don't develop that application anymore? Do you have any documentation about Hedstart upgrade or information where could we find it? We already try internet, metalink, lokal national, local nederland and global Oracle support without any trace to solution.

                  Thank you, Peter

                  Regards, Denis