When-Timer-Expired not firing if LOV is open

In my form I have a when-timer-expired trigger that kicks the user out of the form if there is no activity for one minute. But if the LOV is open the when-timer-expired trigger is not firing.
Thanks,

yeah !
if the form starts a db-function or a host-command or a lov - then the form isn't able to do something else parallel to this...
e.g. :
WHEN-BUTTON-PRESSED :
IF show_lov () THEN
END IF;
if the lov works different, then you have parallel working program units. In this case :
a WHEN-BUTTON-PRESSED and a WHEN-TIMER-EXPIRED
and this is today impossible in Forms

Similar Messages

  • GO_FORM when TIMER-EXPIRED

    Just want to know if I am doing something wrong
    or if it's another feature of Forms. I have a
    GO_FORM within an IF statement in the (repeating)
    WHEN-TIMER-EXPIRED trigger. It all goes well until
    the IF statement evaluates to a value that makes
    GO_FORM the case, the repeating timer seems to go
    dead after GO_FORM switches the focus to the
    specified form. Any comments? Thanks in advance.

    Hi Eugeniy,
    The original WBP trigger has already the following code:
    go_item('bijz.click_datum');
    do_key('list_values');
    The section where copy ('0','GLOBAL.save_mouse_record'); is mentioned is part of the code that Metalink offered me, look at:
    Note 266535.1 How to call to a calender window against an unbound item via an LOV button.doc
    Best regards,
    Ronny.

  • When-timer-expired

    Hi everyone,
    This is my first time using this trigger and i dont really catch what to do to make it fire. Arwind advices me to use it to make the valus of the item blink. The way i see it it should work but i guess i'm missing something...could u plz help me find what i'm missing here.
    Here is the only code i have for the trigger.
    DECLARE
    id_item ITEM;
    timerid TIMER := FIND_TIMER('BLINK');
    BEGIN
    if :prix_en_vigueur is not null then
    /*--- Make the item blink ---*/
    id_item := find_item('PRIX_EN_VIGUEUR');
    set_timer(timerid, 1000, REPEAT);
    if get_item_property('id_item',DISPLAYED) = 'PROPERTY_TRUE' then
    set_item_property(Id_item,
    DISPLAYED,PROPERTY_FALSE);
    else
    set_item_property(Id_item, DISPLAYED,PROPERTY_TRUE);
    end if;
    end if;
    END;
    Does it have something to do with the set_timer or delete_timer and if so how should i use them.
    Thanx in advance for ur replies.
    null

    You have the when-timer-expired defined at form level. In it you should first have a call to get_application_property(TIMER_NAME), that returns the name of the timer that has made the trigger fire, depending on which you perform what you have to do under those circumstances.
    How to make it fire? In whatever trigger you find appropriate you call set_timer, that starts the countdown for the number of milisecs you specify that finally generates the "Timer-Expired" event which makes the trigger fire.
    Regards,
    BD

  • Timer --what you type gets lost on other forms when timer expires

    I am using a timer that works fine on this one form. The problem lies you move to a different form that does not have a timer and start typing and if the timer fires at that time while you are typing the focus moves to the form with the timer but it appears that the other form is still there infront.But what you type gets lost at the moment the timer expires.
    I am using go_block on when timer expired form.
    Any good way t handle this ?

    I am using a timer that works fine on this one form. The problem lies you move to a different form that does not have a timer and start typing and if the timer fires at that time while you are typing the focus moves to the form with the timer but it appears that the other form is still there infront.But what you type gets lost at the moment the timer expires.
    I am using go_block on when timer expired form.
    Any good way t handle this ?

  • Regarding When-timer-expired trigger

    Hi,
    My requirement is to display time .From my understanding i think every time
    when-timer-expired shuttle between client and middle tier for this purpose for
    every expiry of time .This i feel degrades the performance.
    Is there any workaround available so that the database time is fetched for the first
    time and thereafter refreshing could takeplace in the client-side
    Thanks in advance
    regards,
    prabakaran.s

    Here is the code:
    package oracle.forms.fd;
    import java.awt.AWTEventMulticaster;
    import java.awt.Color;
    import java.awt.Cursor;
    import oracle.forms.handler.IHandler;
    import oracle.forms.properties.ID;
    import oracle.forms.ui.VTextField;
       * A PJC to have a textfield blinking
       * @author Francois Degrelle
       * @version 1.0
      public class BlinkTextField extends VTextField  implements Runnable
        public final static ID START        = ID.registerProperty("START"); 
        public final static ID STOP         = ID.registerProperty("STOP"); 
        public final static ID SETBLINKRATE = ID.registerProperty("SETBLINKRATE");   
        public final static ID SETFGCOLOR   = ID.registerProperty("SETFGCOLOR");   
        public final static ID SETBGCOLOR   = ID.registerProperty("SETBGCOLOR");       
        static Thread runner ;
        protected int seconds   = 400 ;  // milliseconds
        private Color  cdefFG   = null ; // default background color
        private Color  cdefBG   = null ; // default foreground color
        private Color  cFore    = null ; // blinking foreground color
        private Color  cBack    = null ; // blinking background color
        private boolean bSwitch = true ;
        private   IHandler  m_handler; 
        public BlinkTextField ()
           super();
        public void init(IHandler handler)
          m_handler = handler;
          super.init(handler);
          cdefFG = this.getForeground() ;
          cdefBG = this.getBackground() ;
         * switch color to simulate the blinking process
        public void run()
          Thread theThread = Thread.currentThread();
          while (runner == theThread)
            try{
            Thread.sleep(seconds);
            } catch (InterruptedException e) { }
            if(bSwitch)
              if(cBack != null) this.setBackground(cBack);
              if(cFore != null) this.setForeground(cFore);
            else
              this.setBackground(cdefBG);       
              this.setForeground(cdefFG);
            bSwitch = ! bSwitch ;
        private void startTimer()
          if (runner == null )
            runner = new Thread(this);
            runner.start();
        private static void stopTimer()
          if (runner != null )
            runner = null;
        public boolean setProperty(ID property, Object value)
          if (property == START)  // start the blinking
            startTimer() ;
            System.out.println("** Start **");
            return true;
          if (property == STOP)  // stop the blinking
            System.out.println("** Stop **");
            stopTimer() ;
            return true;
          else if (property == SETBLINKRATE)  // set the cursor blink rate
            int i = Integer.parseInt(value.toString());
            seconds=i;
            System.out.println("** SetRate="+seconds+ " miliseconds");
            return true;
          else if (property == SETFGCOLOR)  // set the foreground color
            cFore = getColor(value.toString()) ;
            System.out.println("** SetFGColor="+cFore);
            return true;
          else if (property == SETBGCOLOR)  // set the background color
            cBack = getColor(value.toString()) ;
            System.out.println("** SetBGColor="+cBack);
            return true;
          else
           return super.setProperty(property, value);
    // expects r,g,b values separated by commas 
    public Color getColor(String colourValue)
      try{     
        int r,g,b;     
        int rPos, gPos;     
        rPos = colourValue.indexOf(",");     
        gPos = colourValue.indexOf(",", rPos + 1);     
        if (rPos < 1 || gPos < 1 || gPos + 1 == colourValue.length()) {       
            throw new Exception("Invalid colour");
        r = Integer.parseInt(colourValue.substring(0, rPos));     
        g = Integer.parseInt(colourValue.substring(rPos + 1, gPos));     
        b = Integer.parseInt(colourValue.substring(gPos + 1));       
        if (r < 0 || r > 255 || g < 0 || g > 255 || b < 0 || b > 255) {       
           throw new Exception("Invalid colour");
        return new Color(r,g,b);
      catch(Exception e) {     
        return new Color(0,0,0);
    }Francois

  • WHEN-TIMER-EXPIRED TRIGGER

    WHEN-TIMER-EXPIRED
    declare
         var number :=10;
         v_al char(3);
         v_al_ti date;
    begin
         for i in 1..var loop
              :control.showdate := TO_CHAR(SYSDATE,'DD-MONTH-YYYY');     
              :control.showtime := TO_CHAR(SYSDATE,'HH24-MI-SS AM');     
              select alarm, alert_date, alert_time
              into v_al, v_al_da, v_al_ti
              from remind
              where alarm='ON';
              if v_al = 'ON' AND
                   v_al_ti = to_char(sysdate,'HH24-MI-SS AM') AND
                   v_al_da = to_char(sysdate,'DD-MONTH-YYYY')then
                   message('alert is on ');
              end if;
              if var =9 then
              var:= var+1;
              end if;
         end loop;
    end;
    THE CLOCK WORK BUT THE FORMAT MASK GIVE ERROR.
    I WANT TO RAISE A MESSAGE WHEN AN REMINDER ENTRY HAVE ALARM = 'ON'
    AND DATE = SYSDATE
    AND TIME = SYSDATE.
    THE TABLE HAVE FOLLOWING COLUMNS.
    SQL> desc remind;
    Name Null? Type
    RE_ABOUT VARCHAR2(100)
    ALARM CHAR(3)
    ALERT_TIME DATE
    ALERT_DATE           DATE
    THANKS IN ADVANCE.
    REPLY ME ON MY EMAIL.
    MUHAMMAD NADEEM
    MARDAN (PAKISTAN)
    [email protected]
    +92-0301-8334434

    Hi Nadeem,
    Change these two lines of code:
    :control.showdate := TO_CHAR(SYSDATE,'DD-MONTH-YYYY');
    :control.showtime := TO_CHAR(SYSDATE,'HH24-MI-SS AM');
    Try with replace the above with select statement like below.
    select TO_CHAR(SYSDATE,'DD-MONTH-YYYY'), TO_CHAR(SYSDATE,'HH24-MI-SS AM') INTO :control.showdate, :control.showtime From dual;
    Cheers

  • Webutil demo problems - WHEN-TIMER-EXPIRED error

    Hi there,
    I have just installed the 10.1.2 forms no problems. I then downloaded the demo of webutil from OTN and cannot get it to run properly. Can anyone help.
    I initially had to rename the webutil.pll (i renamed to webutil_lib.pll as recommended in an earlier forum) file to overcome an initial error and now I can at least see the runtime canvas. I dropped and re-attached the attached libraray for this pll file (Is this all I have to do?)
    The problem is I immediately get the error FRM-40735:WHEN-TIMER-EXPIRED trigger raised unhandled exception ORA-06508 in the console. This error continues for every event I do that has a trigger associated, ie changing tabs or pressing buttons, the only difference in the error message is the trigger name.
    I can see the canvas and various items on the tab sheet but none of the triggers that refernce webutil appear to work.
    I presume I have missed something simple, possibly when I renamed the .pll file.
    Any ideas.
    Doug

    Dougo,
    I checked our bug database for this topic and couldn't find anything reported. Can you file a TAR with support to have them analyzing your problem. (metalink.oracle.com)
    Frank

  • WHEN TIME EXPIRED

    I NEED TO RUN WHEN-TIME-EXPIRED
    AFTER PRESS PTN
    BUT DONT KNOW HOW

    This sound like a Oracle Forms question.
    You might get more response in the designated forms forum here
    Forms

  • When-timer-expired hit the cursor position

    Some of our forms sometimes have timers running, to monitor
    progress of this and that. We've found that if the timer
    expires when you're typing in a form field, there's a tendency
    for the cursor to momentarily move to the beginning of the field
    then jump back to roughly where it had been. If you're just
    typing away without paying attention, this can be messy.
    Specifically, I put a few '0' characters at the beginning of a
    large field, then hit '1' and let it go to autorepeat. When the
    trigger fires, the insert cursor goes to a wait cursor for a
    bit, then back. I'll find a few '1' characters at the beginning
    of the field, and the insert cursor is now pointing the same
    number of characters from the end of the field. My testing
    indicates that the more time spent in the trigger, the more
    likely the problem is to occur. Also, it happens more if
    you're in a different form than the one with the timer.
    does anyone know how to handle this situation
    i m using when_timer_expired trigger with folllowing code
    declare
    v_timer varchar2(40);
    begin
    v_timer:=get_application_Property(timer_name);
    if v_timer='TIMER_TIME' then
    :CONTROL.onscreen:=to_char(sysdate,'HH12:mi:ss AM');
    end if;
    end;

    You could use JDAPI to make bulk changes to your Forms ...
    Re: Reading items/blocks/LOVs in the Object Navigator
    h2. UPDATE:
    Take a look at metalink note 45615.1 - Focus And Timer Behavior In Multiple Form Applications
    It seems you need to keep destroying and recreating the timer as you navigate from Form to Form ..
    Edited by: Rodolfo Ferrari on Aug 20, 2009 6:26 PM

  • When-database-record not firing

    I have a single record block in a form and the when-database-record trigger is not firing after I update and leave the first item in the record.
    This only happens when I create-new-record, not when I update an existing record. I have checked the record status after I update the first item and the record status is new.
    I am updating non-display items in the background, then executing a query on the block on when-new-form-instance. I programatically set the block status to QUERY status so that if the user attempts to exit the form without making any changes the form does not prompt the user to save changes.
    I checked system.mode parameter and it is NORMAL. Should it be ENTER-QUERY? Can I update this programatically, I know the api for this is not public but I have seen it before.
    ta, Michelle

    The status should notchange if you modify a non database item

  • When-Timer-Expired goes back to form

    Got a problem in my application where I have a timer on my for which requery's everytime it expires. However if I am in another application e.g. Windows Nt Explorer every time the timer expires control goes back to the form.
    Does any one have any ideas??

    Try closing Mail App in Multitask Window
    1. Double tap the home button to bring up the multi-tasking view
    2. Swipe up on the screenshot of the Mail app to close
    3. The app will fly off the screen
    4. Test Mail again

  • Everytime I open the window it keeps on reloading it self over and over again and when it's not doing that and I open another tab and try to go back to the previous tab it reloads itself....Please Help

    Every time I open a window in firefox it constantly reload itself and when I finally get it to stop and open another tab and try to go back to the previous tab it reload itself....Please Help
    == This happened ==
    Every time Firefox opened
    == About 4 months ago

    Do you have that problem when running in the Firefox SafeMode?
    [http://support.mozilla.com/en-US/kb/Safe+Mode]
    ''Don't select anything right now, just use "Continue in SafeMode."''
    If not, see this:
    [http://support.mozilla.com/en-US/kb/troubleshooting+extensions+and+themes]

  • Raise form_trigger_failure does not work in when-timer-expired trigger

    hi everbody,
    i create timer (no repeat) in when-validate-item trigger for an item then in timer i use raise form_trigger_failure for not posting related item.but raise form_trigger_failure not work in timer and cursor go next item ? do you say anything for that ? thanks..

    when your validation runs ok, then and only then you should create the timer and in the WTE you navigate to the other item.
    Think about: The WTE-trigger runs after the when-validate-item. It runs not within the WVI. That's the reason why you cannot cancel the WVI with the WTE.
    Only the WTE can be stopped with the Form_Trigger_Failure.

  • When validate item not firing when exit with mouse

    Hi
    I have a when validate item tirgger on an item.
    it fires fine when I use tab from keyboard after validating
    but when i navigate to another field with the mouse, the trigger does not fire.
    it only fires when i try to close the window..
    how can i overcome this?
    thanks

    Normally, a WVI trigger ALWAYS runs when you leave a field no matter how you leave it (after you have entered something, of course). If it is not running, then you should check whether you have messed around with Set_Form_Property and Validation_Unit.
    Or maybe you have some code in your key-next-item trigger that runs that makes you think it is the when-validate-item trigger.

  • Cursor changes to "Busy" when timers expires in Form

    Forms 10.1.2.0.2
    I created a Form with a multinline block to implement a blinking effect on certain rows depending on certain conditions
    whilst using a repeating timer.
    The screen is working fine so far but I am facing the problem that the cursor automatically changes its status from
    normal to busy for a moment and then back from busy to normal when the timers expires.
    In addition, the status bar on the console (which is the lower right working status bar) displays a "working"
    condiition when the timers expires (scrolling from left to right each time the timer expires).
    This leads to annoying visible effects as not only my rows are blinking fine but also the cursor does -.-
    I removed the Synchronze; Built-In from the WHEN-TIMER-EXPIRED and also replaced any data processing within
    the Trigger by a Null; Statement but the cursor keeps on changing its Form automatically.
    I also tried to set the Cursor style to default within this Trigger but the cursor keeps on changing its Form.
    Is there any way to suppress this behaviour ?

    Hi,
    Do you have any security programs installed on your computer? If so, temperarily turn off them to check if this issue persists.
    We can also try to run Word in safe mode to test if the issue is caused to a problematic add-in. To do this, press Windows key + R, type
    Winword.exe /safe in the Run dialog and press Enter. 
    In addition, did you installed any printer drivers? If so, some bad printer drivers may cause such issue. Please make sure you have installed the latest printer driver form the official website. If possible, we can try to uninstall the printer drivers
    to check if the issue persists.
    Regards,
    Steve Fan
    TechNet Community Support

Maybe you are looking for